super-productivity/tools
Johannes Millan 297aeb30ab fix(electron): harden Snap+Wayland argv wrapper after multi-review
Address findings from code-reviewer + debugger-assistant +
refactor-specialist multi-review on 8e1c47ebc2:

- afterPack: read wrapper source before rename; on writeFile failure,
  roll the rename back so a broken intermediate state can't ship a
  package with no launcher. Strengthen idempotency check to require a
  shebang at binPath (both files alone no longer counts as "installed").
- wrapper: gate the X11 injection on \$SNAP_NAME = "superproductivity",
  not just \$SNAP set. An xdg-open from a sibling snap (e.g. Firefox)
  leaks \$SNAP into the child env, which previously would have silently
  forced XWayland on .deb/.rpm users. Derive BIN_DIR from \$SNAP
  directly when we are our snap, avoiding fragile \$0 resolution
  through snapd's wrapper chain. Stop argv scanning at -- so positional
  args that resemble --ozone-platform aren't misread as a user override.
- app-control: point app.relaunch() execPath at the sibling shell
  wrapper instead of the default process.execPath (which is the renamed
  ELF and would bypass the flag injection on a relaunched Snap+Wayland
  instance).
- Move build/snap-wrapper.sh -> build/linux/snap-wrapper.sh to match
  the existing build/linux/ layout convention.
- Update research doc §18 to reflect the tightened predicate and the
  relaunch fix.
2026-04-21 15:03:42 +02:00
..
lighthouse fix(ci): guard app-state selectors against undefined and bump lighthouse budgets 2026-03-14 13:04:44 +01:00
test-data Add setting for default start page 2025-11-19 20:11:21 -05:00
add-missing-i18n-variables.js feat(tools): enhance translation management script (#6171) 2026-01-25 18:08:06 +01:00
afterPack.js fix(electron): harden Snap+Wayland argv wrapper after multi-review 2026-04-21 15:03:42 +02:00
bump-android-version.js fix(build): fix tag resolution and add error handling in bump-android-version 2026-03-05 16:45:05 +01:00
check-file.js fix(security): address CodeQL security alerts 2025-12-23 13:42:57 +01:00
clean-translations.js build: better organize stuff 2025-06-27 09:03:16 +02:00
cleanup-unused-translations.js chore(i18n): remove 228 unimplemented feature translation keys 2026-01-09 15:00:36 +01:00
decompress.js build: add decompress script 2021-12-21 00:28:45 +01:00
execCommand.js build: try changing env variables 2024-09-22 21:20:16 +02:00
extract-i18n-single.js chore: add custom watch task for translation extraction 2019-07-17 14:42:32 +02:00
extract-i18n-watch.js refactor(i18n): translation var script #33 2019-07-17 15:46:13 +02:00
extract-i18n.js refactor: format everything with prettier 2021-05-06 22:37:37 +02:00
extract-material-icon-names.js feat: add new icon names and icon name extraction script 2021-12-13 12:38:25 +01:00
extract-material-symbols-names.js feat(icons): upgrade from Material Icons to Material Symbols 2026-01-21 15:30:19 +01:00
find-unused-translations.js chore(i18n): add unused translation scanner and remove orphaned keys 2026-01-09 14:59:05 +01:00
gen-perf-metrics.js build: update configuration files 2025-06-27 10:25:00 +02:00
generate-ios-icon.js fix(build): remove sharp from deps to fix F-Droid build 2026-03-29 19:57:10 +02:00
generate-mac-icon.js fix(build): remove sharp from deps to fix F-Droid build 2026-03-29 19:57:10 +02:00
git-version.js build: change way to extract version 2 2021-09-23 18:19:48 +02:00
load-env.js fix(build): auto-generate env.generated.ts on checkout via husky hook 2026-03-06 16:39:21 +01:00
notarizeMacApp.js build: try changing env variables 2024-09-22 21:20:16 +02:00
remove-woff.js fix(build): update glob API and remove unused Angular imports 2026-02-04 18:30:51 +01:00
test-file.js feat: add npm commands for single file operations with minified output 2025-07-12 10:48:51 +02:00
test-lng-files.js build: auto check language files for json errors 2023-01-05 15:07:07 +01:00