Comments (17)
I'd like code comments to be a large part of this.
from swarms.
I am in @oskarth
from swarms.
I pledge focus 40h/w. (20 if desktop idea starts next week)
from swarms.
I already started working on re-frame refactoring (which means removing u/side-effects! and making everything more consistent and idiomatic) and db refactoring (related task is status-im/status-mobile#2341). So I would certainly like to continue.
I pledge focus of 0.5.
from swarms.
I will update this comment with new user stories as they come up to unclog the OP
User stories
1. The app can be started in a specific state with a configuration file (developer feature)
As a developer I want to be able to start the application with a specific configured state
a configuration file should allow me to choose the account, the screen and the initial app-db I want to work with.
I can see this also being useful for onboarding, a new developper could quickly get to work on a feature if we provide him with the configuration file and mockup of the feature he has to work on.
It can also be used for open bounties, where a configuration file can help reproduce the bug consistently.
Current situation
As a developper I have to login and go to the screen I am working on manually everytime I restart the application
If the data is deleted I also have to recover the account and add contacts, messages and so on to recover the state I was working on.
2. The developper environment can be launched with a single command (clojurescript tooling)
As a developper I want to be able to start working on the app with a single command such as lein android-dev
, lein ios-dev
or lein desktop-dev
.
Current situation
As a developper even after setting up all the project dependencies I still need to run multiple commands on different terminals before I can get started. It can be scripted but these scripts are hardly portable and there might be better alternatives.
from swarms.
Requirements
1. add profiling to re-frisk
- can see events durations
- can see subscriptions durations
There is already re-frame-trace that offers such functionnality for a web re-frame app with an embedded profiling view. I started a discussion with someone who extracted the profiling part without the UI and is interested in integrating with re-frisk remote:
2. the app can be started in a specific state with a configuration file
- refactor the app/account startup process
- move to react-navigation ? status-im/status-mobile#1592 (deep-linking will also be beneficial for a lot of other features such as QR codes or documentation)
see user story 1
3. the developper environment can be launched with a single command
see user story 2
4. react-native update
Already in progress, see status-im/status-mobile#2217
Urgent - Need help to update iOS
related issues to fix:
- remove long setTimeout: status-im/status-mobile#2408
- move to flatList: status-im/status-mobile#1840
5. finish re-frame refactoring
This is important because right now the mix of old/new style of events is confusing and the old style is harder to test. It will enable the next step which is to have way more tests
- Remove the last u/side-effects to finish transition to more idiomatic re-frame application
6. Refactor db usage
There is currently a mix of synchronous and asynchronous db updates as well of coeffect abuse in our codebase. We should discuss how to unify the way we do db updates as well as eventually make deeper changes to the data-store namespaces
More details here: status-im/status-mobile#2307
7. Remove derived data from app-db
We should not duplicated fields in the app-db, subscription are cached, map lookups have a negligeable cost, so duplicating a field to make it "more accessible" is just a potential source of potential inconsistency and additional refactoring burden
8. Fix Node is already running
error when connecting to an account
This is annoying because a figwheel reload is basically useless. It will be even more important once we can start the app where we want because we can then fix the red screen and figwheel reload get us back there without any further action. But until this is fixed it won't be possible when trying to connect to an account after a red screen and figwheel reload, I always get this node is already running error when connecting to an account
9. Document the debug server
- what is it ?
- what can I use it for ?
- How can I use it ?
10. Get devtools to work
Currently it never get passed the login because it is too slow
11. Sponsor clojurescript tooling development
We could sponsor development of tools that are useful for us such as re-natal or boot-react-native to improve their progress.
The simplest solution is to sponsor re-natal development to make sure it keeps up-to-date with react-native, and makes updates smoother.
The alternative is to sponse boot-react-native which might be more promising, also touching requirement 3.
from swarms.
I pledge focus 40h/w
from swarms.
It would be good to have
- log and highlight calls to jail in re-frisk, we should keep our eyes on these calls
- show event in re-frisk events list before this event will be handled, and show timer, and color from green to red
I pledge focus 10h/w
from swarms.
@flexsurfer nice idea, regarding the tracing could you have a look at day8/re-frame-10x#75 and see how we can collaborate with that dev ?
from swarms.
👍 for code comments!
Also good names (functions and arguments), codebase structure, short functions and great tests go a long way.
Comments are still necessary for context, bigger ideas, workaround, ..
from swarms.
Request: Include status-im/status-mobile#1923 in scope. It isn't mentioned in list but to me this is very much a part of developer experience (estimate 20h-40h total lost to this in terms of devs upgrading/downgrading and discussion/confusion around this).
from swarms.
I noticed this swarm is lacking someone in Testing & Evaluation
, which is something we want for each swarm. @yenda do you have one and this is just not captured or what's up?
from swarms.
@yenda Do you think we could update the Goals & Implementation Plan
section so it is more up to date? It's fine if it means cutting scope/things being delayed or whatever, as long as it somewhat accurately captures state of things.
from swarms.
Testing & Evaluation: @nastya
Hi all! What is this all about and why have I been mentioned here?
This is the first time I hear about this project. Also see #61 (same).
from swarms.
@nastya Sorry about this! @asemiankevich uses "Nastya" as nick on our internal Slack, hence we sometimes write this on Github too by mistake. Please ignore.
from swarms.
@yenda. What do you think about closing this as it hasn't really taken hold? Creating a powerful tool for our developers is important, and we should tackle this once we have a stable and working app.
from swarms.
@naghdy sure actually most of it has been done now
from swarms.
Related Issues (20)
- Weekly Digest (6 October, 2019 - 13 October, 2019)
- Weekly Digest (13 October, 2019 - 20 October, 2019)
- Weekly Digest (15 December, 2019 - 22 December, 2019)
- Weekly Digest (22 December, 2019 - 29 December, 2019)
- Weekly Digest (19 January, 2020 - 26 January, 2020)
- Weekly Digest (26 January, 2020 - 2 February, 2020)
- Weekly Digest (2 February, 2020 - 9 February, 2020)
- Weekly Digest (9 February, 2020 - 16 February, 2020)
- Weekly Digest (16 February, 2020 - 23 February, 2020)
- Weekly Digest (23 February, 2020 - 1 March, 2020)
- Weekly Digest (12 April, 2020 - 19 April, 2020)
- Weekly Digest (19 April, 2020 - 26 April, 2020)
- Weekly Digest (26 April, 2020 - 3 May, 2020)
- Weekly Digest (3 May, 2020 - 10 May, 2020)
- Weekly Digest (28 June, 2020 - 5 July, 2020)
- Weekly Digest (5 July, 2020 - 12 July, 2020)
- Weekly Digest (12 July, 2020 - 19 July, 2020)
- Weekly Digest (19 July, 2020 - 26 July, 2020)
- Weekly Digest (26 July, 2020 - 2 August, 2020)
- Weekly Digest (2 August, 2020 - 9 August, 2020)
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 swarms.