Commit Graph

899 Commits (d8b5bd61ab2fabee98d9273229dc0aff4a5945ce)

Author SHA1 Message Date
Steven 4c1d1c70d1 refactor: rename workspace to instance throughout codebase
Remove work-related terminology by renaming "workspace" to "instance"
across the entire application. This change better reflects that Memos
is a self-hosted tool suitable for personal and non-work use cases.

Breaking Changes:
- API endpoints: /api/v1/workspace/* → /api/v1/instance/*
- gRPC service: WorkspaceService → InstanceService
- Proto types: WorkspaceSetting → InstanceSetting
- Frontend translation keys: workspace-section → instance-section

Backend Changes:
- Renamed proto definitions and regenerated code
- Updated all store layer methods and database drivers
- Renamed service implementations and API handlers
- Updated cache from workspaceSettingCache to instanceSettingCache

Frontend Changes:
- Renamed service client: workspaceServiceClient → instanceServiceClient
- Updated all React components and state management
- Refactored stores: workspace.ts → instance.ts
- Updated all 32 locale translation files

All tests pass and both backend and frontend build successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
boojack d98ee36178
chore: standardize and improve API structure (#5224)
Co-authored-by: Claude <noreply@anthropic.com>
8 months ago
Florian Dewald 5f57f48673
fix(security): validate attachment filenames (#5218) 8 months ago
Steven 1ced0bcdbd chore: fix linter 8 months ago
Steven bc1550e926 refactor(api): migrate inbox functionality to user notifications
- Remove standalone InboxService and move functionality to UserService
- Rename inbox to user notifications for better API consistency
- Add ListUserNotifications, UpdateUserNotification, DeleteUserNotification methods
- Update frontend components to use new notification endpoints
- Update store layer to support new notification model

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Steven f65633e8a9 chore: fix linter issues in backend and frontend
- Remove extra blank line in memo_service.go (goimports)
- Remove invalid fields from CreateMemoRequest call (validateOnly, requestId)
- Clean up unnecessary comments

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Steven 243ecf14b0 refactor(api): remove DeleteMemoTag and RenameMemoTag endpoints
BREAKING CHANGE: Removed DeleteMemoTag and RenameMemoTag API endpoints
for better API consistency. Tags should now be managed by updating memo
content directly via UpdateMemo endpoint.

Backend changes:
- Remove RenameMemoTag and DeleteMemoTag RPC methods from proto
- Remove backend implementations in memo_service.go
- Regenerate protocol buffers (Go, TypeScript, OpenAPI)

Frontend changes:
- Remove RenameTagDialog component
- Simplify TagsSection to remove rename/delete functionality
- Improve tag styling with active state highlighting
- Add smooth transitions and better hover interactions
- Polish TagTree component for consistency
- Tags now only support click-to-filter (no inline editing)

Style improvements:
- Active tags highlighted with primary color and font-medium
- Consistent hover states across flat and tree views
- Better spacing and visual hierarchy
- Improved empty state styling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Steven 91a7e927a5 fix(server): reduce static asset cache to prevent stale files after redeploy
Changed Cache-Control max-age from 7 days to 1 hour with immutable directive.
This prevents users from experiencing blank pages or JS errors when accessing
frequently redeployed instances (e.g., demo environments) where old cached
assets may reference files that no longer exist after redeployment.

Since Vite generates content-hashed filenames, the immutable directive prevents
unnecessary revalidation while the shorter cache duration ensures fresh assets
are served within an hour of redeployment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Steven f635d85bcf chore: fix reactions seed data
- Add comprehensive inline documentation for auth services
- Document session-based and token-based authentication flows
- Clarify authentication priority and validation logic
- Add detailed comments for JWT token structure and claims
- Fix reactions seed data to use memo UIDs instead of numeric IDs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Claude 596b894ca0 chore: remove unused syntax
- Removed the wikilink extension from markdown services in test and API service.
- Deleted the DefaultLink and WikiLink components, simplifying link handling.
- Updated ConditionalComponent to remove wikilink checks.
- Adjusted MemoContent to exclude wikilink handling in markdown rendering.
- Refined markdown styles for compact rendering, enhancing readability.
- Added a Markdown Styling Guide to document the new compact styling approach.
8 months ago
Claude 7eec424274 chore: remove references handling from markdown extraction 8 months ago
Claude 6cb96ef65e chore: add missing punctuation in comments 8 months ago
Claude 739fd2cde6 refactor: update markdown parser
- Removed the `nodes` field from the `Memo` interface in `memo_service.ts`.
- Updated the `createBaseMemo` function and the `Memo` message functions to reflect the removal of `nodes`.
- Cleaned up the serialization and deserialization logic accordingly.

chore: remove code-inspector-plugin from Vite configuration

- Deleted the `codeInspectorPlugin` from the Vite configuration in `vite.config.mts`.
- Simplified the plugins array to include only `react` and `tailwindcss`.
8 months ago
Florian Dewald e4f6345342
feat: generate thumbnails for images stored in S3 and generate thumbnails with a maximum size (#5179) 8 months ago
Steven c09ea5a8ab chore: remove basic filter support from ListAttachments method 8 months ago
Steven 2e31bee1de fix: add missing period to comment per golangci-lint 8 months ago
Steven 9121ddbad9 feat(api): support username lookup in GetUser endpoint
- Update GetUser to accept both numeric IDs and username strings (users/{id} or users/{username})
- Implement CEL filter parsing for username-based lookups
- Update proto documentation to reflect dual lookup capability
- Simplify frontend user store to use GetUser instead of ListUsers filter
- Update ListUsers filter documentation to show current capabilities
8 months ago
Steven b4ea7d843f feat: enhance memo sorting functionality to support multiple fields 8 months ago
Johnny bc7decf642 refactor: remove unused constants 8 months ago
Copilot b685ffacdf refactor: memo filter
- Updated memo and reaction filtering logic to use a unified engine for compiling filter expressions into SQL statements.
- Removed redundant filter parsing and conversion code from ListMemoRelations, ListReactions, and ListAttachments methods.
- Introduced IDList and UIDList fields in FindMemo and FindReaction structs to support filtering by multiple IDs.
- Removed old filter test files for reactions and attachments, as the filtering logic has been centralized.
- Updated tests for memo filtering to reflect the new SQL statement compilation approach.
- Ensured that unsupported user filters return an error in ListUsers method.
8 months ago
Johnny efe6013c36 fix: add user authentication checks 9 months ago
github-actions[bot] 074c580214 chore: bump gomark
- Bump protoc-gen-go version from v1.36.8 to v1.36.9 in multiple generated files.
- Enhance OpenAPI descriptions for various endpoints to improve clarity and readability.
- Fix typo in the description list handling in the markdown service.
- Update HTMLElement component to handle children and self-closing tags correctly.
- Modify types in the markdown service to include children and self-closing properties for HTML elements.
9 months ago
Steven 5ad2038b1a feat: update gomark dependency and refactor markdown parsing logic 9 months ago
Steven c3d4f8e9d1 feat: implement user-specific SQL converter for filtering in user service 10 months ago
Johnny 7cc2df9254 chore: fix linter 10 months ago
varsnotwars e2454a8ae4
chore: add test for ListMemos (#5015) 10 months ago
varsnotwars fbcdf0fba7
fix update theme not saving (#5012) 10 months ago
Johnny e93f3cbb8b refactor: unify theme and apperance 10 months ago
varsnotwars 4eb5b67baf
feat: attachments by id (#5008) 10 months ago
varsnotwars a9508b2546
chore: simplify convert reaction (#5001) 10 months ago
Johnny 76ca258f23 chore: simplify update user settings 11 months ago
varsnotwars 3fd305dce7
fix: preferences being overwritten (#4990) 11 months ago
Neo c76ffb0fe4
chore: adds a check to only query reactions when there are actual memos (#4984) 11 months ago
varsnotwars f4bdfa28a0
feat: filter/method for reactions by content_id (#4969) 11 months ago
Brandon Sprague 931ddb7c1c
chore: add a new LOG_STACKTRACES option (#4973) 11 months ago
Liu Chao 3427ae75ba
fix: resolve gRPC Gateway connection issue when server address is empty (#4968)
Signed-off-by: ChaoLiu <chaoliu719@gmail.com>
11 months ago
johnnyjoy 506b477d50 fix: get user by username 11 months ago
varsnotwars fa2fa8a5d7
refactor: remove call to db for parent memo name (#4947) 11 months ago
Steven 1fcafd807e chore: enable memo comments by default 11 months ago
Maximilian Krauß e724a7ef72
fix: disable profiler in production mode (#4925) 11 months ago
johnnyjoy 9971cbeed4 chore: fix linter 11 months ago
Johnny 8f51791da8 chore: update user setting definition 11 months ago
Johnny 3b8bfe72ea fix: linter 11 months ago
johnnyjoy c5d497a1f0 chore: update user settings 11 months ago
johnnyjoy 3f56ce47d2 chore: update definition of workspace setting 11 months ago
Maximilian Krauß 2c7eb23343
feat(inbox): handles errors while fetching and adds possibility to delete items (#4908) 11 months ago
johnnyjoy ed23cbc011 refactor: memo filter 11 months ago
Steven 1a75d19a89 fix: memo filter for sqlite 11 months ago
johnnyjoy 6e45e9f8b6 refactor: deprecate old filter 11 months ago
johnnyjoy 6d9770b9c8 chore: move filter to filters 11 months ago
johnnyjoy 7481fe10bf chore: remove order by pinned 11 months ago
unuunn 452f47c4b9
set HasCode only for CodeBlock (#4842) 12 months ago
Amar Singh Rathour b779dd2e54
fix: correct avatar URL generation to resolve 404 errors (#4839) 12 months ago
Steven 533591af2b chore: theme in user setting 12 months ago
Johnny 1b3083b216
feat: themes (#4824) 12 months ago
Steven 046c6c83e1 chore: fix linter formats 12 months ago
Copilot e3a2dadb4b
fix: tag count regression - remove double increment causing off-by-one error (#4800)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: boojack <24653555+boojack@users.noreply.github.com>
12 months ago
Steven c18d6927ba chore: update user session table 1 year ago
johnnyjoy 1fffc41f79 feat: sliding expiration for user sessions 1 year ago
Steven 42d1650c6d chore: tweak auth service 1 year ago
johnnyjoy 976bd332fe chore: fix linter 1 year ago
johnnyjoy d6a75bba4c refactor: webhook service 1 year ago
Johnny e6e460493c refactor: general user setting 1 year ago
Johnny 9b15936873 refactor: clean unused fields 1 year ago
Johnny 52a5ca2ef4 chore: update get attachment binary 1 year ago
Steven 83febf9928 chore: clean resource definition 1 year ago
Steven 5821bb7a65 chore: update auth service 1 year ago
Steven 59eae4465a chore: update user session section 1 year ago
Johnny b8a37c7229 chore: fix linter 1 year ago
Johnny 4e3a4e36f6 feat: implement user sessions 1 year ago
Johnny 6e4d1d9100 fix: auth context 1 year ago
Johnny a2bfa82a88 fix: linter 1 year ago
Johnny 77b7fc4441 feat: implement user session 1 year ago
Johnny 741fe35c2a refactor: rename session methods in auth service 1 year ago
Steven df52bf5e63 fix: tag count 1 year ago
Steven 35df62a96c chore: remove duplicated prefix from enums 1 year ago
Steven d71fd2f84a refactor: auth service 1 year ago
Steven 9972a77d9e refactor: memo service 1 year ago
Steven 91c2a4cef9 refactor: inbox service 1 year ago
Steven a4920d464b refactor: attachment service part2 1 year ago
Steven bb5809cae4 refactor: attachment service 1 year ago
Steven 174b1a0361 chore: fix linter 1 year ago
Steven 760c164328 chore: add server tests 1 year ago
Steven f6e5da4499 refator: activity service 1 year ago
Steven 8e8e246ab2 chore: add server tests 1 year ago
Steven dac059a7f7 refactor: identity provider service 1 year ago
Steven 8d8e9b3b30 refactor: shortcut service 1 year ago
Steven 1ea4cc453c refactor: workspace setting service 1 year ago
Steven da906c665c chore: tweak workspace service 1 year ago
Steven 3b0c87591f refactor: webhook service 1 year ago
Steven c9ab03e1a0 refactor: user service 1 year ago
Johnny f467264e7d chore: remove memopayload runonce 1 year ago
Maya Doshi efb8e7ab0c
fix: broken resource urls in RSS feed (#4753)
fix: resource url generation in rss feed
1 year ago
Steven f1b365f928 refactor: clean packages 1 year ago
Steven ef6f80d925 chore: fix linter 1 year ago
Steven 81ae42518e chore: fix linter 1 year ago
Maximilian Krauß eca91d5c0c
feat(rss): use server title and description for RSS feed, if configured (#4717) 1 year ago
Steven ad2c5f0d05 refactor: store cache 1 year ago
Steven f12d7ae8bc chore: add asynchronous webhook dispatch 1 year ago
Steven 46be6b0ff6 fix: missing service handler 1 year ago