Skip to content

v0.1.2

Choose a tag to compare

@tomcasaburi tomcasaburi released this 20 Apr 15:10
· 204 commits to master since this release

0.1.2 (2026-04-20)

Bug Fixes

  • accounts-store: add fetching link dimensions state (15cf17f)
  • accounts-store: add fetching link dimensions state (f226408)
  • accounts-store: dont mutate subscriptions array (a3088a3)
  • accounts-store: instantly return account comment index from usePublishComment (3e16386)
  • accounts-store: only fetch 10 comment updates on init, it slows down fetching comments/subs (e45f527)
  • accounts-store: subscribe and block actions add to db async, so feedback is more instant (d551fd5)
  • accounts-store: validate replies notifications properly (9e7b06b)
  • accounts: address account history review regressions (fbe9c3d)
  • accounts: address final account history review findings (7feb65d)
  • accounts: align pending comment failure state with plebbit-js (#48) (a9f7111)
  • accounts: compact legacy stored account comments (#44) (5f90193)
  • accounts: deeply compact stored account comments (#46) (f2f8b4c)
  • accounts: defer moderation rollback until edit is stored (b59b8a0)
  • accounts: optimistically remove pending comment on abandon delete (bde1501)
  • accounts: preserve legacy publication field names (#29) (dc23dca)
  • accounts: roll back failed optimistic comment edits (#34) (45aa5f6)
  • accounts: rollback terminal comment edit challenge failures (#35) (d8af0ad), closes #33
  • accounts: simplify account history query naming (38a67e3)
  • accounts: stabilize account history e2e paths (b9705b6)
  • accounts: start comment moderation publish earlier (10ef375)
  • accounts: stop auto-generating sol wallets (2eab3dc), closes #20
  • accounts: stop stale moderation edits from sticking (f8af7b6)
  • accounts: switch default eth rpc to publicnode (85d3ee4)
  • actions: add exports and test (b298a50)
  • actions: ignore stale usePublishComment updates after abandon (cb0ad7e)
  • actions: implement usePublishCommentModeration (1a8a5c1)
  • address community refactor follow-up bugs (#24) (1c38324), closes #22
  • authors-comments-store: scrolling comments stalls sometimes (173b214)
  • authors-comments: tolerate React 19 batching off-by-one in discover lastCommentCid test (20676f8)
  • authors: align author name resolution with pkc-js (#53) (3294f39)
  • authors: support .bso author address resolution (35da119), closes #21
  • authors: undefined useAuthorAddress with argument accountComment before challenge verification (6ec824e)
  • build: remove consumer patch requirements (#50) (cd76e12)
  • build: support TypeScript 6 compiler checks (29cd3e6)
  • chain: auto generated wallets had timestamps in ms, not seconds (24f2373)
  • ci: align browser e2e pkc options (b29ca70)
  • ci: avoid husky during yarn install (a3c2184)
  • ci: disable husky during yarn install to prevent git dependency postinstall failure (9dd99f7)
  • ci: drop legacy yarn install flags (5921bde)
  • ci: push dist auto-commit from branch instead of detached HEAD (57a3921)
  • ci: reduce e2e debug output (ce7eeb1)
  • ci: remove setup-node yarn cache (ec3a133)
  • ci: replace tsgo with tsc in type-check script (5b2144d)
  • ci: retry yarn install with cache clean on corrupt tar extraction (434bec2)
  • ci: skip non-e2e build scripts during checks install (c7f18d9)
  • ci: use --network-concurrency 1 to avoid yarn v1 parallel tar extraction race (2073797)
  • comments: address PR 31 review follow-ups (#32) (0b0d635)
  • comments: new comments shouldnt show updating state for 5 minutes (1691bdf)
  • comments: plebbit.createComment throws adds useComment().error (8ff7aba)
  • comments: resolve pending mod-queue comments without updatedAt in useComment path (7236fc4), closes #8
  • communities: unwrap stats cid content (#51) (39d4d7a)
  • correct property exclusion in useEditedComment comparison logic (f1c6af5)
  • deps: patch minimatch security override (3264934)
  • deps: remediate dependabot alerts via ethers upgrade and transitive resolutions (ecf5c6e)
  • deps: resolve Dependabot alerts for protobufjs and follow-redirects (3b993b6)
  • deps: resolve dependabot transitive vulnerabilities (8403967)
  • deps: resolve lodash dependabot alerts (6db0e8e)
  • e2e: add auto-cleanup to custom renderHook to prevent root leaks (fe274a6)
  • e2e: bypass RTL auto-cleanup by managing React root directly (f7bf6e5)
  • e2e: migrate vitest-e2e config to Vitest 4 browser provider API (23907ff)
  • e2e: test comment validation directly via commentIsValid (00743c4)
  • e2e: unmount beforeEach root before creating new one in validate comments (f1185c0)
  • e2e: use custom renderHook in browser tests to avoid React 19 unmounted root error (b541452)
  • feed-stores: hasMore is true when feed cache expires (ec1dd54)
  • feeds: crash when switching accounts (c7450a9)
  • feeds: evict approved posts from mod queue feeds (b1682b1), closes #17
  • feeds: feeds fetch infinite pages when subplebbit.fetchedAt cache expires (6606b68)
  • feeds: filter stale public posts out of pending approval feeds (a1b77b2), closes #18
  • feeds: hot score needs Math.abs or negative score is ignored (d41b6a2)
  • feeds: refresh subplebbit snapshots on feed reset (b98fb82), closes #19
  • filter API is now {filter: Function: key: string} (bb91724)
  • fix subplebbit blocking issue (e7c5031)
  • harden hook error paths and cleanup leaks (09fc6ea)
  • hooks: mirror moderation flags into commentModeration (a16a1b5), closes #11
  • lint: resolve yarn lint issues (ec7c43a)
  • mock-content: use real private key (590e168)
  • moderation: add live e2e coverage and sourcemaps (dac0604)
  • pkc-js: normalize short address params (60e02c2)
  • plebbit-rpc: add initial rpc settings state (64b6451)
  • plebbit-rpc: update usePlebbitRpcSettings to new api (375677c)
  • replies store: sync updated feeds with local reply deletions (7f9318f)
  • replies: tolerate async page fetch timing in sort type best fallback test (8438da0)
  • restore CI after address refactor follow-ups (68e0289)
  • restore publication mock types for ci type-check (231547e)
  • states: non chainproviders clients are showing as 'resolving-address' state (edc5d85)
  • states: show updating states when posts cache is expired (9809e94)
  • subplebbits: plebbit.createSubplebbit throws adds useSubplebbit().error (6750688)
  • subplebbits: update subplebbit stats on subplebbit change (d24b67e)
  • subplebbit: treat .eth and .bso subplebbit addresses as equivalent (d56c73b), closes #12
  • test: prevent replies.test.ts cascade from prototype pollution and timing races (ef9ce90), closes #5
  • tests: correct assignment-as-comparison, unused waitFor2, and mock restore bugs (3a7f2fe)
  • tests: relax transient plebbit rpc state assertion (f1ee69d)
  • test: stabilize filtered multi-community feed assertion (07bc14c)
  • test: stabilize initial hot feed assertion (01344a4)
  • tests: wait for appended reply before asserting order (aeb7e6b)
  • test: use high custom ports for test IPFS nodes to avoid conflicts (d0d8862)
  • test: wait for parent comment indexing before publishing reply (3a300f9)
  • test: wait for updatedAt instead of timestamp for parent indexing (aecf86f)
  • types: declare window defaults for account generator (a08cb1a)
  • utils: incorrect import (b74cc63)

Features

  • accounts-store: add default sol chain provider (c660709)
  • accounts-store: generate eth and sol wallets based on the plebbit private key (def94d0)
  • accounts-store: implement comment.linkHtmlTagName (2edeb5c)
  • accounts-store: migrate account db (450858c)
  • accounts-store: validate replies pages for notifications (b97761f)
  • accounts: add abandonPublish and hard-delete account comments (fe5e5b7), closes plebbit/plebbit-react-hooks#2 #7
  • accounts: dedupe equivalent .eth and .bso account subplebbits under canonical .bso key (09967e8), closes #16
  • account: wire bso-resolver into pkc (3138d4c)
  • add onlyIfCached to hooks to improve performance (b01838c)
  • authors: add .sol to useResolvedAuthorAddress (0a3df5c)
  • authors: add setAuthorAvatarsWhitelistedTokenAddresses (21dd181)
  • chain: validate wallet timestamp must be less than Date.now() / 1000 (9e70b9a)
  • comments: add auto update controls and refresh (#31) (15cf2df)
  • comments: implement useValidateComment (b337c52)
  • comments: useComment can use comment from replies pages (f259741)
  • feeds-store: add validatePages: false (9b11dd8)
  • feeds-store: if no next cid and no page cids, use preloaded page of any sort type (5a24836)
  • feeds: add old and best sort (e5b30dc)
  • feeds: implement auto set correct time for topAll and controversialAll when newerThan is set (4f33f77)
  • feeds: implement useFeed modQueue pendingApproval (5135645)
  • feeds: implement useFeed().bufferedFeed (7efd7f8)
  • feeds: implement useFeed().reset() (773df5a)
  • feeds: implement useFeed().updatedFeeds (f9c08b0)
  • feeds: implement useFeed({accountComments}) (7064e8f)
  • feeds: implement useFeed({newerThan: seconds}) (571861a)
  • feeds: implement useFeeds().subplebbitAddressesWithNewerPosts (b32bdf6)
  • feeds: support in-place time-window expansion (e3526ef)
  • hooks: require explicit community objects (#49) (c46ddc0)
  • mock: add purged moderation field to mock and tests (f813f94), closes #1
  • plebbit-rpc: implement usePlebbitRpcSettings (ae28916)
  • protocol: migrate hooks library to pkc-js (153df23)
  • replies-pages-store: implement replies pages store (d3d98f4)
  • replies-store: if no nextCid, all replies are preloaded and use any sort type (15782c2)
  • replies-store: implement replies-store (b244273)
  • replies: add account comments to usereplies (dc7f658)
  • replies: add replies pages clients fetching state (f071225)
  • replies: implement flat (b5a387b)
  • replies: implement useReplies().bufferedReplies (e0d4213)
  • replies: implement useReplies().updatedReplies (63dd2e8)
  • replies: implement useReplies({validateOptimistically}) (5b6e22b)
  • states: useClientsStates gets comment and subplebbit updating states (c341a25)
  • states: useClientsStates when publishing (ac21c96)
  • states: useSubplebbitsStates (84c7a42)

Performance Improvements

  • accounts-store: use entries instead of keys (42d6b15)
  • accounts: slim account history storage and query hot paths (4a85fbc)
  • ci: parallelize e2e suites and inline dist publish in main workflow (6d40eec), closes #6
  • feeds-store: dont use subplebbit relative sorting anymore as it gives bad feed results (b8201c9)
  • feeds: expire subplebbits cache 1h after fetch (for feeds only) (f7c87b0)
  • feeds: optimize buffered feeds that dont change (1acd1fd)
  • improve perf (7cb055e)
  • replies: add cached-only mode to useReplies (#37) (125df99)

Reverts

  • Revert "update to rpcOptions instead of port" (0ca7d53)
  • Revert "change plebbit data path to /tmp for electron. May eliminate SQLite IO errors" (bcf1a94)
  • Revert "use latest signer schema" (26690be)
  • Revert "update plebbit-js" (a4c63e3)
  • Revert "fix undefined plebbit.dataPath before setAccount" (d95bed5)
  • dont use real signer for mock content, didnt work (629c2f2)
  • not necessary to mock ens (ba1dc84)

BREAKING CHANGES

  • useFeed({filter}) and useAuthorComments({filter}) are now {filter: Function, key:
    string}