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.
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
* 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>
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.
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
* 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>
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.
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)
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