584 Commits

Author SHA1 Message Date
daniel31x13
1268bfa537 feat(mobile): add google oauth 2026-05-27 15:45:48 -04:00
daniel31x13
2a96b61474 security checks 2026-05-21 10:16:53 -04:00
daniel31x13
5c0786e695 feat(mobile): add sign in with apple to iOS 2026-05-20 15:36:24 -04:00
daniel31x13
742aa572e3 feat(mobile): add signup support 2026-05-18 22:36:03 -04:00
daniel31x13
fed669318f feat(web): password creation for oauth/sso users without having to reset it 2026-05-11 19:12:44 -04:00
daniel31x13
aeaef48210 remove username assignment from Apple OAuth profile 2026-05-06 20:32:59 -04:00
daniel31x13
3a7cdd39c6 add secure cookie handling for authentication 2026-05-06 20:21:50 -04:00
daniel31x13
a8b72900e9 init 2026-05-06 17:45:10 -04:00
daniel31x13
f6c512cce2 feat(mobile): implement full offline storage and sync functionality for the preserved formats 2026-05-06 10:37:45 -04:00
daniel31x13
a32c908a2b merge mobile and web reader view styling 2026-04-24 15:48:22 -04:00
daniel31x13
694f8e7f48 feat(tags): implement search functionality for tags across mobile and web 2026-04-17 16:18:03 -04:00
daniel31x13
df4cc97f8e feat: add the functionality to display monolith from a separate domain, sandboxed 2026-04-16 23:32:10 -04:00
daniel31x13
c90fc94674 fix: adjust layout styles for tags page 2026-03-27 12:19:47 -04:00
daniel31x13
054a82a029 fix: improve tag retrieval logic for user collections 2026-03-25 14:20:01 -04:00
Daniel
09f9c81297 New Crowdin updates (#1602)
* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (French)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Ukrainian)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

* New translations common.json (Italian)

* New translations common.json (Japanese)

* New translations common.json (Japanese)

* New translations common.json (Japanese)

* New translations common.json (Romanian)

* New translations common.json (French)

* New translations common.json (Spanish)

* New translations common.json (German)

* New translations common.json (Italian)

* New translations common.json (Dutch)

* New translations common.json (Polish)

* New translations common.json (Russian)

* New translations common.json (Turkish)

* New translations common.json (Ukrainian)

* New translations common.json (Chinese Simplified)

* New translations common.json (Chinese Traditional)

* New translations common.json (English)

* New translations common.json (Portuguese, Brazilian)

---------

Co-authored-by: LinkwardenBot <bot@linkwarden.app>
2026-03-25 12:01:17 -04:00
daniel31x13
e2715f4f50 minor change 2026-03-24 14:29:26 -04:00
daniel31x13
56df0eb5a1 refactor: simplify search operators and update localization keys in SearchBar component 2026-03-24 14:24:24 -04:00
daniel31x13
23da4b8d79 implement safe fetch functionality across the app and the worker 2026-03-24 01:02:17 -04:00
daniel31x13
d467a684aa update skeleton loading styles for improved UI consistency 2026-03-19 01:02:02 -04:00
daniel31x13
eb99bda26a bump version 2026-03-19 00:42:25 -04:00
daniel31x13
0463a334ce reduce padding and gap in various components for an improved user interface + styling 2026-03-19 00:37:40 -04:00
daniel31x13
82f97b1095 feat: implement infinite scrolling for tags in Sidebar and Tags page
- Added infinite scrolling functionality to the Sidebar component using react-intersection-observer.
- Updated the useTags hook to support pagination and sorting options.
- Modified the getTags API to handle pagination and sorting based on user preferences.
- Enhanced the dashboard data fetching to include the number of tags.
- Refactored the Tags page to utilize the new pagination and sorting features.
- Introduced a new getTagById API endpoint to fetch individual tag details.
- Updated the preference settings to allow sorting of tags.
- Improved loading states and skeleton components for better user experience.
2026-03-18 23:30:21 -04:00
daniel31x13
44c932265f fix: ensure enabled flag is set to true in useGetLink for link retrieval 2026-03-15 15:26:59 -04:00
daniel31x13
1dad93ba87 Update to Next 15 + Bug fixes + Optimizations 2026-03-08 05:18:07 -04:00
daniel31x13
9edb450b6a fix: add useEffect to reset faviconLoaded state on link.url change 2026-02-23 19:30:00 -05:00
daniel31x13
f3d30085de feat: enhance useUpdateLink to optimistically update links 2026-02-19 19:37:25 -05:00
daniel31x13
da8761387f feat: enhance useDeleteCollection with improved error handling and optimistic updates 2026-02-19 18:06:47 -05:00
daniel31x13
c9fd573b31 feat: enhance deleteLink functionality with optimistic rendering and improved error handling 2026-02-19 17:30:01 -05:00
daniel31x13
389a96dadc feat(link): update useAddLink to accept additional parameters for improved error handling 2026-02-19 17:11:42 -05:00
daniel31x13
c8b1129e4f feat(worker): index links instantly without waiting for them to be preserved 2026-02-19 01:20:24 -05:00
daniel31x13
b9fd802288 feat(link): implement link submission with optimistic UI updates and toast notifications 2026-02-18 20:58:00 -05:00
daniel31x13
549299743c feat(search): display note in search bar when there are unindexed links 2026-02-18 19:52:55 -05:00
daniel31x13
21b6ab3de4 adjust z-index for searchbar dropdown 2026-02-18 17:39:21 -05:00
daniel31x13
155ca17b55 refactor: always hide email address from the public 2026-02-18 16:48:39 -05:00
daniel31x13
686e3b44e1 remove whitelist and isPrivate due to low demand and high overhead 2026-02-18 16:36:15 -05:00
daniel31x13
f13c5e1cfc refactor(dashboard): remove hasUnIndexedLinks from getDashboardData response 2026-02-18 15:58:27 -05:00
daniel31x13
7e34d98bc4 Refactor imports to use global types from "@linkwarden/types/global" instead of "@linkwarden/types" across components 2026-02-18 15:40:12 -05:00
daniel31x13
e9c1c5217b refactor: update import paths to use specific utility modules 2026-02-18 15:33:20 -05:00
daniel31x13
209e0faa1b add hasUnIndexedLinks fields to dashboard data 2026-02-18 15:32:40 -05:00
daniel31x13
0198a9148e feat(search): add advanced search operators and suggestions to SearchBar component 2026-02-17 17:20:39 -05:00
daniel31x13
45dc95122a feat(import): add integration tests for importFromHTMLFile function 2026-02-13 16:11:25 -05:00
daniel31x13
8c9cd34ec3 feat(admin): implement admin layout and sidebar, add user administration and background jobs pages 2026-02-12 15:36:38 -05:00
daniel31x13
6b3dba3faf Refactor worker-related functionality and update UI components
- Updated ConfirmationModal to use a callback for toggleModal.
- Modified DeleteUserModal to handle admin checks more robustly.
- Removed unnecessary config usage in SettingsSidebar and updated links.
- Cleaned up TagListing by removing unused context logging.
- Enhanced admin page to redirect non-admin users to the dashboard.
- Simplified API for archiving links by removing unused actions.
- Updated billing settings page for better UI consistency.
- Adjusted password settings page for responsive design.
- Deleted obsolete worker-console page and redirected to background-jobs.
- Added new background-jobs page with worker stats and preservation actions.
- Introduced new API endpoints for fetching worker stats and managing preservations.
- Created new hooks for managing worker-related actions in the router.
- Updated localization files to reflect new UI changes and actions.
- Removed deprecated preservation file handling from filesystem management.
2026-02-12 15:16:22 -05:00
daniel31x13
d39a0ed5b2 fix: remove Cache-Control header from avatar response 2026-02-07 16:37:30 -05:00
daniel31x13
bc750bd588 refactor: center content in SettingsLayout for improved layout 2026-02-07 13:10:04 -05:00
daniel31x13
e3de382739 move worker page to worker-console page 2026-02-07 12:20:28 -05:00
daniel31x13
57601413d4 minor improvement 2026-02-07 11:59:53 -05:00
daniel31x13
af8a650096 add translation for "back to dashboard" in SettingsLayout 2026-02-05 20:42:14 -05:00
daniel31x13
b445fde85a enhance settings pages with icons for better UX 2026-02-05 20:38:49 -05:00
daniel31x13
7bbdec0f85 improved settings UX 2026-02-05 20:05:54 -05:00