Commit graph

94 commits

Author SHA1 Message Date
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
Johannes Millan
7f503c9bf0 fix(electron): inject ozone-platform=x11 via argv wrapper for Snap+Wayland
Field reports on issue #7270 (v18.2.4 / v18.2.5) show that
app.commandLine.appendSwitch('ozone-platform','x11') is not equivalent
to the CLI flag on Snap+Wayland: Chromium's Ozone init dlopens
libEGL/libgbm on the core22 Mesa path before the switch is honored and
segfaults under host-vs-snap Mesa ABI drift, while the same flag on
argv consistently works.

Install an afterPack hook that renames the Electron binary and drops a
shell wrapper at the original name. The wrapper injects the flag into
argv only when \$SNAP is set AND the session is Wayland — non-Snap
targets (AppImage, .deb, .rpm) and X11 sessions pass through untouched.
Matches the mechanism used by snapcrafters/signal-desktop and
snapcrafters/mattermost-desktop.

See docs/research/snap-wayland-gpu-fix-research.md §18 for the full
evidence trail, drawbacks, validation plan, and removal conditions.
2026-04-21 15:03:42 +02:00
Corey Newton
972acd358c
docs/wiki content v0.8 (#7068)
* docs(wiki): refactor download page

Rework and improve download page in preparation for README updates.

* chore(ci): simplify the initial release text

Centralizing all links to one place will make maintenance of docs
easier.

* chore(docs): Update meta docs and templates

Aligning issue templates and other docs to support the use of the wiki
and to encourage additions from others.

* chore(docs): align README with new download page
2026-04-01 12:40:28 +02:00
Johannes Millan
602f1f2a71 fix: point changelog link in release notes to GitHub releases. Fixes #6890
CHANGELOG.md was removed from the repo in favor of git-based release
notes, but the release notes template still linked to it, causing a 404.
2026-03-20 21:36:30 +01:00
Johannes Millan
d401e6169e feat(tasks): add deadlines feature with reminders and planner integration
Add deadline support for tasks with date-only and time-specific deadlines.

Core:
- Add deadlineDay, deadlineWithTime, deadlineRemindAt fields to task model
- Add NgRx actions (setDeadline, removeDeadline, clearDeadlineReminder)
- Add meta-reducer with mutual exclusivity and input validation
- Register deadline actions in ActionType enum and op-log codes

UI:
- Create deadline dialog with calendar, time input, and reminder options
- Add deadline badge to task list row with overdue warning color
- Add deadline item to task detail panel with flag icon
- Add deadline options to task context menu
- Show deadlines in scheduled list page

Reminders:
- Add deadline reminder effects and selectors
- Show reminder dialog with grouped deadline/schedule sections
- Handle deadline reminder clearing on dismiss, done, add-to-today
- Cancel Android native deadline notifications on delete/archive

Planner:
- Show deadline tasks in planner day view and overdue section
- Create dedicated planner-deadline-task component
- Optimize deadline grouping with O(N) single-pass selector

Other:
- Add deadline-today banner effect for unplanned deadline tasks
- Add translation keys for all deadline UI strings
- Add E2E tests for deadline reminder flows
- Add unit tests for deadline reducer and overdue utility
- Extract shared isDeadlineOverdue utility function
- Guard app-state selectors against undefined during teardown
2026-03-15 18:48:00 +01:00
Johannes Millan
e1e86e7833 docs: update release notes 2026-03-14 13:04:43 +01:00
Johannes Millan
2b99c41efb fix: remove white borders from macOS icon (#6323)
Remove the flatten-with-white-background step from the icon generator.
macOS .icns natively supports PNG with alpha, so the flatten was
unnecessarily filling transparent areas outside the squircle mask
with white, causing visible borders in the Dock and Finder.
2026-02-10 14:41:16 +01:00
Johannes Millan
8b645c33ea fix(icons): resolve macOS icon black edge artifacts
Split Sharp pipeline into two stages to fix edge pixel blending.
When chained directly, dest-in composite and flatten don't properly
preserve alpha channel data, causing edges to retain the original
icon color instead of blending with the white background.

Fixes #6323
2026-02-05 11:56:59 +01:00
Johannes Millan
4eb06b3db6 fix(build): use Apple continuous-corner bezier curves for mac icon squircle
Replace simple SVG rounded rect (circular arcs) with Apple's actual
continuous-corner shape reverse-engineered from UIBezierPath. This
produces the correct squircle with smooth curvature transitions.
2026-02-02 17:15:13 +01:00
Johannes Millan
cc5940a257 chore(build): add mac icon generator and update icon assets 2026-02-02 17:15:13 +01:00
johannesjo
d917472a3b fix: mac os icon 2026-01-29 19:48:44 +01:00
johannesjo
6fbda9d25f fix(mac): regenerate icon without alpha channel to fix MAS white circle
The Mac App Store renders transparent icons differently than DMG distribution,
causing a white circle around the app icon. Regenerated icon-mac.icns from
sq2160x2160.png without alpha channel (hasAlpha: no, samplesPerPixel: 3).
2026-01-29 18:07:41 +01:00
Johannes Millan
9b7b01d24a fix(ci): update references for repo migration to super-productivity org
- Add permissions: contents: write to build.yml and manual-build.yml
  to fix GitHub release creation after org migration
- Update AUR PKGBUILD download URL to new org
- Update release notes changelog link
- Update GitHub project example hints in translation files
2026-01-10 12:56:27 +01:00
Johannes Millan
bb6637d5be build: fix mas build 2 remove entitlements not needed anymore 2025-11-15 10:29:57 +01:00
Johannes Millan
5023261df5 build: fix mac store mas build 1 2025-11-15 10:26:55 +01:00
Johannes Millan
c2d93354d4 fix: mac mas build 2025-11-13 18:23:50 +01:00
johannesjo
73ea2bcae3 build: attempt to fix mas 27 2025-11-10 15:40:02 +01:00
johannesjo
e4373b52da build: attempt to fix mas 26 2025-11-10 15:21:35 +01:00
johannesjo
2be589b903 build: attempt to fix mas 21 2025-11-10 14:28:38 +01:00
johannesjo
5c6b1ffc73 Revert "build: attempt to fix mas build by loginhelper stuff"
This reverts commit bb7ddea7ed.
2025-11-09 19:42:30 +01:00
johannesjo
bb7ddea7ed build: attempt to fix mas build by loginhelper stuff 2025-11-09 18:59:55 +01:00
johannesjo
63b021d942 build: make mas build work and fix guide 2025-11-09 16:35:09 +01:00
Johannes Millan
a8ade7f476 build: fix mac build 2025-10-13 17:15:06 +02:00
Aria Moradi
9e59910f43
AUR: include checksums 2025-09-01 23:06:05 +03:30
Johannes Millan
8ee4344a79 fix(release): update GitHub release notes configuration
Remove non-existent release_notes parameter from GitHub Actions workflow
and update build/release-notes.md with proper installation instructions
2025-07-12 18:11:59 +02:00
José Miguel Sarasola
4f6cc1643f AUR: Use package version on download deb to avoid caching issues
Proposed by Dominiquini on the AUR comments section
2025-06-09 08:38:35 +02:00
Johannes Millan
d2e5ef7958 build: update meta text 2025-01-17 16:57:36 +01:00
José Miguel Sarasola
9b32f513f2 Update Arch Linux PKGBUILD_template for new artifacts changes
New packaging seems to change a couple of things:

1. Package version is no longer included on the filename of the release
artifact
2. Looks like the directory inside the package new includes spaces on
the target install dir
2024-11-15 12:05:32 +01:00
Johannes Millan
3e4415cbc8 build: fix artifact name 2 2024-10-20 17:47:40 +02:00
Johannes Millan
2f9f3a6722 build: fix artifact name 2024-10-20 16:05:06 +02:00
Johannes Millan
2d73b12fc6 build: adjust binary file names to allow dynamic download link 2024-10-20 14:04:49 +02:00
johannesjo
4150020783 build: try to fix mas build 1 2024-09-23 11:03:56 +02:00
johannesjo
dd93bbf1d7 build: test build target to universal for mas build 2024-09-22 18:29:29 +02:00
Johannes Millan
1e36b9ddb3 build: try notarize true instead of electron-builder-notarize 2024-04-10 19:21:57 +02:00
Johannes Millan
3c94c810fb feat: improve windows store icon #2549 2024-02-26 13:55:34 +01:00
Johannes Millan
53f57dcf03 feat: use different icon for mac and linux #3033 2024-02-23 13:55:04 +01:00
solarlime
cfc4faf817 Added a new icon for macOS 2024-02-23 13:48:17 +01:00
Johannes Millan
d1bcba29df fix: arm64 mac build not working #2503 2023-12-04 14:02:53 +01:00
Johannes Millan
e6dbbb43e7 build: add missing store logo for appx 2021-11-04 20:05:49 +01:00
lyqht
d05296b5d3 remove transparency and improve quality 2021-10-29 18:04:57 +02:00
lyqht
c5c9b3fe44 replaced appx logos 2021-10-29 18:04:57 +02:00
William J. Bowman
f3e522011a Size optimize all images
git ls-files | grep -e ".png" -e ".jpg" | xargs ect -9 -strip --mt-deflate
Processed 171 files
Saved 531.15KB out of 3.03MB (17.1280%)
2021-05-13 22:28:53 +02:00
José Miguel Sarasola
dac2f888ba
Explictly skip the MD5sums 2020-11-01 18:20:22 +01:00
José Miguel Sarasola
aa95a1d78c
Fix AUR Action 2020-11-01 17:46:59 +01:00
José Miguel Sarasola
c416b4b47a
Use package.json version for PKGBUILD on CI 2020-11-01 16:02:10 +01:00
José Miguel Sarasola
a4d81ca09d
Add johannesjo as maintainer and owner of the package 2020-11-01 13:14:18 +01:00
José Miguel Sarasola
dddfb6f302
Move PKGBUILD to build/linux 2020-11-01 12:54:33 +01:00
Johannes Millan
f1183787e6 build: update product name 2020-10-08 11:39:33 +02:00
Johannes Millan
3433d84c2a build: fix mac store release 2020-10-04 14:50:14 +02:00
Johannes Millan
51a854c9e9 build: remove entitlement for mas 2020-10-04 11:33:01 +02:00