Coder Social home page Coder Social logo

fluttertools / sidekick Goto Github PK

View Code? Open in Web Editor NEW
1.5K 17.0 98.0 18.56 MB

A simple app to make Flutter development more delightful

License: BSD 3-Clause "New" or "Revised" License

Ruby 0.50% Swift 0.85% Dart 85.23% Batchfile 0.13% CMake 5.17% C++ 7.46% C 0.49% Shell 0.17%
flutter devtools sidekick

sidekick's Introduction

Sidekick

Sidekick for Flutter

A simple desktop interface for tools that enhance Flutter's development experience to make it even more delightful.

Available for Linux, macOS and Windows.


GitHub release (latest by date) GitHub Downloads for the last release GitHub Downloads overall GitHub All Contributors Awesome Flutter License


Download Sidekick

Sidekick Screenshot

Sidekick is available in the following languages:
๐Ÿ‡ธ๐Ÿ‡ฆ ๐Ÿ‡ง๐Ÿ‡ฉ ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡บ๐Ÿ‡ฆ ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ธ๐Ÿ‡ช ๐Ÿ‡ต๐Ÿ‡น ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡ฑ ๐Ÿ‡ฎ๐Ÿ‡น



โœจ Features


Manage Flutter versions

Explore releases

Search versions across apps

Version sandboxing (playground)

more...

Contributors ๐ŸŽ‰

Thanks goes to these wonderful people (emoji key):

Leo Farias
Leo Farias

๐Ÿ’ป ๐Ÿค” ๐ŸŽจ ๐Ÿ“– ๐Ÿšง ๐Ÿ’ฌ ๐Ÿ› ๐Ÿš‡ ๐Ÿ“†
Eduardo M.
Eduardo M.

๐Ÿ’ป ๐Ÿค” ๐Ÿ“– ๐Ÿ› ๐Ÿš‡ ๐Ÿšง ๐Ÿ‘€ โœ…
Jayesh Nirve
Jayesh Nirve

๐Ÿšง
Paul Halliday
Paul Halliday

๐Ÿ’ป ๐Ÿ›
anticafe
anticafe

๏ธ๏ธ๏ธ๏ธโ™ฟ๏ธ
Arthur Denner
Arthur Denner

๐Ÿ›
Maximilian Flechtner
Maximilian Flechtner

๐Ÿ’ป ๏ธ๏ธ๏ธ๏ธโ™ฟ๏ธ
Mohamed Kamel
Mohamed Kamel

๐ŸŒ
Pedro Marinho
Pedro Marinho

๐Ÿš‡ ๐Ÿค”
Rebar Ahmad
Rebar Ahmad

๐Ÿ’ป ๐Ÿ“– ๐ŸŒ ๐Ÿ›
่ƒกๆ–‡ๆถ›
่ƒกๆ–‡ๆถ›

๐Ÿš‡ ๐Ÿ’ป
Patrik Persson
Patrik Persson

๐ŸŒ
kassadin
kassadin

๐ŸŒ
seenewmax
seenewmax

๐ŸŒ
Chrg1001
Chrg1001

๐ŸŒ
Daniel ลojewski
Daniel ลojewski

๐ŸŒ
Federico
Federico

๐ŸŒ ๐Ÿ›
HighError
HighError

๐ŸŒ
Abdullah Al Mahmud
Abdullah Al Mahmud

๐ŸŒ
RainVisitor
RainVisitor

๐ŸŒ
Marcin Ochyra
Marcin Ochyra

๐ŸŒ
Gaurav Yadav
Gaurav Yadav

๐ŸŒ
Kyle Seongwoo Jun
Kyle Seongwoo Jun

๐ŸŒ
Piotr Rogowski
Piotr Rogowski

๐Ÿšง
Christophe Leemans
Christophe Leemans

๐ŸŒ
Abraham Setya Nugraha
Abraham Setya Nugraha

๐ŸŒ
areille
areille

๐Ÿ’ป ๐Ÿšง
PeachyCad
PeachyCad

๐ŸŒ
adnan
adnan

๐ŸŒ
Otabek
Otabek

๐ŸŒ

Notice

Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.

This project follows the all-contributors specification. Contributions of any kind welcome!

sidekick's People

Contributors

abc873693 avatar abrahamsn avatar adnanjpg avatar aguilaair avatar ahmadre avatar allcontributors[bot] avatar arthurdenner avatar broderbluff avatar chrg1001 avatar defuncart avatar dependabot[bot] avatar federicoviceconti avatar gauravcalidig avatar gerfaut avatar higherror avatar imgbotapp avatar its-me-mahmud avatar jeisonsanches avatar kamel912 avatar karniv00l avatar kyle-seongwoo-jun avatar leoafarias avatar losdanieloss avatar m-ochyra avatar otabekoff avatar peachycad avatar pedroermarinho avatar seenewmax avatar techno-disaster avatar trietbui85 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  avatar  avatar  avatar  avatar

sidekick's Issues

MS Windows needs cert to install

MS just switched out their install permissions oper the new MS OS update,

You now need to include a cert in installer for most users to install it on MS Windoes

Can only check flutter settings with a global version configured.

I got this error while build it on Windows 10

[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Exception: Can only check flutter settings with a global version configured
#0      FlutterConfigService._runCmd (package:sidekick/services/flutter_config_service.dart:17:7)
<asynchronous suspension>
#1      FlutterConfigService.getFlutterConfig (package:sidekick/services/flutter_config_service.dart:58:20)
<asynchronous suspension>
#2      SettingsProvider._loadState (package:sidekick/providers/settings.provider.dart:100:29)
<asynchronous suspension>

Activating Dart DevTools...                                        15.2s
Syncing files to device Windows...                                 317ms

Flutter run key commands.
r Hot reload.
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on Windows is available at: http://127.0.0.1:51377/H8sRE4BdDvg=/

Flutter DevTools, a Flutter debugger and profiler, on Windows is available at:
http://127.0.0.1:9101?uri=http%3A%2F%2F127.0.0.1%3A51377%2FH8sRE4BdDvg%3D%2F

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: NoSuchMethodError: The getter 'fvm' was called on null.
Receiver: null
Tried calling: fvm
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      SettingsProvider._checkFvmSettingsChanges (package:sidekick/providers/settings.provider.dart:85:43)
#2      SettingsProvider.save (package:sidekick/providers/settings.provider.dart:120:13)
#3      SettingsScreen.build.handleSave (package:sidekick/screens/settings_screen.dart:58:24)
#4      SettingsScreen.build.handleSave (package:sidekick/screens/settings_screen.dart:56:28)
#5      SettingsSectionGeneral.build.<anonymous closure> (package:sidekick/screens/settings_scenes/settings_section_general.dart:98:23)
#6      SettingsSectionGeneral.build.<anonymous closure> (package:sidekick/screens/settings_scenes/settings_section_general.dart:96:26)
#7      _DropdownButtonState._handleTap.<anonymous closure> (package:flutter/src/material/dropdown.dart:1255:26)
#8      _rootRunUnary (dart:async/zone.dart:1362:47)
#9      _CustomZone.runUnary (dart:async/zone.dart:1265:19)
#10     _FutureListener.handleValue (dart:async/future_impl.dart:152:18)
#11     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:704:45)
#12     Future._propagateToListeners (dart:async/future_impl.dart:733:32)
#13     Future._completeWithValue (dart:async/future_impl.dart:539:5)
#14     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:577:7)
#15     _rootRun (dart:async/zone.dart:1354:13)
#16     _CustomZone.run (dart:async/zone.dart:1258:19)
#17     _CustomZone.runGuarded (dart:async/zone.dart:1162:7)
#18     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1202:23)
#19     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#20     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

I guess it is not able to find the path to fvm.

Window needs cert to install package. Not trusted certificate.

I downloaded and tried to run sidekick-windows-0.0.5.msix from https://github.com/leoafarias/sidekick/releases. But I got this error:

This app package is not signed with a trusted certificate. Contact your system administrator or the app developer to obtain a new certificate or app package with trusted certificates. The root certificate and all immediate certificates of the signature in the app package must be trusted (0x800B010A)

Here's a screenshot of the window:
screenshot

The Install button is also disabled.

Investigate Command Prompt opening up on project handling

In windows when a setting is changes or you open the project screen a command prompt opens, presumably to complete a task. However, this should be done in the background.

@leoafarias can you assign me this issue? I'd like to take a look in the coming week, right now I'm quite busy ๐Ÿ˜„

Example:
image

[Feature Request] In app updates

It would be nice to check for updates of sidekick inside the app so we don't have to go to the github page to check for new updates.

The download & installation of a gui update could also happen from the gui

"Sidekick" can't be opened because Apple cannot check it for malicious software.

When I'm trying to install sidekick on my MacBook Pro, this pop-up arises that says:

"Sidekick" can't be opened because Apple cannot check it for malicious software.

This software needs to be updated. Contact the developer for more information.

This item is on the disk image โ€œsidekick-macos-0.0.6.dmgโ€.

I would โค๏ธ to use Sidekick, I just simply can't.

I'm new to Mac, maybe I missed something... any ideas?

Internationalization

The Flutter community is very much global. It would be important for us to have a path towards internationalization where people could contribute.

Right now Sidekick does not have any abstraction for internalization. We would first need to build this and call for the community to contribute.

Flutter SDK not Installed using custom cache directory.

Hi @leoafarias thanks for your amazing work here!!
I have configured the fvm cache in a custom directory using the environment variable FVM_HOME however sidekick tells me that I do not have any version installed. Is there anything else I have to configure?
{โ–ธ} ~echo $FVM_HOME
/Users/marcos/Documents/SDKs/fvm

Add "How to use" to README.md

Any kind of instructions might be helpful - regarding how to run (I guess it's "build on your own" as there are no binaries linked), and how the UI works.

Desktop app on Linux

Thanks for building the desktop app, its a very nice UI! I've also been using the cli for a little while now instead of manually managing symlinks and find it very helpful.

Doing a quick check I built and ran on Linux desktop (on master) without any issues.

Would be nice to add Linux desktop builds for future releases here on GH and update the Readme to mention that it works on Linux too.

[Feature Request] Add support for multiple flutter project directories

Is your feature request related to a problem? Please describe.
First of all, I want to say thanks for your amazing work!!!!

We are using fvm for all our projects. And we are also using your mac GUI tool.

For that we were thinking about another feature for the GUI tool.
I use our macbook at work and at home. To split up our work and personal projects in a separate directory. Right now we can only select 1 directory.

Describe the solution you'd like
It would be nice to have an option to add multiple directories.

Failed installing msix Windows 10

Haved a problem install msix but I already did with the certification installation instructions.

image

Check Event Logs:
image

https://docs.microsoft.com/en-us/windows/win32/appxpkg/troubleshooting?redirectedfrom=MSDN
image

AppXDeployment-Server event log:
app.fvm.sidekick_0.0.8.0_x64__pjyac4g0caf2w (sidekick-windows-0.0.8.msix) C:๏ฟฝ๏ฟฝ\?\Volume{634b00df-ab47-43c7-9c7b-b83ca2e2c569}๏ฟฝ๏ฟฝA๏ฟฝ @NULLRuntimeBroker.exeappreputationhelpers.cpp,168,8000FFFF;approvalstatehandler.cpp,95,8000FFFF;deploymentmanager.cpp,264,8000FFFF;deploymentrequest.cpp,1959,8000FFFF;deploymentrequest.cpp,2104,8000FFFF;errorhelpers.cpp,54,8007029C;errorhelpers.cpp,54,8007029C;deploymentrequest.cpp,4014,8000FFFF;[{GetErrorInfo reports there is no error object to return}];D๏ฟฝfile:///C:/Users/user/Downloads/sidekick-windows-0.0.8.msix

[Feature Request] pre-built binaries for installation

hiya!

thanks so much for this project. it's been really useful to me and my teammates.

Is your feature request related to a problem? Please describe.
Sorta.

Using fvm to install flutter versions is great, but the fact that installing fvm requires dart to be installed is quite painful for automating setup scripts to run for a team of developers. Often a developer will end up in a spot where both the dart used to install fvm and the darts installed within the fvm-installed flutter versions are available on their path.

Describe the solution you'd like
Would you be interested in publishing prebuilt binaries for common OSes, like macos, linux, and windows? Then we could install fvm via the binary or even via a homebrew formula that fetches the binary instead of installing from source.

Describe alternatives you've considered
Alternatively, you could provide a homebrew formula for fvm for users and/or publish prebuilt versions of fvm to linux package managers, etc.

Additional context
n/a

Use Inno for creation of standalone .exe

Hie, @leoafarias this is a continuation of issue raised here #1

I have been experimenting with flutter desktop for sometime and creating a single .exe has been a pain. Luckily i found a free installer inno setup as mentioned in flutter docs .

The advantage of this is that, it creates a bundled .exe file which can be shared as a single file, it comes with a graphical wizard to setup and also a script that you then run and it compiles to create your .exe
I have downloaded the sidekick and used inno setup to create a standalone .exe

Here is an example script i used to generate the .exe file (auto generated by Inno setup script wizard) available as gist here

The example executable file created,
image

Flutter projects are never found

Steps to reproduce

  1. On latest version you go and configure the location of the projects, return to projects view and see nothing.
  2. Close sidekick app
  3. Reopen sidekick app
  4. Check locations of projects in settings: there is no location set

mac os Big Sur 11.2.3

Projects menu shows blank screen

I installed the sidekick.exe file on my laptop.
I still not completed the FVM setup.
Inside settings In the Projects menu, it shows a blank screen.
Screenshot (108)

App doesn't work in macOS without access permission to Documents

issue:

The app doesn't work if access permission to Documents were not allowed in macOS.

To reproduce:

  • close the app.
  • remove access permission from SideKick:

Screen Shot 2021-06-20 at 12 31 52 AM

  • open the app again
  • The app would look like:

Screen Shot 2021-06-20 at 12 29 20 AM

Additional info:

  • System: macOS Big Sur 11.2.3 (20D91)
  • SideKick: 0.1.1

btw, In an older version, I got this screen and saved it but I forgot to file an issue at the time.
Screen Shot 2021-06-11 at 4 24 23 PM

Add Flutter projects explicitly

The current Flutter projects implementation requires a directory to be added and all Flutter projects are scanned.

This adds some complexity to the project's logic and also has some limitations

It would be a better approach to allow to add each project explicitly.

Workflow

  • User taps project add button
  • User selects project directory
    • If Flutter: Project directory is added.
    • If not Flutter: Display notification
  • Path of the project is now cached with other information.

Handle project directory change:

  • When Sidekick opens or needs to interact with projects, it checks if the directory still exists. If not shows an error on the project card to re-link the project.

This would resolve #3 and #62

Fix DB error screen.

This was spotted in #100. It seems the current method of detecting whether the DB is correctly initialized no longer works.

Current behavior

Screen Shot 2021-06-20 at 12 29 20 AM

Expected behavior

Screen Shot 2021-06-11 at 4 24 23 PM

Navigation (Refactor/Clean up)

Sidekicks navigation is extremely simple, and it currently relies on Riverpod for its navigation. This is something we should refactor and clean up as the features navigation will continue to be more complex, and we want to link to nested pieces within the app.

I haven't checked a lot of the progress made on Navigation after Navigator 2.0, but I heard things about its complexity. Here are some packages worth considering.

  • Riverpod Navigation - extremely new and hot off the presses, but might be something that fits well with what we currently do.
  • Fluro - Which I think is one of the more mature abstractions.
  • Auto Route - Has an interesting approach to it, even though our navigation is very simple maybe it's overkill (we don't have guarded routing for example)
  • Plain Navigator 2.0 - Maybe our navigation is simple enough where this is might be a good approach. I don't have any experience with it to know.

Any other suggestions are welcome!

Not working with VSCode

I installed several versions of Flutter via Sidekick (along with existing installation in D:\Flutter\Flutter SDK)
I set up version 2.2.2 globally. I also set version 2.2.2 to my project (in Projects tab)
When I open the project in VSCode, it still uses version 1.22.6 (from D:\Flutter\Flutter SDK path).

$ flutter doctor -v
[โˆš] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.19041.1052], locale ru-RU)
    โ€ข Flutter version 1.22.6 at D:\Flutter\Flutter SDK
    โ€ข Framework revision 9b2d32b605 (5 months ago), 2021-01-22 14:36:39 -0800
    โ€ข Engine revision 2f0af37152
    โ€ข Dart version 2.10.5

 
[โˆš] Android toolchain - develop for Android devices (Android SDK version 30.0.3) 
    โ€ข Android SDK at D:\Android_SDK
    โ€ข Platform android-30, build-tools 30.0.3
    โ€ข Java binary at: D:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    โ€ข All Android licenses accepted.

[!] Android Studio (version 4.1.0)
    โ€ข Android Studio at D:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

My PATH (maybe should I tweak it?)
image
image

Clicking on Side Navigation Items causes the app to crash

When I click on any of the two marked items in red circle, the app crashes immediately.

Screen Shot 2021-04-25 at 7 01 25 PM

I'm using latest version 0.0.3 on macOS Big Sur 11.2.3 (20D91). Please let me know if you need additional information. (version 0.0.2 works fine btw).

p.s. I also noticed the master branch is not shown as an installed version.

Ui Issues

I recorded this video.

  1. When using the dark theme, the top and left bars are not updated.
  2. When you close a release details section, it breaks the UI.

Let me know if you need my help figuring out what's not working.

Can't resize window on Linux

Hello! I have tried the Linux app and it works great, nice job!
I found an issue though, I'm not able to resize the window. I figure this is not intended because you set Size.infinite for the max window size.
It looks like that is disabling the ability to resize at all.

As you can see here the Maximize and Resize buttons are grayed out.

image

Null-Safety Migration

What needs to be done to migrate to null safety?
What are the dependencies that still have not migrated yet?

Integration tests

Before we release a 1.0 version we need some test coverage on some of the services but also Integration tests. Feel free to comment below if you would like to help tackle this one.

"No Flutter Projects Found" when directory is set

Sidekick looks like it'd be a fun tool! Thanks for innovating in this space.

Issue
I've set a path inside of a folder named development which contains multiple Flutter projects (and other project types, i.e. web, c#, etc).

Navigating to the Projects tab doesn't show and/or load any Flutter projects.

Screenshot 2021-05-03 at 21 18 11

Screenshot 2021-05-03 at 21 17 56

I've also tried:

  • Placing the "Project" path directly inside of a Flutter project
  • Enabling/disabling the FVM only option(s)/advanced.
  • Reinstalling Sidekick.

Is there something I've done wrong here?

[Feature Request] Add Single Project without providing Directory for all Projects

TLDR: Users should be able to add single projects without parent directory.

After I downloaded the app this was the fist thing I saw and is pretty much a nogo for me.

Currently users select a project directory under which all projects are stored but in my opinion you should add projects by themselfes and not over detecting by a parent directory.

At the moment users are forced to use a specific directory structure so they may have to refactor their current one just to use the tool which is a downside for many.

Add cancel button for downloading progress [Feature Request]

Show cancel button on loading progress.

Additional context
On-Hover the loading must show up the cancel button. So that the UI will be clean and that will give a good UX.

As I haven't checked out the code, I don't have the idea of how to do. But this is a feature request that will be helping the users to cancel their downloads.

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.