Implement PoC (proof of concept) of the State Management that increase performance
@korel-san ci sta già lavorando.
Dal 14/2/2023.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Inizia analizzando elf, effector e ng-state in base ai criteri indicati di leggerezza, semplicità, routing-subscription e session storage. Poi esamina il parsing esistente di routing-state e l’utilizzo di StringHelpers.encodeObjToUrlString prima di creare src/state/actual-route-state.repository.ts. Il lavoro è completato quando un actual route state unificato è disponibile tramite un repository esclusivamente locale e non esiste alcuna istanza in production.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The main goal of the task: create State Service that contains the parsed actual route state.
More details:
The routing state depends on the page and functionality of the page. Now many components trying to parse it, which increased code duplication and worked not properly in some cases. So, for the unification of the actual routing state, we consider separating functionality in service, which would handle the actual route state, and every component would be asked from its real data for their purposes.
We don't want to use current state management ngrx due to the high level of tied dependency of the current implementation, so not to add extra naming and have a more lightweight solution, we want to use another tool for this PoC will allow us to not affect the current performance.
Actual implementation plan:
- investigate 2-3 state management packages: elf, effector, ng-state
Points on which we need to focus
- it should be lightweight
- it should be pretty simple
- package should allow to manipulate of routing (subscription, session storage)
- create a state folder in the src and add there
actual-route-state.repository.ts. In this file, we need to create a repository that would manage the routing state. Please, take into account, that this state management should work only for the local environment. On prod env, this instance should not exist. - In some cases probably you will need to create Adapters that would convert the current routing state to a meaningful one. For example for pages where we have
protectedquery parameters via the encoding ofStringHelpers.encodeObjToUrlString. So after this implementation, every developer should be allowed to see the state of this service on every page of the project.
- Lingua principale
- TypeScript
- Stelle
- 12
- Fork
- 7
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AbsaOSS/spline-ui
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 20/100
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 20/100
-
Update Angular & other dependenciesForse già presa @korel-san l’ha presa 675 giorni fa. Apertadependencies
Difficoltà 4/5 3-5 giorni Idoneità per principianti 10/100
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di AbsaOSS/spline-ui
Issue simili
-
bug parity
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
WenyuChiou/agent-board#1489 ·
I maintainer di solito rispondono entro 1 giorno
-
area: bazaar bug complexity: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
accensa/x402-facilitator-stellar#779 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue P4 size:S web-ui
Difficoltà 2/5 Mezza giornata Idoneità per principianti 85/100
josephfung/curia#2600 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
cloudflare/partykit#444 ·