Commit graph

122 commits

Author SHA1 Message Date
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
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
60203003f0 fix(build): update glob API and remove unused Angular imports
Use globSync instead of callback-based glob (breaking change in glob v9+).
Remove unused MatHint and AsyncPipe imports to fix NG8113 warnings.
2026-02-04 18:30:51 +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
Serif
bc3df77e3f
feat(tools): enhance translation management script (#6171)
- Add extract and merge modes to manage missing translations
- Implement functions to extract missing keys and merge WIP files
- Create usage documentation for the translation management script
2026-01-25 18:08:06 +01:00
Claude
47001a1228
fix(lighthouse): increase font budget for Material Symbols upgrade
The font budget was set to 260KB before the Material Icons to Material
Symbols upgrade. Material Symbols font is ~456KB, causing Lighthouse CI
to fail. Increase budget to 520KB to accommodate the larger font with
headroom for future updates.
2026-01-21 23:18:58 +00:00
Johannes Millan
709e688d6d feat(icons): upgrade from Material Icons to Material Symbols
- Replace legacy Material Icons (2,008 icons) with Material Symbols (3,798 icons)
- Adds missing icons reported in issue #6079: robot_2, manufacturing, cognition, cognition_2, neurology
- Update font: MaterialIcons-Regular.ttf (349KB) -> material-symbols-outlined.woff2 (456KB)
- Update icon names constant with 1,790 additional icons (+89% increase)
- Create extraction script for future icon updates
- Configure filled style to match previous appearance

Resolves #6079
2026-01-21 15:30:19 +01: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
Johannes Millan
b583454327 fix(android): support pre-release versions in APK builds
- Update bump-android-version.js to handle RC/alpha/beta versions
- Pre-releases use versionCode suffix 0001-8999, stable uses 9000
- This ensures users can upgrade from RC to stable without uninstalling
- Skip Play Store upload for pre-release tags (GitHub only)
- Skip fastlane changelog generation for pre-releases

Fixes #5964
2026-01-12 15:25:18 +01:00
Johannes Millan
124ab686ed chore(i18n): remove 228 unimplemented feature translation keys
Remove translation keys for features that were planned but never
implemented, including:

- F.FOCUS_MODE.* (11) - planned focus mode extensions
- F.JIRA.STEPPER.* (5) - setup wizard never built
- F.METRIC.EVAL_FORM.* (15) - unused evaluation fields
- F.SYNC.* (36) - unused error states and dialogs
- F.TASK.* (29) - unused task bar and reminder keys
- F.PROJECT.D_CREATE.SETUP_* (7) - issue provider setup wizards
- F.ISSUE.*/JIRA.*/GITEA.*/etc (various) - unused provider keys
- MH.*/GCF.*/PLUGINS.*/G.* (various) - miscellaneous unused

Remaining 18 "unused" keys are false positives due to dynamic
object access pattern (F.TAG_FOLDER.*, F.PROJECT_FOLDER.*).

Total translation keys: 1965 → 1594 (371 removed, 19% reduction)
2026-01-09 15:00:36 +01:00
Johannes Millan
af4e622f91 chore(i18n): remove additional 86 orphan translation keys
Remove keys that are duplicates, never implemented, or obsolete:
- F.SAFETY_BACKUP.* (32) - orphan duplicate of F.SYNC.SAFETY_BACKUP
- F.PROCRASTINATION.* (32) - feature never implemented
- GCF.PAST.* (11) - orphan duplicate of GLOBAL_RELATIVE_TIME.PAST
- GCF.TIMELINE.* (10) - settings form never implemented
- WW.HELP_PROCRASTINATION (1) - related to unimplemented feature

Total unused keys reduced: 350 → 264
Remaining 264 keys need case-by-case review (planned features,
dynamic object access patterns, edge cases).

Add docs/unused-translations-analysis.md with detailed findings.
2026-01-09 14:59:05 +01:00
Johannes Millan
12d315a703 chore(i18n): add unused translation scanner and remove orphaned keys
Add tools to detect and clean up unused translation keys:
- find-unused-translations.js: scans for T.* and string literal patterns
- cleanup-unused-translations.js: removes specified orphaned sections

Remove 34 orphaned translation keys from all 25 language files:
- ANDROID.* (5 keys) - code removed in previous commits
- THEMES.* (17 keys) - never used, themes use hardcoded names
- F.CALDAV.ISSUE_CONTENT.* (12 keys) - never wired up

Convert string literal translation keys to T.* pattern in:
- dialog-user-profile-management component
- user-profile-button component
- plugin-management component
- config-sound-form component
- lazy-chart component
2026-01-09 14:59:05 +01:00
Johannes Millan
c4023b4f45 fix(security): address CodeQL security alerts
- Fix incomplete HTML sanitization in errors.ts (alerts #50-52)
  Apply regex repeatedly to handle nested inputs like <scri<script>pt>
- Add lgtm comment for intentional cert bypass in jira.ts (alert #40)
- Fix incomplete string escaping in load-env.js (alert #39)
  Escape backslashes before quotes
- Fix shell command injection in check-file.js (alerts #37-38)
  Use execFileSync with args array instead of string interpolation
2025-12-23 13:42:57 +01:00
Nicholas
a6f1649e24 Add setting for default start page 2025-11-19 20:11:21 -05:00
Johannes Millan
5e43c022d6 build: fix lighthouse again 5 2025-10-30 17:53:02 +01:00
Johannes Millan
911e81deb4 build: fix lighthouse again 4 2025-10-30 17:45:12 +01:00
Johannes Millan
f57c178981 build: fix lighthouse again 3 2025-10-30 17:43:49 +01:00
Johannes Millan
ae0a8f84f8 build: fix lighthouse again 2 2025-10-30 17:25:43 +01:00
Johannes Millan
df014a9933 build: fix lighthouse again 2025-10-30 16:54:21 +01:00
Johannes Millan
cab1043a46 build: restore old lighthouse-ci.yml cfg 2025-10-30 16:21:41 +01:00
Johannes Millan
05286eb6c3 Revert "build: attempt to fix lighthouse check"
This reverts commit e2c4579c12.
2025-10-29 19:40:18 +01:00
Johannes Millan
85360ce039 Revert "build: try to fix lighthouse"
This reverts commit af93197dff.
2025-10-29 19:40:18 +01:00
Johannes Millan
e271e130e6 Revert "build: try to fix lighthouse 2"
This reverts commit 562251e2d5.
2025-10-29 19:40:18 +01:00
Johannes Millan
ac833bf70c Revert "build: try to fix lighthouse 3"
This reverts commit 6e5e237856.
2025-10-29 19:40:18 +01:00
Johannes Millan
6e5e237856 build: try to fix lighthouse 3 2025-10-29 19:05:06 +01:00
Johannes Millan
562251e2d5 build: try to fix lighthouse 2 2025-10-29 18:50:34 +01:00
Johannes Millan
af93197dff build: try to fix lighthouse 2025-10-29 18:22:08 +01:00
Johannes Millan
e2c4579c12 build: attempt to fix lighthouse check 2025-10-29 17:15:39 +01:00
Johannes Millan
44b604ce65 build: fix lighthouse 2025-10-28 15:04:22 +01:00
Johannes Millan
ce22606bf3 build: unify lighthouse config 2025-10-23 18:54:32 +02:00
Harshita
3696d62fba fix: properly handle single emoji as project icon 2025-09-20 20:14:06 +05:30
Johannes Millan
cca789c0ce refactor: improve code quality 2025-09-13 14:04:18 +02:00
Johannes Millan
6b7f6a698b Merge remote-tracking branch 'origin/master'
* origin/master:
  feat: add script to update missing i18n keys from en.json
  feat: add missing Turkish translations
2025-09-13 13:56:20 +02:00
Johannes Millan
b9550f4bfd build: adjust lighthouse warning thresholds 2025-09-13 12:58:25 +02:00
Cyber-Syntax
81f0a6b22e feat: add script to update missing i18n keys from en.json 2025-09-13 12:30:40 +03:00
Johannes Millan
296b431875 refactor(env): add getEnvOptional for non-required environment variables
- Add getEnvOptional() method for accessing optional environment variables
- Separate REQUIRED_ENV_KEYS from OPTIONAL_ENV_KEYS in load-env.js
- Update UnsplashService to use getEnvOptional() instead of getEnv()
- ENV object now only contains actual values, not 'undefined' strings
- Cleaner separation between required and optional configuration
2025-08-09 12:23:59 +02:00
Johannes Millan
75afe06b69 fix(docker): simplify env handling for Docker builds
- Always read system environment variables first, then override with .env file
- Ensure all required keys are always present in generated types
- Pass environment variables correctly in Docker build
- Update .dockerignore to exclude build artifacts
2025-08-09 12:16:31 +02:00
Johannes Millan
673cdd3079 build: fix unsplash api stuff for build 2025-08-08 20:10:32 +02:00
Johannes Millan
3777672711 fix(test): fix failing dropbox tests and scss lint issues
- Fix dropbox-api.spec.ts tests by mocking fetch on globalThis instead of window
- Fix task-detail-item.component.scss hover states for light/dark themes
- Remove duplicate background property in dark theme mixin
- Update check-file.js to use stylelint for SCSS files
2025-08-05 20:27:02 +02:00
Johannes Millan
7f324252d7 add overdue test data 2025-07-24 18:52:14 +02:00
Johannes Millan
966f65e6a9 build: final approach 2025-07-14 20:52:51 +02:00
Johannes Millan
97dd02fe7a build: env file improve 2025-07-14 19:47:48 +02:00
Johannes Millan
8432e1bbb4 build: add env files first draft 2025-07-14 18:58:27 +02:00
Johannes Millan
4ea38843d0 feat: add npm commands for single file operations with minified output
- Add 'npm run checkFile <file>' to run prettier and lint on a single file
- Add 'npm run prettier:file <file>' for formatting individual files
- Add 'npm run lint:file <file>' for linting individual files
- Add 'npm run test:file <file>' for running tests on individual spec files
- Create wrapper scripts that show minimal output on success, full output on errors
- Update CLAUDE.md to emphasize using checkFile command frequently
- Add 25-second timeout for test execution to prevent hanging
2025-07-12 10:48:51 +02:00
Johannes Millan
64012518a8 chore: adjust Lighthouse budget limits for current resource counts
- Increase script count limit from 90 to 100 (current: 93)
- Increase total resource count limit from 120 to 135 (current: 127)
- Provides reasonable headroom while maintaining performance standards
2025-06-29 15:32:51 +02:00
Johannes Millan
1d1e587639 ci: update Lighthouse resource count thresholds
Increase resource count limits to accommodate current app size:
- Script count: 90 → 100 (current: 93)
- Total resources: 120 → 140 (current: 129)

These changes prevent CI failures while maintaining reasonable
performance constraints.
2025-06-27 23:04:33 +02:00
Johannes Millan
75f1b64105 build: update configuration files
Update various configuration files as part of the build system reorganization.
2025-06-27 10:25:00 +02:00
Johannes Millan
962b60844f build: move fastlane to android/fastlane
Relocate fastlane metadata from root to android/fastlane where it belongs for Android projects. Update bump-android-version.js script to use the new path.
2025-06-27 10:20:29 +02:00