Upstream fork is 6 minor releases behind with no cherry-picks; hotspot files have heavy upstream churn #23
Closed
opened 2026-09-12 02:13:09 -04:00 by jared
·
1 comment
No Branch/Tag Specified
lotus
chore/dev-tool-security
feat/expected-devices
lotus-upstream-v0.28.0
feat/call-summary-details
feat/soundboard-mic-mix
feat/mobile-self-tile
feat/screenshare-audio-state
feat/decorations-origin
docs/lotus-call-error
lotus-stall-retry
docs/lotus-protocol
lotus-soundboard-not-permitted
lotus-mic-sampler-churn
lotus-call-error
fix/audio-output-list
lotus-notify-none
lotus-screenshare-prompt
lotus-call-origin
v0.28.0-lotus.4
v0.28.0-lotus.3
v0.28.0-lotus.2
v0.28.0-lotus.1
v0.25.0-lotus.29
v0.25.0-lotus.28
v0.25.0-lotus.27
v0.25.0-lotus.26
v0.25.0-lotus.25
v0.25.0-lotus.24
v0.25.0-lotus.23
v0.25.0-lotus.22
v0.25.0-lotus.21
v0.25.0-lotus.20
v0.25.0-lotus.19
v0.25.0-lotus.18
v0.25.0-lotus.17
v0.25.0-lotus.16
v0.25.0-lotus.15
v0.25.0-lotus.14
v0.25.0-lotus.13
v0.25.0-lotus.12
v0.25.0-lotus.11
v0.25.0-lotus.10
v0.25.0-lotus.9
v0.25.0-lotus.8
v0.25.0-lotus.7
v0.25.0-lotus.6
v0.25.0-lotus.5
v0.25.0-lotus.4
v0.25.0-lotus.3
v0.25.0-lotus.2
v0.25.0-lotus.1
v0.20.1
Labels
Clear labels
a11y
area: audio-pipeline
area: build-publish
area: deafen
area: decorations
area: denoise
area: livekit
area: mobile-ui
area: soundboard-inject
area: upstream-sync
area: widget-actions
bug
dependencies
docs
enhancement
performance
priority: critical
priority: high
priority: low
priority: medium
research
security
tech-debt
ux
Accessibility
Fork area: audio-pipeline
Fork area: build-publish
Fork area: deafen
Fork area: decorations
Fork area: denoise
Fork area: livekit
Fork area: mobile-ui
Fork area: soundboard-inject
Fork area: upstream-sync
Fork area: widget-actions
Something is not working
Package versions and advisories
Docs wrong or missing
New feature
Audio pipeline cost, re-render storms, leaks
Data loss, security hole, or crash on a main path
Broken feature or serious usability problem
Minor issue or polish
Wrong behaviour in an edge case or notable degradation
Origin checks, capability leaks, media/key handling
Code health, fragile patterns
Usability or visual inconsistency
Milestone
No items
No Milestone
EC fork audit 2026-09 · Medium & Low
Projects
Clear projects
No projects
Notifications
Due Date
Dependencies
No dependencies set.
Reference: LotusGuild/element-call#23
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: medium · Type: tech-debt · Confidence: high
Location: fork base
v0.20.1(git merge-base/tagv0.20.1=2d74c481);lotusHEADe36aef8aProblem
git log --oneline v0.20.1..lotus | grep -vi lotusreturns only 2 commits (39377fb6,b1fed782), both CI-infra tweaks — i.e. the fork has cherry-picked zero upstream fixes/features since branching fromv0.20.1. Meanwhilegit fetch origin --tagsshows upstream has releasedv0.21.0throughv0.26.0-rc.2— six minor versions of drift. Counting commits touching the brief's designated merge-conflict hot-spots betweenv0.20.1and upstreamv0.25.0alone:src/state/CallViewModel/CallViewModel.tshas 34 touching commits (including "Remove MatrixRTC legacy mode", perf work on layout updates, ringing-model rework),src/room/InCallView.tsxhas 16 (ringing UI, PiP layout changes),src/widget.tshas 7 (notably "Remove all references to .well-known transport advertisement" and "Request capability to get RTC transports over widget API" — direct widget-transport-negotiation rewrites in the exact file the fork'sio.lotus.*action wiring depends on), andsrc/useAudioContext.tsxhas 2. A future rebase/merge onto any recent upstream tag will be a large, high-risk conflict resolution, especially inCallViewModel.tsandwidget.tswhere upstream has done structural rewrites (removing legacy RTC modes / well-known transport fallback) that the fork's Lotus widget-action layer sits directly on top of.How to trigger
N/A (structural drift, not a runtime repro). Confirmable by running
git log --oneline v0.20.1..v0.26.0-rc.2 -- src/widget.ts src/state/CallViewModel/CallViewModel.tsafter fetching upstream tags.Suggested fix
Plan a deliberate rebase/merge onto a recent upstream tag sooner rather than later (the conflict surface only grows), starting with
widget.tsandCallViewModel.tssince upstream removed the.well-knowntransport fallback and legacy MatrixRTC mode that the Lotus action layer may implicitly assume still exist.Filed from the September 2026 audit (branch
lotus).Resolved by the upstream v0.25.0 merge (
c6f97278, shipped as 0.25.0-lotus.1). Toolchain consequences (Node 24 / pnpm 11 direct install, oxlint+oxfmt, git-pinned matrix-js-sdk) are documented in cinny LOTUS_TODO.md and handled in .gitea/workflows/ci.yml. Renovate (cinny#94) will surface future upstream drift.