{"push_id":2763059919,"size":1,"distinct_size":1,"ref":"refs/heads/cred-app-state-machine","head":"3c6c5795a82288ac94b75e9d5e293946a3239367","before":"46e16f352c0dd06cec057e4c82aad15096ee51ca","commits":[{"sha":"3c6c5795a82288ac94b75e9d5e293946a3239367","author":{"name":"Dandelion Mané","email":"28b8bab106c8999d412748bd8770e7f20095ffcc@dandelion.io"},"message":"Implement AppState and StateTransitionMachine\n\nThe cred explorer app has a variety of valid states. Currently, it is\nthrown together without explicit documentation of what its states are,\nhow they transition, or error handling or testing. I worry that this\nwill be hard to maintain.\n\nThis commit creates the AppState type which explicitly reifies every\nreachable state for the app, and a StateTransitionMachine which handles\ntransitions between states. The transitions are thoroughly tested,\nincluding edge cases where the user makes a change while waiting for a\npromise to resolve, or where one of the promises failes.\n\nTest plan:\nThe unit tests are comprehensive. `yarn test` passes.\n\nThanks to @wchargin for much discussion about how to structure the\nstates.","distinct":true,"url":"https://api.github.com/repos/sourcecred/sourcecred/commits/3c6c5795a82288ac94b75e9d5e293946a3239367"}]}
{"actor":{"display_login":"decentralion"}}