Johannes Millan
0775650e6e
17.0.0-RC.13
2026-01-21 22:12:01 +01:00
Johannes Millan
c0fbf5ddd8
fix(icons): update schedule nav icon from early_on SVG to schedule Material Symbol
2026-01-21 15:47:59 +01:00
Johannes Millan
7329c1cf1e
refactor(icons): replace SVG icons with Material Symbols
...
Replace custom SVG icons with Material Symbols equivalents:
- play.svg → play_arrow icon
- drag-handle.svg → drag_handle icon
- early-on.svg → schedule icon
- estimate-remaining.svg → hourglass_empty icon
- calendar.svg → (unused, removed)
- keep.svg → bookmark_add icon (unpinned state)
- keep-filled.svg → bookmark icon (pinned state)
- bottom-panel-open.svg → (unused, removed)
This reduces custom SVG assets and leverages the Material Symbols font
for consistent icon rendering across the application.
2026-01-21 15:37:59 +01:00
Johannes Millan
2c429d77b9
Merge pull request #6087 from super-productivity/dependabot/npm_and_yarn/multi-982254d4fd
...
chore(deps): bump nodemailer and @types/nodemailer
2026-01-21 15:26:53 +01:00
Johannes Millan
634cfa94a8
Merge pull request #6082 from super-productivity/dependabot/npm_and_yarn/zod-4.3.5
...
chore(deps): bump zod from 4.1.13 to 4.3.5
2026-01-21 15:26:34 +01:00
Johannes Millan
373ba4cf13
Merge pull request #6088 from super-productivity/dependabot/npm_and_yarn/rollup/rollup-linux-x64-gnu-4.55.3
...
chore(deps): bump @rollup/rollup-linux-x64-gnu from 4.27.4 to 4.55.3
2026-01-21 15:26:20 +01:00
dependabot[bot]
00f3b78dde
chore(deps): bump @rollup/rollup-linux-x64-gnu from 4.27.4 to 4.55.3
...
Bumps [@rollup/rollup-linux-x64-gnu](https://github.com/rollup/rollup ) from 4.27.4 to 4.55.3.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.27.4...v4.55.3 )
---
updated-dependencies:
- dependency-name: "@rollup/rollup-linux-x64-gnu"
dependency-version: 4.55.3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 13:43:49 +00:00
dependabot[bot]
8c64f6099f
chore(deps): bump nodemailer and @types/nodemailer
...
Bumps [nodemailer](https://github.com/nodemailer/nodemailer ) and [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer ). These dependencies needed to be updated together.
Updates `nodemailer` from 7.0.11 to 7.0.12
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.11...v7.0.12 )
Updates `@types/nodemailer` from 7.0.4 to 7.0.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer )
---
updated-dependencies:
- dependency-name: nodemailer
dependency-version: 7.0.12
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: "@types/nodemailer"
dependency-version: 7.0.5
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 13:43:30 +00:00
dependabot[bot]
a6957bcd52
chore(deps): bump angular-material-css-vars from 9.1.1 to 10.0.0
...
Bumps [angular-material-css-vars](https://github.com/johannesjo/angular-material-css-vars ) from 9.1.1 to 10.0.0.
- [Release notes](https://github.com/johannesjo/angular-material-css-vars/releases )
- [Commits](https://github.com/johannesjo/angular-material-css-vars/compare/v9.1.1...v10.0.0 )
---
updated-dependencies:
- dependency-name: angular-material-css-vars
dependency-version: 10.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 13:42:23 +00:00
dependabot[bot]
45265f915a
chore(deps): bump zod from 4.1.13 to 4.3.5
...
Bumps [zod](https://github.com/colinhacks/zod ) from 4.1.13 to 4.3.5.
- [Release notes](https://github.com/colinhacks/zod/releases )
- [Commits](https://github.com/colinhacks/zod/compare/v4.1.13...v4.3.5 )
---
updated-dependencies:
- dependency-name: zod
dependency-version: 4.3.5
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 13:41:42 +00:00
Johannes Millan
f2c1c2ab5e
fix(ios): remove white frame from app icon by eliminating alpha channel
...
iOS renders transparent pixels as white, causing a white frame around the
app icon. This fix generates a 1024x1024 RGB PNG (no alpha channel) from
the existing build/icons/sq2160x2160.png source.
Changes:
- Add tools/generate-ios-icon.js script using Sharp to resize and remove alpha
- Add npm script 'generate:ios-icon' for reproducible icon generation
- Update AppIcon-512@2x.png to RGB format (was RGBA)
- Install Sharp as dev dependency for image processing
Icon is now fully opaque with correct brand blue color and white checkmark.
2026-01-20 17:07:24 +01:00
Michael Chang
222b3474b8
fix(sync): restore missing force upload button in new config UI
2026-01-19 13:58:23 +01:00
Johannes Millan
6771fa77a2
17.0.0-RC.12
2026-01-18 14:00:52 +01:00
Johannes Millan
0dd33fe4b6
17.0.0-RC.11
2026-01-18 12:29:38 +01:00
Johannes Millan
d9e27a0da7
17.0.0-RC.10
2026-01-18 02:20:51 +01:00
Johannes Millan
7d5bb1a709
17.0.0-RC.9
2026-01-17 16:08:01 +01:00
Johannes Millan
0a7e0c317e
17.0.0-RC.8
2026-01-17 15:47:15 +01:00
Johannes Millan
53324bac08
17.0.0-RC.7
2026-01-17 13:33:56 +01:00
Johannes Millan
ce595ba212
17.0.0-RC.6
2026-01-17 13:32:33 +01:00
Johannes Millan
3c5b441046
17.0.0-RC.5
2026-01-16 22:35:17 +01:00
Johannes Millan
0cd6dfaf43
17.0.0-RC.4
2026-01-16 22:34:50 +01:00
Johannes Millan
7aee741c1d
Merge branch 'feat/ios' into master
...
Resolves merge conflicts in:
- src/app/core/startup/startup.service.ts: Keep both _store and _platformService injections
- src/app/features/android/store/android.effects.ts: Refactor to use platform-agnostic CapacitorReminderService
The feat/ios branch adds iOS support via Capacitor, introducing platform-agnostic
services for notifications, reminders, and platform detection that work across
web, Android, and iOS.
2026-01-16 13:45:31 +01:00
Johannes Millan
23c6691daa
17.0.0-RC.3
2026-01-14 16:26:13 +01:00
Johannes Millan
aee3b656df
17.0.0-RC.2
2026-01-14 14:26:09 +01:00
Johannes Millan
a046c347d4
feat(ios): add safe area, keyboard, and status bar handling
...
Add iOS-specific UX improvements:
Safe Areas:
- Add CSS variables for safe area insets (notch, home indicator)
- Add body classes: isNativeMobile, isIOS, isKeyboardVisible
- Apply safe area padding on native mobile platforms
Keyboard Handling:
- Install @capacitor/keyboard plugin
- Track keyboard visibility via keyboardWillShow/Hide events
- Set --keyboard-height CSS variable for layout adjustments
- Remove bottom safe area padding when keyboard is visible
Status Bar:
- Install @capacitor/status-bar plugin
- Sync status bar style with app dark/light theme
- Configure overlaysWebView: false in capacitor.config.ts
These changes ensure proper display on iPhone devices with
notch/Dynamic Island and home indicator.
2026-01-14 13:45:42 +01:00
Johannes Millan
590e1592da
feat(ios): add iOS platform support via Capacitor
...
Add iOS MVP with core functionality using Capacitor-first approach:
Platform Abstraction Layer:
- Add CapacitorPlatformService for unified platform detection
- Add PlatformCapabilities model with per-platform feature flags
- Add CapacitorNotificationService wrapping LocalNotifications plugin
- Add CapacitorReminderService for cross-platform reminder scheduling
iOS Support:
- Add Capacitor iOS project with proper configuration
- Configure Info.plist for notifications and background modes
- Add app icon and splash screen assets
- Enable CapacitorHttp for WebDAV sync (avoids CORS issues)
Refactoring:
- Update android.effects.ts to use CapacitorReminderService
- Update notify.service.ts to support iOS notifications
- Update startup.service.ts with platform-aware initialization
- Update sync-form.const.ts to hide CORS info on native platforms
- Update webdav-http-adapter.ts to use CapacitorHttp on iOS
MVP includes: task management, scheduled notifications, Dropbox sync,
WebDAV sync, share-out, dark mode. Excludes: background tracking,
widgets, local file sync, share-in (post-MVP features).
2026-01-14 13:45:42 +01:00
dependabot[bot]
c0db559e5c
build(deps): bump the npm_and_yarn group across 1 directory with 2 updates
...
Bumps the npm_and_yarn group with 2 updates in the / directory: [qs](https://github.com/ljharb/qs ) and [hono](https://github.com/honojs/hono ).
Updates `qs` from 6.13.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ljharb/qs/compare/v6.13.0...v6.14.1 )
Updates `hono` from 4.11.3 to 4.11.4
- [Release notes](https://github.com/honojs/hono/releases )
- [Commits](https://github.com/honojs/hono/compare/v4.11.3...v4.11.4 )
---
updated-dependencies:
- dependency-name: qs
dependency-version: 6.14.1
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: hono
dependency-version: 4.11.4
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-13 22:09:08 +00:00
Johannes Millan
c33f0c496f
17.0.0-RC.1
2026-01-11 16:17:29 +01:00
Johannes Millan
0e92baeb8b
17.0.0-RC.0
2026-01-11 15:29:33 +01:00
Johannes Millan
23579a448a
fix(shared-schema): use tsup for dual ESM/CJS build
...
The previous commit changed module resolution to bundler mode which
fixed Angular tests but broke Node.js ESM imports in super-sync-server.
Switch to tsup bundler that outputs both ESM (.mjs) and CJS (.js) formats,
with proper exports field to support both environments:
- CJS for super-sync-server (Node.js commonjs)
- ESM for Angular/webpack bundler imports
2026-01-11 14:05:23 +01:00
Johannes Millan
73ee21fd6e
build: update package lock
2026-01-10 17:12:11 +01:00
Johannes Millan
ce91c8b1dc
Merge branch 'master' into feat/operation-logs
...
Resolve merge conflicts:
- package.json: use @types/node@^22.19.5
- sync-form.const.ts: keep eslint-disable for naming convention
- global-config.effects.ts: remove extra blank line
- unlink-all-tasks-on-provider-deletion.effects.ts: keep deprecation notice
- auto-fix-typia-errors.ts: keep better-typed getValueByPath
- undo-task-delete.meta-reducer.spec.ts: keep getLastDeletePayload import
- Accept deletions for files refactored into operation-logs architecture
2026-01-10 17:08:09 +01:00
Johannes Millan
b69dded9f1
chore(deps): update minor/patch dependencies
...
- prettier: 3.5.1 → 3.7.4
- pretty-quick: 4.1.1 → 4.2.2
- stylelint: 16.18.0 → 16.26.1
- @playwright/test: 1.56.1 → 1.57.0
- jasmine-core: 5.10.0 → 5.13.0
- eslint-plugin-prettier: 5.2.1 → 5.5.4
- chrono-node: 2.8.3 → 2.9.0
- ical.js: 2.1.0 → 2.2.1
- electron-builder: 26.3.3 → 26.4.0
- core-js: 3.39.0 → 3.47.0
- And other minor updates
Applied prettier formatting changes from v3.7.4.
2026-01-10 16:16:47 +01:00
Johannes Millan
dd57c5d6eb
chore(deps): update @types/jasmine to v5
...
Update from v3.10.2 to v5.1.14 to match jasmine-core v5.10.0.
All tests pass with the new type definitions.
2026-01-10 16:10:26 +01:00
Johannes Millan
e6da7ced37
chore(deps): upgrade ESLint to v9 with flat config
...
- Upgrade eslint from v8 to v9.39.2
- Upgrade typescript-eslint to v8.52.0 (unified package)
- Add angular-eslint package for flat config support
- Migrate from .eslintrc.json to eslint.config.js (flat config)
- Update package configs for sync-md, automations, boilerplate-solid-js
- Remove unused eslint-disable directives
- Fix lint errors (empty interface, template eqeqeq)
BREAKING: Requires Node.js 18.18+ (ESLint 9 requirement)
2026-01-10 16:08:11 +01:00
Johannes Millan
132947a69b
feat(deps): upgrade Angular to v21
...
- Update @angular/* packages to v21.0.8
- Update @angular/material and @angular/cdk to v21.0.6
- Update @angular-eslint/* to v21.1.0
- Update @ngrx/* to v21.0.1
- Update TypeScript to 5.9.3
- Update ngx-markdown to v21 and marked to v17
- Update typia to v11 for TypeScript 5.9 support
- Update @types/node to v22, chart.js to v4.5.1
Breaking changes addressed:
- Replace deep imports with public API imports (idb, formly, ngrx)
- Update marked-options-factory for marked v17 API changes
- Add custom FormlySliderComponent (formly slider incompatible with Mat v21)
- Update ngx-markdown SANITIZE configuration
- Fix HostListener decorators with unused $event args
- Fix crypto.subtle type compatibility
- Add skipLibCheck for dependency type conflicts
- Update tsconfig module settings for Angular 21
Removed:
- @angular-builders/custom-webpack (unused)
2026-01-10 15:27:20 +01:00
Johannes Millan
3f86044147
chore(deps): update NgRx packages to v21
2026-01-10 14:58:30 +01:00
Johannes Millan
5bed090756
chore(deps): update angular-eslint to v21
2026-01-10 14:57:25 +01:00
Johannes Millan
5c7df8a2a8
chore(deps): update Angular Material and CDK to v21
2026-01-10 14:56:37 +01:00
Johannes Millan
1ce8c0d0c8
chore(deps): update Angular to v21 and TypeScript to 5.9
2026-01-10 14:55:45 +01:00
Johannes Millan
560b691a41
chore(deps): update typia to v11 for TypeScript 5.9 support
2026-01-10 14:54:14 +01:00
Johannes Millan
74fe0c01a0
Merge branch 'master' into feat/operation-logs
...
* master:
16.9.4
docs: add Angular commit message guidelines to CLAUDE.md
fix(ci): update references for repo migration to super-productivity org
build(ci): improve android build release upload reliability
16.9.3
fix(calendar): display proper error messages instead of [object Object]
fix(e2e): fix keyboard shortcut delete test and reduce sync test flakiness
fix(tasks): add subscription cleanup to delete confirmation dialog
fix(schedule): maintain visibility during task overlap on schedule (#5887 )
16.9.2
# Conflicts:
# e2e/pages/sync.page.ts
2026-01-10 13:06:20 +01:00
Johannes Millan
f9656ceb70
16.9.4
2026-01-10 12:58:17 +01:00
Johannes Millan
6dcede853f
16.9.3
2026-01-10 12:23:21 +01:00
Johannes Millan
7fcec38476
16.9.2
2026-01-09 18:28:21 +01:00
Johannes Millan
cabe73177a
Merge branch 'master' into feat/operation-logs
...
* master:
16.9.1
fix(e2e): handle task deletion confirmation dialog in WebDAV sync test
fix: resolve build failures from missing translations and unused imports
16.9.0
Added Scoop installation instructions
2026-01-09 18:00:51 +01:00
Johannes Millan
79276f3fc7
16.9.1
2026-01-09 17:59:07 +01:00
Johannes Millan
4919ab188b
16.9.0
2026-01-09 16:41:59 +01:00
Johannes Millan
3f3f0685eb
Merge branch 'master' into feat/operation-logs
...
* master: (21 commits)
test: increase timeout for encryption
16.8.3
fix(e2e): use pressSequentially for time input in task-detail tests
fix(sync): resolve 25-second initial sync timeout race condition
feat(e2e): add Docker-based E2E test isolation
fix(schedule): start tracking selected task when pressing Y in schedule view
fix(tasks): clear reminder when clicking "today" button on already-today tasks
fix(e2e): use format-agnostic time change in task-detail tests
16.8.2
fix(test): reset selector overrides to prevent test pollution
build: update CLAUDE.md
fix(calendar): add periodic refresh for planner and scheduler views
feat(effects): consolidate task update actions in PluginHooksEffects
fix(sync): show skip button immediately when offline
fix(db): add missing _afterReady guard to loadAll method
feat(android): add alarm sound and vibration to task reminders
feat(sync): add skip button to loading screen when waiting for sync
fix(pomodoro): allow manual session end to start break early
fix(i18n): add missing translate pipe to play button tooltip
fix(tasks): handle undefined tasks in reminder effect
...
# Conflicts:
# CLAUDE.md
# docker-compose.e2e.yaml
# e2e/tests/task-detail/task-detail.spec.ts
# package.json
# src/app/features/tasks/store/task-reminder.effects.spec.ts
# src/app/features/tasks/store/task-reminder.effects.ts
# src/app/plugins/plugin-hooks.effects.ts
2026-01-04 18:20:10 +01:00
Johannes Millan
2cc06178e5
16.8.3
2026-01-04 17:27:04 +01:00