Commit Graph
150 Commits
Author SHA1 Message Date
plebeius e51f5b968c refactor(react-doctor): raise score from 79 to 90 2026-02-24 15:15:44 +08:00
plebeius 96a4aaec0e feat(media-hosting): add multi-provider configurable upload with fallback
Add Random/Preferred/None modes, preferred provider selection, and provider-order fallback. Catbox/Imgur/PostImages on Android via WebView; Electron CDP automation for Imgur/PostImages. Hide upload controls on web runtime.
2026-02-18 18:51:02 +08:00
plebeius e0ed510fc6 perf(react-doctor): fix compiler-blocking patterns, raise score 72→81
Replace sync setState-in-effect with keyed remount and render-derived patterns in app, error-display, topbar-edit-modal, catalog-filters; use useCurrentTime() instead of Date.now() in hot paths; fix conditional hooks, passive scroll listeners, lodash path imports.
2026-02-18 15:31:01 +08:00
plebeius 96f11b3e26 feat(settings): add media hosting settings and provider-based upload gating 2026-02-17 18:57:54 +08:00
plebeius 45a6ff0bab feat(directories): implement features.noSpoilers and features.noSpoilerReplies for board-specific spoiler checkbox 2026-02-17 17:35:53 +08:00
plebeius dbbc83d369 feat: add shared cross-platform catbox media upload flow
Added `useFileUpload()` and `uploadToCatbox()` to centralize upload behavior and remove duplicated upload code from `post-form.tsx` and `reply-modal.tsx`. The flow now routes Android to `FileUploader`, Electron to hidden-input + catbox upload, and web to a translated fallback alert with consistent upload UI state.
2026-02-17 16:44:16 +08:00
plebeius 18cea185e7 refactor: replace default lodash imports with named imports
Replaced `import _ from 'lodash'` with specific named imports (`capitalize`, `lowerCase`, `debounce`, `startCase`) across 18 files. This reduces bundle size and improves tree-shaking efficiency.
2026-02-11 19:01:09 +08:00
plebeius 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius 14e8c92fa0 feat(mod-queue): add view mode selection and integrate with post components 2026-01-25 16:29:15 +08:00
plebeius 9fe31c873b refactor: clean up imports and move inline component definitions after imports 2026-01-03 16:17:48 +01:00
plebeius fa32833b2a perf(components): prevent rerenders from updatingState
Use Zustand selectors with custom equality functions to only subscribe to specific fields needed by components, avoiding unnecessary rerenders when transient state like updatingState changes. Extract offline indicators into separate components to isolate rerenders. Memoize card components in catalog and popular threads views.
2026-01-02 16:42:16 +01:00
plebeius 0d34b14185 fix postform position on mobile 2025-12-29 16:40:33 +01:00
plebeius 4cb3bda38c fix: update Plebbit.getShortAddress calls to use object parameter 2025-12-24 13:29:09 +01:00
plebeius 5e79ce91b6 refactor: remove description and rules mock posts
Removed all fake posts for subplebbit description and rules, including dedicated routes, components, and all related logic across the codebase. Board admins can now pin regular posts if they want to provide a description.
2025-12-23 19:14:25 +01:00
plebeius f037a669c0 refactor: remove broken anon mode feature
- delete the anon mode hook/store and stop wiring publish flows through alternate signers
  - strip the settings UI, avatar warning, reply indicators, and FAQ text that referenced the toggle
  - drop the anon mode translation keys via scripts/update-translations.js
2025-11-25 13:13:38 +01:00
plebeius bba45ed1cf fix eslint 2025-11-14 12:59:07 +01:00
plebeius fc79eb68d2 feat(post-form): display directory names in board selector 2025-11-13 22:08:34 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01:00
Tom (plebeius.eth) 339a9bc18a fix(mod multisub): mod page was missing post form 2025-06-04 16:37:17 +02:00
Tom (plebeius.eth) dcb05ed3a0 perf: prioritize cached data from API, improving navigation speed and memory consumption 2025-03-06 13:15:33 +01:00
Tom (plebeius.eth) 1b359f9d7b feat(post form): add content length check 2025-01-31 23:53:24 +01:00
Tom (plebeius.eth) 204fdfcace refactor, fix bugs 2025-01-30 17:09:21 +01:00
Tom (plebeius.eth) b1dc7ba486 Update post-form.tsx 2025-01-30 16:32:55 +01:00
Tom (plebeius.eth) 48a8046486 fix(subplebbit): subplebbit could erroneously appear offline while publishing a post 2025-01-28 19:04:57 +01:00
Tom (plebeius.eth) 65e62c0bef fix eslint 2025-01-26 23:06:49 +01:00
Tom (plebeius.eth) df96360777 forgot initialization 2025-01-26 22:25:56 +01:00
Tom (plebeius.eth) 363db80fa9 Update post-form.tsx 2025-01-25 22:07:45 +01:00
Tom (plebeius.eth) fedada3957 add translations 2024-11-04 17:42:14 +01:00
Tom (plebeius.eth) f40c2c2f88 feat(android app): add 'choose file' button to auto upload media to catbox in the background
more free and open web hosting services can be added later
2024-11-02 18:42:52 +01:00
Tom (plebeius.eth) 6692c65c4b add route validation checks 2024-10-29 17:40:09 +01:00
Tom (plebeius.eth) 44a09f9e5b improve settings UI, translations, offline status 2024-10-15 12:52:57 +02:00
Tom (plebeius.eth) 908fe11dc4 Update post-form.tsx 2024-10-14 17:23:58 +02:00
Tom (plebeius.eth) 9c389931ea refactor publish post/reply stores, naming was confusing 2024-10-13 21:36:54 +02:00
Tom (plebeius.eth) 1d99fc4a74 fix color and translation 2024-10-13 18:49:45 +02:00
Tom (plebeius.eth) 3bd530024f add no board selected alert, add missing translations 2024-09-20 18:05:33 +02:00
Tom (plebeius.eth) 3c27fd6c31 feat(post form): alert user when submitting a post without media 2024-09-20 17:57:25 +02:00
Tom (plebeius.eth) f80f6369a5 fix(post form): emptying out the fields and posting could result in "empty string" error 2024-09-20 12:21:55 +02:00
Tom (plebeius.eth) e1faf55f12 forgot await 2024-09-20 12:14:21 +02:00
Tom (plebeius.eth) 81e2c0ffcb fix displayName 2024-09-19 21:07:45 +02:00
Tom (plebeius.eth) bb976409ff fix(anon mode): user id could change for pending post, name field could bug out 2024-09-19 17:33:00 +02:00
Tom (plebeius.eth) cb97b67cde style(post mobile): improve buttons positioning, add Update and Auto buttons for clarity 2024-09-08 10:41:08 +02:00
Tom (plebeius.eth) 0018df7f8a default gif type to "gif" instead of "static gif" 2024-09-03 14:27:29 +02:00
Tom (plebeius.eth) 45eccb7a46 Update post-form.tsx 2024-08-30 12:09:31 +02:00
Tom (plebeius.eth) 3d2d510259 fix(post form): user could post empty comment using spaces 2024-08-29 17:48:34 +02:00
Tom (plebeius.eth) c521ccbc2e feat(markdown): when the user is publishing a comment, automatically format it to follow markdown rules 2024-08-27 18:46:42 +02:00
Tom (plebeius.eth) 38790a2596 fix(markdown): users couldn't include empty lines in the post content 2024-08-26 13:52:00 +02:00
Tom (plebeius.eth) 449cd967ec fix displayname in post form, anon mode 2024-08-25 19:37:04 +02:00
Tom (plebeius.eth) 899239e10e fix anon mode 2024-08-25 18:58:38 +02:00
Tom (plebeius.eth) dddcc85d99 fix anon mode bug with post form for posts 2024-08-15 16:43:35 +02:00
Tom (plebeius.eth) 43561e9077 fix couldn't change displayName more than once on anon mode 2024-08-12 21:55:52 +02:00