Commit Graph
100 Commits
Author SHA1 Message Date
old4ever 954e73c007 style(app): standardize app page file formatting 2026-04-07 08:09:56 -04:00
old4ever 48ef4f60df style(api): standardize API route file formatting 2026-04-07 08:09:49 -04:00
old4ever e39ba6be97 style(lib): standardize utils file formatting 2026-04-07 08:09:43 -04:00
old4ever 3b7c246a47 style(lib): standardize rfc5545-types file formatting 2026-04-07 08:09:40 -04:00
old4ever 5be55cec7c style(lib): standardize events-db file formatting 2026-04-07 08:09:36 -04:00
old4ever dab77befc2 style(auth): standardize auth file formatting 2026-04-07 08:09:32 -04:00
old4ever 076cf8acd0 style(db): standardize database source file formatting 2026-04-07 08:09:26 -04:00
old4ever ae8d547486 style(public): standardize manifest.json formatting 2026-04-07 08:09:19 -04:00
old4ever 3d9e2452c4 style(db): standardize database migration file formatting 2026-04-07 08:09:15 -04:00
old4ever db9d6399dd style(config): standardize configuration file formatting 2026-04-07 08:09:09 -04:00
old4ever a897e8ead1 feat(lib): add OpenRouter client implementation 2026-04-07 08:08:58 -04:00
old4ever c3e3018018 feat(deps): add @openrouter/sdk dependency 2026-04-07 08:08:51 -04:00
old4ever be389c6cfa style(skills): standardize utility-types.ts formatting 2026-04-07 08:08:44 -04:00
old4ever ada8e03a04 chore(config): add OpenRouterTeam to skill selector repos 2026-04-07 08:08:36 -04:00
old4ever 956de68591 style(skills): standardize skill metadata JSON formatting 2026-04-07 08:08:28 -04:00
old4ever e25f917b9a chore(skills): add create-agent and typescript-sdk skills 2026-04-07 08:08:01 -04:00
old4ever 3fec791f28 Merge branch 'betterauth-migration' 2026-04-06 23:38:56 -04:00
old4ever 5922a835cb style: fix unused variable warnings
Prefix unused error variables with underscore to indicate
intentionally unused catch parameters.
2026-04-06 23:27:32 -04:00
old4ever bd861e56c0 chore: remove stale FIXME.md
Remove outdated FIXME file about minimatch types from 2025.
2026-04-06 23:26:26 -04:00
old4ever 403f41f078 fix(auth): sanitize error messages in error page
Add basic XSS sanitization by removing angle brackets from error
URL parameters before rendering.
2026-04-06 23:26:09 -04:00
old4ever 4e7c56eec9 fix(ui): add error handling and loading state to sign-in
Add try/catch with toast notification and loading state for sign-in
button to improve UX and error visibility.
2026-04-06 23:25:40 -04:00
old4ever 8d9329050d fix(ui): add error handling to sign-out
Add try/catch with toast notification for sign-out failures.
2026-04-06 23:24:40 -04:00
old4ever e1fd7dc5a3 feat(api): add input validation to AI endpoints
Add prompt validation to ai-event (non-empty string, max 2000 chars)
and events array length validation to ai-summary (max 100 items)
to prevent abuse and injection attacks.
2026-04-06 23:24:15 -04:00
old4ever a4656520f8 fix(db): ensure pgcrypto extension for UUID generation
Add CREATE EXTENSION IF NOT EXISTS pgcrypto to migration for
compatibility with older PostgreSQL versions.
2026-04-06 23:23:26 -04:00
old4ever 3b5934dbfd fix(auth): correct session check in sign-out page
Change !session to !session?.user to properly detect unauthenticated
state. useSession() returns an object, not null.
2026-04-06 23:23:08 -04:00
old4ever cfa93da149 refactor(auth): remove unused SessionProvider wrapper
Remove the passthrough AuthSessionProvider component and its usage
in layout. better-auth hooks work without a provider wrapper.
2026-04-06 23:22:33 -04:00
old4ever c6017b2f78 fix(db): wrap migration in transaction
Add BEGIN/COMMIT transaction wrapper to migration to ensure
atomicity and prevent partial migration failures.
2026-04-06 23:21:42 -04:00
old4ever bcd488e2d3 fix(auth): use correct sign-in method for genericOAuth
Add genericOAuthClient plugin to auth client and change sign-in
call from signIn.social() to signIn.oauth2() with correct
providerId parameter.
2026-04-06 23:20:39 -04:00
old4ever c3026c8262 feat(api): add auth check to ai-summary endpoint
Require authentication for ai-summary endpoint to prevent
unauthorized API key usage and cost leakage.
2026-04-06 23:18:46 -04:00
old4ever 4c6f880a3f feat(auth): configure trustedOrigins for CSRF protection
Add trustedOrigins to better-auth config to ensure proper origin
validation behind reverse proxy.
2026-04-06 23:18:20 -04:00
old4ever ece03a9124 feat(auth): validate required env vars at startup
Add explicit validation for BETTER_AUTH_SECRET, BETTER_AUTH_URL, and
Authentik config variables. Set secret explicitly in better-auth config
to prevent silent session loss on restart.
2026-04-06 23:17:51 -04:00
old4ever 2a808f8ca1 fix(db): preserve OAuth user verified status during migration
Update emailVerified type conversion to set OAuth users (those with
account records) as verified before converting timestamp to boolean.
2026-04-06 23:16:58 -04:00
old4ever afb27eb66d fix(db): remove authenticator references from relations
Remove dropped authenticator table references from drizzle relations
to prevent drizzle-kit from attempting to recreate the table.
2026-04-06 23:16:34 -04:00
old4ever 15be2399c6 refactor: migrate session usage to better-auth API 2026-04-06 22:41:57 -04:00
old4ever d7d52ef1a8 refactor: migrate auth pages to better-auth client 2026-04-06 22:41:37 -04:00
old4ever 490c601dc1 refactor: remove next-auth SessionProvider wrapper 2026-04-06 22:41:25 -04:00
old4ever 08a894577b refactor: replace next-auth with better-auth core and client 2026-04-06 22:41:11 -04:00
old4ever febc57b240 refactor: update DB schema for better-auth conventions 2026-04-06 22:41:00 -04:00
old4ever 3ab77cc21f refactor: update env vars for better-auth 2026-04-06 22:40:41 -04:00
old4ever 8a500f07de refactor: replace next-auth with better-auth dependency 2026-04-06 22:40:27 -04:00
old4ever d8875e587e feat: add PostgreSQL dev container compose file 2026-04-06 22:40:15 -04:00
old4ever 47251dad3f chore: add debug.log to .gitignore 2026-04-06 22:40:01 -04:00
old4ever 35a7f0a7c2 ai skills
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-06 20:48:30 -04:00
old4ever f70a416fea devenv update
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-06 20:48:24 -04:00
old4ever 206f028fdf init ruler
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-06 20:48:07 -04:00
old4ever 4db02f47bf Merge branch 'main' of git.cloud.dmytros.dev:old4ever/local-cal 2026-04-06 20:40:10 -04:00
old4ever 10ad239259 build: update bun lockfile version 2025-12-12 09:31:20 -05:00
old4ever 755076351b security: bump nextjs version 2025-12-12 09:31:03 -05:00
old4ever 28c982ee37 fix: docker build 2025-12-12 09:27:02 -05:00
old4ever d7dc911db4 Update next to fix react2shell CVE
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2025-12-06 09:34:25 -05:00
old4ever f20f3d66a1 Simplify dropdown menu labels in event card
Remove redundant "event" text from Edit and Delete menu items for cleaner UI
2025-08-22 13:38:57 -04:00
old4ever 824768ce93 Add RRuleDisplay component and clean up unused imports
- Create new RRuleDisplay component for better recurrence rule formatting
- Replace Badge with RRuleDisplay in EventCard for improved UX
- Remove unused imports across multiple files (CalendarEvent, Badge, Card components)
- Remove unused catch parameter in ai-event route
2025-08-22 13:35:13 -04:00
old4ever eb73f9f929 Refactor event management into reusable components
- Extract EventCard, EventsList, and event dialog into separate components
- Add new AI toolbar and drag-drop container components
- Simplify main page.tsx by removing inline component definitions
- Improve code organization and maintainability
2025-08-22 12:33:07 -04:00
old4ever 6ab2946e8a refactor events list as shadcn cards 2025-08-20 14:12:32 -04:00
old4ever cde44ee2d7 fix grammar 2025-08-20 14:11:53 -04:00
old4ever 655517a27c animate button clicks for UX 2025-08-20 14:07:22 -04:00
old4ever 9a836fc866 refactor ai event creation into a promise toast 2025-08-20 13:14:29 -04:00
old4ever 275e83a6c0 replace alerts with toasts 2025-08-20 13:13:52 -04:00
old4ever d8d0039c44 install 'sonner' toask 2025-08-20 13:12:08 -04:00
old4ever 6e6e9b0699 update logo font 2025-08-20 12:36:33 -04:00
old4ever 044e4fbb07 remove shadow from the header 2025-08-20 12:36:22 -04:00
old4ever 2d0da9dbeb autoresize textfield with content & minor ui tweaks 2025-08-20 12:22:38 -04:00
old4ever d8e55e85a1 'fix' hydration error by rendering on the client 2025-08-20 11:27:11 -04:00
old4ever e0ff037c06 clear ai event prompt after generation 2025-08-20 11:14:24 -04:00
old4ever 46a99775a0 add icon for 'system' theme 2025-08-20 11:04:25 -04:00
old4ever d50d77538b change shadcn theme 2025-08-20 11:04:05 -04:00
old4ever 308f5c8380 fix d&d cta position 2025-08-19 05:52:28 -04:00
old4ever 112ab01445 moved sign-in component to a proper folder 2025-08-19 05:41:46 -04:00
old4ever 6818046d58 adjust recurrence picker to not be a card 2025-08-19 05:41:28 -04:00
old4ever ef035e2b7d add labels to action button sections 2025-08-19 05:33:36 -04:00
old4ever 1a30b729e6 fix sign buttons inconsistencies in the header 2025-08-19 05:32:29 -04:00
old4ever 383ce4c33a Merge branch 'drizzle-claude' 2025-08-19 05:02:22 -04:00
old4ever caa89a87de update metadata & use logo as a link to root 2025-08-19 05:00:58 -04:00
old4ever fa39d7584b fix csr nextjs build error
https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout
2025-08-19 04:35:07 -04:00
old4ever f92c79ac60 implement auth error page and moved auth-related pages to /auth path 2025-08-19 04:27:13 -04:00
old4ever 12e9ec5d85 proper user/session creation and auth integration into UI 2025-08-19 03:40:06 -04:00
old4ever 1a13013b45 use different env files based on node env 2025-08-19 01:54:19 -04:00
old4ever 92535f7e54 claude drizzle integration 2025-08-19 01:54:19 -04:00
old4ever 9942a11c0d drizzle setup 2025-08-19 01:54:19 -04:00
old4ever 8808daead3 use independent db
easier for local development
2025-08-19 01:54:19 -04:00
old4ever c0740877b5 minor style adjustment 2025-08-18 17:05:02 -04:00
old4ever 42f3521cd7 update .env file 2025-08-17 11:41:27 -04:00
old4ever 3bb320b59f update docker-compose with a db 2025-08-17 11:15:30 -04:00
old4ever 20b26274d4 create example .env files 2025-08-17 11:15:17 -04:00
old4ever a5aebca54c install packages 2025-08-17 10:50:32 -04:00
old4ever ba30ad4bc7 tidy up docker-compose.yml 2025-08-16 22:15:52 -04:00
old4ever 1fdc20ee0c fix random auth errors
idk how i did it
2025-08-16 22:15:22 -04:00
old4ever 1fe3ef0ee1 fix untrustedHost authjs issue
https://authjs.dev/reference/core/errors#untrustedhost
2025-08-16 19:39:46 -04:00
old4ever b17ed18d46 remove explicit coloring from shadcn summary card 2025-08-16 19:32:39 -04:00
old4ever 63d32931b2 move summarize button to action bar 2025-08-16 19:32:15 -04:00
old4ever 0e919ea69b create auth session provider 2025-08-16 19:26:19 -04:00
old4ever 0696382d43 Merge branch 'auth-v2' 2025-08-16 19:10:14 -04:00
old4ever 2c6737ceb4 implement authentik auth 2025-08-16 19:09:57 -04:00
old4ever ad54758193 update recurrence picker with shadcn components 2025-08-16 12:14:40 -04:00
old4ever bb00d9548d use textarea instead of input for ai prompt 2025-08-16 11:48:55 -04:00
old4ever 6ec15c9124 fix description overflow 2025-08-16 11:34:47 -04:00
old4ever e7de213c18 use button as a file picker 2025-08-16 11:34:34 -04:00
old4ever f747a82322 actual dark mode theme 2025-08-16 11:05:47 -04:00
old4ever eea61bcb0f shadcn orange theme 2025-08-16 10:33:55 -04:00
old4ever cecf3a8d5b add dark theme support 2025-08-16 10:33:37 -04:00