Commit graph

913 commits

Author SHA1 Message Date
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
Johannes Millan
70f1e4ba73 16.8.2 2026-01-04 14:57:50 +01:00
Johannes Millan
85fa50974b Merge branch 'master' into feat/operation-logs
* master:
  refactor(e2e): improve test infrastructure for easier expansion
  chore(e2e): remove broken/empty skipped tests
  test(e2e): fix flaky plugin and WebDAV sync tests
  refactor(e2e): replace waitForTimeout with condition-based waits
  perf(e2e): remove ineffective waits to speed up test runs
  docs(e2e): add CLAUDE.md reference and barrel export for easier test creation
  build: update dep
  refactor(e2e): simplify waits and fix flaky tests
  feat(e2e): streamline e2e test development with improved infrastructure
  perf(e2e): optimize wait utilities and addTask method for faster test execution
  16.8.1

# Conflicts:
#	e2e/pages/base.page.ts
#	e2e/pages/project.page.ts
#	e2e/tests/reminders/reminders-schedule-page.spec.ts
#	e2e/tests/sync/webdav-sync-advanced.spec.ts
#	e2e/tests/sync/webdav-sync-expansion.spec.ts
#	e2e/tests/sync/webdav-sync-full.spec.ts
#	e2e/utils/waits.ts
2026-01-03 18:51:51 +01:00
Johannes Millan
9c84de94ee build: update dep 2026-01-03 12:57:47 +01:00