Commit graph

14562 commits

Author SHA1 Message Date
Johannes Millan
543c175a50 feat: prepare for Angular 20 upgrade
- Update GitHub Actions to use Node.js v22 and actions/setup-node@v4
- Fix Electron debug.ts TypeScript error for devToolsMode union types
- Prepare compatibility for Angular 20 requirements
2025-08-13 19:47:44 +02:00
Johannes Millan
be991a4192 refactor: observables to signals 2025-08-13 19:47:42 +02:00
Johannes Millan
9447a97237
Merge pull request #4944 from AnHumanLearner/docs--env-unsplach-key
docs: change template of the .env file to include the mandatory unspl…
2025-08-13 19:44:50 +02:00
Johannes Millan
e6536d06df
Merge pull request #4949 from notsecret808/fix/confetti-celebration-does-not-respect-is-disable-animations-config
Fix #4736: confetti celebration does not respect the "Disable All Animations" anymore
2025-08-13 19:36:14 +02:00
Johannes Millan
f93f79522e
Merge pull request #4948 from theUGG0/fix/localfile-directory-selection
fix: solve local file sync directory path not being selectable
2025-08-13 19:35:06 +02:00
Johannes Millan
0694ec378a
Merge pull request #4947 from HaoliangXu/fix_typo
fix a typo
2025-08-13 19:27:05 +02:00
Johannes Millan
6487185443
Merge pull request #4940 from osak3r/fix-4871
Fix #4871 - Sort tag list in alphabetical order
2025-08-13 19:06:41 +02:00
ninefour
a9833d256e refactor(canvas-confetti): add typing 2025-08-13 19:16:16 +03:00
ninefour
dd8b8a4906 refactor(canvas-confetti): create service wrapper for canvas-confetti, add typings 2025-08-13 18:00:14 +03:00
theUGG0
ff1e94539b implement upsertPartial function to use in android and electron local file sync pickDirectory function 2025-08-13 17:38:52 +03:00
ninefour
6dc7cfb932 fix(animations): disable canvas-confetti when "Disable All Animations" is enabled 2025-08-13 15:43:35 +03:00
Sheldon Lee
cea088b6c7
fix a typo 2025-08-13 09:23:06 +08:00
Lounys
a39d6df9e6 docs: change template of the .env file to include the mandatory unsplash key 2025-08-12 18:10:59 +02:00
Johannes Millan
34ac3dd757 refactor: improve typing 2 2025-08-12 15:27:48 +02:00
Johannes Millan
632c140894 refactor: improve typing 2025-08-12 10:18:03 +02:00
Johannes Millan
5bfa9539f1 test: fix 2025-08-11 18:34:18 +02:00
Johannes Millan
3dbe2939f5 refactor: more signals 2025-08-11 18:19:13 +02:00
Johannes Millan
5efcc83bae refactor: any to real type 2025-08-11 18:02:17 +02:00
Johannes Millan
82bc77fab3 refactor: globalConfigService props to signal 2025-08-11 17:53:32 +02:00
Johannes Millan
4b66f93dfa refactor: globalConfigService props to signal 2025-08-11 17:40:41 +02:00
osak3r
75db1a0d12 Fix 4871 - Sort tag list in alphabetical order 2025-08-11 10:40:10 -04:00
Johannes Millan
384a9ef62b Merge remote-tracking branch 'origin/master'
* origin/master:
  Fix #4878
  Fix: center material icon #4924
2025-08-10 15:43:04 +02:00
Johannes Millan
9d029067f2 build: improve android perf?? 2025-08-10 15:28:42 +02:00
Johannes Millan
9af991080c feat: improve context menu and limit to certain containers only 2025-08-10 15:27:59 +02:00
Johannes Millan
90e27194fa refactor: prefix private variables with _ 2025-08-10 15:07:20 +02:00
Johannes Millan
ea4a0afcec fix: allow vertical scroll for new pan handler 2025-08-10 15:03:29 +02:00
Johannes Millan
5dfbbd80be feat(charts): implement lazy loading for Chart.js to reduce initial bundle size
- Create dedicated lazy-loading service and component for charts
- Remove Chart.js from main bundle, load on-demand instead
- Fix responsive scaling issues for smaller screens
- Improve TypeScript typing throughout chart components
- Ensure single module load with proper caching
- Fix chart overlap issue in simple counter dialog
2025-08-10 14:05:53 +02:00
Johannes Millan
e8f1498f10 fix: dialog confirm error 2025-08-10 13:27:07 +02:00
Johannes Millan
1c29176f22 feat(task): improve swipe to action 2025-08-10 13:22:53 +02:00
Johannes Millan
c96a37f63b
Merge pull request #4927 from AnHumanLearner/Fix-#4878
Fix #4878
2025-08-10 13:19:03 +02:00
Johannes Millan
d67c45a6cf fix: new pan directive not working as expected 2025-08-10 13:12:23 +02:00
Johannes Millan
6019a000cd refactor: modernize syntax 2025-08-10 12:56:12 +02:00
Johannes Millan
973e17afc2 feat: replace hammerjs with custom swipe and pan directives 2025-08-10 12:56:11 +02:00
Lounys
0db19fc906 Fix #4878 2025-08-10 09:53:20 +02:00
Lounys
4f22e5e635 Fix: center material icon #4924 2025-08-10 09:20:19 +02:00
Johannes Millan
4b05f21285 feat: replace helpful-decorators and thus lodash with custom implementation to save a lot of space 2025-08-09 22:26:59 +02:00
Johannes Millan
6bed63b52d perf: enable critical CSS inlining for faster initial paint
- Set inlineCritical to true in all production builds
- This inlines critical CSS in the HTML for faster FCP
- Roboto fonts already have font-display: swap via @fontsource
2025-08-09 20:55:15 +02:00
Johannes Millan
71c83228cf fix: center badge text #4924 2025-08-09 20:42:03 +02:00
Johannes Millan
265ca3addc fix(archive): ensure archive operation completes before app shutdown
The issue was that moveToArchive started an async operation but didn't wait
for it to complete. This caused a race condition where:
1. Tasks were removed from the store (memory)
2. Archive save started but didn't complete before shutdown
3. On next app load, tasks reappeared from persistence

This fix:
- Makes moveToArchive async and properly awaits the archive operation
- Ensures archive completes before sync or app shutdown
- Removes the insufficient 50ms timeout

Fixes #4884
2025-08-09 12:29:11 +02:00
Johannes Millan
3f222066d5 Merge branch 'fi/various9'
* fi/various9:
  refactor(env): add getEnvOptional for non-required environment variables
  feat(unsplash): disable UI feature when API key not available
  fix(docker): simplify env handling for Docker builds
2025-08-09 12:24:57 +02: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
c0fd0c4751 feat(unsplash): disable UI feature when API key not available
- Add isAvailable() method to check if Unsplash API key is configured
- Hide Unsplash button in image input when service is not available
- Prevent dialog opening if API key is missing
- Improve string check to handle 'undefined' string value
2025-08-09 12:18:02 +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
ba6017df12 feat: make mobile side nav a little smaller 2025-08-09 11:15:19 +02:00
Johannes Millan
a3ebf37cc7 14.3.2 2025-08-08 21:07:51 +02:00
Johannes Millan
daf03be115 14.3.1 2025-08-08 20:53:43 +02:00
Johannes Millan
716fe5bc01 build: also make docker halfway work 2025-08-08 20:53:17 +02:00
Johannes Millan
5a35dbe01c build: fix 2 2025-08-08 20:49:33 +02:00
Johannes Millan
7c00dcc8ba build: fix ? 2025-08-08 20:42:32 +02:00
Johannes Millan
ab5204b84d simplify 2025-08-08 20:20:43 +02:00