Skip to content

Refactor: Shared-Preference -> DataStore-Preference#52

Merged
JeelDobariya38 merged 22 commits intomainfrom
jeel-dev
Nov 21, 2025
Merged

Refactor: Shared-Preference -> DataStore-Preference#52
JeelDobariya38 merged 22 commits intomainfrom
jeel-dev

Conversation

@JeelDobariya38
Copy link
Member

@JeelDobariya38 JeelDobariya38 commented Nov 19, 2025

Changes Made

  • Improve Build Scripts.
  • Improve Feature Flags System: use datastore preference.
  • Improve App Settings DataStore.
  • Improve debug & staging variant app icons.
  • Add hook for commit message.

💥 Breaking Changes 💥

  • As the app is migrated to use DataStore, all previous app settings of user will be deleted & lost permanently. In this case, user will need to reconfigure the settings.
  • This will also be the case, as the new settings are introduced in future because datastore doesn't provide a way to migrate the previous datastore I guess.

Notes

This is attempt to fix a security vulnerability report by dependabot. related to proto buffers.

@JeelDobariya38 JeelDobariya38 self-assigned this Nov 19, 2025
@JeelDobariya38 JeelDobariya38 added the refactor refactor the code label Nov 19, 2025
@JeelDobariya38
Copy link
Member Author

JeelDobariya38 commented Nov 19, 2025

Is it okay to mention security vulnerability in pr description or changelog, or anywhere publicly... once the vulnerability is fixed.

I think the answer would probably be 'no', but then how to inform the other team members that this particular pr or commit fix it.. or even how to tell user that update has released that fixs vulnerability so update to latest version...

If it was backend the answer would easy because you can create new deployment and then mention vulnerability... but i don't know what to do in android's case

Can security managers (@razorblade23 & @kudanilll) please help me with this..

@JeelDobariya38 JeelDobariya38 added the help wanted Extra attention is needed label Nov 20, 2025
@JeelDobariya38
Copy link
Member Author

#52 (comment)

I have try to find a good fit solution to this data store migration thing... but sadly i didn't end up with even a single one on internet...

So, I have try make my own, based on some assumption... I haven't test it.. but you can find the solution that i propose in app/src/main/kotlin/com/jeeldobariya/passcodes/flags/FeatureFlagsSettings.kt#L24-95

Can please check it for correctness....
or just tell thoughts on it...

@yogeshpaliyal, @kudanilll

@JeelDobariya38
Copy link
Member Author

JeelDobariya38 commented Nov 21, 2025

#52 (comment)

I have try to find a good fit solution to this data store migration thing... but sadly i didn't end up with even a single one on internet...

So, I have try make my own, based on some assumption... I haven't test it.. but you can find the solution that i propose in app/src/main/kotlin/com/jeeldobariya/passcodes/flags/FeatureFlagsSettings.kt#L24-95

Can please check it for correctness.... or just tell thoughts on it...

@yogeshpaliyal, @kudanilll

this solution will kind of be my last try, if it work then that complete fine...

otherwise, if it doesn't work we leave this for now... mean in passcodes app the users will need restore/reconfigure there settings again after update app (if that update involve change in app settings.. which possible, mostly updates will...)

I will in future do something about it probably when passcode app is more mature and has other important features.... but currently the app will have something like this..

@JeelDobariya38
Copy link
Member Author

JeelDobariya38 commented Nov 21, 2025

@yogeshpaliyal can please check the file and tell what you think...

also would like if you can review the code.. also

app/src/main/kotlin/com/jeeldobariya/passcodes/flags/FeatureFlagsSettings.kt#L24-95

@JeelDobariya38 JeelDobariya38 merged commit 47543a8 into main Nov 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

help wanted Extra attention is needed refactor refactor the code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants