git.tammi.cc

/ karakeep
follow | order: default date topo
Age Commit message Author Files +/-
feat: Add source field to track bookmark creation sources (#2037)
* feat: Add source field to track bookmark creation sources
Add a new 'source' field to the bookmarks table to track where bookmarks
were created from. Possible values: api, web, cli, mobile, singlefile, rss.
Changes:
- Add source field to bookmarks table schema
- Update Zod schemas to include source field
- Update tRPC createBookmark procedure to store source
- Update all callsites to pass appropriate source value:
  - api: Default to "api" if not provided
  - singlefile: Set to "singlefile"
  - rss: Set to "rss" in feedWorker
  - cli: Set to "cli"
  - mobile: Set to "mobile" in all mobile app bookmark creation
  - browser-extension: Set to "web"
  - web: Set to "web" in all web app bookmark creation
- Create migration file for database schema change
Fixes #2036
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* feat: Add extension source type for browser extension
- Add 'extension' to bookmark source enum
- Update browser extension to use 'extension' instead of 'web'
Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
* fix CI
* fix CI
* fix the migration file
* add import source
* make source nullish
---------
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Mohamed Bassem <MohamedBassem@users.noreply.github.com>
Mohamed Bassem 16 -12/+2650
fix(api): Return 200 when bookmark already exists instead of 200 Mohamed Bassem 4 -4/+31
feat: Add tag search and pagination (#1987)
* feat: Add tag search and use in the homepage
* use paginated query in the all tags view
* wire the load more buttons
* add skeleton to all tags page
* fix attachedby aggregation
* fix loading states
* fix hasNextPage
* use action buttons for load more buttons
* migrate the tags auto complete to the search api
* Migrate the tags editor to the new search API
* Replace tag merging dialog with tag auto completion
* Merge both search and list APIs
* fix tags.list
* add some tests for the endpoint
* add relevance based sorting
* change cursor
* update the REST API
* fix review comments
* more fixes
* fix lockfile
* i18n
* fix visible tags
Mohamed Bassem 32 -493/+1731
refactor: Extract quota logic into its own class Mohamed Bassem 11 -102/+133
fix: fix move the admin route to the /v1 prefix Mohamed Bassem 1 -1/+1
fix(security): Add CSP policies on asset serving path MohamedBassem 2 -2/+20
fix: Dont attempt to remove uploaded tmp file if it's already removed MohamedBassem 1 -1/+7
fix: Sanitize uploaded file names. #1765 MohamedBassem 1 -1/+2
feat: generate a random prometheus token on startup MohamedBassem 4 -37/+11
fix(tests): Load plugins on API package entrypoint MohamedBassem 3 -0/+7
feat: Support NO_COLOR for logging. Fixes #1778 MohamedBassem 3 -3/+10
chore: More turbo fixes MohamedBassem 28 -57/+107
fix: Fix package boundary violations MohamedBassem 6 -5/+14
fix: Add karakeep_ prefix to hono's metrics Mohamed Bassem 1 -0/+1
deps: Upgrade vite Mohamed Bassem 18 -1064/+847
feat: Add stripe based subscriptions Mohamed Bassem 18 -60/+4351
feat(api): Expose the update user API in the openapi specs Mohamed Bassem 6 -0/+302
feat: Add support for email verification Mohamed Bassem 12 -157/+748
fix(api): Fix handling for CORS after the trpc move to hono. Fixes #1709 Mohamed Bassem 1 -0/+6
feat: Add prometheus monitoring. Fixes #758 Mohamed Bassem 10 -55/+331
feat: Add per user storage quota Mohamed Bassem 17 -108/+2388
feat: Add support for S3 as an asset storage layer (#1703)
* feat: Add support for S3 as an asset storage layer. Fixes #305
* some minor fixes
* use bulk deletion api
* stream the file to s3
Mohamed Bassem 14 -109/+3194
refactor: Move the health endpoint to hono as well Mohamed Bassem 3 -8/+18
refactor: Move the trpc endpoint to hono Mohamed Bassem 5 -22/+46
chore: More oxlint changes Mohamed Bassem 23 -87/+24
chore: migrate away from eslint to oxlint (#1642)
* chore: migrate away from eslint to oxlint
* revert turbo task name lint
* it seems like we can remove the seemingly default globals
xuatz 70 -1695/+1174
fix: Change public image's signed tokens to be time aligned for better caching Mohamed Bassem 5 -6/+140
feat(ui): Improve the look of the public bookmarks page Mohamed Bassem 4 -31/+77
fix: Use a new public list metadata endpoint for metadata generation Mohamed Bassem 6 -52/+126
feat: Allow specifying the overwrite mode for singlefile archives. Fixes #1125 Mohamed Bassem 5 -40/+327
feat: Add support for public lists (#1511)
* WIP: public lists
* Drop viewing modes
* Add the public endpoint for assets
* regen the openapi spec
* proper handling for different asset types
* Add num bookmarks and a no bookmark banner
* Correctly set page title
* Add a not-found page
* merge the RSS and public list endpoints
* Add e2e tests for the public endpoints
* Redesign the share list modal
* Make NEXTAUTH_SECRET not required
* propery render text bookmarks
* rebase migration
* fix public token tests
* Add more tests
Mohamed Bassem 36 -147/+3286
feat: Generate RSS feeds from lists (#1507)
* refactor: Move bookmark utils from shared-react to shared
* Expose RSS feeds for lists
* Add e2e tests
* Slightly improve the look of the share dialog
* allow specifying a limit in the rss endpoint
Mohamed Bassem 26 -293/+3131
feat(api): Expose the endpoint to create a new tag Mohamed Bassem 7 -49/+172
refactor: Migrate from NextJs's API routes to Hono based routes for the API…
* Setup Hono and migrate the highlights API there
* Implement the tags and lists endpoint
* Implement the bookmarks and users endpoints
* Add the trpc error code adapter
* Remove the old nextjs handlers
* fix api key not found handling
* Fix trpc error handling
* Fix 204 handling
* Fix search ordering
* Implement the singlefile endpoint
* Implement the asset serving endpoints
* Implement webauth
* Add hono as a catch all route under api
* fix tests
Mohamed Bassem 45 -1148/+982