Skip to content

feat: Add groups to chat#641

Open
abh3po wants to merge 7 commits into
mainfrom
admin
Open

feat: Add groups to chat#641
abh3po wants to merge 7 commits into
mainfrom
admin

Conversation

@abh3po

@abh3po abh3po commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator
image image image

@github-actions

Copy link
Copy Markdown

this PR needs to be updated to follow conventional commits message

@github-actions github-actions Bot closed this Jun 18, 2026
@abh3po abh3po changed the title Add groups to chat! Add groups to chat Jun 18, 2026
@abh3po abh3po reopened this Jun 18, 2026
@github-actions

Copy link
Copy Markdown

this PR needs to be updated to follow conventional commits message

@github-actions github-actions Bot closed this Jun 18, 2026
@abh3po abh3po changed the title Add groups to chat feat: Add groups to chat Jun 18, 2026
@abh3po abh3po reopened this Jun 18, 2026
…-driven relay, remove dead createGroup

- Remove the malformed react-native-svg+15.15.2.patch: it captured Android
  build artifacts (android/build/.transforms, classes.dex, generated
  BuildConfig.java) rather than source. react-native-svg patching is owned by
  #645, which supersedes this.
- Gate the verbose [nip29] publish/join logs behind __DEV__ via nip29Log /
  nip29Warn so signed events and relay chatter never reach production logs.
- Make the default relay + support group id config-driven via react-native-config
  (NIP29_RELAY_URL / NIP29_SUPPORT_GROUP_ID), with groups.0xchat.com and the
  support group as defaults — no longer hard-coded. Also route the provider's
  relayUrls default prop through NIP29_DEFAULT_RELAY_URL.
- Remove the unused createGroup from NostrGroupChatProvider (dead code that
  duplicated the standalone createNip29Group used by CreateGroupModal); drop the
  now-unused generateSecretKey / bytesToHex imports.

No new type errors (tsc unchanged at 87, all pre-existing). Note: react-native-config
may need a jest mock when the suite is revived (ENG-433).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@islandbitcoin

Copy link
Copy Markdown
Contributor

Pushed a commit (797c65d9) addressing the review items:

  1. Dropped react-native-svg+15.15.2.patch — it had captured Android build artifacts (android/build/.transforms/*, classes.dex, generated BuildConfig.java) instead of source. react-native-svg patching is owned by fix(native): patch react-native-svg for RN 0.77 Yoga #645, which supersedes it. (Left Podfile.lock alone — it's generated; the svg version reconciliation belongs with fix(native): patch react-native-svg for RN 0.77 Yoga #645.)
  2. Gated the [nip29] logs behind __DEV__ via nip29Log / nip29Warn in constants.ts, so signed events / relay chatter don't hit production logs.
  3. Config-driven relay + support group idconstants.ts now reads NIP29_RELAY_URL / NIP29_SUPPORT_GROUP_ID from react-native-config, defaulting to groups.0xchat.com / the support group. Also routed the provider's relayUrls default prop through NIP29_DEFAULT_RELAY_URL. (The nip29*Override fields already in state-migrations.ts remain available if you want a per-user runtime override on top of this.)
  4. Removed the unused createGroup from NostrGroupChatProvider — it duplicated the standalone createNip29Group that CreateGroupModal actually uses; dropped the now-unused generateSecretKey / bytesToHex imports.

Verified tsc is unchanged at 87 errors (all pre-existing; zero introduced). Heads-up: react-native-config will likely need a jest mock when the suite is revived (tracked in ENG-433). The rest of the PR — the NIP-29 logic, role model, derive-from-store pattern — reviewed clean.

Dread and others added 2 commits June 19, 2026 13:50
The three derive-from-EventStore effects returned `store.subscribe(...)`
directly as the cleanup, but its unsubscribe returns `boolean`, which
violates useEffect's `void` cleanup contract (TS2345). Wrap each so the
cleanup discards the return. No runtime change (React ignored the value);
clears the 3 tsc errors this PR introduced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Wrap CreateGroupModal, GroupInfoModal (edit metadata), and
GroupMembersModal (member search) sheets in KeyboardAvoidingView
with behavior='padding' on iOS. The bottom-anchored modals were
being covered by the keyboard when typing in name, about, picture
URL, and member search fields.

@islandbitcoin islandbitcoin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

Take main's Podfile.lock — #645 patched react-native-svg for RN 0.77
Yoga, which supersedes our local version.
@bobodread876

Copy link
Copy Markdown
Collaborator

@abh3po check out the 3 commits i made with the agents pls before we merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants