GithubHelp home page GithubHelp logo

wiredashio / wiredash-sdk Goto Github PK

View Code? Open in Web Editor NEW
501.0 501.0 65.0 7.52 MB

Interactive user feedback tool for Flutter ๐ŸŽ‰

Home Page: https://pub.dev/packages/wiredash

License: Other

Ruby 0.08% Swift 0.07% Dart 98.68% Shell 1.18%
dart flutter flutter-package pub sdk user-feedback widget

wiredash-sdk's People

Contributors

1saifj avatar alnitak avatar atatrkgl avatar atoka93 avatar blkkkbvsik avatar brianegan-wiredash avatar bruno-garcia avatar ciriousjoker avatar creativecreatorormaybenot avatar danielmolnar avatar dev-dfm avatar flschweiger avatar huextrat avatar jamesblasco avatar jishnum avatar joran-dob avatar jxstxn1 avatar kylekun avatar lukas-h avatar mhbdev avatar msitbon avatar nash0x7e2 avatar nohli avatar orestesgaolin avatar passsy avatar rehlma avatar robiness avatar roughike avatar stevendz avatar yazinsai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wiredash-sdk's Issues

Handle submission errors

Right now, Wiredash doesn't handle errors during submission. It always shows the success message and leads users to believe that the submission was successful although it wasn't.

Screen-Shot-2020-04-20-12-35-22 07

Common errors are:

  • No internet
  • Server offline
  • invalid email #1

I could think about two stages to resolve this issue:

Solution 1: Show submission failed

Show an "error" state and allow the user to retry after resolving problems on his own (i.e. no internet).

Solution 2: Show error and automatically retry in background

Show user an error but save the feedback to disk and try to upload it at a later point automatically. (Like crashlytics)

  • After a few minutes
  • After app restart
  • After network settings change

Null Navigator Context

Hmmm, it seems like Wiredash can't find the navigator.

Caught error: NoSuchMethodError: The method 'push' was called on null.
Receiver: null
Tried calling: push(Instance of 'DismissiblePageRoute')
I/flutter: #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 WiredashStateData.show (package:wiredash/src/common/state/wiredash_state_data.dart:111:10)
#2 WiredashController.show (package:wiredash/src/wiredash_controller.dart:36:30)

class App extends StatelessWidget {
  final _navigatorKey = GlobalKey<NavigatorState>();
  @override
  Widget build(BuildContext context) {
    return Wiredash(
      projectId: "",
      secret: "",
      navigatorKey: _navigatorKey,
      child: MaterialApp(
        title: 'Wiredash',
        home: Home(),
      ),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  void reportError() {
    Wiredash.of(context).show();
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: Container(
            width: double.infinity,
            height: double.infinity,
            child: Column(
              children: <Widget>[
                MaterialButton(
                  onPressed: () => reportError(),
                  color: Colors.blueGrey,
                  child: Text("Report Error",
                      style: TextStyle(color: Colors.white)),
                ),
              ],
            ),
        ),
      ),
    );
  }
}

I tried both the widget context and the global context. Both reported an error.

Am I doing something wrong?

Pass email address programmatically

๐Ÿ‘‹ First off, wonderful job with the SDK, I love it!

Right now, the user has to enter their email address manually in order to receive feedback on their, well, feedback:

image

Is there a way I can send the email address (which we already have) directly to WireDash and skip that step?

Doesn't work in release mode

The SDK works as expected in debug mode but the application doesn't seem to work in release mode. We have enabled the Wiredash FAB by default and clicking on it does nothing in release mode. Is there any resolution for this?

Custom labels in console

I'd like to create custom labels in the console. I'd use my custom labels to group feedback by feature and planned release. I think GitHub nailed it with their labels for issues, the same way I'd use labels in wiredash.

Enhanced Filters

Currently you are able to select different filters (bug, improvement, praise) and to do a free-text search but it's not yet possible to filter for custom labels. Also this should include the ability to filter for app version, debug build, closed feedback, etc.

Also see #3

Plans to support web?

Are there any plans to support web? It should at least be documented that it does not currently support web. Just tried it out on a personal web project, but it is not working.

[Proposal] Add option to launch Wiredash fix context-specific configurations

For example: in the case of unhandled or unexpected errors, I show a button to my user with a prompt to report the error/bug to me. Pressing the button opens Wiredash.

I would like be able to configure Wiredash such that I can jump a user straight into the "report a bug" mode. I figure adding optional parameters to show() would do the trick, like wiredashMode and maybe a config to show different WiredashConfigs for different contexts. If left blank they would obviously default to the default mode and WiredashConfig

Can i Get User Mobile Information??

If a user tries to submit their Bugs or App Problem then I Need a Mobile Information Following As:-
1.Time

2.Device Name (Ex:- RMX1911)

3.Model

4.Brand

4.SDK version

5.Android Version

If Your Give consent To share this Information, Because it helps Developer Like me Solve their Problem as Quick as Possible

Below is the Image for Google getting some Information About Mobile When user want to Submit an issue.

Screenshot_2020-07-01-07-57-22-11
Screenshot_2020-07-01-07-57-51-11
Screenshot_2020-07-01-07-57-37-21

Email notifications

Hi,

Just to say this is lovely, but could the email say what type of feedback it is? Bug, Applause, Feature request etc?

Thanks.

[Proposal] Export feedback.

Hi Wiredash team.

Sometimes, I need to show worked feedback as reports to external people or people that doesn't want to create an account.

It would be possible to add an export feature like, row data in csv or a pdf with current feedback items and it status?

Slack integration

There can be a slack app like that of GitHub where you can get messages when there is a new feedback

License and pricing question

Can the license be modified to accept something like "Powered by Wiredash" in the binary? What might the pricing structure be in the future? We're considering this for an enterprise application.

"Thank you" message after feedback

"Thank you so much for helping us building a better app!"

should be

"Thank you so much for helping us build a better app!"

P.S.
Love this very much!!!!

Dutch translation

Hi, I added the Dutch translation in the POEditor file. Enjoy!
Will keep an eye on new terms!

RTL Support

Hello

Thanks For This Amazing Lib it works very well.

But, Can You Please Add RTL Support When using RTL Languages ?

Boolean property when Wiredash UI is shown

There should be a property in the WiredashController telling me when the Wiredash UI shown.

I've built wrapper which shows Wiredash when shaking the phone, but that leads to some funny moments because a lot of Wiredash UIs are shown. See #63

Maybe Wiredash.of(context).show(), should only invoke ONE UI and ignore subsequent calls.

I'll upload a screen recording of it :D

Mark feedback as resolved

I'd love to mark feedback as closed/resolved/done so it doesn't show up in to console anymore. I receive plenty of feedback from my users and it's kind of hard to maintain all the feedback in a larger team.

Github integration

How's this coming along?

Even if it just had the title and linked to the details on wiredash (#67), that'd be very helpful. Possibly tag it with Wiredash or just put [wiredash] in the title.

Email address validation is too strict

Some email addresses are reported as invalid although they are valid. I noticed it for live TLDs.

Wiredash.of(context).setOptions(userEmail: "[email protected]");

This results in an error when sending it to the server

500:
{\"message\":\"Feedback validation failed: email: Not a valid email address\"}

Either the email validation should also happen in the client sdk when calling setOptions or the server should ignore it entirely.

A rather simple but working Regex would be ^\S+@\S+\.\S+$.

It is possible to send an empty (only whitespace) applause

Steps to reproduce

  1. Open Wiredash
  2. Send applause
  3. Press space
  4. Send applause without email

image

Same bug applies to a feature request and a bug report, if the user skips the screenshot.

Fix

function isWhitespace(str: string): boolean {
    return str.match(/^\s*$/) !== null;
}

Feature request: Attach a custom text for the report.

Would be amazing to be able to register somewhere a delegate which would be called when the report is being formed by Wiredash. The delegate could provide then some text (logs) which would be attached for the final report.

Transparent layer above bottomNavigationBar

We are currently testing the Wiredash package to implement it in our application, very good work by the way, but apparently there is some transparent layer that is positioned above the "bottomNavigationBar" and does not possible to tap on the button lower left side, this only happens to me when I set the property "showDebugFloatingEntryPoint: true", to show from the start the
Wiredash dragabble FAB:

options: WiredashOptionsData (
  showDebugFloatingEntryPoint: true,
),

Any suggestion?

Thanks in advance for your help.

Secret storage

Hi,

Just a quick question about whether or not the secret is recommended to be stored and retrieved from flutter_secure_storage for example?

Thanks.

Using with BottomNavBar disables the first nav bar item

When using Wiredash with a bottomnavbar I am no longer able to tap the first item in the nav bar. once I navigate to a second or third item the 1st is not a tap target. If I remove wiredash all the code works correctly.

[Proposal] Option Customization

I only want the "send feedback" button to be shown however we can't hide buttons. An option to customize which buttons will be shown would be great.

Internationalization support (french)

I develop an application for french customers.
I have tried this SDK but it seems to support english only.
Did you plan to support french ? it would be very nice .

Add links to privacy policy and terms in the console

Description

The only way to access the privacy policy and terms of service is to sign out and click "sign up". It would be much better to add a link to the privacy policy and terms of service in the console.

There is no link. Even not in the configurations.
image

Show / Hide Wiredash FAB

Just a question, do we have a way to show and hide the Wiredash FAB button? that is, not only show the Wiredash BottomSheet with:

Wiredash.of(context).show();

Any recommendation or provisional way?

Thanks for you attentions.

FAB is unresposive after it is moved out of safeArea in iphoneX and above

Once the user move around the fab and once it goes out of the safeArea, then user cannot drag back the FAB. In some cases FAB responds on click but mostly it is unresponsive. May be Boundaries of the FAB can be set within the safeArea or may be a better solution to avoid this would be nice

Remove members from team

I can't remove members from my team. That's absolutely necessary. People leave companies and shouldn't have access anymore

Integrate with existing support tools

Wiredash seems to be very cool and unique what it can do using Flutter. I don't expect something similar to large tools, like Intercom.

However, those tools have more sound support for team collaboration, Integrations with other services, ...

So using Wiredash together with, like Intercom, could be beneficial. Are there plans to generate screenshots that can be added to any new or existing Intercom conversation?

Maybe trough a standard API that allows to integrate any third-party tool?

Allow me revoke invites

I did a typo when inviting members to my team. Nobody received the invite. I'd like to revoke it so it doesn't clutter my member list.

Localization

We should support out-of-the-box localization for the top 5 or so languages.

Wiredash app on play store

It is very hard to keep track of feedbacks on the go as it is only on web. So it would be great if we have an app on our phones.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.