Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Corrige navegação ao ser direcionado via Deep Link #950

Merged
merged 7 commits into from
Apr 5, 2024

Conversation

steniooliv
Copy link
Contributor

@steniooliv steniooliv commented Apr 1, 2024

Description

Este PR corrige a navegação quando é direcionado via Deep Link.
Conforme mencionado na issue #934, o arquivo modular_route_information_parser.dart tem uma variável para uma condição que verifica se é a primeira vez que é feito o parse. Porém não funciona corretamente quado o usuário sai do App e volta através de um deep link, que irá o redirecionar para uma rota interna.

Por isso, acredito que seja melhor remover essa variável e a condição para solucionar este problema. Em contra partida o parse deverá ser feito sempre, porém, acho menos custoso que ter algum observador para identificar que o usuário 'suspendeu' e 'ativou' o app novamente.

Cenário Observado

Aplicativo em Flutter 3.19.1
Package Modular 6.3.2

  • Ao abrir o App o usuário acessa uma tela de login, ao clicar em login, é direcionado para uma webview.
  • Quando o usuário faz login na webview recebe uma URL (deep link) para retornar para o App e ser direcionado para uma rota interna
  • O usuário não é direcionado para a rota e fica na mesma tela anterior.

Checklist

  • The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
  • I have read the Contributor Guide and followed the process outlined for submitting PRs.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples.

Breaking Change

  • Yes, this is a breaking change.
  • No, this is not a breaking change.

Related Issues

Fixes #934

@jacobaraujo7
Copy link
Contributor

Olá.
Obrigado pelo PR.
Existe uma situação que devemos analisar.
A condição que foi removida servia para que o Flutter Web funcionasse sem problemas quando o navegador recebesse a url de uma rota. Isso só seria util no Flutter Web. Chegou a testar essa situação?

Copy link

codecov bot commented Apr 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.52%. Comparing base (b838b40) to head (a281fe6).
Report is 9 commits behind head on master.

❗ Current head a281fe6 differs from pull request most recent head 6fed1be. Consider uploading reports for the commit 6fed1be to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #950      +/-   ##
==========================================
- Coverage   99.87%   99.52%   -0.36%     
==========================================
  Files          34        8      -26     
  Lines         824      209     -615     
==========================================
- Hits          823      208     -615     
  Misses          1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@steniooliv steniooliv changed the title Fix: Corrige navegação ao ser direcionado via Deep Link fix: Corrige navegação ao ser direcionado via Deep Link Apr 3, 2024
@steniooliv
Copy link
Contributor Author

Olá.
Obrigado pelo PR.
Existe uma situação que devemos analisar.
A condição que foi removida servia para que o Flutter Web funcionasse sem problemas quando o navegador recebesse a url de uma rota. Isso só seria util no Flutter Web. Chegou a testar essa situação?

Fiz uma PoC com duas rotas, home e cart, para poder testar o acesso direto a rota cart.
Foi algo bem básico, pode ser visualizado aqui: https://github.com/steniooliv/modular_test

Gerei esse App, e publiquei no Firebase Hosting, e pode ser validado através da url de home:
https://modular-teste.web.app/ e também pode ser realizado o acesso direto a rota de cart
https://modular-teste.web.app/cart

Aqui funcionou normlamente, não sei se seria algo nesse sentido ou se havia um cenário mais específico.

@jacobaraujo7 jacobaraujo7 merged commit 93a7366 into Flutterando:master Apr 5, 2024
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deep links and universal links fail to navigate to the correct screen when the app is already open.
2 participants