rcgit

/ karakeep
follow (on) | order: default date topo
Age Commit message Author Files +/-
refactor: generalize tidy assets queue into admin maintenance (#2059)
* refactor: generalize admin maintenance queue
* more fixes
Mohamed Bassem 10 -159/+227
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
feat: Add service dependency checks in the server overview page Mohamed Bassem 7 -102/+404
feat: Revamp import experience (#2001)
* WIP: import v2
* remove new session button
* don't redirect after import
* store and lint to root list
* models + tests
* redesign the progress
* simplify the import session for ow
* drop status from session schema
* split the import session page
* i18n
* fix test
* remove pagination
* fix some colors in darkmode
* one last fix
* add privacy filter
* privacy check
* fix interactivity of import progress
* fix test
Mohamed Bassem 21 -37/+3618
feat: recursive list delete (#1989) Mohamed Bassem 5 -16/+437
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
fix: optimize memory usage of tag listing Mohamed Bassem 2 -51/+137
refactor: Move callsites to liteque to be behind a plugin Mohamed Bassem 39 -405/+707
feat: Regen api keys Mohamed Bassem 8 -29/+259
refactor: strongly type the search plugin interface Mohamed Bassem 3 -10/+41
feat(search): add title search qualifier (#1940)
* fix(search): include link titles in title matcher
* docs(search): add title qualifier
* docs: remove title qualifier from v0.27 guide
Mohamed Bassem 9 -2/+142
fix: fix 5xx on invalid api key Mohamed Bassem 1 -1/+5
fix: fix tag flicker caused by tag sorting Mohamed Bassem 6 -50/+53
refactor: Extract quota logic into its own class Mohamed Bassem 11 -102/+133
refactor: Move highlights object into models Mohamed Bassem 2 -131/+188
refactor: Move feed object into models Mohamed Bassem 2 -94/+134
fix: Respect wal mode for the queue db Mohamed Bassem 5 -13/+15
feat: Support video uploads and attachments (#1847)
This commit allows the following mime types to be uploaded and attached
as video assets on bookmarks.
- video/mp4
- video/webm
- video/x-matroska
Evan Sharp 2 -1/+11
fix: Get rid of the userSetting table completely MohamedBassem 5 -56/+2359
refactor: Move webhook, users and tags into models MohamedBassem 12 -1120/+1602
feat: Drop support for time bounded invitations MohamedBassem 8 -124/+2376
fix: Use prometheus histogram instead of summary MohamedBassem 1 -2/+5
refactor: Extract meilisearch as a plugin MohamedBassem 26 -155/+524
chore: More turbo fixes MohamedBassem 28 -57/+107
fix: Fix package boundary violations MohamedBassem 6 -5/+14
deps: Upgrade vite Mohamed Bassem 18 -1064/+847
fix: Drop legacy container notice Mohamed Bassem 2 -22/+2
deps: Upgrade trpc Mohamed Bassem 6 -87/+54
fix: prometheus add karakeep prefix to metrics (#1780)
* add: prometheus karakeep prefix
* readd: comments
Tobias 1 -7/+7
fix: Remove bcrypt from the api key validation route Mohamed Bassem 6 -25/+568
fix(test): Fix subscription.test Mohamed Bassem 1 -0/+1
fix(stripe): Allow promotion codes Mohamed Bassem 1 -0/+1
feat: Allow setting browserless crawling per user Mohamed Bassem 10 -6/+2399
Revert "fix: Fix the types of the bookmark types in the db query"
This reverts commit 4ba3e8047a5b1f160169617187436c09e91662ec.
Mohamed Bassem 4 -27/+16
fix: Fix the types of the bookmark types in the db query Mohamed Bassem 4 -16/+27
feat: Add stripe based subscriptions Mohamed Bassem 18 -60/+4351
feat: Add delete account support Mohamed Bassem 6 -2/+252
fix: Drop auth failure logger Mohamed Bassem 4 -61/+11
fix: Add ratelimiting to bookmark recrawl and summarization Mohamed Bassem 1 -1/+15
deps: Upgrade drizzle Mohamed Bassem 5 -140/+475
fix(tests): Fix missing mock in trpc tests Mohamed Bassem 3 -4/+3
fix: Prioritize crawling user added links over bulk imports. fixes #1717 Mohamed Bassem 14 -91/+159
refactor: Move db interactions into the trpc routes Mohamed Bassem 4 -33/+66
feat: Support forget and reset password Mohamed Bassem 13 -47/+3170
feat: Add API ratelimits Mohamed Bassem 7 -13/+173
feat: Add invite user support Mohamed Bassem 18 -109/+3973
feat: Add support for email verification Mohamed Bassem 12 -157/+748
fix: Add a dummy bcrypt comparison in validatePassword when the user is not… Mohamed Bassem 1 -0/+6
feat: Store large html content in the asset db Mohamed Bassem 17 -18/+2383
fix(tests): Fix broken user setting test Mohamed Bassem 1 -0/+2
feat: Add a new timezone user setting Mohamed Bassem 9 -27/+2189
feat: Add prometheus monitoring. Fixes #758 Mohamed Bassem 10 -55/+331
feat: Add per user storage quota Mohamed Bassem 17 -108/+2388
feat: Add new user stats page. Fixes #1523 Mohamed Bassem 6 -1/+1102
feat: Add per user bookmark count quota Mohamed Bassem 13 -168/+2553
fix(tags): normalise leading hashes in tag names (#1317) (#1351)
* fix(tags): normalise leading hashes in tag names (#1317)
* move the transformation to zod
* fix openapi spec
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Mostafa Wahied 5 -7/+56
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: Fix webhook not firing on deletion. Fixes #1613 Mohamed Bassem 3 -19/+23
fix: Change public image's signed tokens to be time aligned for better caching Mohamed Bassem 5 -6/+140
fix: Fix oauth creation failure due to missing UserSettings table. Fixes #1583 Mohamed Bassem 4 -45/+81
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: add user customisable default archive display behaviour (#1505)
* fix typo
* implementation
* bug fix and refactoring
* Use nuqs for searchParam management
* remove the todo about the tests
* fix tests
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
xuatz 19 -24/+2226
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: Add "deleted" webhook event (#1464) Salvatore Gentile 5 -3/+6
feat: Allow defaulting to reader mode when clicking on bookmarks. Fixes #662 Mohamed Bassem 16 -34/+2341
feat: Add AI auto summarization. Fixes #1163 Mohamed Bassem 34 -2639/+4843
feat(api): Expose the endpoint to create a new tag Mohamed Bassem 7 -49/+172
fix(search): add new relevance sort order (#1392)
* fix(search): add new relevance sort order
* address pr comments
* some minor fixes
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
xuatz 7 -16/+74
fix(api): make PUT bookmark to a list idempotent (#1427)
* fix(api): make duplicate PUT /lists/:id/bookmarks/:id as allowed operation
* apply pr comments
xuatz 3 -34/+2
feat: Allow enabling/disabling RSS feeds Mohamed Bassem 10 -21/+2032
Revert "fix: Fix smart lists not working in list search qualifiers". #1321
This reverts commit 6178736d64180f9bc8954099c90d54aa2f9f35f5.
Mohamed Bassem 3 -133/+69
fix: Fix smart lists not working in list search qualifiers. Fixes #845 Mohamed Bassem 3 -69/+133
fix: When triggering a re-index, drop all the documents first Mohamed Bassem 1 -0/+3
feat: Implement generic rule engine (#1318)
* Add schema for the new rule engine
* Add rule engine backend logic
* Implement the worker logic and event firing
* Implement the UI changesfor the rule engine
* Ensure that when a referenced list or tag are deleted, the corresponding event/action is
* Dont show smart lists in rule engine events
* Add privacy validations for attached tag and list ids
* Move the rules logic into a models
Mohamed Bassem 42 -40/+5787
tests: Run trpc tests in CI Mohamed Bassem 2 -0/+18
tests: Add tests for various trpc endpoints Mohamed Bassem 9 -5/+1108
fix: Add includeContent to search endpoint and document it in the docs Mohamed Bassem 11 -22/+122
feat(web): Add support for merging lists (#1231)
* feat: Support list merging
* some fixes
* move @hoarder to @karakeep
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
omnitrix 8 -3/+325
fix: Add password salt to the user table Mohamed Bassem 8 -12/+1718
feat: add support for filtering by bookmark age (#1228) Brandon Wong 8 -15/+162
fix: Dont download html content by default in the bookmark grid. Fixes #1198 Mohamed Bassem 14 -36/+112
feat: Allow editing the extracted content of an asset bookmark Mohamed Bassem 6 -6/+66
feat: Add an MCP server for karakeep Mohamed Bassem 28 -139/+2512
feat(web): Optionally add short description to lists (#1225)
* feat(web): Optionally add short description to lists
* regenerate openapi spec
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
ekambains 10 -1/+1743
chore: Rename hoarder packages to karakeep MohamedBassem 230 -644/+654
fix: Deprecate the updateBookmarkText trpc endpoint and replace it with… MohamedBassem 4 -20/+6
feat: Allow editing bookmark details MohamedBassem 14 -102/+732
feat: Add a search matcher for rss feed bookmarks MohamedBassem 7 -1/+144
feat(workers): Adds publisher and author og:meta tags to Bookmark (#1141) erik-nilcoast 12 -33/+2191
deps: Upgrade trpc and react query Mohamed Bassem 7 -95/+511
deps: Upgrade vitest Mohamed Bassem 5 -130/+81
feat: Add endpoints for whoami and user stats. Fixes #1113 Mohamed Bassem 9 -9/+455
fix: Revert the accidental upgrade of deps. #1107 Mohamed Bassem 9 -7148/+837
build(deps-dev): bump vitest from 1.3.1 to 1.6.1 (#1104)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 1.3.1 to 1.6.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.6.1/packages/vitest)
---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] 5 -265/+232
fix: Harden getBookmarks endpoint against inconsistent bookmarks. Fixes #1094 Mohamed Bassem 2 -66/+60
feat: Move background jobs with the admin actions. Fixes #1083 Mohamed Bassem 8 -257/+284
fix: Fix missing workers in the server stats Mohamed Bassem 3 -0/+86
next