fal
05/13/2026, 10:38 AMHristijan
05/13/2026, 11:36 AMfal
05/13/2026, 1:29 PMResultEffect to be registered at the same level as the viewModel instantiation, which presents the issue I described above.sindrenm
05/13/2026, 1:30 PM[…] where each feature knows about navigation, and depends on other features api modules to know about NavKeys to navigateI'm quite sure the reason for this, and not some
:core:navigation:nav-keys module that holds all the nav keys, is to avoid unnecessarily building modules that don't need to be rebuilt just because one nav key was added, changed or removed.sindrenm
05/13/2026, 1:33 PMfal
05/13/2026, 1:33 PMfal
05/13/2026, 1:34 PMIan Lake
05/13/2026, 1:41 PMfal
05/13/2026, 1:50 PM:api / :impl modules already focus on the data/domain layers, while :ui is, well, more for ui related stuff. I can't give you a good argument there, but doesn't feel great for a feature to just depend on another because it needs to navigate to it, and otherwise doesn't have any other relationship.
I'll concede though that there is definitely a fair amount of subjectiveness on what I just said, so it's fair to say that the NIA pattern is simply the recommended oneIan Lake
05/13/2026, 2:13 PM:api and :impl are supposed to mean something though: what you publicly expose specifically to other modules (your API) versus your implementation details. Are you not using those names to mean those things?fal
05/13/2026, 2:37 PM:api :impl arguments, as obviously we could easily adjust to it (and yes, api and impl does mean that to us, it's just that implicitly we have been more using it to mean the api/impl of data/domain layers, and cornering ui related stuff by itself, not that we couldn't adjust.Ian Lake
05/13/2026, 9:57 PMRyan Payne
05/14/2026, 12:04 AMfal
05/14/2026, 9:44 AMursus
05/14/2026, 11:05 PM