Conversation
…nses
- Add sc_response_normalizer.go to decode printable ASCII strings from
DERO.GetSC while preserving numeric values and binary hashes
- Apply normalization to all GetSC exit paths (XSWD, Explorer, direct)
- Refactor InvokeSCFunction to delegate to InternalWalletCall scinvoke
path, ensuring Studio and dApp calls use identical TX building
- Fix parseXSWDScArgs to handle both []interface{} and []map[string]interface{}
input types and support uint64/int numeric values
- Add 0-transfer fallback in scinvoke to prevent index-out-of-range panic
when no explicit transfers are provided
Normalize smart contract search results before Explorer renders them and move SC variable display decoding into a focused helper. This keeps scores numeric while allowing printable string values to display as text with raw hex still available.
Move seed and key reveal state into the modal lifecycle, require password confirmation for each reveal, and close the modal on wallet switch or wallet close. Add conditional native clipboard clearing via Wails and await clipboard writes for more reliable copy feedback.
- Use global modal-* classes from hologram.css - Match original seed grid and key display patterns - Move auto-hide timer to header row - Make seed header compact (remove large warning icon) - Tighten warning items for better fit - Fix widow in key warning text
Remove old inline seed/key display selectors after moving reveal UI into RevealSecretModal so Wallet.svelte stays warning-free.
Remove a stale nested selector so Svelte dev/build logs stay clean.
Replace native confirm() with HOLOGRAM-styled confirmation modal for clearing recent wallets. Add horizontal red gradient treatment matching the notification banner language. Fix recent wallets list not refreshing after opening/closing a wallet by centralizing refresh logic.
Update icon input placeholders and hints across BatchUpload, StudioInstallIndex, and StudioUpdateIndex to recommend using on-chain icon DOC SCIDs instead of external URLs. Suggests 100x100 SVG/PNG as optimal format.
Replace misleading auto-registration wording with accurate PoW-first guidance and improve -32098/account unregistered errors so senders and recipients get clear next-step instructions.
All current Linux distros (Ubuntu 24.04+, Debian 13, Fedora 40+, Arch) have dropped webkit2gtk-4.0 / libsoup2 in favour of webkit2gtk-4.1 / libsoup3. Wails v2 supports the new binding via the webkit2_41 build tag, but HOLOGRAM was not setting it — leaving Linux contributors with either a build failure (missing pkg-config target) or a runtime crash from libsoup2/libsoup3 conflicts. - Makefile: auto-apply -tags webkit2_41 on GOOS=linux for build, dev, and release targets via a WAILS_TAGS variable. Override with 'make WAILS_TAGS=' to opt out for the legacy 4.0 binding. - README.md / CONTRIBUTING.md: correct Ubuntu and Arch package names (libwebkit2gtk-4.1-dev, webkit2gtk-4.1), recommend Go from go.dev/dl over distro packages, link to the new Linux build guide. - docs/LINUX-BUILD.md (new): canonical troubleshooting guide covering the libsoup split, OOM during 'make all' (GOFLAGS='-p=2'), vite port collisions, and outdated distro Go. - .gitignore: allowlist docs/LINUX-BUILD.md alongside ARCHITECTURE.md and DESIGN-SYSTEM-RULEBOOK.md. Resolves contributor friction reported on Debian (apt) and Arch (pacman). The wailsapp/wails#3193 webkitgtk-6.0 upgrade is a Wails v3 roadmap item and is not required to support modern Linux on v2.
Keep broadcast registration transactions marked pending until on-chain confirmation so the wallet does not fall back to the new-wallet banner after the confirmation poll times out.
Implements internal handling for TELA applications that use embedded INDEX contracts (DocShards) for large files like WASM binaries and animation assets. - Add detection of embedded .shards INDEX contracts in DOC references - Implement recursive shard fetching and reassembly for embedded INDEXes - Create in-memory HTTP server to serve assembled DocShards content - Store content under both simple filename and full HTTP path for compatibility with different request patterns - Add file input interceptor to bridge script for native file dialogs Enables loading of complex TELA apps like villager.tela that use sharded WASM (rive.wasm) and binary assets (rive files).
Implements native file dialog support for TELA dApps that need to import files (images, data, etc.) through HTML file inputs. - Add SelectFileWithContent Go method that opens native file dialog and returns base64-encoded file content - Support MIME type and extension filtering - Handle file size limits (50MB max) - Add Wails bindings for frontend access Works around iframe sandbox restrictions in Wails WebView that prevent standard file inputs from functioning in TELA apps.
Enhances the wallet approval modal to clearly show all transaction costs before the user approves, addressing visibility issues where burn amounts and gas fees were not being surfaced. - Add parseScPayload function to extract entrypoint and SC arguments from raw DERO RPC sc_rpc arrays - Display TOTAL COST summing burn amounts, transfer amounts, and fees - Show cost breakdown with individual Burn/Fees/Amount components - Handle SC calls without explicit transfers (show 0 DERO explicitly) - Capture top-level fees field in addition to per-transfer fees - Add CSS styling for total and breakdown display Users now see exactly what they're about to spend before approving any smart contract transaction.
Adds Villager avatar display in the wallet anchor area and enables launching the Villager editor by clicking on the avatar. - Add GetSCVariable Go method for direct daemon SC key queries - Update avatarService to use direct daemon RPC instead of XSWD for fetching avatar pixel data from Villager contract - Make getAvatarUrl async to ensure custom pixels load before render - Update handleAvatarClick to navigate to villager.tela and switch to Browser tab - Update UI text to reflect Villager availability The wallet anchor now shows the user's on-chain Villager avatar and provides quick access to the avatar editor.
…tion Fixes CI test failures by distinguishing between: - isShardIndexDURL: matches .tela.shards (TELA naming convention) - isEmbeddedShardsINDEX: matches .shards (embedded INDEX detection) The original isShardIndexDURL function was modified incorrectly to check for .shards instead of .tela.shards, breaking existing tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release brings major improvements to TELA app support, wallet UX, and platform compatibility.
TELA Platform
.shardsvs.tela.shardsnaming conventionsWallet UX
Platform
Cleanup
Test Plan