Chat On Steroids is maintained by @totec448-spec and built with contributions from the community.
Some contributions were adapted into maintainer snapshot commits and their original PRs were closed without preserving GitHub commit attribution. That was our mistake. Reworking a patch does not erase its author's contribution. The record below restores explicit credit and links to the original work.
Listed alphabetically by GitHub handle. "Adapted" means the implementation changed during integration; it does not mean the entire original branch was merged.
| Contributor | Contribution and original work |
|---|---|
| @aliceric27 | Traditional Chinese interface, Taiwan terminology, language controls and layout support from #243. Extended for current Files, Skills, sidebar, recovery and diagnostic labels alongside Spanish. |
| @AndersonBY | Preserving the writing deadline and restart retention for manual Pro compaction: merged #265. Suspended/discarded browser-tab recovery from #267, adapted with fresh tab/document checks before reload. |
| @0Elias71 / @eliasx45 | Recovered interruption presentation from #234, authored by Elias (@0Elias71) and submitted by @eliasx45. Adapted only the recovered title/color using existing completion evidence; no duplicate recovery logic. |
| @becoolmin | Preserving window size on reopen: #122, adapted into #134. Removing unused macOS media privacy declarations before bundle sealing: #232, adapted with strict plist readback and failure coverage. |
| @Bemirror99 | Resume-shadow recovery and stale Fiber attribution fixes: merged #19 and #20. |
| @devrajmahar | Conversation-scoped generation reset, extracted with an independent SPA recovery regression from #163. The renderer rewrite and other feature changes were not incorporated. |
| @Firefulcar | Claimed Compact & Resume leases: merged #33. Selected-browser startup routing: #100, adapted into #91. |
| @frytufrytu | Diagnosing and fixing blocked-handoff compaction recovery loops: #127, adapted with durable refusal and draft preservation into #134. |
| @gnustella-lab | Brave Browser support: merged #106. |
| @Haz4rdovisk | Sidebar connection popover and companion diagnostics from #264, project Files workspace, previews, editor and attachment UI from #242, and separate Projects/Chats with direct Plugins/Skills navigation from #252. Adapted to the current dirty tree with bounded diagnostic reads, atomic file replacement, current composer ownership and retained editor drafts. |
| @hhh2210 | Native macOS Desktop backend and platform validation: merged #28. Desktop reply provenance, activity details, editable folder access and the bounded bridge RFC: merged #74, #75, #77, #43. Companion mismatch guidance: #101, adapted into #91. |
| @holzhaker1 | Model-discovery tab/document custody across MV3 restarts, passive first-window discovery and optional Harpoon-channel diagnostics from #251. The log filter was narrowed to exact channel evidence. |
| @igorbelchior86 | Restoring native macOS fullscreen through the existing window option: #245. Codex Skills discovery, packages, metadata, searchable library and selection-chip design from #260, adapted to the current approved roots, managed-file checks, authored drafts and prompt budgeting. |
| @Inmerson | Fresh worker placement through the Prime's extension context, background tabs and a single fallback owner: #72, adapted for batch-safe placement. Independent screenshot coordinate assertions: #201. Preserving existing Goal/Loop recovery through provider access limits: #227, adapted to retain the original recovery deadline across repeated notices. |
| @JeshuaCastro | Per-worker model and reasoning selection design: #68. The incorporated design was completed by the schema correction in #87 through #91. |
| @jose350 | Spanish interface and locale-selection support from #240. The integrated catalog was extended for current 2.1.13 labels and the Files/diagnostics additions. |
| @K4viar | Keeping the recorder's Compact & Resume admission wait within the existing claim window: adapted from #224, with independent delayed-commit, cancellation and expiry regressions. The Project-click retries were not incorporated. |
| @lookvincent | Native ChatGPT artifact downloads and custom OpenAI-compatible Goal/Loop providers: #94 and #95, adapted into #91. |
| @Masikomoore / mixiZhu | Keeping npm plugin installation inside its assigned generation when an ancestor is an npm project: merged #268, submitted by @Masikomoore with the original patch authored as mixiZhu. |
| @Maximapple | Merged fixes for public-history scope, Project routes, swapped mouse buttons, tunnel readiness, access limits, RTL text, Linux packaging, complete session enumeration and continuation relays: #37, #38, #79, #110, #116, #117, #131, #139, #141. Adapted work on handoff lifetime, macOS sealing, Project successors, worker schemas, custom instructions and caller-evidence waits: #39, #80, #86, #87, #88, #115. |
| @nofihq | Waiting for late exact session_finish identity while sharing one bounded deadline with the finish hold: adapted from #220. Other response-branch and inbox changes were not incorporated. |
| @PatrickSys | Windows installer sandbox folder permissions: #62, incorporated into the 2.0.6 snapshot and retained in #91. |
| @pop15106 | Correcting the unconditional Codex-quota claim in the README and hero: #192, adapted with current official usage documentation. |
| @TaeyanG4 | Handling plugin schemas when a Refresh control is unavailable: #92, adapted into #91. |
| @ventianima-lab | Preserving the exact message, conversation and page-epoch identity accepted by a desktop-send ACK when later canonical text differs, so the same send retains its turn-start boundary: adapted from the code and regression tests in #185. This narrow repair does not reconstruct earlier missing history or resolve every symptom in the issue. |
| @yahiaal | Publishing larger Plugins catalogs within the existing schema byte budget: #216, adapted to include the optional local code-mode tool in refresh observation and legacy enrollment. |
The September 12 repair snapshot also adapts @Maximapple's destination loading guard (#164), expired automatic resume claim release (#165), nested user-message text fix (#179) and disabled-permission guidance from #146. The claim release was strengthened with durable command/document ownership; this does not incorporate the rest of the native Desktop proposal.
The September 17 integration also adapts @Maximapple's failed-turn compaction (#275), missing-recorder repair (#276), locale-aware usage assertions (#277) and handoff tab protection (#278). The resume-timeout reproduction from #274 is retained with an exclusive-send regression: an unnamed resume keeps its dispatch custody instead of reporting success or automatically resending after a transport banner. The original banner-driven resend and process-local retry counter were not incorporated.
@raxy24's report in #262 led to the independently implemented fix for stale assignment metadata when reusing a sleeping worker.
@Bemirror99's model-picker focus diagnostics in #256 led to an independently implemented bounded picker-close check before helper/composer preparation continues.
@ferrarinobrakes reported the replacement-session collision in #218, which led to the delayed resume-commit regression and recorder admission fix.
@ventianima-lab's reproductions also led to the focused resume-selection (#155) and Windows plugin-path (#178) repairs.
The receipt-promotion and adopted-answer ownership fixes adapt @ventianima-lab's minimal reproductions and proposed repairs in #185 and its remounted-answer follow-up. @rcnir reported the unknown-model recovery gap in #172, and @Gauthammaster2012Code reported the plan-collapse affordance issue in #191.
Contributions also include reproductions, independent testing, designs and patches that are still under review or were superseded. Thank you to:
- @ventianima-lab for detailed request-attribution and delivery investigations and controller, stream-observation and tab-reuse proposals, including #108, #124, #159 and #170.
- @nofihq for independent Linux validation on #159 and #170, and the recovery investigations in #175 and #183.
- @piotrczukwinski for the localized model-picker investigation and structural discovery proposal in #102.
- @L4XB for pinned-tab protection work and the distinction between pinned-tab and active-conversation closure in #158.
- @ahrorbeksoft for the macOS tray/window lifecycle proposal in #93.
- @Akilaydin for reviewing the fallback race and clarifying browser placement in #72.
- @lavalava45 for regional artifact-host reproductions in #111.
This is a growing attribution record, not a complete list of everyone who has helped. The PR history and issue history retain other submissions and discussions. Acknowledging a proposal here does not claim it was merged.
Keep original authorship when merging a contribution. When adapting or consolidating contributed work, name the original author and PR, and preserve appropriate Co-authored-by trailers using the contributor's public GitHub noreply identity. Reports and review deserve explicit acknowledgment without inventing code authorship. See CONTRIBUTING.md.
The September 2026 attribution correction adds a new public record and retroactive co-author credit for incorporated work. It does not rewrite released commits or imply that contributors authored the correction's prose. GitHub's automatic contributor displays are separate from this maintained record.