rcgit

/ karakeep
follow (on) | order: default date topo
Age Commit message Author Files +/-
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: Allow enabling/disabling RSS feeds Mohamed Bassem 10 -21/+2032
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
chore: rename missing files/conf from Hoarder to Karakeep (#1280)
* refactor: Rename remaining project configuration from Hoarder to Karakeep
* some fixes
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
adripo 126 -5080/+5080
tests: Add tests for various trpc endpoints Mohamed Bassem 9 -5/+1108
fix: Add password salt to the user table Mohamed Bassem 8 -12/+1718
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
feat(workers): Adds publisher and author og:meta tags to Bookmark (#1141) erik-nilcoast 12 -33/+2191
feat: Add support for 'ai tagged' as a webhook trigger. Fixes #1092 Mohamed Bassem 4 -4/+12
refactor: Move the list logic into a separate model Mohamed Bassem 6 -194/+308
feat: Add PDF screenshot generation and display (#995)
* Updated pdf2json to 3.1.5
* Extract and store a screenshot from PDF files using pdf2pic
* Installing graphicsmagick and ghostscript
* Generate Missing PDF screenshot with tidyAssets worker for backward support
* Display PDF screenshot instead of the PDF in web if it exists.
* Display PDF screenshot in mobile app if exists.
* Updated pnpm-lock.yaml
* Removed console.log
* Revert the unnecessary changes in package.json
* Revert pnpm-lock changes
* Prevent rendering PDF files if the screenshot is not generated
* refactor: replace useEffect with useMemo for section initialization
* feat: show PDF file download button and handle large PDFs by defaulting to screenshot view
* feat: add file size to openapi spec
* feature: Add Assets preprocessing in fix mode to admin actions
* i18n: add reprocess_assets_fix_mode translation
* i18n: Add missing ar translations
* A bunch of fixes
* Fix openspec schema
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
Ahmad Mujahid 34 -101/+545
fix: Fix node22 error in worker container. Fixes #962 Mohamed Bassem 5 -23/+17
feat: Add a new modifiedAt field to bookmarks table. Fixes #952 Mohamed Bassem 5 -13/+1683
feat: Change webhooks to be configurable by users Mohamed Bassem 23 -28/+4272
feat: Support customizing the summarization prompt. Fixes #731 Mohamed Bassem 10 -16/+1649
feat: Add support for singlefile extension uploads. #172 Mohamed Bassem 14 -37/+275
Revert "ci: Run tests on push (#807)" (#808)
This reverts commit 39358b1517a06b90b9886a648ce1c595d1556c8e.
Mohamed Bassem 8 -20/+5
ci: Run tests on push (#807)
* ci: Run tests on push
* disable drizzle logging in tests
* run db migrations in trpc tests
Mohamed Bassem 8 -5/+20
feat: Add support for smart lists (#802)
* feat: Add support for smart lists
* i18n
* Fix update list endpoint
* Add a test for smart lists
* Add header to the query explainer
* Hide remove from lists in the smart context list
* Add proper validation to list form
---------
Co-authored-by: Deepak Kapoor <41769111+orthdron@users.noreply.github.com>
Mohamed Bassem 26 -100/+2045
refactor: Migrate from the deprecated drizzle-orm schema Mohamed Bassem 3 -93/+79
deps: Upgrade drizzle-orm to 0.38.3 Mohamed Bassem 5 -15/+114
feat: Implement highlights support for links. Fixes #620 Mohamed Bassem 16 -6/+3837
feature: Store crawling status code and allow users to find broken links. Fixes… Mohamed Bassem 9 -6/+1628
fix: Fix slow AllTags page because of misconfigured tagId index. Fixes #528 Mohamed Bassem 4 -1/+1414
feature: Add support for subscribing to RSS feeds. Fixes #202 Mohamed Bassem 16 -3/+2280
feature: Archive videos using yt-dlp. Fixes #215 (#525)
* Allow downloading more content from a webpage and index it #215
Added a worker that allows downloading videos depending on the environment variables
refactored the code a bit
added new video asset
updated documentation
* Some tweaks
* Drop the dependency on the yt-dlp wrapper
* Update openapi specs
* Dont log an error when the url is not supported
* Better handle supported websites that dont download anything
---------
Co-authored-by: Mohamed Bassem <me@mbassem.com>
kamtschatka 17 -71/+403
feature: Add a summarize with AI button for links Mohamed Bassem 12 -11/+1536
deps: Upgrade nodejs to v22 MohamedBassem 6 -35/+35
refactor: Start tracking bookmark assets in the assets table MohamedBassem 14 -175/+1581
refactor: Include userId in the assets table MohamedBassem 7 -0/+1235
feature: Persevere the source URL of clipped texts from the extension.
Fixes #448
MohamedBassem 13 -31/+1246
feature(web): Add the ability to customize the inference prompts. Fixes #170 MohamedBassem 13 -39/+1764
deps: Upgrade drizzle-kit MohamedBassem 30 -2171/+2217
deps: Upgrade drizzle and next auth drizzle adapter MohamedBassem 7 -54/+89
chore: added a new table to store the config in the database (#279) kamtschatka 4 -0/+1106
refactor: added the bookmark type to the database (#256)
* refactoring asset types
Extracted out functions to silently delete assets and to update them after crawling
Generalized the mapping of assets to bookmark fields to make extending them easier
* Added the bookmark type to the database
Introduced an enum to have better type safety
cleaned up the code and based some code on the type directly
* add BookmarkType.UNKNWON
* lint and remove unused function
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 27 -120/+1266
refactor: remove redundant code from crawler worker and refactor handling of…
* refactoring asset types
Extracted out functions to silently delete assets and to update them after crawling
Generalized the mapping of assets to bookmark fields to make extending them easier
* revert silentDeleteAsset and hide better-sqlite3
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 3 -65/+80
refactor: extract assets into their own database table. #215 (#220)
* Allow downloading more content from a webpage and index it #215
added a new table that contains the information about assets for link bookmarks
created migration code that transfers the existing data into the new table
* Allow downloading more content from a webpage and index it #215
removed the old asset columns from the database
updated the UI to use the data from the linkBookmarkAssets array
* generalize the assets table to not be linked in particular to links
* fix migrations post merge
* fix missing asset ids in the getBookmarks call
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 6 -52/+1271
feature: add support for PDF links. Fixes #28 (#216)
* feature request: pdf support #28
Added a new sourceUrl column to the asset bookmarks
Added transforming a link bookmark pointing at a pdf to an asset bookmark
made sure the "View Original" link is also shown for asset bookmarks that have a sourceURL
updated gitignore for IDEA
* remove pdf parsing from the crawler
* extract the http logic into its own function to avoid duplicating the post-processing actions (openai/index)
* Add 5s timeout to the content type fetch
---------
Co-authored-by: MohamedBassem <me@mbassem.com>
kamtschatka 10 -93/+1263
feature: Full page archival with monolith. Fixes #132 MohamedBassem 14 -7/+1259
fix: Add the missing bookmark URL index migration MohamedBassem 3 -0/+1016
feature: Dedup links on creation. Fixes #49 MohamedBassem 8 -106/+176
feature: Download images and screenshots MohamedBassem 22 -135/+1373
feature: Nested lists (#110). Fixes #62
* feature: Add support for nested lists
* prevent moving the parent to a subtree
Mohamed Bassem 25 -402/+2084
feature: Add title to bookmarks and allow editing them. Fixes #27 MohamedBassem 17 -54/+1240
feature: Recrawl failed links from admin UI (#95)
* feature: Retry failed crawling URLs
* fix: Enhancing visuals and some minor changes.
Ahmad Mujahid 8 -25/+1067
feature: Add PDF support (#88)
* feature: Add PDF support
* fix: PDF feature enhancements
* fix: Freeze expo-share-intent version to prevent breaking changes
* fix: set endOfLine to auto for cross-platform development
* fix: Upgrading eslint/parser and eslint-plugin to 7.6.0 to solve the linting issues
* fix: enhancing PDF feature
* fix: Allowing null in fiename for backward compatibility
* fix: update pnpm file with pnpm 9.0.0-alpha-8
* fix:(web): PDF Preview for web
Ahmad Mujahid 24 -107/+2387
feature(web): Add support for attaching notes to bookmarks MohamedBassem 10 -2/+1012
refactor: Validate env variables using zod MohamedBassem 7 -46/+91
refactor: Change asset storage to be the filesystem instead of sqlite MohamedBassem 16 -75/+2006
Feature: Add support for uploading images and automatically inferring their…
* feature: Experimental support for asset uploads
* feature(web): Add new bookmark type asset
* feature: Add support for automatically tagging images
* fix: Add support for image assets in preview page
* use next Image for fetching the images
* Fix auth and error codes in the route handlers
* Add support for image uploads on mobile
* Fix typing of upload requests
* Remove the ugly dragging box
* Bump mobile version to 1.3
* Change the editor card placeholder to mention uploading images
* Fix a typo
* Change ios icon for photo library
* Silence typescript error
Mohamed Bassem 31 -79/+2736
db: Create an index on bookmarks.createdAt field given the use in pagination MohamedBassem 4 -0/+896
db: Add missing indicies on db MohamedBassem 4 -1/+910
docker: Fix dockerfiles to adapt to the new repo structure MohamedBassem 8 -172/+46
structure: Create apps dir and copy tooling dir from t3-turbo repo MohamedBassem 396 -9511/+10350
build: Fix the web build MohamedBassem 4 -10/+8
breaking: Using DATA_DIR env variable instead of DATABASE_URL MohamedBassem 7 -10/+19
feature: Store html content of links in the database MohamedBassem 6 -0/+818
feature: Show a loading indicator when tags are still being fetched MohamedBassem 9 -13/+877
dev: Disable db query logging given that it's very noisy MohamedBassem 1 -12/+1
fix: Remove unique index on API key name as it was forcing the name to be… MohamedBassem 4 -1/+801
feature: Store full link content and index them MohamedBassem 9 -1/+878
feature: Add an admin page showing server stats and actions MohamedBassem 12 -7/+1048
feature: Add support for creating and updating lists MohamedBassem 23 -5/+2030
fix: Disable query logging in production MohamedBassem 1 -4/+4
fix: Fix browser bookmarking input schema MohamedBassem 2 -11/+10
fix: Fix API key authorization MohamedBassem 1 -0/+10
feature: Add support for storing and previewing raw notes MohamedBassem 21 -175/+1196
fix: Fix drizzle logging params in prod MohamedBassem 1 -1/+12
tests: Add tests for the bookmarks routes MohamedBassem 15 -74/+849
docker: Run db migrations on web app startup MohamedBassem 5 -17/+30
build: Migrate from yarn to pnpm MohamedBassem 16 -10678/+8701
feature: Add support for adding/removing tags MohamedBassem 6 -52/+365
db: Migrate from prisma to drizzle MohamedBassem 41 -975/+2177
feature: Add support for credentials registration and sign in MohamedBassem 15 -20/+565
branding: Rename app to Hoarder MohamedBassem 21 -165/+164
build: Optimizing the docker image sizes a bit MohamedBassem 5 -54/+61
fix: Fix the uniquness constraint on tag name MohamedBassem 2 -2/+14
feature: Implement a usable but ugly all tags and a single tag page MohamedBassem 8 -29/+135
feature: Add support for managing API keys MohamedBassem 15 -5/+944
fix: Fix build for workers package and add it to CI MohamedBassem 8 -70/+106
refactor: Migrating to trpc instead of next's route handers MohamedBassem 28 -521/+343
chore: Enable prisma logging in dev env MohamedBassem 1 -1/+6
[refactor] Extract the bookmark model to be a high level model to support other… MohamedBassem 22 -308/+396
[build] Migrating to yarn 2 MohamedBassem 6 -5047/+7089
[refactor] Move the different packages to the package subdir MohamedBassem 128 -2716/+2713