这是indexloc提供的服务,不要输入任何密码
Skip to content

Sync version 5.0.0-dev with master branch #400

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Jul 27, 2025
Merged

Sync version 5.0.0-dev with master branch #400

merged 39 commits into from
Jul 27, 2025

Conversation

Frezyx
Copy link
Owner

@Frezyx Frezyx commented Jul 27, 2025

Summary by Sourcery

Synchronize the 5.0.0-dev branch with master by migrating to the new string-based TalkerKey API, replacing deprecated title/type filtering with enabledKeys/disabledKeys, and updating all packages, UIs, tests, and documentation accordingly.

New Features:

  • Replace TalkerLogType enum with TalkerKey string API for log identification
  • Introduce enabledKeys and disabledKeys fields along with registerKeys API in TalkerSettings
  • Add formData payload parsing in the Dio logger for improved HTTP request logging

Enhancements:

  • Refactor filtering logic to use key-based matching and update Flutter views and widgets to toggle logs by key
  • Migrate settings lookups (titles, colors, pens) to key-based methods
  • Update package versions to 5.0.0-dev.8 and consolidate changelog entries across repositories

Documentation:

  • Refresh README and CHANGELOG files to reflect new APIs and version bump

Tests:

  • Revise and extend filter and key tests to validate new key-based filtering behavior

Copy link
Contributor

sourcery-ai bot commented Jul 27, 2025

Reviewer's Guide

This PR merges the v5.0.0-dev branch into master, replacing the old enum-based API with a new string-based key system, overhauling filter logic to use enabled/disabled keys, extending settings to register custom keys, updating all UI and logger integrations to adopt these changes, and bumping versions and changelogs across all packages.

Class diagram for TalkerKey and log key migration

classDiagram
    class TalkerKey {
      <<abstract>>
      +static const error
      +static const critical
      +static const info
      +static const debug
      +static const verbose
      +static const warning
      +static const exception
      +static const httpError
      +static const httpRequest
      +static const httpResponse
      +static const blocEvent
      +static const blocTransition
      +static const blocClose
      +static const blocCreate
      +static const riverpodAdd
      +static const riverpodUpdate
      +static const riverpodDispose
      +static const riverpodFail
      +static const route
      +static String fromLogLevel(LogLevel)
    }

    class LogLevel {
      <<enum>>
      error
      critical
      info
      debug
      verbose
      warning
    }

    TalkerKey ..> LogLevel : fromLogLevel
Loading

Class diagram for TalkerFilter and filtering logic changes

classDiagram
    class TalkerFilter {
      +List<String> enabledKeys
      +List<String> disabledKeys
      +String? searchQuery
      +bool filter(TalkerData)
      +TalkerFilter copyWith(...)
    }
    class TalkerData {
      +String? key
      +String? title
      +String generateTextMessage()
    }
    TalkerFilter --> TalkerData : filter
Loading

Class diagram for Talker and filter integration

classDiagram
    class Talker {
      +TalkerSettings settings
      +TalkerFilter filter
      +void configure(...)
      +List<TalkerData> history
    }
    Talker --> TalkerSettings
    Talker --> TalkerFilter
    Talker --> TalkerData : history
Loading

Class diagram for TalkerViewController and UI filter changes

classDiagram
    class TalkerViewController {
      +TalkerFilter filter
      +void updateFilterSearchQuery(String)
      +void addFilterKey(String)
      +void removeFilterKey(String)
    }
    TalkerViewController --> TalkerFilter
Loading

Class diagram for logger packages registering keys

classDiagram
    class TalkerDioLogger {
      +TalkerDioLoggerSettings settings
      +void registerKeys(List<String>)
    }
    class TalkerBlocObserver {
      +TalkerBlocLoggerSettings settings
      +void registerKeys(List<String>)
    }
    class TalkerRiverpodObserver {
      +TalkerRiverpodLoggerSettings settings
      +void registerKeys(List<String>)
    }
    TalkerDioLogger --> TalkerKey
    TalkerBlocObserver --> TalkerKey
    TalkerRiverpodObserver --> TalkerKey
Loading

File-Level Changes

Change Details Files
Replace TalkerLogType enum with new TalkerKey string-based API
  • Introduce TalkerKey class with static constants and fromLogLevel mapping
  • Remove TalkerLogType enum and related extensions
  • Update getTitle/getPen methods to use keys
  • Adjust key getters in all TalkerLog, Dio, Bloc, Riverpod logger classes
  • Refactor tests, README, examples, and pubspecs to reference TalkerKey
packages/talker/lib/src/talker_key.dart
packages/talker/test/talker_key.dart
packages/talker/**/logs.dart
packages/talker/**/observer.dart
packages/talker_flutter/**
examples/**
README.md
packages/**/pubspec.yaml
Overhaul filter logic to use enabledKeys/disabledKeys instead of titles/types
  • Rename BaseTalkerFilter to TalkerFilter, remove titles/types, add enabledKeys/disabledKeys
  • Rewrite filter() method to combine searchQuery, enabledKeys, disabledKeys
  • Update copyWith and view controller methods to add/remove keys
  • Replace title-based filtering in tests and UI with key-based APIs
  • Add new unit tests covering key filtering and search combinations
packages/talker/lib/src/filter.dart
packages/talker/test/filter_test.dart
packages/talker_flutter/lib/src/controller/talker_view_controller.dart
packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart
packages/talker_flutter/lib/src/ui/talker_view.dart
Extend TalkerSettings to register and expose custom log keys
  • Add registeredKeys list and registerKeys()/ _registerKey() methods
  • Expose getTitleByKey and getPenByKey methods
  • Update bottom sheet UI to render cards for registeredKeys
  • Implement toggling of disabledKeys via settings UI
packages/talker/lib/src/settings.dart
packages/talker_flutter/lib/src/ui/talker_settings/talker_settings_bottom_sheet.dart
packages/talker/test/talker_settings_test.dart
Enhance Dio logger with FormData parsing and key registration
  • Parse FormData fields and files into JSON-friendly map
  • Register HTTP request/response/error keys in interceptor
  • Switch keys on logs to use TalkerKey constants
packages/talker_dio_logger/lib/dio_logs.dart
packages/talker_dio_logger/lib/talker_dio_logger_interceptor.dart
Synchronize package versions and update CHANGELOGs
  • Bump all package versions to 5.0.0-dev.8
  • Update dependencies in pubspec.yaml files
  • Refresh CHANGELOG.md entries for each package
packages/*/pubspec.yaml
packages/*/CHANGELOG.md
examples/*/pubspec.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Frezyx - I've reviewed your changes - here's some feedback:

  • Add unit tests for disabledKeys in TalkerFilter (e.g. confirm items are excluded when disabledKeys is non‐empty) since current tests only cover enabledKeys behavior.
  • Consider extracting the repeated settings.registerKeys([...]) calls into a shared helper or auto-registering core TalkerKey values in TalkerSettings to reduce duplication across interceptors/observers.
  • Document or validate the precedence when a key appears in both enabledKeys and disabledKeys to avoid ambiguous filter configurations and make the behavior explicit.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Add unit tests for `disabledKeys` in `TalkerFilter` (e.g. confirm items are excluded when `disabledKeys` is non‐empty) since current tests only cover `enabledKeys` behavior.
- Consider extracting the repeated `settings.registerKeys([...])` calls into a shared helper or auto-registering core `TalkerKey` values in `TalkerSettings` to reduce duplication across interceptors/observers.
- Document or validate the precedence when a key appears in both `enabledKeys` and `disabledKeys` to avoid ambiguous filter configurations and make the behavior explicit.

## Individual Comments

### Comment 1
<location> `packages/talker/lib/src/settings.dart:171` </location>
<code_context>
   /// By using the `colors` field, you can customize the text colors for specific log keys in the console.
   final Map<String, AnsiPen> colors = _defaultColors;

-  String getTitleByLogKey(String key) {
-    return titles[key] ?? key;
+  /// A list of [TalkerKey]s that can be included in filter by [TalkerScreen] settings
+  /// This allows you to register custom keys that can be used for filtering logs in the Talker UI.
</code_context>

<issue_to_address>
The method getTitleByLogKey was replaced by getTitleByKey, but the old method is still present in some comments.

Please update all doc comments and code examples to reference getTitleByKey instead of getTitleByLogKey.
</issue_to_address>

### Comment 2
<location> `packages/talker_flutter/lib/src/ui/widgets/data_card.dart:183` </location>
<code_context>

   String? get _message {
     final isHttpLog = [
-      TalkerLogType.httpError.key,
-      TalkerLogType.httpRequest.key,
-      TalkerLogType.httpResponse.key,
+      TalkerKey.httpError,
+      TalkerKey.httpRequest,
</code_context>

<issue_to_address>
The check for isHttpLog uses widget.data.title instead of widget.data.key.

Using title instead of key may cause incorrect HTTP log detection if titles are customized. Please update the check to use widget.data.key for consistency and accuracy.
</issue_to_address>

### Comment 3
<location> `packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart:97` </location>
<code_context>
   @override
   Widget build(BuildContext context) {
     final theme = Theme.of(context);
+    final uniqKeys = widget.uniqKeys..removeWhere((e) => e == null);
     return SliverAppBar(
       backgroundColor: widget.talkerTheme.backgroundColor,
</code_context>

<issue_to_address>
uniqKeys is modified in place, which may affect the parent widget's state.

This in-place mutation could cause side effects if widget.uniqKeys is accessed elsewhere. Create a new list to prevent unintended mutations.
</issue_to_address>

### Comment 4
<location> `packages/talker_flutter/lib/src/ui/widgets/talker_view_appbar.dart:65` </location>
<code_context>
+    final indexes = widget.talker.filter.enabledKeys
+        .map((e) => widget.keys.indexOf(e))
+        .toList();
+    _bcontroller.selectIndexes(indexes);
     super.initState();
   }
</code_context>

<issue_to_address>
Indexes passed to selectIndexes may include -1 if a key is not found.

Filter out -1 values from indexes before passing them to selectIndexes to avoid potential issues.
</issue_to_address>

### Comment 5
<location> `packages/talker_flutter/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 6
<location> `packages/talker_flutter/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

### Comment 7
<location> `packages/talker/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 8
<location> `packages/talker/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

### Comment 9
<location> `packages/talker_bloc_logger/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 10
<location> `packages/talker_bloc_logger/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

### Comment 11
<location> `packages/talker_dio_logger/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 12
<location> `packages/talker_dio_logger/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

### Comment 13
<location> `packages/talker_http_logger/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase mentioned, 'filed' should be 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 14
<location> `packages/talker_logger/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 15
<location> `packages/talker_logger/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

### Comment 16
<location> `packages/talker_riverpod_logger/CHANGELOG.md:34` </location>
<code_context>
+Thanks to [Frezyx](https://github.com/Frezyx)
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
</code_context>

<issue_to_address>
Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
=======
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field
>>>>>>> REPLACE

</suggested_fix>

### Comment 17
<location> `packages/talker_riverpod_logger/CHANGELOG.md:35` </location>
<code_context>
+
+# 5.0.0-dev.3
+- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
+- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
+
+Thanks to [Frezyx](https://github.com/Frezyx)
</code_context>

<issue_to_address>
Typo: 'Deperecate' should be 'Deprecate'.
</issue_to_address>

<suggested_fix>
<<<<<<< SEARCH
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
=======
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**
>>>>>>> REPLACE

</suggested_fix>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines -171 to -172
String getTitleByLogKey(String key) {
return titles[key] ?? key;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: The method getTitleByLogKey was replaced by getTitleByKey, but the old method is still present in some comments.

Please update all doc comments and code examples to reference getTitleByKey instead of getTitleByLogKey.

Comment on lines 182 to -187
String? get _message {
final isHttpLog = [
TalkerLogType.httpError.key,
TalkerLogType.httpRequest.key,
TalkerLogType.httpResponse.key,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): The check for isHttpLog uses widget.data.title instead of widget.data.key.

Using title instead of key may cause incorrect HTTP log detection if titles are customized. Please update the check to use widget.data.key for consistency and accuracy.

@@ -91,6 +94,7 @@ class _TalkerViewAppBarState extends State<TalkerViewAppBar>
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final uniqKeys = widget.uniqKeys..removeWhere((e) => e == null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): uniqKeys is modified in place, which may affect the parent widget's state.

This in-place mutation could cause side effects if widget.uniqKeys is accessed elsewhere. Create a new list to prevent unintended mutations.

final indexes = widget.talker.filter.enabledKeys
.map((e) => widget.keys.indexOf(e))
.toList();
_bcontroller.selectIndexes(indexes);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): Indexes passed to selectIndexes may include -1 if a key is not found.

Filter out -1 values from indexes before passing them to selectIndexes to avoid potential issues.

Thanks to [Frezyx](https://github.com/Frezyx)

# 5.0.0-dev.3
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (typo): Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.

Suggested change
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field

Thanks to [Frezyx](https://github.com/Frezyx)

# 5.0.0-dev.3
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (typo): Typo: 'filed' should be 'field'.

In the phrase mentioned, 'filed' should be 'field'.

Suggested change
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field

Thanks to [Frezyx](https://github.com/Frezyx)

# 5.0.0-dev.3
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (typo): Typo: 'filed' should be 'field'.

In the phrase, change 'filed' to 'field'.

Suggested change
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** field


# 5.0.0-dev.3
- [talker] Upgrade **BaseTalkerFilter** class - add new filtering way by **List<String> keys** filed
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (typo): Typo: 'Deperecate' should be 'Deprecate'.

Suggested change
- [talker] Deperecate **titles** and **types** fields from **BaseTalkerFilter**
- [talker] Deprecate **titles** and **types** fields from **BaseTalkerFilter**

Frezyx and others added 4 commits July 27, 2025 16:51
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
@Frezyx Frezyx merged commit 471d520 into master Jul 27, 2025
14 checks passed
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