hyttahub 0.1.55
hyttahub: ^0.1.55 copied to clipboard
A serverless Flutter framework for building applications with an event-sourced architecture, shared site management, and built-in compliance.
0.1.55 #
- Web Renderer & Browser Detection:
- Added runtime detection for the active Flutter web renderer (Skwasm, CanvasKit, or JS/HTML).
- Added browser detection to identify if the app is running in Chrome vs. other browsers.
- Displayed this information in the
HyttaHubInfoPagefor improved debugging and environment awareness on the web.
- Flexible Isolate Configuration:
- Introduced a global
useIsolatesflag inHyttaHubOptionsto allow controlling the use of background isolates for computationally intensive tasks like replay logic. - Enabled conditional disabling of isolates in the web environment to ensure compatibility across a wider range of browsers and hosting configurations.
- Introduced a global
- UI Customization:
- Added configuration options to the
HyttaHubAppBarActionswidget to toggle the visibility of the Language, Theme, and Platform pickers. - Provides developers with greater control over the app bar interface, allowing them to hide controls that are not relevant to their deployment.
- Added configuration options to the
- Maintenance:
- Updated version metadata to reflect the v0.1.55 release.
0.1.54 #
- Standardized Terminology ("Hub" Strategy):
- Transitioned the entire application from "Site" terminology to the more generic and versatile "Hub".
- Implemented a "Lite" localization strategy that removes redundant nouns where the UI context is clear (e.g., "Site Name" → "Name", "Leave Site" → "Leave").
- Applied these changes consistently across all supported languages (English, Spanish, Italian, Norwegian, and Dutch).
- Localization & Internationalization Improvements:
- Achieved 100% key coverage for all non-English localization files (
intl_es,intl_it,intl_nb,intl_nl), resolving dozens of untranslated message warnings. - Translated high-priority system screens, including the Data Store Initialization and Service Admin management flows.
- Fixed Dutch translation inaccuracies and mixed-language strings.
- Achieved 100% key coverage for all non-English localization files (
- Maintenance & Logic Cleanup:
- Standardized storage deletion and cleanup logic across Firebase, PocketBase, and in-memory storage, ensuring
MarkForDeletiondocuments are the single source of truth for cleanup tasks. - Resolved Flutter
synthetic-packagedeprecation warnings inl10n.yamlacross the main project and all example apps. - Updated
CHANGELOG.mdand version metadata to reflect the v0.1.54 release.
- Standardized storage deletion and cleanup logic across Firebase, PocketBase, and in-memory storage, ensuring
0.1.53 #
- Platform Abstraction Simplified:
- Removed
HyttaHubFunctionsandHyttaHubInternalStorageabstractions. The framework has transitioned to a unified storage model, simplifying the implementation of new persistence layers. - Updated
HyttaHubImplementationDescriptorto remove deprecatedfunctionsBuilderandinternalStorageBuilder.
- Removed
- Cross-Platform "Copy Site":
- Ported the "Copy Site" business logic from the PocketBase implementation into the core library.
- This feature is now natively supported across all platforms (Firebase, PocketBase, and In-Memory/Local Storage).
- Auth Architecture Refactor:
- Decoupled
AuthBlocfrom the global scope. It is now managed viaBlocProviderandPlatformCubit, improving testability and resource management during logout/reset cycles.
- Decoupled
- Enhanced Service Shell:
- Split the
ServiceShellinto two distinct flows: Service Admin Login and Normal Login. - Administrative replay events and service-wide management features are now strictly isolated to the admin login flow.
- Split the
- Site & Account Submit Improvements:
- Refactored
SiteSubmitBlocandAccountSubmitBlocto use standardized event submission patterns. - Consolidated site event creation logic to ensure consistency between cloud and local storage modes.
- Refactored
- General Maintenance:
- Updated internal dependencies and resolved lint warnings from the latest Flutter SDK.
- Added comprehensive unit tests for cross-platform site cloning (
copy_site_memory_test.dart).
0.1.52 #
- Account Removal Improvements:
- Fixed a navigation crash in
RemoveAccountScreenby using absolute navigation instead of multiple back-pops. - Restored account events cleanup during account removal; users' personal event logs are now properly deleted in all storage modes.
- Added
deleteCollectionmethod toBaseHyttaHubStorageto enable thorough data cleanup across storage implementations.
- Fixed a navigation crash in
- In-Memory and Local Data Cleanup:
- Implemented inline cleanup logic for
InMemoryHyttaHubStorageandHydratedHyttaHubStorage. - Added
cleanUpOrphanedSiteutility to ensure data consistency when members leave or are removed from a site in non-cloud modes. - Improved GDPR compliance by ensuring site archive files and orphaned records are deleted during cleanup.
- Implemented inline cleanup logic for
- Cloud & Firebase Functions:
- Optimized Firebase Cloud Functions to reduce costs by introducing manual cleanup triggers for orphaned sites.
- Updated functions to use
admin.firestore().recursiveDelete()for more reliable data clearing. - Consolidated and simplified Firebase path constants and configuration.
0.1.51 #
- Prevent members from changing their own email on the Update Member screen; only another admin can change a member's email.
- Make the author of a copy-site (import event) an admin on the imported site.
- Cleaned up unused import in
add_member_screen.dart. - Example app improvements: added delete photo screen, updated favicons, cleaned up unused code and localization strings.
0.1.50 #
- Added
maxLengthconstraints to all text input form fields viaBaseTextFormField. - Added centralized
HyttaHubLimitsconstants class (lib/utilities/constants.dart) for input length limits and site caps. - Limit users to a maximum of 20 sites; Create, Join, and Copy site options are greyed out when the limit is reached.
- Upgraded
protobufto^6.0.0andprotoc_pluginto^25.0.0; regenerated all protobuf files. - Upgraded
go_routerto^17.1.0. - Added
WrappedRegExputility (lib/utilities/pattern_utils.dart) to avoid deprecatedRegExpusage asPattern. - Fixed lint errors from latest Flutter SDK.
0.1.49 #
- Prepare package for pub.dev publication.