# Issue Triage — 2025-12-31 (elizaOS)

## 1) Migration Portal: Tangem wallet not connectable + active impersonator risk in support flows — **#6211**
- **Current Status:** Open (GitHub). Report includes Discord impersonation/scam concerns and inability to migrate due to wallet support gap.
- **Impact Assessment:**
  - **User Impact:** **Critical** (affects token holders attempting migration; likely non-trivial subset)
  - **Functional Impact:** **Yes** (blocks migration for affected wallets; trust/safety issue)
  - **Brand Impact:** **High** (public report of compromised support experience and scam attempts)
- **Technical Classification:**
  - **Issue Category:** Security + UX/Support + Documentation
  - **Component Affected:** Migration portal / WalletConnect integration / Support operations
  - **Complexity:** **Architectural change** (wallet support + safer verification flow) + **Moderate effort** (immediate mitigations)
- **Resource Requirements:**
  - **Required Expertise:** Web3 wallet integration (WalletConnect), backend allowlist/eligibility logic, security incident response, comms/docs
  - **Dependencies:** Migration portal code ownership/access; decision on “manual/assisted migration” policy; Discord moderation tooling/Collabland config
  - **Estimated Effort:** **5/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. **Security/comms hotfix (today):** Publish a single canonical “Official Migration & Support” page and pin it everywhere (Discord, X, website, docs) with explicit **anti-scam guidance** and the only valid links.
  2. Add a **GitHub-backed support intake** (or signed form) for migration edge cases; stop relying on ad-hoc Discord DMs/tickets.
  3. Implement/announce an **assisted migration path** for non-connectable wallets (e.g., Tangem): options include backend verification + claim address binding, or alternative connection method.
  4. Add **eligibility proof** UX to portal (read-only check by address; explain snapshot rules and why an address is/waswo isn’t eligible).
  5. Coordinate with Discord mods to tighten permissions in support/ticket channels; add verified-team-only responses.
- **Potential Assignees:**
  - **standujar** (server/auth/data isolation patterns; can advise secure binding flow)
  - **Shaw** (product decision + infra access for portal)
  - **Kenk** (official comms/docs + Discord ops coordination)
  - **coinfucius.eth** (Collabland-related updates, if involved)

---

## 2) Migration Portal: “max amount reached” error for large AI16Z balances (Discord report) — **DISC- MIG-001**
- **Current Status:** Reported in Discord (2025-12-28), not yet tracked as a GitHub issue.
- **Impact Assessment:**
  - **User Impact:** **High** (affects large holders; high-visibility segment)
  - **Functional Impact:** **Yes** (blocks migration)
  - **Brand Impact:** **High** (feeds FUD during a high-attention period)
- **Technical Classification:**
  - **Issue Category:** Bug
  - **Component Affected:** Migration portal UI + contract interaction / amount validation
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Web3 contract interactions (Solana/EVM depending on portal), bigint handling, front-end form validation
  - **Dependencies:** Exact chain/contract + portal code; reproduction with large balances
  - **Estimated Effort:** **4/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. Create GitHub issue with repro details (wallet type, chain, balance, error text, screenshots).
  2. Audit portal for **number precision** bugs (JS number overflow) and enforce **BigInt/BN** end-to-end.
  3. Verify contract call limits (max u64/u128) and UI-imposed caps; align with program constraints.
  4. Add automated regression test for boundary values (1e6, 1e9, max eligible).
- **Potential Assignees:**
  - **Shaw** (portal ownership/product)
  - **odilitime** (web3 implementation discussions; can assist validation/testing)
  - A web3-focused contributor familiar with the migration stack (if known internally)

---

## 3) Migration Portal: Tokens visible in Phantom but not exchangeable (Discord report) — **DISC- MIG-002**
- **Current Status:** Reported in Discord (2025-12-28), not yet tracked as a GitHub issue.
- **Impact Assessment:**
  - **User Impact:** **High**
  - **Functional Impact:** **Yes** (migration blocked/confusing)
  - **Brand Impact:** **Medium–High** (creates perception of broken migration)
- **Technical Classification:**
  - **Issue Category:** Bug / UX
  - **Component Affected:** Migration portal wallet connection + token eligibility detection
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Wallet adapter integration, RPC/indexer behavior, snapshot eligibility logic
  - **Dependencies:** Snapshot dataset source; portal “eligible vs visible” logic
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Create GitHub issue; collect: wallet address, token mint, chain, RPC provider, console logs.
  2. Distinguish UI states: **visible balance** vs **snapshot-eligible balance**; add inline explanation.
  3. Add telemetry for “connected but not exchangeable” paths (reason codes).
- **Potential Assignees:**
  - **Shaw**
  - **standujar** (data modeling / reason codes / API support)
  - Portal/frontend maintainer (internal)

---

## 4) Collabland / Discord gating still keyed to AI16Z instead of ElizaOS (Discord action item) — **DISC- COM-001**
- **Current Status:** Requested in Discord (2025-12-30). Not tracked on GitHub.
- **Impact Assessment:**
  - **User Impact:** **High** (affects gated access like Spartan channel; frequent user friction)
  - **Functional Impact:** **Partial** (doesn’t break core runtime, but breaks community access control)
  - **Brand Impact:** **High** (community-facing reliability; “migration not complete” optics)
- **Technical Classification:**
  - **Issue Category:** UX / Infrastructure
  - **Component Affected:** Community ops tooling (Collabland), token verification configuration
  - **Complexity:** **Simple fix** to **Moderate effort** (depending on multi-chain holdings logic)
- **Resource Requirements:**
  - **Required Expertise:** Collabland configuration, token contract verification across chains, Discord role mapping
  - **Dependencies:** Final canonical contract addresses per chain; decision on thresholds
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Create a single source of truth for CA addresses (Solana/Base/Eth/BSC) and thresholds.
  2. Update Collabland rules to ElizaOS holdings; test with 3–5 community wallets across chains.
  3. Add a self-serve “Why you aren’t verified” checklist in #verify-wallet.
- **Potential Assignees:**
  - **Kenk** (Discord ops)
  - **coinfucius.eth** (initiated request; likely closest context)
  - A web3 ops contributor (as needed)

---

## 5) Unified hooks (multi-transport HTTP/SSE/WebSocket) + duplicate event emission fix — **PR #6300**
- **Current Status:** Open PR (not merged).
- **Impact Assessment:**
  - **User Impact:** **Medium–High** (affects reliability/consistency for realtime integrations)
  - **Functional Impact:** **Partial** (core eventing; can cause duplicated actions/messages)
  - **Brand Impact:** **Medium** (stability perception for builders)
- **Technical Classification:**
  - **Issue Category:** Bug + Architecture/Feature
  - **Component Affected:** Core framework messaging/hooks; transport layer
  - **Complexity:** **Complex solution** (multi-transport coordination)
- **Resource Requirements:**
  - **Required Expertise:** Core runtime, message bus semantics, SSE/WS behavior, concurrency
  - **Dependencies:** Alignment with existing SSE “true streaming” changes; backwards compatibility for plugins
  - **Estimated Effort:** **4/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Require a reviewer to validate: no duplicate events, ordering guarantees, reconnection semantics.
  2. Add integration tests for HTTP↔SSE↔WS parity and “exactly-once-ish” delivery expectations.
  3. Document hook contract: idempotency guidance for plugin authors.
- **Potential Assignees:**
  - **standujar** (author; core)
  - **0xbbjoker** (core reviewer; has review activity)
  - **wtfsayo** (runtime/plugin migrations; could test)

---

## 6) OpenAI plugin: image generation broken + add caching to prevent redundant media processing — **plugin-openai PR #23**
- **Current Status:** PR open in `elizaos-plugins/plugin-openai` (per Discord).
- **Impact Assessment:**
  - **User Impact:** **High** (popular capability; breaks visible feature)
  - **Functional Impact:** **Partial** (doesn’t block text chat, but blocks image workflows)
  - **Brand Impact:** **Medium–High** (user-facing feature failure)
- **Technical Classification:**
  - **Issue Category:** Bug + Performance
  - **Component Affected:** Plugin system → Model integration (OpenAI media)
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** OpenAI media APIs, plugin architecture, caching correctness
  - **Dependencies:** Plugin release/versioning process; regression tests
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Review PR #23 for correctness + add tests (dedupe key strategy, cache invalidation).
  2. Validate no double-billing/double-processing on retries.
  3. Cut a patch release after merge; announce in Discord.
- **Potential Assignees:**
  - **odilitime** (author; plugin work)
  - **standujar** (review for streaming/media logging interactions if relevant)

---

## 7) “Chat with agent via share link” produces errors / wrong URL behavior (Discord reports) — **DISC- UX-001**
- **Current Status:** Reported in Discord (2025-12-29/30). Workaround: copy full browser URL containing character ID (not share button link).
- **Impact Assessment:**
  - **User Impact:** **High** (onboarding and virality path)
  - **Functional Impact:** **Yes** (share links are a core distribution mechanism)
  - **Brand Impact:** **High** (public-facing “it doesn’t work” moment)
- **Technical Classification:**
  - **Issue Category:** Bug + UX
  - **Component Affected:** Client UI (share link generation), routing, agent/chat session loading
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Frontend routing, link generation, server session/agent lookup
  - **Dependencies:** Clarify canonical URL scheme (agentId vs characterId); analytics
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Open a GitHub issue with failing example links and expected format.
  2. Fix share button to always generate canonical URL with required ID.
  3. Add client-side validation + friendly error if ID missing; include “Copy correct link” action.
- **Potential Assignees:**
  - **wtfsayo** (client-side fixes experience)
  - **standujar** (if server lookup/session API involved)
  - **borisudovicic** (reporter-type; can provide UX acceptance criteria)

---

## 8) Agent cards resizing to match dashboard cards — **#6291**
- **Current Status:** Open.
- **Impact Assessment:**
  - **User Impact:** **Medium** (visual/interaction annoyance)
  - **Functional Impact:** **No**
  - **Brand Impact:** **Medium** (polish; UI consistency)
- **Technical Classification:**
  - **Issue Category:** UX / Bug
  - **Component Affected:** Client UI (cards/layout/CSS)
  - **Complexity:** **Simple fix**
- **Resource Requirements:**
  - **Required Expertise:** Frontend layout/CSS components
  - **Dependencies:** UI component ownership; design intent for card sizing
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Identify shared component styles causing coupled resizing.
  2. Split “dashboard card” vs “my agents card” variants or add props for size tokens.
  3. Add visual regression snapshot if available.
- **Potential Assignees:**
  - **wtfsayo**
  - **borisudovicic** (to confirm expected behavior)

---

## 9) “Unslop Apps” — **#6299**
- **Current Status:** Open; description unclear from provided data.
- **Impact Assessment:**
  - **User Impact:** **Low–Medium** (unknown; likely refactor/cleanup)
  - **Functional Impact:** **No** (as stated)
  - **Brand Impact:** **Low**
- **Technical Classification:**
  - **Issue Category:** Documentation/Refactor request (needs clarification)
  - **Component Affected:** Likely app/client layer
  - **Complexity:** **Unknown** (could be moderate if broad cleanup)
- **Resource Requirements:**
  - **Required Expertise:** Repo structure familiarity
  - **Dependencies:** Need clearer scope/acceptance criteria
  - **Estimated Effort:** **1–3/5** (pending clarification)
- **Recommended Priority:** **P3**
- **Specific Actionable Next Steps:**
  1. Request issue author to define: problem statement, screenshots, expected outcome, scope boundaries.
  2. Convert to checklist of concrete tasks or close as duplicate of existing “deslop”/cleanup efforts if applicable.
- **Potential Assignees:**
  - **borisudovicic** (author)
  - **lalalune** (has prior “deslop” refactor work)

---

## 10) Plugin versioning/release automation missing (manual version bumps per PR) — **DISC- DX-001**
- **Current Status:** Discussed in core-devs Discord (2025-12-30); no CI like “release-please” for plugins.
- **Impact Assessment:**
  - **User Impact:** **Medium** (slower fixes, inconsistent releases)
  - **Functional Impact:** **Partial** (delivery pipeline reliability)
  - **Brand Impact:** **Medium** (ecosystem maturity)
- **Technical Classification:**
  - **Issue Category:** Developer Experience / Infrastructure
  - **Component Affected:** CI/CD, plugin repos, registry publishing
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** GitHub Actions, semver strategy, release tooling (release-please/changesets)
  - **Dependencies:** Decision on tooling and versioning policy across core vs plugins
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Standardize on **changesets** or **release-please** for all plugin repos.
  2. Add CI checks: version bump required when package content changes; automated changelog.
  3. Document contributor workflow (“how to release a plugin fix”).
- **Potential Assignees:**
  - **ChristopherTrimboli** (ecosystem/CLI/deps + CI experience)
  - **standujar** (core CI familiarity)
  - **odilitime** (plugin maintainer perspective)

---

# Conclusion

## Top 5–10 highest priority issues to address immediately
1. **#6211** — Tangem migration blocked + impersonator/scam risk (**P0**)
2. **DISC- MIG-001** — Migration “max amount reached” for large balances (**P0**)
3. **DISC- MIG-002** — Phantom shows tokens but cannot exchange (**P1**)
4. **DISC- COM-001** — Collabland gating still using AI16Z holdings (**P1**)
5. **DISC- UX-001** — Share link / agent chat errors and wrong URL generation (**P1**)
6. **PR #6300** — Unified hooks + duplicate events / multi-transport reliability (**P1**)
7. **plugin-openai PR #23** — Image generation fix + caching (**P1**)
8. **#6291** — Agent card resizing UI inconsistency (**P2**)
9. **DISC- DX-001** — Missing automated plugin release/versioning (**P2**)
10. **#6299** — “Unslop Apps” (needs clarification) (**P3**)

## Patterns/themes indicating deeper architectural problems
- **Identity, eligibility, and multi-surface consistency gaps:** Migration eligibility, Discord role gating, and wallet-connect support are fragmented across portal/docs/Discord tooling, creating contradictory user experiences.
- **Eventing/streaming complexity surfacing as reliability issues:** Work on unified hooks and prior streaming logging fixes suggest the platform is still stabilizing around realtime semantics (duplication, ordering, logging).
- **Distribution/onboarding paths are brittle:** Share links and “chat with agent” flows are high-leverage but currently error-prone, amplifying support load.
- **Release/process maturity lag in plugin ecosystem:** Manual version bumping and ad-hoc releases increase time-to-fix and regressions.

## Recommendations for process improvements
- **Create a single “Operational Critical” board** (Migration, Auth, Wallet, Gating, Share Links) with explicit P0/P1 ownership and daily status updates during migration periods.
- **Add “Discord → GitHub issue intake” automation** (template + bot) so high-impact Discord reports become trackable within hours.
- **Adopt standardized release tooling for plugins** (changesets or release-please) and require it for any plugin used by production agents.
- **Define and publish canonical URL contracts** (share links, agentId/characterId) and add automated tests for link generation + routing.
- **Security hardening for support:** verified-only support responses, pinned canonical links, and a documented “we never DM first / never ask you to send tokens” policy linked from the migration portal itself.