- 04 Feb, 2026 1 commit
-
-
memory_clear authored
Signed-off-by:memory_clear <83893503+MemoryClear@users.noreply.github.com>
-
- 03 Feb, 2026 2 commits
-
-
Steven authored
- Add validation check for loading state before allowing save - Prevents false "Content, attachment, or file required" error - Occurs when user presses CTRL+Enter immediately after opening edit mode - Editor state may still be loading when keyboard shortcut fires Closes #5581
-
Steven authored
- Fix nested task lists not showing proper indentation - Use simple CSS cascade with [&_ul.contains-task-list]:ml-6 - Fix checkbox clicks toggling wrong tasks in nested lists - Search from memo root container for global task indexing - Remove complex selectors in favor of standard approach - Match behavior of GitHub, Notion, and other platforms Closes #5575
-
- 02 Feb, 2026 12 commits
-
-
Steven authored
Fixes issue where OAuth sign-in fails with 'Cannot read properties of undefined (reading 'digest')' when accessing Memos over HTTP. The crypto.subtle API is only available in secure contexts (HTTPS or localhost), but PKCE (RFC 7636) is optional per OAuth 2.0 standards. Changes: - Make PKCE generation optional with graceful fallback - Use PKCE when crypto.subtle available (HTTPS/localhost) - Fall back to standard OAuth flow when unavailable (HTTP) - Log warning to console when PKCE unavailable - Only include code_challenge in auth URL when PKCE enabled The backend already supports optional PKCE (empty codeVerifier), so no backend changes needed. This fix aligns frontend behavior with backend. Benefits: - OAuth sign-in works on HTTP deployments (reverse proxy scenarios) - Enhanced security (PKCE) still used when HTTPS available - Backward compatible with OAuth providers that don't support PKCE Fixes #5570
-
Steven authored
- Add build-binaries workflow for multi-platform binary releases - Rename workflows for conciseness: - demo-render-deploy.yml → demo-deploy.yml - build-and-push-canary-image.yml → build-canary-image.yml - build-and-push-stable-image.yml → build-stable-image.yml - Centralize version config with env variables (GO_VERSION, NODE_VERSION, PNPM_VERSION) - Standardize step names across all workflows - Add concurrency controls to prevent redundant runs - Update Node.js (20→22) and pnpm (9→10) versions to match build-binaries - Improve job names with descriptive labels - Add consistent comments and formatting - Set artifact retention to 60 days for binary builds
-
Steven authored
- Add workflow_dispatch trigger for manual binary builds - Build for linux (amd64, arm64, arm/v7), darwin (amd64, arm64), windows (amd64) - Package as tar.gz (Unix) and zip (Windows) - Generate build summary with artifact sizes
-
Steven authored
- Remove unused showNsfwContent prop (was only used in MemoDetail to pre-reveal NSFW, which defeats the purpose) - Inline useNsfwContent hook logic directly into MemoView.tsx (only 3 lines, no reusability benefit) - Delete web/src/components/MemoView/hooks/useNsfwContent.ts - NSFW content now consistently starts hidden across all pages - Maintains same user experience: click to reveal, no toggle back This removes unnecessary indirection and prop threading while preserving functionality.
-
Steven authored
Root cause: enabled={isInitialized && !!user} prevented displaying cached data when user auth state transitioned during token refresh. Changes: - Remove !!user check from Home page enabled condition - Add clearAccessToken() in redirectOnAuthFailure for clean logout Fixes #5565 -
Steven authored
Add custom memos_unicode_lower() SQLite function to enable proper case-insensitive text search for non-English languages (Cyrillic, Greek, CJK, etc.). Previously, SQLite's LOWER() only worked for ASCII characters due to modernc.org/sqlite lacking ICU extension. This caused searches for non-English text to be case-sensitive (e.g., searching 'блины' wouldn't find 'Блины'). Changes: - Add store/db/sqlite/functions.go with Unicode case folding function - Register custom function using golang.org/x/text/cases.Fold() - Update filter renderer to use custom function for SQLite dialect - Add test for Unicode case-insensitive search - Make golang.org/x/text a direct dependency Fixes #5559
-
Damian Jankowski authored
-
Steven authored
Fixes #5568
-
Steven authored
Fixes #5563
-
Steven authored
Fixes #5566
-
Steven authored
Fixed #5564
-
Steven authored
-
- 01 Feb, 2026 1 commit
-
-
Johnny authored
Fixes #5551 The Docker image now runs as non-root (UID 10001) for security, but this breaks upgrades from 0.25.3 where data files were owned by root. Changes: - Dockerfile: Keep USER as root, install su-exec - entrypoint.sh: Fix ownership of /var/opt/memos, then drop to non-root - Supports custom MEMOS_UID/MEMOS_GID env vars for flexibility This allows seamless upgrades without manual chown on the host.
-
- 31 Jan, 2026 7 commits
-
-
Johnny authored
Defense-in-depth fix: Add missing nil check before accessing currentUser.ID and currentUser.Role in DeleteUser function. While the auth interceptor should block unauthenticated requests, this check prevents potential nil pointer panic if fetchCurrentUser returns (nil, nil).
-
Johnny authored
Security fixes for multiple authorization bypass vulnerabilities: - GetAttachment: Add visibility check via checkAttachmentAccess helper - UpdateAttachment: Add ownership check (creator or admin only) - Fileserver: Require creator/admin auth for unlinked attachments - ListMemoAttachments: Add memo visibility check - CreateMemoComment: Add memo visibility check for target memo - ListMemoReactions: Add memo visibility check - UpsertMemoReaction: Add memo visibility check All checks follow the existing pattern used in GetMemo for consistency.
-
Johnny authored
- Add serveMediaStream() to stream video/audio without loading into memory - Use http.ServeFile for local files (zero-copy, handles range requests) - Redirect to S3 presigned URLs for S3-stored media files - Refactor for better maintainability: - Extract constants and pre-compile lookup maps - Consolidate duplicated S3 client creation logic - Split authentication into focused helper methods - Group code by responsibility with section comments - Add setSecurityHeaders() and setMediaHeaders() helpers
-
Ganesh M authored
-
Johnny authored
- Remove menu item and dialog from MemoActionMenu - Remove removeCompletedTasks() and hasCompletedTasks() utilities - Remove translation keys from all 34 locale files - Feature was not aligned with standard note-taking UX patterns
-
Johnny authored
- Add TASK_LIST_CLASS and TASK_LIST_ITEM_CLASS constants - Replace hardcoded 'contains-task-list' and 'task-list-item' strings - Improve maintainability and prevent typos
-
Johnny authored
- Add same value check before updating createTime/updateTime - Skip request if new timestamp equals current timestamp - Simplify callback handlers and improve code readability - Use .some() instead of .filter().length for cleaner code
-
- 29 Jan, 2026 3 commits
- 28 Jan, 2026 1 commit
-
-
Steven authored
- Changed InstanceProfile to include admin user field - Updated GetInstanceProfile method to retrieve admin user - Modified related tests to reflect changes in admin user retrieval - Removed owner cache logic and tests, introducing new admin cache tests
-
- 27 Jan, 2026 2 commits
- 26 Jan, 2026 9 commits
-
-
Johnny authored
-
Johnny authored
-
Brent Bilis authored
Co-authored-by:Local Admin <root@localhost>
-
Johnny authored
-
Johnny authored
-
Johnny authored
-
Salman Chishti authored
Signed-off-by:Salman Muin Kayser Chishti <13schishti@gmail.com>
-
itzmk21 authored
-
Salman Chishti authored
Signed-off-by:Salman Muin Kayser Chishti <13schishti@gmail.com>
-
- 23 Jan, 2026 2 commits
-
-
XIN_____ authored
-
Pádraic Slattery authored
-