93 Commits

Author SHA1 Message Date
eb922a225e Change provider_name_strip_pattern to default wiht Notifier$ (#4237)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- Refactor
- Generated provider names were simplified: symbols now end with
"Provider" instead of "NotifierProvider". Update any app references and
samples.
- Documentation
- README and docs clarify the default strip pattern and examples now use
the new ...Provider names.
- Tests
  - Updated and added tests to assert the new default naming behavior.
- Chores
- Configuration parsing tightened to always supply default naming
values.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-14 20:03:17 +02:00
5778aa2248 Fuse FamilyNotifier and Notifier (#4229)
fixes #4218
2025-08-12 18:18:22 +02:00
bbe36ab06c Handle (T,) records in generated code (#4226) 2025-08-11 22:16:34 +02:00
bd9521f214 Generate 2025-08-10 22:36:15 +02:00
4dfb429172 Generate 2025-08-10 20:40:36 +02:00
4c6b999547 Update generated files 2025-07-15 23:26:31 +02:00
8647098bb0 Rename T 2025-06-21 18:03:44 +02:00
cacc4350fe fixes #4142 2025-06-20 14:08:57 +02:00
01ed6911a4 Rework mutations (#4170)
## Related Issues

Mutations are reworked to be independent from notifiers and do not
require code-gen.

## Checklist

Before you create this PR confirm that it meets all requirements listed
below by checking the relevant checkboxes (`[x]`).

- [x] I have updated the `CHANGELOG.md` of the relevant packages.
      Changelog files must be edited under the form:

  ```md
  ## Unreleased fix/major/minor

  - Description of your change. (thanks to @yourGithubId)
  ```

- [x] If this contains new features or behavior changes,
      I have updated the documentation to match those changes.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new mutation system that no longer requires code
generation, enabling UI to react to side-effects with loading, success,
and error states.
- Added experimental mutation APIs to Riverpod, Flutter Riverpod, and
Hooks Riverpod packages for enhanced state management.
- Included new mixins and interfaces to simplify creating custom
provider listenables.
- Added widget test helpers and improved mutation state matchers for
testing.

- **Bug Fixes**
- Enhanced error handling and reporting during mutation lifecycle
events.
- Fixed issues with Notifier lifecycle and provider observer context
related to mutations.

- **Refactor**
- Removed legacy mutation annotation logic and related code from
analyzer, generator, and annotation packages.
- Simplified generated provider classes by removing explicit element
creation overrides.
- Updated internal APIs to replace `MutationContext` with direct
`Mutation` usage and adjusted related observer interfaces.

- **Documentation**
- Revised mutation feature documentation to reflect new API design
without code generation.
- Corrected migration guide links and updated changelogs to reflect
annotation and mutation system changes.

- **Tests**
- Added extensive mutation tests covering state transitions,
concurrency, reset behavior, and observer notifications.
- Improved test utilities with new matchers for mutation states and
context.

- **Chores**
- Removed obsolete mutation-related test files, templates, and internal
annotation handling to maintain codebase clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 01:23:40 +02:00
12c8b9bd01 feat: add tester widget helper (#4151) 2025-06-08 21:46:35 +02:00
5bf55e19a4 Use AsyncValue as internal state for everything (#4141) 2025-06-03 12:23:38 +02:00
4eecf80511 Add Type Arg to ProviderBase/ProviderElement (#4140) 2025-06-02 20:32:45 +02:00
1566bd03fd Simplify Persist (#4131)
This changes the Persist syntax a bit to simplify its usage.

This removes the `with Persistable`

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new `persistJson` method for JSON-based state
persistence, simplifying how persistence is integrated and allowing for
custom encoding/decoding.
- Added a `key` getter to provide default storage keys for persisted
providers.
- Exposed `NotifierPersistX` and related persistence utilities for
broader use in persistence scenarios.

- **Refactor**
- Unified and updated type signatures for notifiers and persistence
methods, improving type safety and consistency across providers.
- Simplified persistence API usage by removing the need for mixins and
named parameters, favoring direct method calls with positional
arguments.

- **Documentation**
- Updated documentation and code examples to reflect the new persistence
API and usage patterns.

- **Tests**
- Enhanced test coverage to validate the new persistence approach and
updated type signatures.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-31 20:47:38 +02:00
a360fca98d Another 2025-05-06 14:54:07 +02:00
e574c386e3 Fix legends 2025-05-06 14:53:57 +02:00
3c1d013fcd Remove sidebar header in favour of tabs (#4092) 2025-05-03 04:59:55 +02:00
f5f2fd3aa8 Generated 2025-04-30 20:41:52 +02:00
38dc5b6c09 Unify codegen and non-codegen overrides 2025-04-24 22:39:56 +02:00
147626366a Unify updateShouldNotify (#4082) 2025-04-24 22:39:05 +02:00
2eca60ca40 Farious refactors (#4081) 2025-04-24 21:34:15 +02:00
e7cbef0d9f NotifierBase => AnyNotifier 2025-04-23 19:00:36 +02:00
54f3d9a561 Simplify override logic (#4070) 2025-04-21 11:04:07 +02:00
2c09a1a4f7 Sync dev with master (#4068) 2025-04-20 17:58:08 +02:00
0d19818353 chore: Fix typos (#4065) 2025-04-16 12:32:39 +02:00
61beeb296b Cleanup AutoDispose logic (#4064) 2025-04-15 22:22:29 +02:00
f2de358bba Match dev for notifier modifier (#4063) 2025-04-15 00:32:52 +02:00
fcbfc2019f Deprecated-legacy-imports (#4044) 2025-03-30 01:27:03 +01:00
Eli
171086ddf9 bump (#3989)
fixes #3988
2025-02-28 16:29:20 +01:00
97fd403b91 Fixed spelling mistake in docs (#3956) 2025-02-23 14:27:44 +01:00
5bab6ba5f0 Typo side_effects.mdx
Mean --> means
2025-01-16 18:51:50 -06:00
61f4b519ea Update functional legend 2024-10-20 20:11:23 +02:00
88c6007cbc Docs 2024-10-20 14:07:29 +02:00
4c0b722c5d Update generated code 2024-10-18 19:05:25 +02:00
e789011954 Rename Refs in docs 2024-10-18 18:53:24 +02:00
8db01d2767 Fix deprecated website code 2024-10-18 18:40:19 +02:00
aab54f72a9 Update generated code 2024-10-18 18:38:37 +02:00
730c3c6cf7 Fixed bullet point capitalization 2024-09-09 19:51:32 -04:00
36dabbe1ea Update codegen 2024-08-15 19:29:00 +02:00
6a5d365be3 Update do_dont.mdx
replaced text: 'local widget state' with 'Ephemeral state' along with the docs link explaining it
2024-08-09 11:27:16 +05:30
aa87266f40 Merge commit '87c2edef4bb600f3b5e394a3159fa14df36d1927' into japanese-docs 2024-08-01 23:35:34 +09:00
ae546e0c7c Update side_effects.mdx 2024-07-24 18:30:44 +02:00
bfc85f9d56 Update version to first 2024-07-14 18:34:39 +09:00
fde4258e7e Update generated code 2024-05-13 14:52:40 +02:00
02b86a2bd6 Translation [KO]: Comments in code (#3514)
This PR adds "{@template}" to the source code of the documentation, 
and provides the latest Korean translation (include comments in code) of
the following pages.

- introduction: 2 pages
- essentials: 11 pages
- from_provider: 2 pages
- advanced: 1 page

Thanks

---------

Co-authored-by: Remi Rousselet <darky12s@gmail.com>
2024-05-07 08:51:59 +02:00
fa95a04812 Grammatical fix 2024-04-30 15:42:57 +06:00
8984bb4c6d Grammatical improvement 2024-04-30 13:56:13 +06:00
82868c0114 Merge branch 'master' into migrate_material_property_usage 2024-04-16 14:12:48 +08:00
239f677e7d fix: migrate MaterialStateProperty usage 2024-04-16 14:06:57 +08:00
1dc2374155 fixed typo in docs 2024-04-09 20:46:26 +05:30
bf4ec4a54b Merge branch 'master' into sync 2024-04-08 09:45:58 +02:00