Commit Graph

  • 035d11e39b fix: log warning when WebP env vars are clamped xfy 2026-06-09 15:53:39 +08:00
  • db3379364f fix: limit WebP decode buffer size to prevent malicious allocations xfy 2026-06-09 15:48:34 +08:00
  • 7c6bab8019 fix: preserve f32 precision for WebP quality xfy 2026-06-09 15:43:16 +08:00
  • 2e2be7b16d feat: add WebP encoding support with zenwebp xfy 2026-06-09 15:30:06 +08:00
  • 5ecd8a9b86 feat: add disk-level cache for processed image variants xfy 2026-06-09 13:45:49 +08:00
  • 0319c927c6 chore: format code xfy 2026-06-09 13:40:49 +08:00
  • b26094835f feat: convert uploaded images to WebP for storage savings xfy 2026-06-09 13:39:36 +08:00
  • 281da208f5 fix: remove stray space in upload filename format string xfy 2026-06-09 13:37:11 +08:00
  • 44c1358da5 refactor: extract post content JS into standalone script xfy 2026-06-09 13:18:40 +08:00
  • 0345fa70f2 fix: add click handler for code block copy button xfy 2026-06-09 11:33:26 +08:00
  • 1c492545c3 chore: add release skill for version publishing workflow xfy 2026-06-09 11:24:39 +08:00
  • 6ab101b053 chore: add CHANGELOG.md for v0.1.0 v0.1.0 xfy 2026-06-09 11:17:59 +08:00
  • 28d3ed998a chore: optimize release profile for fullstack and add linux static build target xfy 2026-06-09 10:30:36 +08:00
  • 4595d1c8e7 chore: remove unused dependencies and slim down features xfy 2026-06-09 10:21:27 +08:00
  • 42b39266a6 fix: preserve data URI in img src during markdown rendering xfy 2026-06-09 10:06:34 +08:00
  • 3974856f3d fix: resolve image/upload 500 errors and refactor rate limiting xfy 2026-06-09 09:48:51 +08:00
  • 4f368e6fb8 test: add 122 unit tests across 12 modules xfy 2026-06-09 09:25:44 +08:00
  • 959d813630 feat: pg_trgm full-text search for posts (#2) Sonetto 2026-06-08 18:26:35 +08:00
  • e74b9f3c39 feat: apply rate limiting to Register, Login, and upload endpoints xfy 2026-06-08 17:30:26 +08:00
  • dd8477c7a3 chore: sync Cargo.lock and remove unused seed script xfy 2026-06-08 17:05:46 +08:00
  • db33d02154 feat: apply rate limiting middleware to axum router xfy 2026-06-08 16:59:26 +08:00
  • 76f1b8dd53 feat: add rate limiting configurations xfy 2026-06-08 16:57:48 +08:00
  • 771b155a88 refactor: split posts.rs and fix N+1 with JOIN+array_agg xfy 2026-06-08 16:53:31 +08:00
  • 32131377c3 refactor: integrate tags module into posts.rs and mod.rs xfy 2026-06-08 16:45:20 +08:00
  • 441060e7c2 refactor: extract tag operations into api/tags.rs xfy 2026-06-08 16:44:38 +08:00
  • 6e4e72b232 refactor: extract markdown rendering into api/markdown.rs xfy 2026-06-08 16:42:55 +08:00
  • 4c88d5e2bb refactor: extract slug utilities into api/slug.rs xfy 2026-06-08 16:40:44 +08:00
  • 4d7d7ec383 db: add performance indexes on posts, tags, sessions xfy 2026-06-08 16:39:13 +08:00
  • 72d28e2db3 deps: add tower-governor for rate limiting xfy 2026-06-08 16:37:50 +08:00
  • 185bcab9f9 cleanup(forms): remove unused BUTTON_SECONDARY_CLASS xfy 2026-06-08 16:19:35 +08:00
  • e5d37aa034 refactor(api): extract error helper functions, DRY up db/query/tx error handling xfy 2026-06-08 16:17:03 +08:00
  • 717266db1e fix: resolve conditional compilation and dead code warnings xfy 2026-06-08 16:11:24 +08:00
  • 012704d0a5 chore(tiptap-editor): update package-lock.json xfy 2026-06-08 15:54:27 +08:00
  • b6f41e74e7 feat: image thumbnail + lightbox viewer xfy 2026-06-08 15:52:47 +08:00
  • 2c08c6c7fd fix(image): case-insensitive format matching in process_image xfy 2026-06-08 15:29:17 +08:00
  • 8b1b949bf8 refactor: apply formatting to image.rs xfy 2026-06-08 15:13:07 +08:00
  • d584ef6e00 fix(image): improve cache keys, case-insensitive format, strict thumb validation xfy 2026-06-08 15:09:30 +08:00
  • 7963103f62 feat: wire up image processing route replacing ServeDir xfy 2026-06-08 15:02:18 +08:00
  • 1f009f57c8 feat: add image processing handler with resize/thumbnail/rotate/format xfy 2026-06-08 14:53:19 +08:00
  • 8109740e94 chore: add image and moka dependencies for image processing xfy 2026-06-08 14:48:45 +08:00
  • 72ba8ea9ec chore(tiptap-editor): update package-lock.json xfy 2026-06-06 00:29:53 +08:00
  • 3fc91db515 fix(posts): replace space-x-3 with flex gap-3 for edit/delete button spacing xfy 2026-06-05 18:22:59 +08:00
  • c776536678 fix(write-skeleton): align skeleton layout with actual write page xfy 2026-06-05 18:21:35 +08:00
  • 078e9b1da1 fix(tiptap-editor): configure link via StarterKit to avoid duplicate extension warning xfy 2026-06-05 18:19:24 +08:00
  • f6db477a88 fix(write): reset tiptap editor state on unmount to prevent blank editor on re-navigation xfy 2026-06-05 18:16:46 +08:00
  • ad208a4603 fix(tiptap-editor): correct setContent call signature for markdown parsing xfy 2026-06-05 18:05:47 +08:00
  • 72b932c21b fix(write): add allow lint for unused vars in write_editor xfy 2026-06-05 17:58:05 +08:00
  • 077573af67 fix(layout): highlight write nav for both /write and /write/:id xfy 2026-06-05 17:55:18 +08:00
  • 4805f915c7 fix(write): address review feedback - backfill race, load errors, nav delay xfy 2026-06-05 17:51:46 +08:00
  • 2ecdc09138 feat(write): support edit mode with data backfill xfy 2026-06-05 17:45:54 +08:00
  • 0c3a084c9b feat(admin): add edit button to post list xfy 2026-06-05 17:37:37 +08:00
  • 026a331dcd feat(router): add /admin/write/:id route for post editing xfy 2026-06-05 17:34:26 +08:00
  • 6d28c2b4ce feat(api): add get_post_by_id server function for editing xfy 2026-06-05 17:29:48 +08:00
  • 0a33a843f8 fix(theme): resolve hydration mismatch in ThemeToggle by deferring icon render until mounted xfy 2026-06-05 17:07:23 +08:00
  • 6d621d9ec4 feat(admin): remove '前台' nav item from admin header xfy 2026-06-05 17:07:22 +08:00
  • 26eb62c2ae fix(upload): disable default body limit and fix error object serialization xfy 2026-06-05 16:52:52 +08:00
  • ad6c69b0e8 db(migration): merge slug partial unique into 002_posts.sql xfy 2026-06-05 16:29:20 +08:00
  • 22de5add83 fix(api): restore deleted_at filter in slug uniqueness check xfy 2026-06-05 16:20:43 +08:00
  • 488dbc144d Add migration: partial unique index on posts.slug xfy 2026-06-05 16:19:45 +08:00
  • c7668c679c fix(api): include deleted posts in slug uniqueness check xfy 2026-06-05 16:02:45 +08:00
  • 53047bf824 fix(utils): strip images before links in markdown stripping xfy 2026-06-05 15:58:35 +08:00
  • 5e77e7efea build: verify image upload feature compiles and passes checks xfy 2026-06-05 15:25:59 +08:00
  • 08bd69d64b feat(write): add onImageUpload callback to tiptap editor xfy 2026-06-05 15:23:36 +08:00
  • c2c7b46958 fix(tiptap-editor): use insertContentAt with drop position in onDrop handler xfy 2026-06-05 15:21:38 +08:00
  • 00c5a880f4 feat(editor): add FileHandler extension for image paste/drop upload xfy 2026-06-05 15:19:31 +08:00
  • 3d7dd5b5a5 deps(editor): add @tiptap/extension-file-handler xfy 2026-06-05 15:17:39 +08:00
  • 76797f1bc3 feat(server): register upload route and static file serving xfy 2026-06-05 15:14:10 +08:00
  • 371ebcf8f9 fix(upload): gate axum imports behind #[cfg(feature = "server")] xfy 2026-06-05 15:08:19 +08:00
  • 93020a8e14 fix(upload): remove space in filename format and unused UploadResponse struct xfy 2026-06-05 15:00:29 +08:00
  • 1bae3446e6 feat(api): add image upload handler with admin auth xfy 2026-06-05 14:56:29 +08:00
  • eaec6d5da7 deps: add fs feature to tower-http for static file serving xfy 2026-06-05 14:51:35 +08:00
  • 16248ca330 chore: create uploads directory for image storage xfy 2026-06-05 14:49:22 +08:00
  • dd7022ec75 fix: replace select element with overlay pattern to fix dropdown arrow alignment in write page xfy 2026-06-05 11:09:02 +08:00
  • 28d1ee0d52 fix: reset UserContext on login/logout to prevent admin page stuck on re-login xfy 2026-06-05 10:42:20 +08:00
  • 58cfcc31bf fix: improve label and button text contrast in write page light mode xfy 2026-06-05 10:33:41 +08:00
  • 7866c53e36 feat: add dark mode toggle button to admin layout xfy 2026-06-05 10:33:34 +08:00
  • a8704e199f feat(editor): add slash command, table, task list, image and link extensions xfy 2026-06-05 10:20:47 +08:00
  • 5321b8cf97 refactor: reorganize admin write page layout with card-based sections xfy 2026-06-05 09:58:26 +08:00
  • 5b481e801c feat: add custom .sublime-syntax loading for Swift and Kotlin, improve alias table xfy 2026-06-05 09:27:21 +08:00
  • 81d3d72a48 feat: enable extended markdown parsing with table support in post rendering xfy 2026-06-04 18:06:46 +08:00
  • 245fd83ec8 feat: replace in-footer scroll-to-top link with fixed floating button xfy 2026-06-04 17:55:26 +08:00
  • 0dbd07198b fix: remove leftover --wasm-split flag from dx serve dev command xfy 2026-06-04 17:46:44 +08:00
  • f81656bb18 revert: disable wasm-split due to fullstack SSR incompatibility xfy 2026-06-04 17:44:33 +08:00
  • 73fd3c30e2 build: remove obsolete WASM path fix and tracked index.html xfy 2026-06-04 17:34:12 +08:00
  • a282d1dd29 feat: enable wasm-split for route-based code splitting xfy 2026-06-04 17:32:00 +08:00
  • c44f37e9ec feat: enable wasm_split for non-core routes xfy 2026-06-04 17:12:07 +08:00
  • 9c38ca7a16 chore: stop tracking tiptap build artifacts (now gitignored) xfy 2026-06-04 16:52:11 +08:00
  • 675349a5b4 fix: add #[cfg(feature = server)] to server-only imports for WASM compatibility xfy 2026-06-04 16:40:42 +08:00
  • 0ce4924e06 chore: final verification after redundancy cleanup - all checks pass xfy 2026-06-04 16:27:53 +08:00
  • cd45ab17de build: simplify tiptap build by setting fixed output filename in vite config xfy 2026-06-04 16:26:25 +08:00
  • e5ce1580e2 fix: restore dead_code allow on CreatePostRequest to suppress warning xfy 2026-06-04 16:25:05 +08:00
  • 1830fc9f2e cleanup: remove dead code, debug prints, and unused dead_code allow attributes xfy 2026-06-04 16:20:43 +08:00
  • c26c62558e fix: add status_badge_class for badge styling, restore posts table backgrounds xfy 2026-06-04 16:17:41 +08:00
  • 58e9dbc5b7 refactor: add status_label/status_class/formatted_date helpers to Post model xfy 2026-06-04 16:13:49 +08:00
  • c27b2d513e perf: pre-compile regex patterns and extract markdown stripping to utils/text.rs xfy 2026-06-04 16:08:01 +08:00
  • 28707d3c3a refactor: reuse session validation in get_current_admin_user via get_user_by_token xfy 2026-06-04 16:02:47 +08:00
  • 58f972aa17 fix: restore register success alert layout with login link xfy 2026-06-04 15:59:17 +08:00
  • 4e33bd3ee6 refactor: extract form atoms (FormInput, FormLabel, AlertBox) and replace repeated input/button styles xfy 2026-06-04 15:55:40 +08:00
  • 71abff1b3e refactor: add style prop to SkeletonBox, migrate last tags_skeleton div xfy 2026-06-04 15:49:30 +08:00
  • 4fbc938422 refactor: migrate tags_skeleton and admin_skeleton to SkeletonBox xfy 2026-06-04 15:47:21 +08:00