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

ALTAPPS-424: Shared change endpoint config on demand & debug feature draft #295

Conversation

ivan-magda
Copy link
Member

@ivan-magda ivan-magda commented Dec 29, 2022

YouTrack Issues:
#ALTAPPS-424

Checklist

Before Code Review:

  • Fields "Assignees, Labels, Milestone" are filled in the pull request;
  • Sentry Performance Monitoring of screen loading is added for new screens; (будем делать в задаче на presentation/view)
  • View analytics events are added for new screens; (будем делать в задаче на presentation/view)
  • New analytics events are documented; (будем делать в задаче на presentation/view)
  • All checks have been passed;
  • Changes have been checked locally.

Description

  1. Добавлена возможность изменять активный endpoint config (dev, release, production).

Изначально я хотел добавить 3 JSON файла для каждого из endpoint config и построении (при запуске приложения) графа зависимостей загружать нужную JSON конфигурацию для текущего endpoint config type. Но это оказывается не просто, нужно как-то копировать эти JSON файлы в assets Android и iOS приложений, а потом еще как-то читать с диска, поэтому решил забить на это и продолжить использовать BuildKonfig.

В момент построения buildkonfig очевидно, что сразу нужно генерировать все возможные параметры, поэтому для генерируемого buildkonfig стала область видимости internal и добавился wrapper над ним BuildKonfig, который уже основываясь на текущем endpoint config type возращает нужные параметры. Ну и самое заметное неудобство - для получения параметров BuildKonfig нужно создать экземпляр класса, ранее это не нужно было делать, но BuildKonfig теперь лежит в CommonComponent, поэтому должно быть не так больно, чтобы получить к нему доступ.

Текущий endpoint config type определяется на основании, что сохранили в настройках по ключу DebugCacheDataSourceImpl. По умолчанию используется production endpoint config type. При изменении значения по этому ключу в DebugFeature нужно будет почистить кэши, разлогинить и возможно что-то еще, но это в рамках другой задачи.

  1. Добавлен шаблон Debug фичи.

Там сейчас скорее всего есть ненужные Messages, Action или недостаточно чего-то - это уже будет исправляться в рамках задачи, когда будем делать presentation/view.

Для того, чтобы понять нужно ли показывать debug menu в DebugFeature добавлена такая проверка DebugFeature.isDebugFeatureAvailable(buildKonfig:). IS_DEBUG_CONTROLS_ENABLED будет передаваться в CI, а при отсутствии такой ENV переменной будем смотреть BuildVariant.DEBUG локальная разработка.

@ivan-magda ivan-magda self-assigned this Dec 29, 2022
@github-actions github-actions bot added android Android module task ios iOS module task shared Shared module task labels Dec 29, 2022
@ivan-magda ivan-magda added this to the 1.7 milestone Dec 29, 2022
@ivan-magda ivan-magda marked this pull request as ready for review December 29, 2022 05:12
@ivan-magda ivan-magda added the awaiting review Pull Request is awaiting code reviews label Dec 29, 2022
@ivan-magda
Copy link
Member Author

@XanderZhu ping

@XanderZhu XanderZhu added awaiting changes Changes requested, waiting on author to update and removed awaiting review Pull Request is awaiting code reviews labels Jan 10, 2023
@ivan-magda ivan-magda added awaiting review Pull Request is awaiting code reviews and removed awaiting changes Changes requested, waiting on author to update labels Jan 11, 2023
@XanderZhu XanderZhu added ready to pull Pull Request is ready to merge and removed awaiting review Pull Request is awaiting code reviews labels Jan 11, 2023
@ivan-magda ivan-magda merged commit 7f5b9c8 into develop Jan 11, 2023
@ivan-magda ivan-magda deleted the feature/ALTAPPS_424/shared_debug_menu_change_flavor_on_demand branch January 11, 2023 09:31
This was referenced Jan 16, 2023
@ivan-magda ivan-magda removed the ready to pull Pull Request is ready to merge label Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android Android module task ios iOS module task shared Shared module task
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants