-
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
-
6ed12ff1cb
refactor: fix skeleton atoms - remove unused components, use &str, migrate all skeletons
xfy
2026-06-04 15:43:40 +08:00
-
ebf0f84733
refactor: extract skeleton atoms (SkeletonLine, SkeletonBox, SkeletonCard) and refactor skeleton components
xfy
2026-06-04 15:35:36 +08:00
-
d3be04bcec
refactor: extract session parsing to auth/session.rs and db error helpers to api/utils.rs
xfy
2026-06-04 15:16:40 +08:00
-
9da060ac32
refactor: extract sleep_ms to utils/time.rs, deduplicate in hooks and skeletons
xfy
2026-06-04 15:11:08 +08:00
-
ce14c476b5
refactor: replace string-based navigation with typed Route and Link components
xfy
2026-06-04 14:55:18 +08:00
-
aebdcd6d99
fix(build): fix WASM 404 in production by creating symlinks in wasm/ directory
xfy
2026-06-04 11:34:13 +08:00
-
88cd23f74f
fix: show route-specific skeleton screens in SuspenseBoundary fallback
xfy
2026-06-04 11:06:42 +08:00
-
c2f68b9c2d
fix: wrap Outlet in SuspenseBoundary to prevent full-page flash on route change
xfy
2026-06-04 11:03:56 +08:00
-
593666135c
feat: add DB connection retry logic with get_conn() helper
xfy
2026-06-04 10:03:56 +08:00
-
e09a0f4616
chore: remove unused PageLayout component
xfy
2026-06-03 18:38:57 +08:00
-
5d018864c2
refactor: remove PageLayout from all frontend pages, delegate to FrontendLayout
xfy
2026-06-03 18:38:11 +08:00
-
8845577958
feat: wrap frontend routes in FrontendLayout via router #[layout] attribute
xfy
2026-06-03 18:35:36 +08:00
-
e861b8a5be
feat: add FrontendLayout component with Header, Footer and Outlet
xfy
2026-06-03 18:32:43 +08:00
-
778726251a
fix: remove SuspenseBoundary, render skeleton screens directly in loading branch
xfy
2026-06-03 17:59:38 +08:00
-
326108ab68
fix: delay skeleton pulse animation instead of hiding skeleton, prevent blank flash
xfy
2026-06-03 17:47:51 +08:00
-
754c1f5b86
feat: wrap all skeleton screens with DelayedSkeleton to prevent flicker
xfy
2026-06-03 17:43:34 +08:00
-
73e30d6f89
feat: add DelayedSkeleton wrapper to prevent skeleton flicker on fast loads
xfy
2026-06-03 17:41:49 +08:00
-
45b784d6b4
chore: add superpowers to gitignore
xfy
2026-06-03 17:35:25 +08:00
-
068d13c69f
refactor: remove obsolete SuspenseWrapper, all pages now use dedicated skeleton screens
xfy
2026-06-03 17:33:44 +08:00
-
62519d620d
feat: add SearchSkeleton component and replace inline skeleton on search page
xfy
2026-06-03 17:30:47 +08:00
-
c2e1fbe3ac
feat: add TagsSkeleton/TagDetailSkeleton and replace generic fallback on tags pages
xfy
2026-06-03 17:25:47 +08:00
-
5becd73ebc
feat: add ArchiveSkeleton and replace generic fallback on archives page
xfy
2026-06-03 17:19:29 +08:00
-
372c701b07
feat: add PostDetailSkeleton and replace generic fallback on post detail page
xfy
2026-06-03 17:13:39 +08:00
-
076448d6ed
feat: add HomeSkeleton and replace generic fallback on home page
xfy
2026-06-03 17:09:20 +08:00
-
db8e88e1fe
feat: add skeleton screens module and PostCardSkeleton component
xfy
2026-06-03 17:01:39 +08:00
-
1a78896bc4
fix(theme): replace @theme dark with .dark selector for correct light/dark variable switching
xfy
2026-06-03 16:52:20 +08:00
-
8f2f00244c
fix: add WASM loading script to SSR HTML template for client hydration
xfy
2026-06-03 16:30:03 +08:00