Commit Graph
87 Commits
Author SHA1 Message Date
plebeius e6afb041ae refactor(markdown): replace react-markdown with custom imageboard-style text parser 2026-03-04 15:20:06 +08:00
plebeius 2bc2827f83 fix(post form): default link label to 'link to file' on /all/ and /subs/ 2026-03-01 15:27:27 +08:00
plebeius e556a9e662 chore(deps): replace plebbit/plebbit-react-hooks with bitsocialhq/pkc-react-hooks
bitsocialhq/pkc-react-hooks is a fork of plebbit-react-hooks that we're maintaining temporarily as an attempt to modernize the original repository using AI tools, possibly merging changes back into plebbit-react-hooks, which should also be rebranded to pkc-react-hooks eventually, under the org pkcprotocol.
2026-02-28 15:02:56 +08:00
plebeius 9793f0ed60 feat(post-form): show 'Link To File' when requirePostLinkIsMedia is true 2026-02-26 18:17:54 +08:00
plebeius e51f5b968c refactor(react-doctor): raise score from 79 to 90 2026-02-24 15:15:44 +08:00
plebeius bb027794ee fix(reply modal): keep textarea empty when opened from Post a Reply footer button 2026-02-23 19:33:59 +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 2733ab260b fix(reply-modal): remove link type previewer that displaces UI 2026-02-17 17:21:13 +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 af259ad032 fix(reply modal): make parent reply quote editable 2026-02-11 16:38:40 +08:00
plebeius db70a9148b fix(reply modal): restore multiline quote insertion 2026-02-10 15:51:58 +08:00
plebeius 8a192b41b4 feat(reply-modal): insert quoted post numbers at textarea caret
Replace single-quote blocking behavior with smooth multi-quote support. When the reply modal is open, clicking another post number now inserts >>number at the current caret position instead of showing an alert. Includes caret tracking across blur events and an infinite-loop guard to prevent recursive `setPublishReplyOptions` calls.
2026-02-10 14:57:47 +08: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 c094786f97 pass threadNumber to reply modal store 2025-12-28 22:16:38 +01:00
plebeius bf2c7ae61b refactor: use post number instead of shortCid in reply modal and quote previews 2025-12-28 11:53:02 +01:00
plebeius a57cc1e4e7 fix: update Plebbit.getShortCid calls to use object parameter format 2025-12-24 18:09:00 +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 7bdcc252c0 style: update CID label and reply modal prefix 2025-11-08 21:19:36 +01:00
Tom (plebeius.eth) 9e351c6b9d upgrade plebbit-react-hooks, update electron and scripts 2025-05-12 23:54:44 +02:00
Tom (plebeius.eth) d42edcf7ff Update reply-modal.tsx 2025-03-07 19:16:40 +01: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) 37e325c3d2 refactor replymodal to render it globally 2025-03-05 12:01:48 +01:00
Tom (plebeius.eth) 2d1fb69f02 fix(reply modal): dragging modal could select text behind it 2025-03-03 22:27:39 +01:00
Tom (plebeius.eth) 2a1c95a447 Update reply-modal.tsx 2025-03-02 16:04:45 +01:00
Tom (plebeius.eth) 0caa8f9e70 perf(reply-modal): fix laggy dragging during post loading with GPU-accelerated gestures 2025-03-01 11:48:56 +01:00
Tom (plebeius.eth) d861f894f1 feat(reply modal): add content length check, better error display 2025-01-31 23:38:07 +01:00
Tom (plebeius.eth) 7ebe6c9c00 style(reply modal): adjust error/alert red box, add translation 2025-01-31 23:06:50 +01:00
Tom (plebeius.eth) 63cb5b6591 feat(reply modal): close with escape key 2025-01-30 22:05:05 +01:00
Tom (plebeius.eth) 204fdfcace refactor, fix bugs 2025-01-30 17:09:21 +01:00
Tom (plebeius.eth) 2a20716212 fix(reply modal): changing anon mode before publishing reply didn't work 2025-01-29 13:09:38 +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) 9ec308bcc2 feat(reply modal): add spellcheck for the content, excluding the c/cid at the top 2024-12-21 00:38:15 +01:00
Tom (plebeius.eth) 157c9e7cfa fix replying to reply requires postCid in new API 2024-11-07 13:51:39 +01:00
Tom (plebeius.eth) 4f25e0fbc6 small fixes 2024-11-05 12:48:28 +01:00
Tom (plebeius.eth) 57684438a5 feat(reply modal): display errors in modal 2024-11-04 17:55:51 +01:00
Tom (plebeius.eth) fedada3957 add translations 2024-11-04 17:42:14 +01:00
Tom (plebeius.eth) 5c09b66338 feat(reply modal): add 'choose file' button on android 2024-11-04 17:34:40 +01:00
Tom (plebeius.eth) 6692c65c4b add route validation checks 2024-10-29 17:40:09 +01:00
Tom (plebeius.eth) 0705bd9dbd fix: color missing, translation missing 2024-10-15 13:10:47 +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) c58a6bceec feat(reply modal): add autofocus on mobile 2024-09-20 15:38:16 +02:00
Tom (plebeius.eth) e1faf55f12 forgot await 2024-09-20 12:14:21 +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) 51e3ef8506 display anon mode address immediately upon publishing 2024-08-30 21:18:39 +02:00
Tom (plebeius.eth) 3d2d510259 fix(post form): user could post empty comment using spaces 2024-08-29 17:48:34 +02:00