Advanced exception handling and logging for dart/flutter applications

Overview

Talker

Advanced exception handling and logging for dart/flutter applications πŸš€

Log your app actions, catch and handle your app exceptions and errors
Show some ❀️ and star the repo to support the project!

Pub Star on Github License: MIT

Pub likes Pub popularity Pub points

How it works?

On All Platforms

Please add Windows and Linux screenshots 😘

Get Started

Follow these steps to use this package

Add dependency

dependencies:
  talker: ^0.5.0

Easy to use

You can use Talker instance everywhere in your app
Simple and concise syntax will help you with this

// Handle exceptions and errors
try {
  // your code...
} on Error catch (e, st) {
    Talker.instance.handleError(e, 'Error in ...', st);
}

// Log your app info
Talker.instance.log('App is started'),
Talker.instance.error('App is started'),
Talker.instance.waring('App is started'),
///...

More examples you can get there or in docs

Customization

Configure the error handler and logger for yourself

// Handle exceptions and errors
Talker.instance.configure(
    /// Your own observers to handle errors's exception's and log's
    observers: [],
    settings: const TalkerSettings(
      /// Your own registered types of error's exception's and log's
      registeredTypes: [HttpTalkerLog],
      maxHistoryItems: 1000,
      useHistory: true,
      useConsoleLogs: true,
    ),
  );

More examples you can get there or in docs

Use Talker Flutter

Often you need to check what happening in the application when there is no console at hand. There is a talker_flutter package for this situations

Add dependency

dependencies:
  talker: ^0.5.0
  talker_flutter: ^0.4.0

Easy to use

Add this code at something place of your Flutter application where you want to display logs

TalkerScreen(talker: Talker.instance)

Result

TODO:

  • LogLevel as a model with customization
  • ErrorLevel as a model with customization
  • Filter for logs in UI (talker_flutter)
  • Flutter Talker customization / filters

For help getting started with 😍 Flutter, view online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Comments
  • "print" cut off my logs.

    Describe the bug

    "print" cut off my logs. It's related to a bug of flutter https://github.com/flutter/flutter/issues/110236

    To Reproduce Steps to reproduce the behavior:

    Execute flutter run on the code sample

    Code sample
    import 'package:talker/talker.dart';
    
    void main() {
      Talker().info("""
    β”Œβ”€β”€β”€β”€1──────────────────────────────────────────────────────────────────────────────────────────────────────────
    β”Œβ”€β”€β”€β”€β”€2─────────────────────────────────────────────────────────────────────────────────────────────────────────
    β”Œβ”€β”€β”€β”€β”€β”€β”€3───────────────────────────────────────────────────────────────────────────────────────────────────────
    [LOG] | 0:14:30 55ms | 123123123131232131231231231231231231231231231231123123123131232131231231231231231231231
    """);
    }
    
    

    Expected results: The console prints my complete logs.

    Actual results: The console only prints a portion of my logs.

    Screenshots Screenshot 2022-08-25 at 12 01 36 PM

    Desktop (please complete the following information):

    Refer to flutter https://github.com/flutter/flutter/issues/110236

    Smartphone (please complete the following information):

    Refer to flutter https://github.com/flutter/flutter/issues/110236

    Additional context

    The solution is use "debugPrint" instead of "print" in "talker_logger.dart line 11". But this needs talk_logger to be dependent on flutter SDK. I don't know what's the best solution. so post the issue here instead of sending the pull request. Screenshot 2022-08-25 at 12 07 15 PM

    opened by 623637646 6
  • Export talker cards

    Export talker cards

    Is your feature request related to a problem? Please describe. I really like this package. It even provides UI to show the logs in which is great. However, the TalkerScreen has a bit too many features for my taste, and doesnt fit with the design of my app too well.

    Describe the solution you'd like It would be nice if the TalkerDataCard was exported, so we can build our own screen.

    Describe alternatives you've considered I have considered building the entire screen myself as well as the card. However, with that have to create the colors and the frame, etc. myself.

    Additional context (it would also be nice if the icon button inside the cards could be configured via a "trailing" parameter)

    opened by clragon 5
  • 86 fix color override in dio and reset color in console

    86 fix color override in dio and reset color in console

    • Fixes color override in dio logger. There was an operator precedence problem
    • Fixes color reset in console. Flutters default print command cuts long strings and it is also removes reset command at the end
    opened by westito 3
  • Unsupported operation: Cannot add to an unmodifiable list

    Unsupported operation: Cannot add to an unmodifiable list

    Describe the bug Issue while adding any filter in the TalkerScreen

    To Reproduce Steps to reproduce the behavior:

    1. Go to TalkerScreen
    2. Click on any filter

    Expected behavior The filters should be added without errors

    Additional context

    Unsupported operation: Cannot add to an unmodifiable list
    
    When the exception was thrown, this was the stack: 
    #0      UnmodifiableListMixin.add (dart:_internal/list.dart:114:5)
    #1      TalkerScreenController.addFilterTitle (package:talker_flutter/src/controller/talker_screen_controller.dart:57:56)
    #2      TalkerScreenFilter._onToggleTitle (package:talker_flutter/src/ui/widgets/filter/talker_screen_filter.dart:167:18)
    #3      TalkerScreenFilter.build.<anonymous closure> (package:talker_flutter/src/ui/widgets/filter/talker_screen_filter.dart:115:23)
    #4      _GroupButtonBodyState._generateButtonsList.<anonymous closure> (package:group_button/src/group_button_body.dart:170:38)
    #5      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1072:21)
    #6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:253:24)
    #7      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:627:11)
    #8      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:306:5)
    #9      BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:276:7)
    #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:163:27)
    #11     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:464:20)
    #12     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:440:22)
    #13     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:337:11)
    #14     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:395:7)
    #15     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:357:5)
    #16     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:314:7)
    #17     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:295:7)
    #18     _invoke1 (dart:ui/hooks.dart:167:13)
    #19     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:341:7)
    #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:94:31)
    Handler: "onTap"
    Recognizer: TapGestureRecognizer#13c3e
      debugOwner: GestureDetector
      state: ready
      won arena
      finalPosition: Offset(44.3, 280.0)
      finalLocalPosition: Offset(34.3, 21.0)
      button: 1
      sent tap down
    ====================================================================================================
    
    help wanted good first issue 
    opened by ProjectAJ14 3
  • Member not found: 'GroupButton.checkbox'

    Member not found: 'GroupButton.checkbox'

    I got this issue while running the app.

    Launching lib\main.dart on SM M115F in debug mode...
    Running Gradle task 'assembleDebug'...
    ../../AppData/Local/Pub/Cache/hosted/pub.dartlang.org/talker_flutter-0.5.3/lib/src/widgets/filter/talker_screen_filter.dart:100:38: Error: Member not found: 'GroupButton.checkbox'.
                      child: GroupButton.checkbox(
                                         ^^^^^
    ../../AppData/Local/Pub/Cache/hosted/pub.dartlang.org/talker_flutter-0.5.3/lib/src/widgets/filter/talker_screen_filter.dart:122:38: Error: Member not found: 'GroupButton.checkbox'.
                      child: GroupButton.radio(
                                         ^^^^^
    
    opened by ashutosh-mulik 3
  • Talker card message overlapped by title

    Talker card message overlapped by title

    Describe the bug Opening the log shows the log items being overlapped by their title.

    To Reproduce Steps to reproduce the behavior:

    1. add a TalkerScreen
    2. open said screen
    3. observe UI weirdness

    Expected behavior The item text should be below the title.

    Screenshots image

    Smartphone:

    • Device: Galaxy S20
    • OS: Android 12

    Package:

    • talker_flutter 0.12.0
    bug help wanted 
    opened by clragon 1
  • Bump codecov/codecov-action from 1 to 3

    Bump codecov/codecov-action from 1 to 3

    Bumps codecov/codecov-action from 1 to 3.

    Release notes

    Sourced from codecov/codecov-action's releases.

    v3.0.0

    Breaking Changes

    • #689 Bump to node16 and small fixes

    Features

    • #688 Incorporate gcov arguments for the Codecov uploader

    Dependencies

    • #548 build(deps-dev): bump jest-junit from 12.2.0 to 13.0.0
    • #603 [Snyk] Upgrade @​actions/core from 1.5.0 to 1.6.0
    • #628 build(deps): bump node-fetch from 2.6.1 to 3.1.1
    • #634 build(deps): bump node-fetch from 3.1.1 to 3.2.0
    • #636 build(deps): bump openpgp from 5.0.1 to 5.1.0
    • #652 build(deps-dev): bump @​vercel/ncc from 0.30.0 to 0.33.3
    • #653 build(deps-dev): bump @​types/node from 16.11.21 to 17.0.18
    • #659 build(deps-dev): bump @​types/jest from 27.4.0 to 27.4.1
    • #667 build(deps): bump actions/checkout from 2 to 3
    • #673 build(deps): bump node-fetch from 3.2.0 to 3.2.3
    • #683 build(deps): bump minimist from 1.2.5 to 1.2.6
    • #685 build(deps): bump @​actions/github from 5.0.0 to 5.0.1
    • #681 build(deps-dev): bump @​types/node from 17.0.18 to 17.0.23
    • #682 build(deps-dev): bump typescript from 4.5.5 to 4.6.3
    • #676 build(deps): bump @​actions/exec from 1.1.0 to 1.1.1
    • #675 build(deps): bump openpgp from 5.1.0 to 5.2.1

    v2.1.0

    2.1.0

    Features

    • #515 Allow specifying version of Codecov uploader

    Dependencies

    • #499 build(deps-dev): bump @​vercel/ncc from 0.29.0 to 0.30.0
    • #508 build(deps): bump openpgp from 5.0.0-5 to 5.0.0
    • #514 build(deps-dev): bump @​types/node from 16.6.0 to 16.9.0

    v2.0.3

    2.0.3

    Fixes

    • #464 Fix wrong link in the readme
    • #485 fix: Add override OS and linux default to platform

    Dependencies

    • #447 build(deps): bump openpgp from 5.0.0-4 to 5.0.0-5
    • #458 build(deps-dev): bump eslint from 7.31.0 to 7.32.0
    • #465 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 4.28.4 to 4.29.1
    • #466 build(deps-dev): bump @​typescript-eslint/parser from 4.28.4 to 4.29.1
    • #468 build(deps-dev): bump @​types/jest from 26.0.24 to 27.0.0
    • #470 build(deps-dev): bump @​types/node from 16.4.0 to 16.6.0
    • #472 build(deps): bump path-parse from 1.0.6 to 1.0.7
    • #473 build(deps-dev): bump @​types/jest from 27.0.0 to 27.0.1

    ... (truncated)

    Changelog

    Sourced from codecov/codecov-action's changelog.

    3.1.0

    Features

    • #699 Incorporate xcode arguments for the Codecov uploader

    Dependencies

    • #694 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • #696 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • #698 build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0

    3.0.0

    Breaking Changes

    • #689 Bump to node16 and small fixes

    Features

    • #688 Incorporate gcov arguments for the Codecov uploader

    Dependencies

    • #548 build(deps-dev): bump jest-junit from 12.2.0 to 13.0.0
    • #603 [Snyk] Upgrade @​actions/core from 1.5.0 to 1.6.0
    • #628 build(deps): bump node-fetch from 2.6.1 to 3.1.1
    • #634 build(deps): bump node-fetch from 3.1.1 to 3.2.0
    • #636 build(deps): bump openpgp from 5.0.1 to 5.1.0
    • #652 build(deps-dev): bump @​vercel/ncc from 0.30.0 to 0.33.3
    • #653 build(deps-dev): bump @​types/node from 16.11.21 to 17.0.18
    • #659 build(deps-dev): bump @​types/jest from 27.4.0 to 27.4.1
    • #667 build(deps): bump actions/checkout from 2 to 3
    • #673 build(deps): bump node-fetch from 3.2.0 to 3.2.3
    • #683 build(deps): bump minimist from 1.2.5 to 1.2.6
    • #685 build(deps): bump @​actions/github from 5.0.0 to 5.0.1
    • #681 build(deps-dev): bump @​types/node from 17.0.18 to 17.0.23
    • #682 build(deps-dev): bump typescript from 4.5.5 to 4.6.3
    • #676 build(deps): bump @​actions/exec from 1.1.0 to 1.1.1
    • #675 build(deps): bump openpgp from 5.1.0 to 5.2.1

    2.1.0

    Features

    • #515 Allow specifying version of Codecov uploader

    Dependencies

    • #499 build(deps-dev): bump @​vercel/ncc from 0.29.0 to 0.30.0
    • #508 build(deps): bump openpgp from 5.0.0-5 to 5.0.0
    • #514 build(deps-dev): bump @​types/node from 16.6.0 to 16.9.0

    2.0.3

    Fixes

    • #464 Fix wrong link in the readme
    • #485 fix: Add override OS and linux default to platform

    Dependencies

    • #447 build(deps): bump openpgp from 5.0.0-4 to 5.0.0-5

    ... (truncated)

    Commits
    • 81cd2dc Merge pull request #699 from codecov/feat-xcode
    • a03184e feat: add xcode support
    • 6a6a9ae Merge pull request #694 from codecov/dependabot/npm_and_yarn/vercel/ncc-0.33.4
    • 92a872a Merge pull request #696 from codecov/dependabot/npm_and_yarn/types/node-17.0.25
    • 43a9c18 Merge pull request #698 from codecov/dependabot/npm_and_yarn/jest-junit-13.2.0
    • 13ce822 Merge pull request #690 from codecov/ci-v3
    • 4d6dbaa build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0
    • 98f0f19 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • d3021d9 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • 2c83f35 Update makefile to v3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump actions/checkout from 2 to 3

    Bump actions/checkout from 2 to 3

    Bumps actions/checkout from 2 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    v2.3.2

    Add Third Party License Information to Dist Files

    v2.3.1

    Fix default branch resolution for .wiki and when using SSH

    v2.3.0

    Fallback to the default branch

    v2.2.0

    Fetch all history for all tags and branches when fetch-depth=0

    v2.1.1

    Changes to support GHES (here and here)

    v2.1.0

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump VeryGoodOpenSource/very_good_coverage from 1.2.0 to 1.2.1

    Bump VeryGoodOpenSource/very_good_coverage from 1.2.0 to 1.2.1

    Bumps VeryGoodOpenSource/very_good_coverage from 1.2.0 to 1.2.1.

    Release notes

    Sourced from VeryGoodOpenSource/very_good_coverage's releases.

    v1.2.1

    • fix: throw "lcov is empty" instead of "parsing error!"
    Changelog

    Sourced from VeryGoodOpenSource/very_good_coverage's changelog.

    1.2.1

    • fix: throw "lcov is empty" instead of "parsing error!"
    Commits
    • feed99c chore: v1.2.1 (#108)
    • 49de719 fix: throw "lcov is empty" instead of "parsing error!" (#104)
    • ff39e7f chore(deps-dev): bump jest from 27.5.0 to 27.5.1 (#107)
    • f4cd490 chore(deps-dev): bump jest from 27.4.7 to 27.5.0 (#105)
    • a72e367 chore(deps): bump minimatch from 3.0.4 to 3.0.5 (#106)
    • dd8900b docs: minor README updates (#103)
    • 79309f1 chore(deps-dev): bump eslint from 8.7.0 to 8.8.0 (#102)
    • a24725a chore(deps-dev): bump eslint from 8.6.0 to 8.7.0 (#100)
    • b089aec chore(deps-dev): bump jest from 27.4.5 to 27.4.7 (#99)
    • 9fb222b docs: use very good brand assets (#98)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump actions/setup-java from 1 to 3

    Bump actions/setup-java from 1 to 3

    Bumps actions/setup-java from 1 to 3.

    Release notes

    Sourced from actions/setup-java's releases.

    v3.0.0

    In scope of this release we changed version of the runtime Node.js for the setup-java action and updated package-lock.json file to v2.

    Breaking Changes

    With the update to Node 16 in #290, all scripts will now be run with Node 16 rather than Node 12.

    v2.5.0

    In scope of this pull request we add support for Microsoft Build of OpenJDK (actions/setup-java#252).

    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup-java
        uses: actions/setup-java@v2
        with:
          distribution: microsoft
          java-version: 11
    

    Supported distributions

    Currently, the following distributions are supported:

    Keyword Distribution Official site License
    temurin Eclipse Temurin Link Link
    zulu Zulu OpenJDK Link Link
    adopt or adopt-hotspot Adopt OpenJDK Hotspot Link Link
    adopt-openj9 Adopt OpenJDK OpenJ9 Link Link
    liberica Liberica JDK Link Link
    microsoft Microsoft Build of OpenJDK Link Link

    v2.4.0

    In scope of this pull request we add support for Liberica JDK (actions/setup-java#225).

    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup-java
        uses: actions/setup-java@v2
        with:
          distribution: liberica
          java-version: 11
    

    Supported distributions

    Currently, the following distributions are supported:

    Keyword Distribution Official site License
    zulu Zulu OpenJDK Link Link
    adopt or adopt-hotspot Adopt OpenJDK Hotspot Link Link
    adopt-openj9 Adopt OpenJDK OpenJ9 Link Link
    temurin Eclipse Temurin Link Link

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump subosito/flutter-action from 1 to 2

    Bump subosito/flutter-action from 1 to 2

    Bumps subosito/flutter-action from 1 to 2.

    Release notes

    Sourced from subosito/flutter-action's releases.

    v1.5.3

    This release re-use the updated source of flutter releases assets.

    v1.5.2

    This release updates release assets path to original location.

    v1.5.1

    This release updates the source of flutter releases assets.

    v1.5.0

    • Add support for master channel
    • Add support for any channel
    • Add .pub-cache/bin to PATH
    • Use FLUTTER_ROOT instead of FLUTTER_HOME
    • Update dependencies

    v1.4.0

    No release notes provided.

    v1.3.2

    No release notes provided.

    v1.3.1

    No release notes provided.

    v1.3.0

    No release notes provided.

    v1.2.0

    No release notes provided.

    v1.1.1

    No release notes provided.

    v1.1.0

    No release notes provided.

    v1.0.2

    No release notes provided.

    v1.0.1

    No release notes provided.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Talker dependencies conflict with GraphQL

    Talker dependencies conflict with GraphQL

    Describe the bug Flutter GraphQL and Talker conflict in dependencies. Talker is using an outdated version of path_provider. You get this error:

    Because talker_flutter >=2.0.0 depends on path_provider ^2.0.11 and every version of flutter_graphql depends on path_provider ^0.4.1, talker_flutter >=2.0.0 is incompatible with flutter_graphql.
    

    To Reproduce Steps to reproduce the behavior:

    1. Have Flutter_graphql Latest installed
    2. Have Talker installed.

    Expected behavior There should be no conflicts. Let's upgrade talker to use Flutter's latest path_provider libraries.

    opened by nocturnalflame 0
  • Is there a way to remove 'flutter:

    Is there a way to remove 'flutter:" from start of each line?

    I just started using logging packages and I'm new to dart. This looks like a very nice package.

    At the beginning of each output, there is a prefix of flutter:, is there a way to remove that?

    opened by jeff9315 0
  • Converting object to an encodable object failed: Instance of 'FormData'.

    Converting object to an encodable object failed: Instance of 'FormData'.

    Describe the bug When I used the Retrofit and Dio upload a file, I got a fatal exception. If I hidden the logger, the upload will succeed.

    To Reproduce

    @MultiPart()
      @POST(Api.uploadFile)
      Future<Result<ImageFile>> uploadFile(
        @Part(name: "file") File file,
        @Part(name: "type") String type,
      );
    
    @override
      Future<Result<ImageFile>> uploadFile(
        file,
        type,
      ) async {
        const _extra = <String, dynamic>{};
        final queryParameters = <String, dynamic>{};
        final _headers = <String, dynamic>{};
        final _data = FormData();
        _data.files.add(MapEntry(
          'file',
          MultipartFile.fromFileSync(
            file.path,
            filename: file.path.split(Platform.pathSeparator).last,
          ),
        ));
        _data.fields.add(MapEntry(
          'type',
          type,
        ));
        final _result = await _dio
            .fetch<Map<String, dynamic>>(_setStreamType<Result<ImageFile>>(Options(
          method: 'POST',
          headers: _headers,
          extra: _extra,
          contentType: 'multipart/form-data',
        )
                .compose(
                  _dio.options,
                  'common/upload',
                  queryParameters: queryParameters,
                  data: _data,
                )
                .copyWith(baseUrl: baseUrl ?? _dio.options.baseUrl)));
        final value = Result<ImageFile>.fromJson(
          _result.data!,
          (json) => ImageFile.fromJson(json as Map<String, dynamic>),
        );
        return value;
      }
    
    dio.interceptors.add(TalkerDioLogger(
          settings: const TalkerDioLoggerSettings(
            printRequestHeaders: true,
          ),
        ));
    

    Expected behavior

    I/flutter (21545): β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    I/flutter (21545): β”‚ [EXCEPTION] | 8:50:26 288ms | URL: http://192.168.1.61:8094/task-app/common/upload
    I/flutter (21545): β”‚ METHOD: POST
    I/flutter (21545): β”‚ 
    I/flutter (21545): β”‚ DioError [DioErrorType.other]: Converting object to an encodable object failed: Instance of 'FormData'
    I/flutter (21545): β”‚ #0      _JsonStringifier.writeObject (dart:convert/json.dart:794:7)
    I/flutter (21545): β”‚ #1      _JsonStringStringifier.printOn (dart:convert/json.dart:983:17)
    I/flutter (21545): β”‚ #2      _JsonStringStringifier.stringify (dart:convert/json.dart:968:5)
    I/flutter (21545): β”‚ #3      JsonEncoder.convert (dart:convert/json.dart:345:30)
    I/flutter (21545): β”‚ #4      HttpRequestLog.generateTextMessage (package:talker_dio_logger/http_logs.dart:40:34)
    I/flutter (21545): β”‚ #5      Talker._handleLogData (package:talker/src/talker.dart:325:16)
    I/flutter (21545): β”‚ #6      Talker.logTyped (package:talker/src/talker.dart:180:5)
    I/flutter (21545): β”‚ #7      TalkerDioLogger.onRequest (package:talker_dio_logger/talker_dio_logger_interceptor.dart:53:13)
    I/flutter (21545): β”‚ #8      DioMixin.fetch._requestInterceptorWrapper.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart:517:28)
    I/flutter (21545): β”‚ #9      DioMixin.checkIfNeedEnqueue (package:dio/src/dio_mixin.dart:789:22)
    I/flutter (21545): β”‚ #10     DioMixin.fetch._requestInterceptorWrapper.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart:515:22)
    I/flutter (21545): β”‚ #11     new Future.<anonymous closure> (dart:async/future.dart:252:37)
    I/flutter (21545): β”‚ #12     _rootRun (dart:async/zone.dart:1418:47)
    I/flutter (21545): β”‚ #13     _CustomZone.run (dart:async/zone.dart:1328:19)
    I/flutter (21545): β”‚ #14     _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
    I/flutter (21545): β”‚ #15     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
    I/flutter (21545): β”‚ #16     _rootRun (dart:async/zone.dart:1426:13)
    I/flutter (21545): β”‚ #17     _CustomZone.run (dart:async/zone.dart:1328:19)
    I/flutter (21545): β”‚ #18     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1260:23)
    I/flutter (21545): β”‚ #19     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
    I/flutter (21545): β”‚ #20     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
    I/flutter (21545): β”‚ #21     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
    I/flutter (21545): β”‚ #22     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
    I/flutter (21545): β”‚ 
    I/flutter (21545): β”‚ #0      TalkerDioLogger.onError (package:talker_dio_logger/talker_dio_logger_interceptor.dart:76:18)
    I/flutter (21545): β”‚ #1      DioMixin.fetch._errorInterceptorWrapper.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart:574:28)
    I/flutter (21545): β”‚ #2      DioMixin.checkIfNeedEnqueue (package:dio/src/dio_mixin.dart:789:22)
    I/flutter (21545): β”‚ #3      DioMixin.fetch._errorInterceptorWrapper.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart:572:22)
    I/flutter (21545): β”‚ #4      new Future.<anonymous closure> (dart:async/future.dart:252:37)
    I/flutter (21545): β”‚ #5      _rootRun (dart:async/zone.dart:1418:47)
    I/flutter (21545): β”‚ #6      _CustomZone.run (dart:async/zone.dart:1328:19)
    I/flutter (21545): β”‚ #7      _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
    I/flutter (21545): β”‚ #8      _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
    I/flutter (21545): β”‚ #9      _rootRun (dart:async/zone.dart:1426:13)
    I/flutter (21545): β”‚ #10     _CustomZone.run (dart:async/zone.dart:1328:19)
    I/flutter (21545): β”‚ #11     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1260:23)
    I/flutter (21545): β”‚ #12     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
    I/flutter (21545): β”‚ #13     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
    I/flutter (21545): β”‚ #14     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
    I/flutter (21545): β”‚ #15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
    I/flutter (21545): β”‚ 
    I/flutter (21545): └──────────────────────────────────────────────────────────────────────────────────────────────────────────────
    
    opened by berial 1
  • Pipes for Error Handling

    Pipes for Error Handling

    Is your feature request related to a problem? Please describe. There are at least two scenarios where you might need a pipe. In both case the pipe should act upon the error details before before it's passed down to observers or even cancel any further handling

    Scenario 1: Before you even handle any errors you want to check additional conditions. For example you might want to ask the user if they want to submit this report in the first place.

    Scenario 2: Before the error details reach the observers you want to add additional information, like an internal app version. This is specifically for those kind of information that you would need for every log and would otherwise need to add in every single observer. There is also the option to remove certain information.

    This feature goes along well with my other feature request (#74), so they could both use a context property.

    Describe the solution you'd like When initializing talker you can provide a new property "pipes", which is an array of TalkerPipes. The order of the pipes should dictate the execution order. A TalkerPipe can either cancel any further execution or attach additional information.

    The overall flow would look like this:

    1. talker.handle is called with some parameters
    2. Talker builds a TalkerException object
    3. Talker passes that object through the pipelines
    4. If the execution was not canceled, the object is handled by the observers

    In the end observers have an enriched TalkerException.

    Describe alternatives you've considered You would have to add the wanted logic to all observers, which is a lot of redundant code. So no real alternative as far as I know.

    Additional context The idea of having a way to add information to all error details is based on Serilog Enrichers.

    opened by Hollow-Ego 0
  • TalkerObserver onException/onError/onLog provide dynamic object for additional information passed through by handle method

    TalkerObserver onException/onError/onLog provide dynamic object for additional information passed through by handle method

    Is your feature request related to a problem? Please describe. Just getting Error Details (exception, reason, stack) limits the ability to provide more context information. You can run into situations where just having these isn't enough to identify the cause and you want to send additional information like local variables or the arguments that were passed in to the crashing function. In my case I want to attach custom properties to a Crashlytics report.

    Describe the solution you'd like You should be able to set an optional dynamic object to the handle method, that then can be accessed in a talker observer. Example of calling .handle:

    final item = getItemById(id);
    try {
    // Something might throw when using the amount
    }
    catch(e,st){
    final context = {"itemAmount": item.amount};
    talker.handle(e,st, "Couldn't modify item amount", context);
    }
    

    Example of a TalkerObserver using the context

     Function(TalkerException e) get onException => (e) {
           final report =   FirebaseCrashlytics.instance;
           e.context.ForEach((key,value) => {
                  report.setCustomKey(key,value);
           });
           report.recordError(e.exception, stack: e.stackTrace, reason: e.message);
          };
    

    Describe alternatives you've considered Alternatively you could write your own error handler, but you would lose all the benefits of this package.

    Additional context The idea with additional context information is based on structured logging in the .net world.

    opened by Hollow-Ego 0
Releases(talker_bloc_logger-v0.1.0)
  • talker_bloc_logger-v0.1.0(Dec 31, 2022)

  • 2.2.1(Dec 28, 2022)

    • Fix color override in dio and reset color in console by @westito in https://github.com/Frezyx/talker/pull/88
    • @westito made their first contribution in https://github.com/Frezyx/talker/pull/88

    Full Changelog: https://github.com/Frezyx/talker/compare/2.2.0...2.2.1

    Actual packages versions

    talker: ^2.2.1
    talker_flutter: ^2.2.1
    talker_logger: ^2.2.1
    talker_dio_logger: ^1.0.1
    
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Dec 21, 2022)

    • πŸ₯³ FEAT: Create FlutterTalker extensions for enable iOS/ MacOS colored logging
    • 🩺 FEAT: Implement TalkerMonitor for sorting, warning, infos, verbose errors
    • ✈️ FEAT: Implement Talker Http Monitor for http request-response analytics and monitoring
    • πŸ¦„ FEAT: Web demo example avaliable at frezyx.github.io/talker
    • πŸ›  FIX: TalkerFilter Cannot add to an unmodifiable list issue
    • πŸ’… INFO: Improve README.md (Table of content, TalkerFlutter components)

    Actual packages versions

    talker: ^2.2.0
    talker_flutter: ^2.2.0
    talker_logger: ^2.2.0
    talker_dio_logger: ^1.0.0
    
    Source code(tar.gz)
    Source code(zip)
  • 2.1.1-dev.3(Dec 12, 2022)

    • Create FlutterTalker extensions for enable iOS/ MacOS colored logging
    • Implement initial TalkerMonitor functionality
    • TalkerMonitor sorting, warning, infos, verbose errors
    • Talker Http Monitor for http request-response analytics and monitoring
    • Implement debug logs title
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v1.0.0(Dec 1, 2022)

    • BREAKING: Package available for dart applications as for Flutter apps (Flutter sdk was removed from package dependencies)
    • FEAT: Upgrade logs formatting, more readable, simpler and more effective
    • FEAT: Implement DioError custom logs with new formatting
    • FEAT: Implement requestPen and responsePen for setup custom request and response console message colors

    Actual packages versions

    talker: ^2.1.0
    talker_flutter: ^2.1.0
    talker_logger: ^2.1.0
    talker_dio_logger: ^1.0.0
    
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Nov 14, 2022)

    • FEAT: Implement filter for Talker constructor. Now you can filter data by logger and by talker instance as default.

    Actual packages versions

    talker: ^2.1.0
    talker_flutter: ^2.1.0
    talker_logger: ^2.1.0
    talker_dio_logger: ^0.5.0
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.4.0(Nov 6, 2022)

    What's Changed

    • FEAT: Implement Response.statusMessage printing
    • FEAT: Implement printResponseMessage field in TalkerDioLoggerSettings

    Actual packages versions

    talker: ^2.0.0
    talker_flutter: ^2.0.3
    talker_logger: ^2.0.0
    talker_dio_logger: ^0.4.0
    

    Full Changelog: https://github.com/Frezyx/talker/compare/2.0.0...talker_dio_logger-v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Oct 6, 2022)

    Major Talker packages update

    πŸŽ‰ FEAT: Release talker_dio_logger for dio http client integration πŸ“‚ FEAT: Implement logs file sharing action ! 🎨 FEAT: Update TalkerScreen actions UI 🎨 FEAT: Update logs filter UI βš™οΈ FIX: Filtering and log messages generation

    Actual packages versions

    talker: ^2.0.0
    talker_flutter: ^2.0.3
    talker_logger: ^2.0.0
    talker_dio_logger: ^0.1.3
    
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-dev.1(Oct 1, 2022)

    • FEAT: Update TalkerScreen actions UI
    • FEAT: Implement logs file sharing
    • FEAT: Update logs filter UI

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.6(Oct 1, 2022)

    • FEAT: Downgrade min supported sdk version from 2.18 to 2.15

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.6
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.5(Oct 1, 2022)

    • FEAT: provide documentation and usage examples

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.5
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.4(Oct 1, 2022)

    • FIX: null status code showing

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.4
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.3(Oct 1, 2022)

    • FEAT: Implement example Flutter app
    • FIX: empty data and headers prints

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.3
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.2(Oct 1, 2022)

    • FEAT: Print only not empty data and headers

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.2
    
    Source code(tar.gz)
    Source code(zip)
  • talker_dio_logger-v0.1.0-dev.1(Oct 1, 2022)

    talker_dio_logger

    Lightweight and customizable dio http client logger on talker base

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^2.0.0-dev.1
    talker_logger: ^1.2.1
    talker_dio_logger: ^0.1.0-dev.1
    
    Source code(tar.gz)
    Source code(zip)
  • talker_flutter-v1.7.0(Sep 17, 2022)

    • INFO: HaveFlutterColorInterface -> TalkerFlutterAdapterInterface
    • FEAT: Implement generateFlutterTextMessage method for FlutterTalkerDataInterface, FlutterTalkerLog, FlutterTalkerError, FlutterTalkerException classes

    Now you can extend your flutter app logs.

    • generateFlutterTextMessage used in TalkerScreen (UI list of logs)
    • generateTextMessage used in console logs and history
    Source code(tar.gz)
    Source code(zip)
  • talker_flutter-v1.6.0(Aug 27, 2022)

    Attention

    Latest Flutter stable release have print method bug issues/110236 But with Talker you can solve it with passing your own output/print method

    If you want to see full logs in console - pass debugPrint as ouput callback method in Talker constructor

    final talker = Talker(
      loggerOutput: debugPrint,
    );
    

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^1.6.0
    talker_logger: ^1.2.1
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Aug 26, 2022)

    What's Changed

    • Upgrade talker_logger by @Frezyx in https://github.com/Frezyx/talker/pull/55
    • Release version 1.1.0 by @Frezyx in https://github.com/Frezyx/talker/pull/56
    • Implement talker wrapper by @Frezyx in https://github.com/Frezyx/talker/pull/57
    • Release talker_flutter 1.4.0 by @Frezyx in https://github.com/Frezyx/talker/pull/58
    • Add TalkerScreen appBarTitle field by @Khaoz-Topsy in https://github.com/Frezyx/talker/pull/59
    • Release talker_logger v1.1.1 by @Frezyx in https://github.com/Frezyx/talker/pull/60
    • Release talker_flutter version 1.5.0 by @Frezyx in https://github.com/Frezyx/talker/pull/61
    • Update README.md by @Frezyx in https://github.com/Frezyx/talker/pull/62
    • fix issue #63 by @probka00 in https://github.com/Frezyx/talker/pull/64

    New Contributors

    • @Khaoz-Topsy made their first contribution in https://github.com/Frezyx/talker/pull/59
    • @probka00 made their first contribution in https://github.com/Frezyx/talker/pull/64

    Actual packages versions

    talker: ^1.3.0
    talker_flutter: ^1.5.1
    talker_logger: ^1.2.1
    
    Source code(tar.gz)
    Source code(zip)
  • talker_flutter-v1.5.0(Aug 16, 2022)

    talker_flutter updates

    • FEAT: Implement TalkerHistoryBuilder widget to create your own custom designed logs UI screen
    • FEAT: Implement TalkerBuilder widget to create your own custom designed screen with last log message showing
    • INFO: Update talker to 1.1.1 version

    Actual packages versions

    talker: ^1.1.1
    talker_flutter: ^1.5.0
    talker_logger: ^1.1.1
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Aug 6, 2022)

    talker_logger updates

    • FEAT: Implement ExtendedLoggerFormatter
    • FEAT: Upgrade ColoredLoggerFormatter
    • FIX: Typo Formater -> Formatter

    Actual packages versions

    talker: ^1.1.0
    talker_flutter: ^1.3.0
    talker_logger: ^1.1.0+1
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0-dev(Aug 6, 2022)

    talker_logger updates

    • FEAT: Implement ExtendedLoggerFormatter
    • FEAT: Upgrade ColoredLoggerFormatter
    • FIX: Typo Formater -> Formatter

    Actual packages versions

    talker: ^1.1.0
    talker_flutter: ^1.3.0
    talker_logger: ^1.1.0+1
    
    Source code(tar.gz)
    Source code(zip)
  • talker_flutter-v1.2.0(Jul 16, 2022)

    What's Changed

    • Add default ordering setting for logs stored in talker by @jirehcwe in https://github.com/Frezyx/talker/pull/52
    • Release talker_flutter v1.2.0 by @Frezyx in https://github.com/Frezyx/talker/pull/53

    New Contributors

    • @jirehcwe made their first contribution in https://github.com/Frezyx/talker/pull/52

    Full Changelog: https://github.com/Frezyx/talker/compare/talker_flutter-v1.1.0...talker_flutter-v1.2.0

    Source code(tar.gz)
    Source code(zip)
  • talker_flutter-v1.1.0(Jul 16, 2022)

    What's Changed

    • Bump actions/setup-node from 1 to 3 by @dependabot in https://github.com/Frezyx/talker/pull/41
    • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/Frezyx/talker/pull/44
    • Bump actions/cache from 2 to 3 by @dependabot in https://github.com/Frezyx/talker/pull/43
    • Bump crazy-max/ghaction-github-pages from 2 to 3 by @dependabot in https://github.com/Frezyx/talker/pull/42
    • Implement talker listener widget by @Frezyx in https://github.com/Frezyx/talker/pull/49
    • Release talker_flutter v1.1.0 by @Frezyx in https://github.com/Frezyx/talker/pull/50

    Full Changelog: https://github.com/Frezyx/talker/compare/1.0.0...talker_flutter-v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Jun 4, 2022)

  • 0.11.0(May 9, 2022)

    What's Changed

    talker changes:

    • FIX Fix filter
    • FIX Refactor package base
    • INFO Make 100% tests coverage
    • INFO Update README.md

    talker_logger changes:

    • INFO: Make 100% tests coverage
    • INFO: Update package docs, examples, tests

    talker_flutter changes:

    • INFO Update talker version to 0.11.0

    Full Changelog: https://github.com/Frezyx/talker/compare/0.10.0...0.11.0

    Actual packages versions

    talker: ^0.11.0
    talker_flutter: ^0.11.0
    talker_logger: ^0.11.1
    
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(May 5, 2022)

    What's Changed

    talker changes:

    • BREAKING Remove field registeredTypes
    • FIX Fix history bug
    • FIX Disable writeToFile in settings for first stable release
    • INFO Update example and add some new tests

    talker_flutter changes:

    • FEAT Create extended example and base example
    • FIX Make refactor in internal UI code
    • FIX Fix examples
    • INFO Update group_button version

    Full Changelog: https://github.com/Frezyx/talker/compare/0.9.0...0.10.0

    Actual packages versions

    talker: ^0.10.0
    talker_flutter: ^0.10.0
    talker_logger: ^0.9.0
    
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Apr 3, 2022)

    What's Changed

    talker changes:

    • BREAKING Create common Talker constructor
    • BREAKING After this version Talker is not singleton class
    • FEAT Now you can create a lot of Talker instances for you app
    • FEAT Now configure() method is not async

    talker_flutter changes:

    • FEAT Add expand button for hiding or revealing logs
    • FEAT Update TalkerScreen log UI
    • FIX Saving selected filters after sheet closing

    Full Changelog: https://github.com/Frezyx/talker/compare/0.8.0...0.9.0

    talker: ^0.9.0 talker_flutter: ^0.9.0 talker_logger: ^0.9.0

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Mar 13, 2022)

    What's Changed

    • Fix internal package issue by @Frezyx in https://github.com/Frezyx/talker/pull/13
    • Update logger by @Frezyx in https://github.com/Frezyx/talker/pull/14
    • Remove err handler package by @Frezyx in https://github.com/Frezyx/talker/pull/15
    • Implement toggle enabled by @Frezyx in https://github.com/Frezyx/talker/pull/16
    • Update flutter talker by @Frezyx in https://github.com/Frezyx/talker/pull/17
    • Release version 0.8.0 by @Frezyx in https://github.com/Frezyx/talker/pull/18

    Full Changelog: https://github.com/Frezyx/talker/compare/0.7.0...0.8.0

    talker: ^0.8.0 talker_flutter: ^0.8.0 talker_logger: ^0.5.1

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Feb 11, 2022)

    What's Changed

    • BREAKING The talker_error_handler package is no longer supported The package added extra logic. Functionality of talker package remains the same.
    • Move error handler to talker package by @Frezyx in https://github.com/Frezyx/talker/pull/10
    • Release v 0.7.0 by @Frezyx in https://github.com/Frezyx/talker/pull/11

    Full Changelog: https://github.com/Frezyx/talker/compare/0.6.0...0.7.0

    talker: ^0.7.0 talker_flutter: ^0.5.3 talker_logger: ^0.5.0

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Jan 29, 2022)

    What's Changed

    • Try add build for talker_flutter by @Frezyx in https://github.com/Frezyx/talker/pull/8
    • Implement filter and FlutterTalkerData models by @Frezyx in https://github.com/Frezyx/talker/pull/9

    • talker: ^0.6.0
    • talker_flutter: ^0.5.0
    • talker_error_handler: ^0.5.0
    • talker_logger: ^0.5.0

    Full Changelog: https://github.com/Frezyx/talker/compare/0.5.0...0.6.0

    Source code(tar.gz)
    Source code(zip)
Owner
Stanislav Ilin
Your code's boyfriend
Stanislav Ilin
πŸ”– πŸ“± A book logging app built with Flutter

galpi Book logging app made with Flutter. Build There are some secret files required for the build. These files include credentials for android build,

Ahn Heejong 71 Dec 27, 2022
template with tests, login flow, riverpod, logging ect.

Flutter Template What to accomplish has tests basic auth flow riverpod as state provider logging (sentry) navigation (I used Beamer last time but migh

Jeremiah Parrack 20 Dec 22, 2022
A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Android, Web, Windows, Linux and macOS.

cross_connectivity A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Androi

MarchDev Toolkit 29 Nov 15, 2022
Example repository of handling permissions in Flutter using BLoC and Clean Architecture.

flutter_permission_handling A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get

Jop Middelkamp 0 Dec 28, 2021
Audio manager - A flutter plugin for music playback, including notification handling.

audio_manager A flutter plugin for music playback, including notification handling. This plugin is developed for iOS based on AVPlayer, while android

Jerome Xiong 96 Oct 25, 2022
Repository to practice and study some advanced concepts of flutter bloc

flutter_weather A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Gabriel Davi Silva Pereira 3 Mar 31, 2022
An elegant todo app with some advanced features.

?? An Elegant "Todopad" Made With Flutter ?? ?? Star ?? the repo if you like it This is a todo app with local backup and restore functionality made wi

Sourav Kumar Suman 69 Jan 1, 2023
Bosun is a library for building organized command line applications in Dart.

Bosun A library for parsing CLI input and structuring CLI commands Features Structure CLI commands in a nice, uniform fashion. Parse args and flag inf

null 3 Oct 13, 2022
An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga

An application of learning outcomes from the Mastering Flutter 2.0 class: Building Travel and Aircraft Applications Buildwithangga

Latoe 2 Aug 29, 2022
Tubles is a simple applications to provide any tubles in in google maps and we as the user can navigate into the selected tubles location.

Tubles Tubles is a simple applications to provide any tubles place in google maps and we as the user can navigate into the selected tubles location. F

Yusril Rapsanjani 78 Jan 8, 2023
A guideline for building scalable Flutter applications.

Scalable flutter app You probably need to read this article before inspecting the repo's code. Building scalable Flutter apps (Architecture, Styling,

Nour El-Din Shobier 36 Nov 23, 2022
Training materials for students to create Fullstack Flutter Firebase applications

Full-stack app with Flutter and Firebase Workshop The repository is supposed to be used for the my workshops. Agenda Part 1 Introduction to Flutter &

Majid Hajian 22 Oct 16, 2022
A declarative library with an easy-to-use interface for building Flutter applications on AWS.

Amplify Flutter AWS Amplify provides a declarative and easy-to-use interface across different categories of cloud operations. Our default implementati

AWS Amplify 1.1k Jan 5, 2023
WalletConnect is an open source protocol for connecting decentralised applications to mobile wallets with QR code scanning or deep linking.

WalletConnect is an open source protocol for connecting decentralised applications to mobile wallets with QR code scanning or deep linking. A user can

Tomas Verhelst 87 Dec 28, 2022
A discord bot, made with Dart, which lets you run your own pure Dart code snippets directly via a discord ping, and get the output in an instant.

A discord bot, made with Dart, which lets you run your own pure Dart code snippets directly via a discord ping, and get the output in an instant.

Anikate De 3 Oct 21, 2022
A Dart library for creating a Dart object to represent directory trees.

Directory Tree A Dart library for creating a Dart object to represent directory trees. Getting Started Import and initialize package import 'package:d

Chiziaruhoma Ogbonda 5 Dec 1, 2021
A collection of Dart code samples by Dart DevRel

Dart samples A collection of Dart programs that illustrate features and best practices. For a list of community-maintained projects, see Awesome Dart.

Dart 458 Dec 30, 2022
Expenses tracker built with Flutter and Dart making use of Provider, Intl, Syncfusion Flutter Datepicker and more

expense_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Atuoha Anthony 2 Dec 10, 2022
A fast and space efficient library to deal with data in Dart, Flutter and the web.

Dart Data Dart Data is a fast and space efficient library to deal with data in Dart, Flutter and the web. As of today this mostly includes data struct

Lukas Renggli 14 Nov 4, 2022