Comments (5)
Alternatively if we intend to keep input machine as is (meaning it will panic) then input machine should also be started when core is started.
from magic-wormhole.rs.
But note that if we try to do Input machine start then we need to integrate with Input machine every where. Else panic just moves to different place :)
from magic-wormhole.rs.
Yeah, I left a reminder to myself (the TODO comment on want_nameplate()) that turned out to be involved: the wordlist can arrive in states for which we don't want it. In fact, if set_code()
is called, it can arrive before we even set the nameplate (although maybe we could fix that, by being more cautious about how we emit the other events).
I'm working on this now. Input should accept (and store) the wordlist in any state. I'm wrestling with whether to implement this by copying all the states (so we'd have a WantNameplateNoNameplatesNoWordlist
, WantNameplateNoNameplatesHaveWordlist
, WantNameplateHaveNameplatesNoWordlist
, etc.. gross), or having a separate Option<Wordlist>
on the Input struct (which I think copyninja had recommended before.. you were right :). I'll probably go with the latter.
I'm also changing the Boss machine to have a distinct Start
event, because the most immediate problem with io/blocking
is that it never initiates the websocket connection, because it isn't currently calling start
. Since Start
returns Actions, it should really be called in the same way as any other API call (so the caller is prepared to act upon the vector of actions that come back), so I'm wiring it up as a regular API event instead of a distinct API call. For io/blocking
, after it sets up the thread and the channel, it'll send()
a Start
through the API channel, which should kick everything else off.
The application won't see this start
event or API: it will be hidden inside the IO layer.
from magic-wormhole.rs.
I just landed the Start event. I'll work on the Input/wordlist stuff later today.
from magic-wormhole.rs.
During my refactorings of the core, the input listing feature got cut. Sorry about that. It'll probably have to be re-implemented completely from scratch again, so this issue is obsolete now.
from magic-wormhole.rs.
Related Issues (20)
- Cancellation doesn't work in all cases
- Detect broken TCP connection to peer HOT 1
- Port forwarding crashes HOT 4
- AddrNotAvailable error for IPv4 on Windows HOT 1
- RUSTSEC-2022-0048: xml-rs is Unmaintained HOT 1
- Using tcp relay with tcp:hostname syntax will panic
- Feature Request: cli installable using cargo-install HOT 2
- feature request: support ssh invite/ssh accept modes HOT 5
- Add function to get claimed nameplates
- Flaky tests
- rand >= 0.8 break WASM support HOT 3
- Feature suggestion: show bitrate in progress bar HOT 5
- Progress bar bitrate intermittently drops on the sending side HOT 10
- `send --code` does not verify that a nameplate was provided and uses the entire code as the nameplate instead HOT 2
- RUSTSEC-2023-0037: crate has been renamed to `crypto_secretbox` HOT 1
- Release mac binaries HOT 1
- RUSTSEC-2023-0052: webpki: CPU denial of service in certificate path building
- [Feature request] Drop xsalsa20poly1305 dependency HOT 3
- Adapt help message for renamed binary
- Windows binary for v0.6.1 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magic-wormhole.rs.