Rename the hook file and exports from use-default-subplebbits to
use-default-subscriptions. Switch the fetch URL from
plebbit/lists default-multisub.json to bitsocialnet/lists
seedit-default-subscriptions.json.
A 404 from the new (not-yet-populated) list gracefully resolves
to empty defaults so new users see an empty subscription feed
(like a fresh Reddit account). The list will be populated later.
- Use getCommunityIdentifier in every useCommunity / useCommunityStats
call site so hash-style (publicKey) community addresses are routed
to the correct CommunityIdentifier branch instead of always being
treated as { name }.
- Move the create-community redirect in community-settings.tsx out
of the render body and into useEffect to avoid the "cannot update
a component while rendering" warning and re-fire on every render.
- useMemo Object.keys(accountCommunities) in mod.tsx so feedOptions
and the three useFeed calls receive a stable communityAddresses
array.
- Simplify the tautological logo-avatar guard in header.tsx.
- (Verified flattenCommentsPages import resolves; left as-is.)
- (Comment import in mod.tsx confirmed from @bitsocial/...)
Cosmetic rename of local variables, prop names, type names, CSS classes,
function names, and code comments from the legacy `subplebbit` terminology
to `community` across components, hooks, stores, views, and utilities.
API protocol keys (e.g. `subplebbitAddress:` in publish options) are
intentionally preserved. A new `getCommentCommunityAddress` dual-read
helper in `comment-utils.ts` reads `communityAddress` first and falls
back to the legacy `subplebbitAddress` field for backward compat.
Renamed hook files:
- use-is-nsfw-subplebbit.ts → use-is-nsfw-community.ts
- use-is-broadly-nsfw-subplebbit.ts → use-is-broadly-nsfw-community.ts
Apply the broader subplebbit -> community rebrand on top of the
package switch:
- Rename hook usages (useSubplebbit -> useCommunity, useSubplebbits
-> useCommunities, useSubplebbitStats -> useCommunityStats,
useSubplebbitsStates -> useCommunitiesStates,
useAccountSubplebbits -> useAccountCommunities,
usePublishSubplebbitEdit -> usePublishCommunityEdit,
usePlebbitRpcSettings -> usePkcRpcSettings) and types (Subplebbit
-> Community, PublishSubplebbitEditOptions ->
PublishCommunityEditOptions).
- Rename seedit identifiers (variables, types, store names) from
subplebbit/Subplebbit to community/Community.
- git mv view directories, store files, hook files, and CSS modules
from subplebbit-* to community-*. Update all imports.
- Rename the React Router :subplebbitAddress route param to
:communityAddress (path /s/ unchanged).
- Update English translation values for community-related strings.
- Drop src/lib/bitsocial-react-hooks-compat.ts (no longer needed
now that @bitsocial/bitsocial-react-hooks exposes the community
names natively).
- Add src/hooks/use-community-identifier.ts and
src/lib/utils/address-utils.ts as small adapters for the new
CommunityIdentifier shape and short-address utility.
- Fix src/hooks/use-default-subplebbits.ts to import Community
instead of Subplebbit (PR #813 will rename the file in a
follow-up; tiny merge conflict expected on that one file).
Build, lint, and type-check all pass.
Mechanical scope rename across src/. Build is intentionally broken
at this commit — Phase 3 renames the symbols (useSubplebbit ->
useCommunity, etc.) to match the new package's API.
Swap the app to the latest bitsocial-react-hooks commit, add a local compatibility shim for the legacy subplebbit API surface, and keep the in-flight account-history improvements that now use hook-side paging/filtering.
Refactored timeout and interval management across components to use refs for proper cleanup. Fixed memory leak in use-time-filter hook by tracking interval lifecycle. Improved error handling type safety in error-display component.
Updated @types/react and @types/react-dom from 18.x to ^19.1.2 to match React 19. Upgraded react-markdown from 8.0.6 to ^10.1.0 for React 19 compatibility. Fixed TypeScript errors across components including useRef initial values, ref type mismatches, JSX namespace issues, and react-markdown component prop types.