Skip to content

fix: [BETA] spam calling of sources - #214

Merged
bricefriha merged 1 commit into
developfrom
fix/spam_calls
Mar 26, 2025
Merged

bricefriha merged 1 commit into
developfrom
fix/spam_calls

Conversation

@bricefriha

Copy link
Copy Markdown
Collaborator

Because of the misjudgment on my end, the request to get sources was made every time we needed to access an article.

… really set it once but need it all the time everywhere
@bricefriha
bricefriha merged commit 2baf93f into develop Mar 26, 2025
bricefriha added a commit that referenced this pull request Apr 3, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update
bricefriha added a commit that referenced this pull request Apr 5, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling
bricefriha added a commit that referenced this pull request Apr 29, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings
bricefriha added a commit that referenced this pull request Apr 30, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot
bricefriha added a commit that referenced this pull request May 2, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)
bricefriha added a commit that referenced this pull request May 3, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)

* fix: deals loadstuck (#244)

* Deals page - fix | update deal `OnAppearing`

* Deals page | order by expiring deals

* random cleaup
bricefriha added a commit that referenced this pull request May 4, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)

* fix: deals loadstuck (#244)

* Deals page - fix | update deal `OnAppearing`

* Deals page | order by expiring deals

* random cleaup

* hotfix: crash on notification opening (#246)

* Article page - view Model | prevetn `System.ArgumentNullException` on deals

* Article page - ViewModel | handle deals process exceptions

* ArticleViewModel - constructor | check `Deals` before treating it

* iOS - Tab badge | fix out of range issue (#248)
bricefriha added a commit that referenced this pull request May 8, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)

* fix: deals loadstuck (#244)

* Deals page - fix | update deal `OnAppearing`

* Deals page | order by expiring deals

* random cleaup

* hotfix: crash on notification opening (#246)

* Article page - view Model | prevetn `System.ArgumentNullException` on deals

* Article page - ViewModel | handle deals process exceptions

* ArticleViewModel - constructor | check `Deals` before treating it

* iOS - Tab badge | fix out of range issue (#248)

* fix: News Feed doesn't reset when pressing its tab (#251)

* AndroidShellRenderer -  handler | declare it using genereci overload

* Fix - android main feed reset | merge AndroidShellRenderer with TabbarBadgeRenderer

* feat: dynamic time update (#253)

* Converter - Time Span | reformat and clean up

* Main feed - vm | create a method to refresh the timespan of the articles

* Main Feed - On Resume | enhance the on resume behaviour

* News page - update navigation stuff on resume

* news page - view model |

* Fetcher - ArticleExist | make sure to check for Bookmarks being null (#256)

* fix:  ios - UI settings tweaks (#257)

* Settings Page - UI | Change title

* Settings page - UI | tweak notification settings label

* Settings page - view | format code

* settings page - UI | improve the toggles

* Settings page - UI | improve toggle colours
bricefriha added a commit that referenced this pull request May 8, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)

* fix: deals loadstuck (#244)

* Deals page - fix | update deal `OnAppearing`

* Deals page | order by expiring deals

* random cleaup

* hotfix: crash on notification opening (#246)

* Article page - view Model | prevetn `System.ArgumentNullException` on deals

* Article page - ViewModel | handle deals process exceptions

* ArticleViewModel - constructor | check `Deals` before treating it

* iOS - Tab badge | fix out of range issue (#248)

* fix: News Feed doesn't reset when pressing its tab (#251)

* AndroidShellRenderer -  handler | declare it using genereci overload

* Fix - android main feed reset | merge AndroidShellRenderer with TabbarBadgeRenderer

* feat: dynamic time update (#253)

* Converter - Time Span | reformat and clean up

* Main feed - vm | create a method to refresh the timespan of the articles

* Main Feed - On Resume | enhance the on resume behaviour

* News page - update navigation stuff on resume

* news page - view model |

* Fetcher - ArticleExist | make sure to check for Bookmarks being null (#256)

* fix:  ios - UI settings tweaks (#257)

* Settings Page - UI | Change title

* Settings page - UI | tweak notification settings label

* Settings page - view | format code

* settings page - UI | improve the toggles

* Settings page - UI | improve toggle colours

* fix: DealPageSett (#258)

* Settings Page - UI | Change title

* Settings page - UI | tweak notification settings label

* Settings page - view | format code

* settings page - UI | improve the toggles

* Settings page - UI | improve toggle colours

* fix: DealPageSett
bricefriha added a commit that referenced this pull request May 14, 2025
* fix - discord authentication (#199)

* Flyout menu - reduce number of taps to sign in

* App Shell - Make sure we fetch user data first then bind that data

* Flyout - Fix Logout button

* Arch - fetching data | setup a singleton to handle fetching structure and bind it to App Shell

* Shell - Manage logout within the new mechanism

* cleanup - Pages/views

* Code base - Org | Organise the weak reference messages classes

* News Page -| Setup singleton

* Articlepage cleanup

* About Page -| set as a singleton

* Feeds page -| call as a singleton

* Bookmarks - as for all give the singleton  treatment

* App Shell - remove OpenAuth reference

* Android native - BakcPress | remove nullable reference types

* fix: Custom feed not loading after navigating from an article  (#202)

* Fix - Feeds VM | make sure to manage `IsBusy` properly inside `UpdateFeeds()`

* cleanup - Feed VM | Forgot to remove the previous setter of `IsBusy`

* IOS properties - change Debug linker behaviour (#204)

* BETA - Fix: crash sometimes experience on Launch (#205)

* MCT - Regester TouchBehavior as a singleton

* App.cs - Remove start DB on resume

* Ressources - font references | fix the SemiBold reference (#206)

* SQLite - update initialisation (#207)

* fix: sqlite lockcrash (#208)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* Add sentry breadcrumbs to db creation process (#209)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* imp: optimisation of local storage (#211)

* SQLite - update initialisation

* SqLite - make sure we close the connection after we create the tables

* App - CreateWindow | add sentry breadcrumbs

* Local Storage - SQLite | Create a class to genera DB actions

* Local storage - general database | fix typo

* Local storage - general sqlite DB | Implement the service accross the board

* Feed - fix feed search

* MainProg - DI | improve org of db singleton registration

* Local storage - backup | create a service

* fuck me sideways....

* Article Preview - share button | be more specific on the source (#213)

* Fetcher - Sources | Utilise a static reference as Sources, as we only really set it once but need it all the time everywhere (#214)

* Fix: bookmark status (#216)

* Main feed - bookmark | fix the issue of the bookmark status not showing

* Local storage - get bookmark | make sure that bookmarks are marked as IsSaved automatically

* Local storage - main db | remove unecessary listing of artilces

* Bookmark - db | Make sure the status is correctly set

* feeds - view model | remove unused references (#217)

* Fix: feed bookmark issue (#218)

* article - bookmark | make sure to return the rescently added first

* Fetcher - bookmarks | improve performance by caching all the bookmarks (as much as possible

* Bookmark - caching | loas the bookmarks first thing

* Fix: bookmark status not updating on main feed (#219)

* Main feed - bookmark status | change the way we reload the article when receiving the bookmark message

* Article Model - Change bookmark update

* Hotfix: on start exception (#220)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* fix: Fetcher - UpdateBackupSources | improve Error handling (#221)

* App |  Remove StartDb()

* Change the way we update Sources

* Fetcher.Sources | prevent nullable excepttions

* Fetcher - UpdateBackupSources | improve Error handling

* cleanup: stuff I forgot (#224)

* xaml stuff

* remove unused style declaration

* Main Feed - Refresh DB | Make the try catch actually useful

* Feat: notification setup (#225)

* Add google services stuff to git ignore

* Include google services files

* deps | setup thomasgalliker's  `Plugin.FirebasePushNotifications`

* Update push notification setup

* Apple Manifset - enable remote background thinggy

* CI | use environment variable for package id

* display packagename

* CI/CD - iOS | install GoogleService-Info

* CD - android | add secrets

* d

* CD - android | install google-services.json

* prebuild - iOS | fix service tokens

* Ci/CD - file google services installations

* oops

* d

* Ci - update all

* Notification - android | set the icon

* for now let's just `hardcode` packagename (#226)

* fix: android pre-build - fix environment variables (#228)

* CD - android pre-build | fix environment variables

* update xcode version

* fix: pipelines xcode version (#229)

* pipelines - dev | upgrade xcode

* pipelines - prod | upgrade xcode

* fix: notification setup (#230)

* Ci - Adnroid | Check google services token

* Prebuild - android | set the package name from the worflow

* push notification - ios | fix setup

* deps | Bump Plugin.FirebasePushNotifications to prerelease

* Notiffication setup - Android | improve logging

* fix: change the approach of Google Services credentials (#231)

* CD - android | get google service token

* forgot google_services_json

* cd - android | Generate and import Google Services in their respective steps

* CD - Android | change the way we generate google services

* CD - iOS | generate google services

* CI - main workflow | forgot google services PLIST

* pre-build - android | remove unnecessary stuff

* CI/CD - all | Remove redundant references of google services properties

* CD - iOS | fix typo

* same

* workflow | update prod

* s

* fix - dev pipeline

* dev deploy | remove

* feat: notifications implement channels (#232)

* Notifications - android | add channels

* Notifications - Android | List channels

* deps | downgrade `Plugin.FirebasePushNotifications`

* workflow - android | set `changesNotSentForReview: true`

* feat: notification navigation (#233)

* Android - setup | enable `SingleTask` Launch Mode

* Article - notification | handle navigation to the article

* Notification - OnNotificationOpened | convert `articleId` to string

* fix crash on notification nav

* Article - notification | handle loading indicator better

* Android - notification | improve permission request

* Article - Notification | add option to handle action

* cd-android.yml | unset changesNotSentForReview

* Feat: notifications settings (#235)

* Android - Notification | add `PostNotification` permission to the manifest

* Notification Request | make it makes sense

* Shell | add a totally empty settings page

* Setting page | design

* Settings page - open notification settings

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs (#238)

* Hotfix: crash notification (#239)

* notif - fix| OnNotificationOpened + OnNotificationAction ->  escape null inputs

* Notification - OnNotificationOpened | check `articleId` key exist

* Notification - OnNotificationOpened | documentation

* I'm a bit of an idiot

* feat: deals page (#237)

* Shell - Views | create and bind deals page

* Styles - Add discount color

* Deals page - Display deals

* Article page - deals | change discount colour

* Article page - deals | change size of the discount mark

* SQLite - general DB | store deals

* Deal Page | create a badge

* General Storage | Complete `UpdateDeals`

* Cleanp up | Article comparer

* Deal page - Add loading indicator

* Deal page -| reorder deals

* feat: settings - deals (#242)

* Settings - deal | enable/disable deal page

* Settings - Deals | enable/disable deals on article page

* Settings - vm | create a general method to handle updates

* feat: add notif badges (#243)

* fix: deals loadstuck (#244)

* Deals page - fix | update deal `OnAppearing`

* Deals page | order by expiring deals

* random cleaup

* hotfix: crash on notification opening (#246)

* Article page - view Model | prevetn `System.ArgumentNullException` on deals

* Article page - ViewModel | handle deals process exceptions

* ArticleViewModel - constructor | check `Deals` before treating it

* iOS - Tab badge | fix out of range issue (#248)

* fix: News Feed doesn't reset when pressing its tab (#251)

* AndroidShellRenderer -  handler | declare it using genereci overload

* Fix - android main feed reset | merge AndroidShellRenderer with TabbarBadgeRenderer

* feat: dynamic time update (#253)

* Converter - Time Span | reformat and clean up

* Main feed - vm | create a method to refresh the timespan of the articles

* Main Feed - On Resume | enhance the on resume behaviour

* News page - update navigation stuff on resume

* news page - view model |

* Fetcher - ArticleExist | make sure to check for Bookmarks being null (#256)

* fix:  ios - UI settings tweaks (#257)

* Settings Page - UI | Change title

* Settings page - UI | tweak notification settings label

* Settings page - view | format code

* settings page - UI | improve the toggles

* Settings page - UI | improve toggle colours

* fix: DealPageSett (#258)

* Settings Page - UI | Change title

* Settings page - UI | tweak notification settings label

* Settings page - view | format code

* settings page - UI | improve the toggles

* Settings page - UI | improve toggle colours

* fix: DealPageSett

* feat: display source image (#261)

* UI - Article Preview | display the logo of the source if available

* UI - Article Page | Add source image or badge as title

closes #249

* fix: ios badge thread issue (#264)

* ios - tab badge | run that on the main  thread

* ios - tab badge | UpdateBadge() error handling

* fix: no internet connection handler (#265) Resolves #262

* fetcher - error handler | prevent internet connection related error from being reported

* fcm - offline | notification setup disable if device offline

* Fetcher - HTTP error handler | move the internet connection check at the top
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.

1 participant