Repository navigation
Releases
develop latest (v1.3.106-22-g12a146576)
Rolling develop build, replaced on every merge. Version v1.3.106-22-g12a146576, commit 12a1465. NOT a tagged release β for the download-and-install auto-updater, not for packaging.
v1.3.106
What's Changed
- visor: keep a transport to each dmsg server the visor uses by @0pcom in #6022
- rewards: describe the two week version rule and the xpub change by @0pcom in #6024
- rewards, docs: set November 15 as the single address cutoff by @0pcom in #6025
- rewards: stop paying single addresses from November 15 by @0pcom in #6026
- scripts, dmsg: compare hot path benchmarks under Go and TinyGo by @0pcom in #6027
- release: v1.3.106 by @0pcom in #6028
Full Changelog: v1.3.105...v1.3.106
v1.3.105
What's Changed
- skymail, visor: run the mailbox as a regular app by @0pcom in #5959
- cxo/treestore: drop the publisher conn after repeated fill breaks by @0pcom in #5954
- skywire-specs: specify skymail by @0pcom in #5960
- visor: read the hypervisor list under the config lock by @0pcom in #5961
- cxo/node: wait for both ends to drop the conn in TestNode_Publish by @0pcom in #5962
- skychat/group, visor: keep a wasm member's groups across a tab reload by @0pcom in #5963
- docs: say where the reward wallet page lives by @0pcom in #5964
- docs: design note for dmsg-async by @0pcom in #5965
- dmsg/dmsgasync: add store and forward for offline keys by @0pcom in #5966
- dmsg/discovery, dmsg/dmsgasync: keep dmsg-async inbox records by @0pcom in #5967
- all: bip44 wallets on the dashboard Wallet page by @0pcom in #5968
- all: replace deprecated net.Error.Temporary, strings.Title, filepath.Walk and function style atomics by @0pcom in #5969
- all: ask for the password before decrypting a dashboard wallet by @0pcom in #5970
- visor, cli/async: run dmsg-async on the visor by @0pcom in #5971
- vpn, vpn-client: use net/netip for addresses by @0pcom in #5972
- visor, skymail: do not read a result in the return that writes it by @0pcom in #5973
- all: errors.Is for fs errors, math/rand/v2, x/sys/unix for raw syscalls by @0pcom in #5974
- all: sort with the slices package by @0pcom in #5975
- visor: save a reward address set over the API to skywire.conf by @0pcom in #5976
- cli/config: let SKYCHATADDR reach a config that already has skychat by @0pcom in #5977
- visor, launcher: make the autostart switch work for skymail by @0pcom in #5978
- hvui: add a Simplified Chinese translation by @0pcom in #5979
- skychat: log outgoing calls that were not answered by @0pcom in #5980
- skychat: say plainly that --addr :PORT stays on localhost by @0pcom in #5981
- hvui: show skychat backlog messages with their own time and direction by @0pcom in #5982
- skymail, app, visor: park mail on the recipient's dmsg-async inbox by @0pcom in #5983
- visor: keep the autostart choice for the resolving proxies by @0pcom in #5984
- skymail: wait for the park in TestParkBeforeAHangingAttempt by @0pcom in #5985
- all: apply the go fix modernizers for loops, strings and any by @0pcom in #5986
- all: apply waitgroupgo, testingcontext, errorsastype, newexpr and inline by @0pcom in #5987
- all: drop // +build lines and per-iteration loop variable copies by @0pcom in #5988
- hvui: bump follow-redirects, fast-uri and serialize-javascript by @0pcom in #5989
- skychat, app, visor: park 1:1 messages on the contact's dmsg-async inbox by @0pcom in #5990
- skywire-specs: specify dmsg async by @0pcom in #5991
- cli/mail, hvui: show which Outbox mail is parked by @0pcom in #5992
- dmsgasync, visor, skymail: apply the mail whitelist on the inbox hosts by @0pcom in #5993
- skymail, skywire-specs: fetch parked mail every 2 minutes by @0pcom in #5994
- pty: do not start a call on a closed client by @0pcom in #5995
- visor, cli/async: change dmsg-async settings live by @0pcom in #5996
- skychat: park pair requests the peer does not take by @0pcom in #5997
- visor, hvui: stop showing local chat on a remote visor's Chat tab by @0pcom in #5998
- visor, ui2: add a server rendered hypervisor ui at /ui2/ by @0pcom in #5999
- skychat, visor: say when a call has no mic or speaker by @0pcom in #6000
- deps: bump skycoin to v0.28.7 by @0pcom in #6001
- visor, ui2: add the apps, transports and routing tabs by @0pcom in #6002
- visor, ui2: add the logs, mail, chat, terminal and wallet tabs by @0pcom in #6003
- flags: draw the help screen's cloud in the logo's proportions by @0pcom in #6005
- visor, ui2: add the info, uptime, rewards, dmsg and settings tabs by @0pcom in #6004
- hvui, ui2: link the two hypervisor uis and share their strings by @0pcom in #6006
- ci: build the tinygo release assets with v0.45.0-dev-skywire.1 by @0pcom in #6007
- skychat, visor: park group join requests and decisions by @0pcom in #6008
- skychat: park a missed call for a peer the call never reached by @0pcom in #6009
- skychat: offer a file on the inbox of a peer that cannot be reached by @0pcom in #6010
- visor: leave a hypervisor's settings change for an offline visor by @0pcom in #6011
- ui2: page, filter and sort the transports and routing rules by @0pcom in #6012
- ui2: fold the top bar into a menu on narrow screens, wrap the tabs by @0pcom in #6013
- hvui: say when a change waits for an offline visor by @0pcom in #6014
- visor, ui2: search and nest the visor list, align table cells by @0pcom in #6015
- ui2: size controls for phones, fix missing icons and numeric headers by @0pcom in #6016
- visor: give async test visors a logger by @0pcom in #6017
- skymail: wait for delivery attempts when the outbox stops by @0pcom in #6018
- hvui: do not start the dashboard tour inside a frame by @0pcom in #6019
- visor, hvui, ui2: track whether the visor is online by @0pcom in #6020
- visor, hvui, ui2: base connectivity on transports first by @0pcom in #6021
- release: v1.3.105 by @0pcom in #6023
Full Changelog: v1.3.104...v1.3.105
v1.3.104
What's Changed
- visorconfig: use upstream sysinfo instead of the fork by @0pcom in #5809
- visorconfig: sort the sysinfo import by @0pcom in #5810
- transport/network, visor: cap unsent bytes on TCP transports by @0pcom in #5811
- transport/network: report link RTT, congestion and loss per transport by @0pcom in #5812
- skywire-cli: show carrier link stats with tp --link by @0pcom in #5813
- cxo/node: hold one goroutine per idle connection by @0pcom in #5814
- docs: design note for shared CXO connections to co-hosted services by @0pcom in #5815
- cxo/node/transport: close an interrupted connection once writes drain by @0pcom in #5816
- android: bring the skycoin web wallet's features to the native wallet by @mrpalide in #5772
- cxo/node: run a feed head's loop only while it fills a Root by @0pcom in #5817
- vpn, netutil: use the lowest-metric default route by @0pcom in #5818
- transport/network: stop accepting when the listener is closed by @0pcom in #5819
- cli/reward: point xpub setup at the wallet GUI's Account xPub by @0pcom in #5820
- cli/config, visor: skywire.conf variables for memory_limit and the autoconnect caps by @0pcom in #5824
- transport, visor: take no new automatic transports under resource pressure by @0pcom in #5825
- cxo, visor/stats, serviceuptime: keep the bbolt freelist out of commits by @0pcom in #5826
- deps: kcp-go v5.6.83 by @0pcom in #5827
- skyenv, cli/config, autoconfig: serve the hypervisor UI on localhost by default by @0pcom in #5828
- visorconfig, cli/rewards, android: a hardware survey for the Android app by @0pcom in #5829
- rewardconfig, visor, cli, ui: accept only an account xpub as a new reward address by @0pcom in #5830
- docs/android: a user guide for the Android app, with screenshots by @0pcom in #5832
- android: set the reward account xpub from settings and the wallet by @0pcom in #5831
- visor: clear the reward address in memory when it is deleted by @mrpalide in #5833
- all: remove the network monitor service by @0pcom in #5834
- visor, addrresolver: keep out of the resolver when ar_transport_limit < 0 by @0pcom in #5835
- skywire-specs: rewrite the deployment service specifications by @0pcom in #5836
- httpauth, httpauthclient: advance the nonce on any 2xx by @0pcom in #5837
- deployment, network: align service routers and fix two small bugs by @0pcom in #5838
- all: remove code that no build reaches by @0pcom in #5839
- httputil, httpauth, deployment: share JSON writing and deregister auth by @0pcom in #5840
- network: share the address resolver bind and listen loops by @0pcom in #5841
- services: share the startup of the discovery-type services by @0pcom in #5842
- visor: one announce loop for the registration feeds by @0pcom in #5843
- httpauth, visor: serve the deregistration endpoints over dmsg only by @0pcom in #5844
- svcmode, services: bind no plain HTTP listener by default by @0pcom in #5845
- visor: register every embedded deployment service itself by @0pcom in #5846
- tests, docker: fix five flaky tests and let e2e run on a shared host by @0pcom in #5847
- integration, docker: stop skipping the dmsg and VPN e2e checks by @0pcom in #5848
- tpd: stream saved metrics day leaves instead of decoding them whole by @0pcom in #5849
- cxo/skyobject/registry: read length prefixes without copying the value by @0pcom in #5850
- pty: do not read an RPC reply after the client closes by @0pcom in #5851
- ci: run the js/wasm tests under node by @0pcom in #5852
- nativee2e, ci: run the js/wasm visor under node against the deployment by @0pcom in #5853
- rf/store: keep landmark routes in one direction only by @0pcom in #5854
- tpd/api: split a large metrics day from its previous part count by @0pcom in #5855
- ci: skip the test jobs on PRs from the 0magnet fork by @0pcom in #5856
- dmsg/noise: take frame buffers from the pool instead of per stream by @0pcom in #5857
- tpd/store: keep the bandwidth index's types from pinning redis values by @0pcom in #5858
- tpd/store: encode each edge key once per metrics read by @0pcom in #5859
- tpd/api: do not keep gzip buffer slack with an open day's body by @0pcom in #5860
- cxo/cxoutils: reuse gunzip readers and size the output up front by @0pcom in #5861
- dmsg: retry a failed first entry publish on the backoff ladder by @0pcom in #5862
- all: refresh the agent skills and test them against the command tree by @0pcom in #5863
- visor, logserver: list Caddy's sites for a port 80 forward to Caddy by @0pcom in #5864
- cxo/node/transport: grow the send queue only while frames wait by @0pcom in #5865
- tpd/cxoaggregator: hold paced telemetry in fewer bytes by @0pcom in #5866
- visor, cli/serve: add serve sites off to hide the site list by @0pcom in #5867
- tpd/api: encode /transports/edge bodies without json reflection by @0pcom in #5868
- tpd/store, tpd/api: copy only the absent transports in a reconcile by @0pcom in #5869
- cxo/node/msg: encode an Object in one allocation by @0pcom in #5870
- cmd/skywire/commands: check the skills glob error by @0pcom in #5871
- proxyinterstitial: match dmsg error 202, not any "202" by @0pcom in #5872
- cxo/node/transport: wait for the writer before filling the queue in a test by @0pcom in #5873
- transport: grow a vstream's read queue only while frames wait by @0pcom in #5874
- dmsg/noise: buffer one frame per stream instead of two by @0pcom in #5875
- cmd/skywire/commands: accept Linux-only pty fs flags elsewhere by @0pcom in #5876
- contacts, visor, cli: add the visor's address book by @0pcom in #5877
- android, skychat: native SkyChat screens in place of the WebView by @mrpalide in #5878
- cxo/node, skychat, ar, sd: let slow subscribers finish their fills by @mrpalide in #5879
- contacts, appserver, skychat: show contact book names in skychat by @0pcom in #5880
- cxo: decode without copying the input by @0pcom in #5882
- cxo/skyobject: reuse the cleanDown ranking buffer by @0pcom in #5883
- all: bump yamux to reuse deadline and write timers by @0pcom in #5884
- contacts: skip the permission test on windows by @0pcom in #5885
- android: native SkyDEX screens in place of the WebView by @mrpalide in #5881
- tpd/cxoaggregator: presize the decoded transport list by @0pcom in #5886
- tpd/api, tpd/store: hex encode each key once when counting by @0pcom in #5887
- visor/static: rebuild the manager UI for the skycoin bump by @0pcom in #5888
- dmsg/discovery/api, cache the clients grouped by server by @0pcom in #5889
- all: drop stale yamux and skycoin sums from go.sum by @0pcom in #5890
- visor, hvui: add a contacts tab to the hypervisor UI by @0pcom in #5891
- hvui: search, quick filters, compact rows and bulk actions in the visor list by @0pcom in #5893
- hvui: add a visor overview to the top of the Info tab by @0pcom in #5...
v1.3.104-alpha1
What's Changed
- android/fdroid: keep the Gio shaders out of scandelete by @mrpalide in #5922
- visor, launcher, cli: list the apps a visor can run by @0pcom in #5923
- hvui: add an app catalog view beside the apps list by @0pcom in #5924
- visor, launcher, cli, hvui: generate app settings forms from flags by @0pcom in #5925
- hvui: choose a client's server from service discovery by @0pcom in #5926
- hvui, visor, cli: fleet view of apps with bulk add, start and stop by @0pcom in #5927
- hvui: add theme tokens and a light theme by @0pcom in #5928
- hvui: fit the main pages to phone widths by @0pcom in #5929
- hvui: stop the visor page showing the previous visor's data by @0pcom in #5930
- deps: bump kcp-go fork to v5.6.84 and pfilter to v0.0.15 by @0pcom in #5931
- rewards/server: read reward days from hist/ only, not its subfolders by @0pcom in #5932
- deps: use upstream pfilter by @0pcom in #5933
- hvui: fit the header tabs and fix table wrapping and the mobile bar by @0pcom in #5934
- hvui: grey stopped apps, aligned app lists and clearer settings by @0pcom in #5935
- visor, deps: build with TinyGo on 386 and arm by @0pcom in #5936
- visor: build with TinyGo for macOS without host stats by @0pcom in #5937
- deps: bump 0magnet/metrics for TinyGo on macOS by @0pcom in #5938
- deps: bump 0magnet/metrics to leave its darwin C file out under TinyGo by @0pcom in #5939
- ci: build TinyGo release assets and mark dash tags as prereleases by @0pcom in #5940
Full Changelog: mobile-v0.0.9...v1.3.104-alpha1
Skywire Mobile v0.0.9 β Native SkyChat & SkyDEX β‘, an Advanced Wallet, Shared Contacts & Rewards on Your Phone π
Skywire Mobile v0.0.9 is now available.
SkyChat and SkyDEX are now part of the app itself instead of web pages inside it. The wallet catches up with Skycoin's web wallet, with BIP 44 wallets, seed passphrases, payment requests, sends to several addresses and offline signing. SkyMail and SkyChat now share one contact book, and the phone can take part in Skywire rewards. On mobile data the node no longer carries other people's traffic.
π¬ SkyChat
The Chat tab is now built into the app instead of showing a web page. Everything the page did is still there: chats, groups and channels, Saved Messages, search, replies, forwards, files, voice and video messages, calls, pairing, message requests and blocking. On first start it copies your Saved Messages, chats, contact pictures, pins, mutes and settings from the old page.
Muted chats no longer buzz. With message preview off, a notification says New message instead of the text.
Chat dates and missed-call notifications follow the app's language.
The call screen shows the other person's profile picture.
A call from someone you blocked no longer rings. The caller sees it ringing and then no answer. Before, your phone rang for a moment and the caller was told the call was declined.
A file or video message you sent can now be deleted for everyone. Before, it stayed with the other person.
Deleted messages no longer come back the next time you open the Chat tab, and the chat list no longer previews a deleted message.
π¬ SkyMail
SkyMail contacts now live in your node's contact book, the same one SkyChat and the desktop dashboard use. A name you save in SkyMail now shows in SkyChat too. Your old
SkyMail contacts move over by themselves on first start.
A new Settings switch copies the contact book into the phone's Contacts app, under a read-only Skywire account. A key there opens a SkyChat chat and a SkyMail address opens a new mail. Any app allowed to read your contacts can read this copy, so the switch is off until you turn it on.
A mail can now be up to 10 MB instead of 1 MB, so a few phone photos fit. A receiver on an older version still refuses mail over 1 MB.
Mail shows the sender under your own name for them first, then the name the mail carries. Before, a sender could pick any name, even one of your contacts'.
A new or replaced secret key now clears the old key's Inbox and Sent. Your mailbox settings and whitelist stay.
π° Wallet
A new wallet can have 24 words as well as 12, and the restore screens now say 12 or 24 words.
Skycoin and other fiber coin wallets can be made or restored as BIP 44 as well as the classic type. Bitcoin wallets can be Legacy, with 1β¦ addresses, as well as Native SegWit. Bitcoin, Ethereum and BIP 44 wallets can have a seed passphrase. A classic Skycoin wallet can be restored from a non-standard seed after a warning.
Receive can ask for a specific amount. The QR code, Copy and Share then carry a payment request, and Send fills in the amount when it scans or pastes one. Send can also read a QR code from an image.
Skycoin sends can go to several addresses in one transaction, with Add destination or Bulk send. The Advanced section sets the change address and the share of coin hours that travels with the coins.
Skycoin transactions can be signed and broadcast separately, for keys kept on a device that never goes online.
Ethereum sends have Economy, Normal and Priority fees.
Adding a node checks it first, shows its coin, version and last block, and refuses one that does not answer or is too old. The Node row shows whether the node answers and how far it has synced, and a send through a node that is still syncing asks first. Node details shows the chain, the node's peers, its pending transactions and your outputs.
A node can be a .dmsg address, reached over Skywire while it is connected.
Prices in US dollars can be turned on in Settings. They are off by default, because fetching them tells coinpaprika your IP address and which coins you hold.
The address list can hide empty addresses, and each address opens its own history and outputs. Addresses whose public key is on the chain are marked, with advice to move their coins. Save addresses writes them all to a file.
Transactions show the full date and time and which of your addresses they used.
A wallet can only be created or restored on a phone with a screen lock. Without one, anyone holding the phone could see the seed and send the coins.
π SkyDEX
SkyDEX is now built into the app in English, Chinese, Spanish and French, with Market, My Orders, My Listings, History and Settings. Addresses come with Copy and a QR code that carries the amount.
An error from the market now stays on screen until your next action. Before, it disappeared within five seconds.
A completed order no longer shows "confirmed".
When the connection to the market drops, SkyDEX connects again by itself.
SkyDEX now fits light theme and landscape.
π Rewards
Settings has a Rewards card. Set your reward account xpub there, or with one tap from the wallet's extended public keys, and remove it again. Your phone can then take part in Skywire rewards. Before, the app had nowhere to set it and the phone's hardware survey failed.
The survey is made only once a reward xpub is set. It includes a hash of the phone's Android ID.
Removing the reward address now takes effect at once. Before, it needed a restart.
πΆ Network
On mobile data the node now runs lean. It carries no traffic for other users and makes no new automatic connections, and it goes back to normal on Wi-Fi.
After you move between Wi-Fi and mobile data, the node tells the network its new address, so other nodes reach it again sooner. It also reconnects once instead of twice.
Group and pairing feeds keep their recent updates for a few minutes, so a phone on a slow link can finish fetching them. Before, channel posts and pairing messages could reach a phone late or not at all.
π± App
Swipe left or right on a tab's first screen to move to the next tab.
When a new version is out, a banner at the top offers Update or Later, once per version. Update goes where the app came from: Google Play, F-Droid, or the in-app download for a GitHub install.
On a short screen, such as a phone in landscape, the bottom bar shows only on the five main tabs, so the pages opened from them get the room.
π Fixes
Fixed joining a group by its address saying "unexpected end of stream" although the join went through. A chat action that times out now says SkyChat did not answer in time.
Fixed a transparent profile picture turning black.
Fixed Saved Messages hiding above the chat list after switching from Groups or Channels back to All.
Fixed the wallet's QR scanner opening sideways on an upright phone.
π¦ F-Droid
Skywire's F-Droid submission is still in review. The listing now has screenshots, and a new user guide walks through every screen:
https://github.com/skycoin/skywire/blob/develop/docs/android/user-guide.md
The release page carries skywire-0.0.9-fdroid.apk. It is the copy F-Droid checks its build against, and it has no in-app updater because F-Droid delivers the updates. If you install from GitHub, take the arm64-v8a APK.
π Help Us Improve the Translations
The new chat and SkyDEX screens bring a lot of new text in Chinese, Spanish and French. If you notice incorrect wording, awkward phrasing, or text overflowing a button orscreen, please send us a screenshot. These issues are difficult for us to catch automatically and are usually quick to fix.
Also let us know which language you'd like to see next.
v1.3.103
What's Changed
- ci: sync the msys2 package db before installing cgo deps by @0pcom in #5800
- ci: build the windows hardware wallet against ucrt64 by @0pcom in #5801
- deployment: load the static deployment on native tinygo builds by @0pcom in #5802
- skynetweb, meshgw: pin a skynet name to a transport and log which one by @0pcom in #5803
- transport: spread maintenance pings over their interval by @0pcom in #5804
- visor: keep k transports between two sites, and make autoconnect caps configurable by @0pcom in #5805
- deps: bump websh and the sh fork, and update dependencies by @0pcom in #5806
- go.mod: go 1.27.2 again by @0pcom in #5807
- release: v1.3.103 by @0pcom in #5808
Full Changelog: v1.3.102...v1.3.103
v1.3.102
What's Changed
- cli: show only the remote visor's stats in gotop --remote by @0pcom in #5637
- visor, release: fetch the js/wasm module instead of packaging it by @0pcom in #5638
- usermanager: hash hypervisor passwords with Argon2id by @0pcom in #5639
- init: do not set HOME to the skycoin node's data directory by @0pcom in #5640
- noise: require the post-quantum handshake by @0pcom in #5641
- all: remove the test deployment and env knobs that bypass the config by @0pcom in #5642
- logging, services, visor, rf: move the last two env knobs into config by @0pcom in #5643
- all: drop stale gotop sums from go.sum by @0pcom in #5644
- config: add --resolver-ca so resolver HTTPS survives autoconfig by @0pcom in #5645
- proxyroute, cli: add a none upstream that refuses instead of dialing direct by @0pcom in #5646
- proxyroute, cli: accept direct as a resolver's default upstream by @0pcom in #5647
- skynetweb, dmsgweb: dial the original host when a resolver goes direct by @0pcom in #5648
- dmsgweb: test the direct path with a name that resolves by @0pcom in #5649
- desk, hypervisor ui, cli, readme: link the host bridge page and every document by @0pcom in #5650
- config: build the expected CA paths with filepath in the resolver-ca test by @0pcom in #5651
- meshgw, skydns, config: HTTPS to mesh names through SkyDNS, and SKYDNS/RESOLVERCA knobs by @0pcom in #5652
- scripts: give the dev visor CAP_NET_ADMIN after each build when allowed by @0pcom in #5653
- vpn, skydns: ask for a password once when SkyDNS has no CAP_NET_ADMIN by @0pcom in #5654
- vpn: carry mesh-gateway dials through the visor's resolving proxy by @0pcom in #5655
- launcher: run an in-tree app as its own process when external is asked by @0pcom in #5656
- ci, readme: finish every develop test run and filter the badges to develop by @0pcom in #5657
- skydns: exit from runSetupTun instead of returning its error by @0pcom in #5658
- skysocks: keep re-reading the visor's resolvers after a set is in hand by @0pcom in #5659
- cli/config: give every gen setting a skywire.conf variable by @0pcom in #5660
- README, docs: rewrite which Skywire to run and document SkyDNS by @0pcom in #5662
- visor, cli/config: record the skywire.conf a config was generated from by @0pcom in #5663
- visor, cli/config: save every live setting change to skywire.conf by @0pcom in #5664
- visor, cli/config: remove the ui_server config block by @0pcom in #5665
- visor: edit the recorded skywire.conf from the settings page by @0pcom in #5666
- visor, cli/config: skywire.conf variables for the remaining visor settings by @0pcom in #5667
- cli: show a visor's refusal without the connection hint by @0pcom in #5668
- cli/config, skyenv: one skywire.conf template, and read the Windows form by @0pcom in #5669
- docs: browser visor, mesh addresses and publishing a site by @0pcom in #5670
- visor: reach your own forwarded ports through your own proxy by @0pcom in #5671
- docs, cli/config: fix stale claims from a docs audit by @0pcom in #5672
- deps: update every Go module to its latest commit by @0pcom in #5673
- cli/hv, docs: serve LinuxOnTab beside the desk and document it by @0pcom in #5674
- docker, android: build with Go 1.27.2 by @0pcom in #5675
- deps: bump skycoin for the web wallet's browser password by @0pcom in #5676
- deps: bump skycoin to aaca77af9 by @0pcom in #5677
- cli/proxy, visorconfig: put the operator's proxy args back intact after a test by @0pcom in #5678
- visor: check an auto-picked proxy exit over TLS to an address too by @0pcom in #5679
- desk, visor: open LinuxOnTab from the desk menu or a link by @0pcom in #5680
- execwasm: keep the module in a service's own directory when there is no home by @0pcom in #5681
- visor: isolated browse origins for an isolated desk by @0pcom in #5682
- cli/hv, deskhost: open LinuxOnTab when the desk starts by @0pcom in #5683
- visor: skip the dmsg local relay in a browser tab by @0pcom in #5684
- visor, cli/hv: proxy LinuxOnTab from the site that publishes it by @0pcom in #5685
- cli/log, cli/rewards: let the reward system rely on pushed surveys by @0pcom in #5686
- docs, cli/rewards: link the blog at blog.skycoin.com by @0pcom in #5687
- visor, meshgw: reach .dmsg and .skynet names from a Wisp guest by @0pcom in #5688
- visor: answer a Wisp guest's IPv6 lookups with no records by @0pcom in #5689
- docs: drop the blog mirror link by @0pcom in #5690
- cli/config, vpn: start skydns by default where systemd-resolved runs by @0pcom in #5691
- hvui: show a visor's mesh name and landing page links by @0pcom in #5692
- cipher, cli, skychat: take a public key in its base32 form too by @0pcom in #5693
- visor, dmsgweb, skydns: serve home.skynet everywhere, with a visor list by @0pcom in #5694
- cxo, visor: let the tpd-metrics feed recover from a broken fill by @0pcom in #5696
- visor, logserver, cli/serve: list a visor's sites and keep its own pages reachable by @0pcom in #5697
- dmsgweb, visor: split home.skynet into three tabs by @0pcom in #5698
- dmsg: keep a folded visor's own entry from losing its client half by @0pcom in #5699
- router: grow 2-hop mux tunnels, and survive a leg failing under a write by @0pcom in #5700
- router: keep a tunnel when its last spare leg is pruned mid-write, and refill small pools by @0pcom in #5701
- docs, routersettings: correct stale handshake, post-quantum, mux.shape and endpoint claims by @0pcom in #5702
- dmsg, rf, cxo, tpviz, tpd: cut allocation and CPU found by the deployment profile by @0pcom in #5703
- tpd: apply telemetry every 15 minutes, skip unchanged rows, fold daily writes by @0pcom in #5704
- tpd: archive settled per-transport uptime timelines and keep 36 hours in redis by @0pcom in #5705
- skydns, skynetca: serve DNS over HTTPS on the resolver address by @0pcom in #5706
- transport: encrypt relayed vstreams end to end by @0pcom in #5707
- logserver: apply the port 80 whitelist to the site's root page by @0pcom in #5708
- skynetca: limit the resolver CA to SkyDNS's range for IP addresses by @0pcom in #5709
- skyenv: serve the skysocks client on loopback by default by @0pcom in #5710
- tpd: keep a transport timeline until its day is archived by @0pcom in #5711
- tpd: retry a telemetry batch whose write failed by @0pcom in #5712
- dmsg, skynet, visor, transport: hand skynet streams to hosted deployment services by @0pcom in #5713
- cli/config: map REWARDSKYADDR to the gen flag --rewardaddr by @0pcom in #5714
- visor, skynet, transport: reach deployment services over skynet by @0pcom in #5715
- cxo, visor: carry CXO feeds to deployment services over skynet by @0pcom in #5716
- cxo, visor: move feed conns to deployment services off dmsg by @0pcom in #5717
- cxo, visor, services: one CXO feed per visor by @0pcom in #5718
- flags: install help on runnable leaf commands by @0pcom in #5719
- tpd: wr...
Skywire Mobile v0.0.8 β SkyMail Contacts π, Wallet Coin Control, French & a Fully Translated Chat
Skywire Mobile v0.0.8 is now available.
This release gives SkyMail its own contact list and fixes large mails that failed or arrived twice. The wallet now lets you choose the address, the coins and the coin hours a send uses, and each coin can ask a list of nodes. The app is now in French, and the whole chat page is translated.
π¬ SkyMail
SkyMail keeps its own contact list now. Add, edit and delete contacts by hand, or tap Save contact on a message in Inbox or Sent. Saved names show in place of addresses in both folders. Your SkyChat contacts still appear in the picker, under From SkyChat. The list belongs to your phone's key, so replacing the key clears it.
Long press a message to start a selection. The bar below can select all, deselect all, invert the selection and delete, and it asks before deleting.
The composer has a dmsg or skynet choice. Flipping it moves every SkyMail address in To and Cc onto that network. A reply starts on the network of the address it answers.
Read and unread mail now look different. Read mail is dimmed and unread mail has a larger dot.
Skymail is now written SkyMail everywhere in the app.
π° Wallet
The addresses list shows each address's balance, in bold when it holds coins. It no longer says Never used under an address that has coins.
Send can spend from one chosen address instead of the whole wallet, on Skycoin and Bitcoin. Available and Max follow the choice. On Skycoin the change goes back to that address.
Skycoin sends have coin control. The Coins row lists your unspent outputs with their amount, hours and address, and the send spends only the ones you pick. The Coin hours field sends exactly that many hours. Left empty, it sends half of what is left after the burn, as before. The review screen shows every hour the send burns, and when a send would burn hours it could keep, it adds one more of your outputs to keep them, as Skycoin's own wallet does.
Each coin's Node screen now holds a list of nodes in order, with up, down and remove on each row. When a node cannot be reached, or answers that it is busy or failing, the wallet asks the next one. A node that just failed is skipped for 30 seconds. The node the app ships with stays at the end as a fallback.
Older Skycoin wallets wrote 24-word seeds with no checksum, and restoring them was refused. Restore now explains this and offers Restore anyway once you have checked every word.
π¬ SkyChat
With Approve new contacts first on, deleting a chat or removing a contact now ends your approval, so their next message is a request again. Before, someone you accepted once could write to you until you blocked them.
An accepted pairing now adds the person to Contacts on both sides, when both run this version. Before, neither side listed them. Removing them afterwards sticks.
After Replace secret key the chat starts empty. Before, it still listed the old key's chats and contacts.
π Languages
Skywire now speaks French. Pick FranΓ§ais in Settings βΈ Language.
The whole chat page is now translated into Chinese, Spanish and French, including notices, confirm dialogs, settings and help text. Before, most of it stayed in English. What people write is never translated.
With the language set to System, the chat page now follows the phone too. Before, it stayed in English.
π Fixes
Fixed a large mail, around 700 KB, that was delivered while the phone said "Could not send: unexpected end of stream".
Sending it again delivered a second copy. The phone now waits up to 5 minutes for the answer, and if even that runs out it says the mail may still arrive and to check Sent first.
Fixed a quick second tap on Send sending the same mail twice.
Fixed attachments that passed the size check and were then refused by the receiver. The check now counts the size exactly as the mail travels, and the warning shows both sizes in KB.
Fixed Delete being squeezed to a sliver beside Reply and Save contact on narrow screens. The buttons now wrap onto a second line.
Fixed Replace secret key on a new install. Before the first Connect it did nothing and showed no error, and the first try could close the app. A mistyped key now says why it was refused.
Fixed coins picked from another address ending in "insufficient balance". The Coins list now shows only the chosen address's outputs.
Fixed "12.5" in the Coin hours field turning into 125. It now says Not a number of hours.
π¦ F-Droid
Skywire's F-Droid submission is still in review.
The release page carries skywire-0.0.8-fdroid.apk. It is the copy F-Droid checks its build against, and it has no in-app updater because F-Droid delivers the updates. If you install from GitHub, take the arm64-v8a APK.
π Help Us Improve the Translations
The chat page is fully translated for the first time, and French is new across the whole app. If you notice incorrect wording, awkward phrasing, or text overflowing a button or screen, please send us a screenshot. These issues are difficult for us to catch automatically and are usually quick to fix.
Also let us know which language you'd like to see next.
v1.3.101
What's Changed
- execwasm: build the js module with the binary under //go:embedbuild by @0pcom in #5538
- cxo: sweep objects no stored root reaches when a publisher starts by @0pcom in #5539
- treestore, tpd: keep settled metrics days out of the heap by @0pcom in #5540
- pty, visor, cli: let the visor reach a pty host over direct TCP by @0pcom in #5541
- execwasm: mark the committed module as the //go:embedbuild fallback by @0pcom in #5542
- deps: update Go modules for every target by @0pcom in #5543
- pty: drop a pooled exec session that never answers by @0pcom in #5544
- visor, services, cxo: one log level the visor can change at runtime by @0pcom in #5545
- ar: report how many closed SUDPH sessions the KCP listener still holds by @0pcom in #5546
- autoconfig: add interactive terminal and web form by @0pcom in #5547
- tpviz, skysocks, netgraph: serve the graph view as its own wasm module by @0pcom in #5548
- deps: keep go-fuse at v2.11.0, v2.12.0 does not build on 32-bit by @0pcom in #5549
- logserver, ar: heap dump route and closed session addresses by @0pcom in #5550
- ar: bound writes to a SUDPH session by @0pcom in #5551
- deps: kcp-go v5.6.82, a scheduler shard no longer sleeps for good by @0pcom in #5552
- rewards: serve on http.ServeMux instead of gin by @0pcom in #5554
- cli: draw trees and colors without pterm by @0pcom in #5555
- all: route the deployment services on http.ServeMux instead of chi by @0pcom in #5556
- visor, httputil: route the hypervisor on http.ServeMux and drop chi by @0pcom in #5557
- all: remove the uptime tracker service by @0pcom in #5558
- deps: websh, bottle and xterm-go at their current main by @0pcom in #5559
- cli config, autoconfig: run a whole deployment in one visor by @0pcom in #5560
- sd/store: drop a conversion LocalIPs no longer needs by @0pcom in #5561
- deskhost: build the desk terminal on websh's session by @0pcom in #5562
- deps: yamux writes queued frames together by @0pcom in #5563
- visor, cli config: run a deployment's discovery services under the visor's key by @0pcom in #5564
- charts: gzip the cached page once per render by @0pcom in #5565
- cli/livetui, deskhost: live views on progkit, and a terminal for skywire in the desk by @0pcom in #5566
- tui: draw the interactive console with progkit by @0pcom in #5567
- skychat, dmsg: chat TUIs on progkit by @0pcom in #5568
- cli/visor/ping, flags: tree and mux-bw-tui on progkit by @0pcom in #5569
- cli config: keep prod's browse origin in a deployment's services-config by @0pcom in #5570
- all: remaining TUIs on tcell v3, drop tview and femto by @0pcom in #5571
- browseui, deskhost: share the shell's /home with the exec worker by @0pcom in #5572
- browseui: one desk filesystem, owned by the exec worker by @0pcom in #5573
- docs: guide to running a custom deployment by @0pcom in #5574
- all: bump bottle so the desk shell runs programs from its files by @0pcom in #5575
- visor: size memory_limit auto from total memory, not free memory by @0pcom in #5576
- cli: add --debug and --gc to log pprof, and log heapdump by @0pcom in #5577
- cli config: generate no memory limit by default by @0pcom in #5578
- ci: ship the js/wasm module beside the binaries by @0pcom in #5579
- visor, cli config: write memory_limit "none" instead of leaving it out by @0pcom in #5580
- deps: bump upload-artifact in android-app and proxy-addr in the manager UI by @0pcom in #5581
- deployment, autoconfig, cli config: let browser visors join a custom deployment by @0pcom in #5582
- visor, charts, services: one status page for a deployment host by @0pcom in #5583
- cli config: keep deployment_status_addr across a regen by @0pcom in #5584
- deployment, dmsgsrv, visor: move dmsg server wss names to skywire.dev by @0pcom in #5585
- deployment: serve prod's browse origin under theskywirenetwork.net by @0pcom in #5586
- all: serve the js/wasm module from disk, refreshed when the desk opens by @0pcom in #5587
- visorconfig: read deployment_status_addr from the config file by @0pcom in #5588
- dmsgclient: build ExecName and Execute under tinygo by @0pcom in #5589
- history: build the bolt store under tinygo by @0pcom in #5590
- dmsgc, visor, cli config: run a deployment's dmsg server on the visor key by @0pcom in #5591
- visor: seed the own dmsg server of a self-only visor by @0pcom in #5592
- visor: seed a self-only visor's server entry with both roles by @0pcom in #5593
- visor: keep a self-only visor's own dmsg server in its entries by @0pcom in #5594
- all: build the whole skywire root with TinyGo by @0pcom in #5595
- all: register RPC servers without reflection under TinyGo by @0pcom in #5596
- deps: drop stale bottle sums from go.sum by @0pcom in #5597
- android: fixes for bugs reported on mobile v0.0.6 by @mrpalide in #5553
- android/fdroid, fastlane: get the F-Droid release of 0.0.7 ready by @mrpalide in #5598
- visor, tpd, router: fix the e2e, emu and windows CI failures by @mrpalide in #5599
- hostbridge: lend a browser visor the host's sockets by @0pcom in #5600
- status page: per-type columns, services table, process charts once by @0pcom in #5601
- tpd/store: keep an expired transport's type for its bandwidth by @0pcom in #5602
- status page: versions next to public keys, requests by caller version by @0pcom in #5603
- tpd/store: keep a reporter's last counters for six hours by @0pcom in #5604
- visor, cli visor: use the sockets of a host bridge by @0pcom in #5605
- disc: set the version header per request, not on a copied client by @0pcom in #5606
- charts, tpd/api: look up a caller's version by its key by @0pcom in #5607
- tpd/store, rewards, cli tp: pay pool 2 on verified sent bytes by @0pcom in #5608
- visor, hostbridge: keep the host bridge across restarts by @0pcom in #5609
- transport/network: open the carriers' sockets through Sockets by @0pcom in #5610
- transport: checkpoint each direction of a transport's byte stream by @0pcom in #5611
- telemetrywire, visor/stats, visor: publish transport stream checkpoints by @0pcom in #5612
- transport, telemetrywire, visor/stats: keep recent checkpoints and sample on the minute by @0pcom in #5613
- tpd: verify pool 2 bytes by matching stream checkpoints by @0pcom in #5614
- visor: run stcpr and sudph of a browser visor on a host bridge by @0pcom in #5615
- visor, hostbridge: hand out the host bridge from a browser visor by @0pcom in #5616
- hostbridge, visor: pair the bridge with one visor, probe from the page by @0pcom in #5617
- visor, skysocks: give apps a host: address namespace by @0pcom in #5618
- vendor: free a dead program's wasm memory in the exec worker by @0pcom in #5619
- router: cancel a batched route setup nobody waits for by @0pcom in #5620
- hostbridge: let a refused tab read why before closing ...