Commit graph

1634 commits

Author SHA1 Message Date
Johannes Millan
dc27787ba8 chore(deps): upgrade Angular-related dependencies to latest versions 2026-03-24 17:50:47 +01:00
Johannes Millan
a118f65d54 refactor(electron): bundle preload script with esbuild to support sandbox mode
Bundle preload.ts into a single file so all local imports (e.g.
ipc-events.const) are inlined at build time. This allows removing
sandbox: false since the bundled preload only requires the built-in
electron module, which is allowed in sandboxed preloads.
2026-03-22 19:38:21 +01:00
Johannes Millan
525b5184bb 17.5.2 2026-03-19 18:59:20 +01:00
Johannes Millan
3f81cc8852 17.5.1 2026-03-19 15:23:42 +01:00
Johannes Millan
fd5d8ef306 17.5.0 2026-03-19 14:54:32 +01:00
Johannes Millan
793285614a 17.4.0 2026-03-19 14:43:06 +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
591fc42483 17.4.1 2026-03-13 19:54:39 +01:00
Johannes Millan
f410aff077 17.4.0 2026-03-13 16:41:54 +01:00
Johannes Millan
beb5f3425c perf: reduce initial bundle size by lazy-loading sync providers, validation, and jira2md 2026-03-09 20:51:54 +01:00
Thomas Tisch
319727f908
fix: add proxy env support for jira integration #6324 (#6574)
* fix: add proxy env support for jira integration #6324

* refactor(providers): address code review feedback from proxy support for jira provider

* refactor(providers): removed manually setting electron session proxy as settings are automatically picked

---------

Co-authored-by: Thomas Tisch <thomas.tisch@hobex.at>
2026-03-09 13:09:51 +01:00
Johannes Millan
b0335c6ee5 17.3.0 2026-03-07 13:28:20 +01:00
Johannes Millan
c698597af9 fix(build): ensure env.generated.ts exists before ng serve
Add --ensure flag to load-env.js that skips generation if
env.generated.ts already exists, allowing ng serve to work in
fresh worktrees without running npm run env first.

Also make load-env.js idempotent by comparing content before
writing and removing the timestamp from generated output.
2026-03-06 12:35:38 +01:00
Johannes Millan
1272d6e7bf chore: replace CHANGELOG.md with git-based release notes
Remove the 15k-line auto-generated CHANGELOG.md and its conventional-changelog
tooling. The bump-android-version script now derives Play Store fastlane
changelogs from git log between tags instead of parsing CHANGELOG.md.

- Use execFileSync with argv to avoid shell injection
- Filter merge commits with --no-merges
- Handle breaking-change prefix (feat!:) in regex
- Truncate at line boundaries for 500-char Play Store limit
- Remove conventional-changelog-cli and @conventional-changelog/git-client deps
- Remove release.changelog script from package.json
2026-03-04 19:38:37 +01:00
Johannes Millan
30cbb4d7a6
fix(build): ensure plugin-api is built before plugin builds (#6720)
* fix(build): ensure plugin-api is built before plugin builds

The github-issue-provider plugin build was failing in CI because
plugin-api/dist/ didn't exist when tsc --noEmit ran. The dist/ directory
is gitignored and only built during the prepare lifecycle, which may not
run reliably in all CI contexts. Adding plugin-api:build to the
plugins:build script ensures the type declarations are always available.

Also improved error logging in build-all.js to show stderr on failure.

https://claude.ai/code/session_01StB1pMk1g2k79AywyksoyZ

* fix(build): remove tsc --noEmit from github-issue-provider build

The github-issue-provider was the only plugin running tsc --noEmit as
part of its build command. In CI, TypeScript module resolution fails for
the file: dependency on plugin-api due to npm workspace hoisting
interference. All other plugins (ai-productivity-prompts,
procrastination-buster, sync-md) skip type-checking during build and
rely on esbuild to strip type-only imports.

Align with existing plugin pattern by separating build from typecheck.
Also improve error logging in build-all.js to capture stdout on failure.

https://claude.ai/code/session_01StB1pMk1g2k79AywyksoyZ

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-04 11:25:21 +01:00
Johannes Millan
05d86d6c6b chore(deps): upgrade Angular and Angular Material to 21.2.0 2026-03-03 20:14:54 +01:00
Johannes Millan
151a096b37 chore: add supersync:up and supersync:down npm scripts 2026-03-03 11:27:20 +01:00
dependabot[bot]
d83a70c49c
chore(deps): bump typia from 11.0.0 to 11.0.3 (#6679)
Bumps [typia](https://github.com/samchon/typia) from 11.0.0 to 11.0.3.
- [Release notes](https://github.com/samchon/typia/releases)
- [Commits](https://github.com/samchon/typia/compare/v11.0.0...v11.0.3)

---
updated-dependencies:
- dependency-name: typia
  dependency-version: 11.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 11:39:28 +01:00
dependabot[bot]
349c37b97a
chore(deps): bump @types/jasmine from 5.1.14 to 6.0.0 (#6680)
Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 5.1.14 to 6.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine)

---
updated-dependencies:
- dependency-name: "@types/jasmine"
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-01 11:39:17 +01:00
Johannes Millan
ed92ea7933 17.2.4 2026-03-01 00:19:19 +01:00
Johannes Millan
a87bff8661 17.2.3 2026-02-28 21:52:29 +01:00
Johannes Millan
9372a14f4f 17.2.2 2026-02-28 21:41:25 +01:00
Johannes Millan
e465555ad3 fix(build): pin app-builder-lib minimatch to 10.1.1
The dependabot minimatch bump (3.1.2 → 3.1.4) cascaded into updating
app-builder-lib's nested minimatch from 10.1.1 to 10.2.3. In 10.2.3,
partial directory matching for glob patterns like `dir/**/*` against
bare directory names changed behavior, preventing electron-builder's
file walker from descending into the `electron/` directory. This caused
"electron/main.js" to be missing from the asar archive.

Pin app-builder-lib's minimatch to 10.1.1 via npm overrides until the
regression is resolved upstream.
2026-02-25 18:50:45 +01:00
Johannes Millan
526282d811 fix(build): generate env.generated.ts during npm install
Add `npm run env` to the prepare script so that
env.generated.ts is auto-generated on `npm install`,
preventing build failures in fresh worktrees.
2026-02-25 15:27:57 +01:00
Johannes Millan
f44e6b54cf 17.2.1 2026-02-21 15:15:34 +01:00
Johannes Millan
b79fa5ac29 17.2.0 2026-02-21 13:49:15 +01:00
Johannes Millan
b04477225b fix(build): limit cap sync to android in droid script
Prevents iOS sync attempt on non-Mac systems.
2026-02-21 11:29:44 +01:00
Johannes Millan
f9fff40402 17.1.8 2026-02-15 11:20:46 +01:00
Johannes Millan
f3eb92c617 17.1.7 2026-02-13 16:16:25 +01:00
dependabot[bot]
53154b742b
chore(deps): bump tar in the npm_and_yarn group across 1 directory (#6480)
Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).


Updates `tar` from 6.2.1 to 7.5.7
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.7)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 12:46:57 +01:00
Johannes Millan
4c4a0a3afd fix(android): use native safe area insets for proper status bar padding
Install capacitor-plugin-safe-area to read native safe area insets and
inject them as CSS variables, working around Capacitor 7's broken
adjustMarginsForEdgeToEdge and Android WebView's unreliable
env(safe-area-inset-*) values.

- Add _initSafeAreaInsets() to GlobalThemeService
- Remove broken adjustMarginsForEdgeToEdge: 'auto' from capacitor config
- Clamp context menu trigger Y to safe area top
- Fix light mode status bar color to match theme (#f8f8f7)
2026-02-11 20:37:40 +01:00
Johannes Millan
ec7e6da161 17.1.6 2026-02-09 18:14:03 +01:00
Johannes Millan
6f85fb4ea6 17.1.5 2026-02-08 16:25:57 +01:00
Johannes Millan
8300eaa6a7 17.1.4 2026-02-08 15:49:17 +01:00
Johannes Millan
f5669b60c4 17.1.3 2026-02-06 20:11:32 +01:00
dependabot[bot]
84fcd9f4b9
chore(deps): bump @modelcontextprotocol/sdk (#6381)
Bumps the npm_and_yarn group with 1 update in the / directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).


Updates `@modelcontextprotocol/sdk` from 1.25.2 to 1.26.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.25.2...v1.26.0)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.26.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-06 11:55:51 +01:00
Johannes Millan
cffbbcfe09 17.1.2 2026-02-05 16:01:03 +01:00
Johannes Millan
dba49e3722 17.1.1 2026-02-05 14:35:02 +01:00
Johannes Millan
197ec4d3a8 17.1.0 2026-02-04 20:55:51 +01:00
dependabot[bot]
36c7df6db5
chore(deps): bump @rollup/rollup-linux-x64-gnu from 4.55.3 to 4.57.1 (#6304)
Bumps [@rollup/rollup-linux-x64-gnu](https://github.com/rollup/rollup) from 4.55.3 to 4.57.1.
- [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.55.3...v4.57.1)

---
updated-dependencies:
- dependency-name: "@rollup/rollup-linux-x64-gnu"
  dependency-version: 4.57.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 13:27:53 +01:00
dependabot[bot]
71435663d9
chore(deps): bump electron-builder from 26.4.0 to 26.7.0 (#6307)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) from 26.4.0 to 26.7.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-builder@26.7.0/packages/electron-builder)

---
updated-dependencies:
- dependency-name: electron-builder
  dependency-version: 26.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 13:27:26 +01:00
dependabot[bot]
007eef2b18
chore(deps): bump @angular-eslint/builder from 21.1.0 to 21.2.0 (#6308)
Bumps [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) from 21.1.0 to 21.2.0.
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/builder/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v21.2.0/packages/builder)

---
updated-dependencies:
- dependency-name: "@angular-eslint/builder"
  dependency-version: 21.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 13:26:31 +01:00
dependabot[bot]
206487728a
chore(deps): bump glob from 9.3.5 to 13.0.0 (#6311)
Bumps [glob](https://github.com/isaacs/node-glob) from 9.3.5 to 13.0.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v9.3.5...v13.0.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 13.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 13:26:14 +01:00
Johannes Millan
e97d530d2a 17.0.12 2026-01-30 21:13:40 +01:00
Johannes Millan
25d3cbe81e 17.0.11 2026-01-29 18:24:47 +01:00
Johannes Millan
2c004a445d 17.0.10 2026-01-29 18:24:15 +01:00
Johannes Millan
2d835f9e73 17.0.9 2026-01-28 22:42:29 +01:00
Johannes Millan
821d05d495 17.0.8 2026-01-28 22:16:05 +01:00
Johannes Millan
819671de6d 17.0.7 2026-01-28 22:01:01 +01:00
Johannes Millan
98f40093d6 fix(simple-counter): preserve order when reordering counters in settings
The updateAllSimpleCounters reducer was using adapter.upsertMany() which
doesn't preserve the order of items passed to it. Now explicitly sets
the ids array after upserting to maintain the desired order. Also marks
form as dirty when moving items for consistency with removeItem().

Fixes #6232
2026-01-28 21:55:04 +01:00