feature request: migrate deepLinking saga from JavaScript to TypeScript
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- react-native, typescript
- Ambito
- mobile
Direzione di ricerca
Inizia leggendo app/sagas/deepLinking.js e confrontandolo con le saghe, le azioni e le utility TypeScript già migrate nella pipeline di navigazione e deep-linking. Esamina navigate(), handleOpen(), handleOAuth() e handleInviteLink(), insieme al mapping roomTypes e all’uso dei parametri di deep-link. Il lavoro è completato quando questa saga è in TypeScript e include parametri tipizzati, valori restituiti dai generatori, mapping e un’interfaccia IDeepLinkParams che copra i flussi elencati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Description
app/sagas/deepLinking.js is the only saga in the codebase still written in plain JavaScript. Every other saga, action, and utility in the navigation and deep-linking pipeline has already been migrated to TypeScript — but this file was left behind.
This means the most critical routing saga in the app — handling all deep links, push notification routing, server switching, OAuth, and share extension flows — has zero type safety.
Specific gaps:
params.type,params.rid,params.host,params.pathare all untypedroomTypesmapping object has no typed keys or values- Generator functions
navigate(),handleOpen(),handleOAuth(),handleInviteLink()have no typed parameters or return types - Errors from passing the wrong
paramsshape are silently swallowed at runtime
Motivation and Use Case
- Runtime errors in deep link / push notification routing become invisible until they reach users
- Makes it harder to safely refactor navigation structure — any change to this file can't be validated by the compiler
- Inconsistent with the rest of the codebase which is fully typed
- Adding a typed
IDeepLinkParamsinterface will immediately surface any misuse at compile time
Additional Context
This file is directly involved in push notification routing and deep link handling. Having it typed will make future navigation work (e.g. any navigation restructuring) safer and compiler-validated.
- Lingua principale
- TypeScript
- Stelle
- 2.4k
- Fork
- 1.5k
- Merge medio
- 1g 15h
- PR unite (30g)
- 29
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
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 RocketChat/Rocket.Chat.ReactNative
-
[IMPROVEMENT] Remove redundant `await` on synchronous `userPreferences.getBool` in `getUsersPresence`Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertatype: feature
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
RocketChat/Rocket.Chat.ReactNative#7737 ·
I maintainer di solito rispondono entro 1 giorno
-
UIKit modal: a viewSubmit response with no `type` field fails to close the modal on mobile (regression from #7057)Forse già presa @erikurt9 l’ha presa 106 giorni fa. Apertatype: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
RocketChat/Rocket.Chat.ReactNative#7503 · 3 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
type: bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
RocketChat/Rocket.Chat.ReactNative#7437 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
✅ tests 👷 ci type: feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
RocketChat/Rocket.Chat.ReactNative#7247 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug: goRoom navigates to broken RoomView after failed DM creation from searchForse già presa @deepak0x l’ha presa 216 giorni fa. Apertatype: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
RocketChat/Rocket.Chat.ReactNative#7098 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di RocketChat/Rocket.Chat.ReactNative
Issue simili
-
Bug: Broken RTL / BiDi text rendering when mixing Persian (Farsi) with English or numbersForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
amosblomqvist/learnharness#758 ·
I maintainer di solito rispondono entro 2 giorni
-
Change WorkspacesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
bitfocus/companion-module-renewedvision-propresenter-api#134 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
rcpch/digital-growth-charts-react-component-library#304 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dsh-market/dsh-market#1210 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
trustjonathan/STUDY-HUB#13 ·