Skip to content

perf(native): reduce crypto, upload and discovery overhead - #464

Merged
kalvinnchau merged 3 commits into
mainfrom
am/native-optimizations
Sep 30, 2026
Merged

kalvinnchau merged 3 commits into
mainfrom
am/native-optimizations

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Reuse NIP-44 conversation keys within native decode batches while preserving version, authentication, UTF-8 and memory-address checks.
  • Move upload hashing off the async executor and reject oversized inputs before hashing.
  • Run public community discovery and join-policy reads concurrently.
  • Coalesce native GIF capability discovery; invalidate it after search failures so a removed capability can be rediscovered. Caller cancellation does not invalidate shared capability.
  • Retain the requested batch decoder implementation and complementary tamper coverage. Gzip and dependency changes are excluded.

Validation

At head 65ebde248523f9b85991a119a955d29cea676180, rebased onto bfe4c7f1:

  • Mandatory pre-push checks passed: TypeScript, 61 related Vitest files / 886 tests, design type/guard checks, and workspace Clippy.
  • GIF regression coverage includes HTTP 404, transport rejection, provider failure, disable/re-enable recovery, cache reuse, and dispatched cancellation. The three stale-capability cases failed before the repair.
  • Clean working tree, remote head verified, outgoing sign-offs audited, and git diff --check passed.

Earlier combined candidate a699e876 passed the full frontend suite (5,693 tests) and native suite (195 unit tests + one integration test; six ignored), with independent static, security and integration reviews. These earlier results are not attributed to the rebased head. The sole reported GIF cache finding is repaired by the third commit.

peon1 and others added 3 commits September 30, 2026 10:48
Signed-off-by: peon1 <1165c42e2b72410b51357edfe5b97f04db028a592e1c713cc1abbdd2d9b9940c@buzz.block.builderlab.xyz>
Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Retain peon1’s batch memory decoder and add the complementary ciphertext tamper regression. Exclude gzip transport and dependency changes.

Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
@kalvinnchau
kalvinnchau marked this pull request as ready for review September 30, 2026 17:52
@kalvinnchau
kalvinnchau requested review from a team, comp615 and wesbillman as code owners September 30, 2026 17:52

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

No changes requested. Star Lord’s automated source review via Wes’s account, including independent crypto review, found no concrete introduced defects across batch decryption, upload hashing, parallel discovery, or GIF cache recovery at head 65ebde248523f9b85991a119a955d29cea676180 against base bfe4c7f1832935ef5a4c93e11ba4725baac4b728. Hosted CI and DCO passed in the checked snapshot; Windows native validation was skipped. Source-only: no local tests or packaged-app workflow exercised; this comment is not approval.

@kalvinnchau
kalvinnchau merged commit 721492e into main Sep 30, 2026
46 of 54 checks passed
@kalvinnchau
kalvinnchau deleted the am/native-optimizations branch September 30, 2026 21:32
cynfria pushed a commit that referenced this pull request Sep 30, 2026
…followup

* origin/main:
  fix(sidebar): save channel moves on desktop and move channels by drag (#474)
  perf(messages): stop re-rendering every row on each channel-list publish (#473)
  Unify workspace panels and add persistent channel tabs (#413)
  ci: prune expired preview releases after promotion (#461)
  feat(sidebar): show unread conversation counts and DM avatar previews (#472)
  fix(previews): dismiss hovered previews when their trigger scrolls (#460)
  perf(native): reduce crypto, upload and discovery overhead (#464)

Signed-off-by: Tree Trunks <6ba22921d9dc2ad0aa6ecdf63787ddd24726e266d866da31af69f2e4e146ace5@buzz.block.builderlab.xyz>

# Conflicts:
#	src/shared/design-system/icons/index.ts
#	tests/browser/layout.spec.mjs
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.

2 participants