Giter VIP home page Giter VIP logo

linwooddev / butterfly Goto Github PK

View Code? Open in Web Editor NEW
829.0 12.0 54.0 58.84 MB

๐ŸŽจ Powerful, minimalistic, cross-platform, opensource note-taking app

Home Page: https://butterfly.linwood.dev

License: GNU Affero General Public License v3.0

Swift 0.06% Objective-C 0.01% Dart 61.31% HTML 0.22% CMake 0.31% C++ 0.47% C 0.02% Inno Setup 0.13% Shell 0.04% Ruby 0.02% Java 0.09% Dockerfile 0.01% Batchfile 0.01% JavaScript 37.31%
flutter app notes-app android linux windows opensource customizable web dart

butterfly's People

Contributors

actions-user avatar batuhand avatar codedoctorde avatar dependabot[bot] avatar fritzlb avatar github-actions[bot] avatar kant avatar mrgumpit avatar quickblade22 avatar soumyadghosh avatar vedantmgoyal9 avatar yotama9 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

butterfly's Issues

[Feature request]: Add store for images/areas

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Add a store to provide user made images/areas to download

Additional context

Currently not possible because of missing server structure

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Missing version information in about window

What happened?

  1. Open Butterfly
  2. Go to Settings->Information
  3. A windows with Butterfly logo and name opens

Expected:
Version number (simple for release, beta or release candidate versions, with a Git commit number for dev versions) is displayed.

Actual:
Only static info is displayed.

q

Version

butterfly.linwood.dev

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Zooming using gesture while in drawing mode draws a weird zigzag

What happened?

  1. Open project.
  2. Switch to drawing mode
  3. Zoom out using two-finger pinching gesture.

Expected: drawing is suppressed while zooming or panning using two fingers and only changes content when single finger touches the screen.
Actual: It zooms out, but also paints a lot of zigzagging line segments.

Those extra lines seem not to be considered as part of the project and tend to disappear when continuing editing.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Syncing

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

First of all, thanks for the awesome app and design specially being multy platform.
I use the app on my android, and(want to) use the app on my (future) touchscreen linux tablet.
It would be awesome if I can synch the app between my devices without clicking export and go to directory every time.
Some automated, or one touch syncing with clouds (for example next cloud) would be awesome.

Discussion in #87

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: F-Droid build failed

What happened?

FAILURE: Build failed with an exception.

* Where:
Build file '/home/vagrant/build/dev.linwood.butterfly/app/android/app/build.gradle' line: 38

* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'ndkVersion' for extension 'flutter' of type FlutterExtension.

Could you please take a look? Thanks!

Version

1.3.0-alpha.1

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Multiline text input

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Both Android and Web version of Butterfly seem to allow to input only one line of text at a time.

This seems too limiting.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Animation support

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Add animations and presentation support for elements.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Can create notes with empty name

What happened?

self explanatory ig

image

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Documentation]: what is it???

What happened?

How do you expect people to discover your app when you don't tell us what it is? Marketing!

I had to come to the github just to see that it's a notes app, and I know nothing beyond 1) notes app, 2) stores data locally, and 3) customizable. You should put at least a sentence or two in the readme talking about what it is :-)

Version

2.0.0-beta.0 (Latest release)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: App description in F-Droid and README is subpar

What happened?

README and F-Droid page starts with "Change the world", which is rather vague. Changelog suggests that it is somehow graphics related. "The data is saves in json fils" suggests that this graphics is vector graphics.

#16 even expected it to be some notes app.

There are a lot of notes and simple raster draw apps for Android, but vector graphics editors (even simple ones) are rare, especially open source ones.

I suggest to fix app description to position Butterfly as vector graphics editor for web and Android explicitly.

P.S.

"The paper has an infinite size, ..."

With zoom levels capped between 25% and 500%, this infinity is rather finite.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Replace label with text field

Is your feature request related to a problem? Please describe

N/A

Describe your feature request!

Additional context

Currently if I past bulk text it will all display on a single line, unless there are carat return lines in the copied text. Then it will show on a second or more lines, centered below the top line. It would be very helpful to have the ability to click-and-drag a box that the text will word wrap inside of.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Zooming using wheel scrolling in web version only zooms in.

What happened?

  1. Use https://butterfly.linwood.dev/
  2. Create some project and draw something
  3. Try issuing wheel up / wheel down events.

Expected: one of the events zooms in, the other zooms out
Actual: scrolling both up and down zoom in.

I don't know what version is in use. Just what's deployed on the public site right now.

Version

2.0.0-rc.1 (Latest snapshot)

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Multi gestures

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

To add more functionality, we need multi gestures.
For example for the hand tool:

  • Left click and moving for the select tool (on touch moving with the finger)
  • Middle click to change the view (on touch two fingers)
  • Right click to edit the current object (on touch long click)

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Make Butterfly sync and ready flow the ideas.

Is your feature request related to a problem? Please describe

Consistency is very important in large projects.
It can happen, that a user is working on an idea on the desktop, and wanted to continue working on it on mobile, or tablet later in the week.
To have a server, where can save the data, and users can call it later would be good idea.

Describe your feature request!

connecting Butterfly to a server side application, which can be hosted on our own computer severs, and we can connect to our accounts from Mobile app/ Web app or desktop app.
something like Nextcloud
which we can have different instances but all show our own data.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Zooming in using finger pinch gesture zooms against top left corner instead of gesture position.

What happened?

  1. Open some nonempty project.
  2. Try zooming in something using gesture.

Expected: it zooms in, enlarging content that is positioned where fingers are.
Actual: in zooms in, enlarging content at top left corner.

Zooming in using toolbar button instead of gesture also zooms in against corner instead of center.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Reimplement undo/redo

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Reimplement bloc to allow redo/undo

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Add zoom sensitivity

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Add zoom sensitivity for:

  • pointersignalevent
  • zoom gesture

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Using "back" navigation gesture results in Butterfly interpreting the underlying events for itself

What happened?

When system Android UI is switched to gesture navigation it lacks virtual button panel at the bottom. But screen edges become significant and interactions with then become reserved for Android system actions, such as "pressing" the back "button".

Butterfly hovewer reacts to those gestures too as if they were usual user input. It may result in extra strokes being added to document just before exiting Butterfly app (using "back" gesture).
In case of text entry tool being active, it results in inability to exit Butterfly app using the gesture (see video in #47).

Version

build from cebe815 , devel branch

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Baking the image

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Baking the image helps to keep performance on a view with many lines.

Some potential problems:

  • The path eraser should rebake everything
  • If you move your view, rebaking can drop your fps

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Editing label layer in the view

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Move the editing of the text in the label in the view.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Welcome/Update/Nightly screen

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

  • Add a welcome screen to introduce the app to the user.
  • Add an update screen to show the user what's new
  • Add a nightly screen to hightlight that this version can have bugs

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: App bugs after using the label painter

What happened?

You can't do anything when using the label painter.

Version

1.2.1

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Improve performance on images

Is your feature request related to a problem? Please describe

If you have a large project with many pictures, the projects loads long

Describe your feature request!

Remove resizing on every load of the project.

Additional context

Important before the first stable is released!

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Images on web does not work

What happened?

If you want to select an image, an error appears

Version

1.0.0.rc.6-1.1.0

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Add flatpak support

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Adding flatpak support helps people to use the app in their favorite distro. AppImage is good, but flatpak seems better :)

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Zooming out, then back in does not return viewport to origin

What happened?

zoom.mp4
  1. Open the app
  2. Draw something
  3. Zoom out multiple times
  4. Zoom back in to 100%.

Expected:

It zooms using current viewport center as pivot point. Zooming back in after zooming out results in no change to viewport.

Actual:

Pivot point is inconsistent: it switches to top left corner at some point in zooming out. Zooming back in results in a different viewport position where the drawing may be out of visibility.

Version

build from cebe815 , devel branch

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Change file location in view

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Add a functionality to change the location and file name if file is opened.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: "Open" doesn't show notes when full screen

What happened?

It works fine when the window is scaled to it's default size, but when full screen is triggered, the "Open" option doesn't show any notes.

Version

1.0.0

Platform

Linux

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Drawing while zooming using mouse wheel works poorly.

What happened?

  1. Go to https://butterfly-git-feature-draw-home-page-linwood.vercel.app
  2. Start drawing a stroke by pressing and holding left mouse button (do not release it yet)
  3. Move the mouse, observe a line appearing.
  4. Without releasing the left mouse button, use wheel to zoom in
  5. Move mouse further, to continue the stroke.

Expected: new stroke segments appears where the mouse cursor is positioned

Actual: zoom is misaligned (#19), resets back when mouse is moved (like in #21), and a spike is added to the current stroke. Unlike #20, this additional segment is a part of project and stays so after refreshing.

Version

dev deployment

Test it on thedevelopment version

  • I tried this bug in the newest development version.

Platform

Web

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Switching to drawing mode resets zoom level

What happened?

  1. Open some project
  2. Zoom in to draw finer details or zoom out to fill in larger area.
  3. Switch to drawing mode

Expected: zoom level stays the same. Default brush size depends on current zoom level.
Actual: zoom level resets to 100.00.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Thoughts about eraser tool

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

For new Butterfly users it may be not obvious that it is a vector graphics editor. In particular, eraser tool (at least the way it works now) is less recommended way to delete content.

It may be helpful to show tutorial-esque message hinting users that objects can be selected and deleted in view mode.

In future there can be advanced feature of automatically detecting that users wants to delete scene object based on the use of eraser tool, to prompt conversion of that action to actual deletion of scene object.


Maybe eraser tool's primary function should actually be modification and removal of scene objects, not adding separately selectable eraser strokes.
Current implementation of eraser tool may actually be a special pen mode instead.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Layers and object groups.

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

It would be nice to have layers to toggle visibility, mass delete and limit selection of objects more easily.

Similarly, bundling objects in groups to be movable/deletable together would also help.

I expect these feature to be more important then e.g. animation (#11), but less important than fixing bugs, UX/UI issues and improving performance for scenes with many objects.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: embedded Butterfly

Is your feature request related to a problem? Please describe

Yes, there are multiple apps which use other programs as a solution for their annotating problems.
for example Bookstack, Dokuwiki, etc.
It would be awesome, if we could embed Butterfly inside other programs (wiki's in particular).

Describe your feature request!

embed mode is very interesting feature, which allows developers connect one app to another app. It benefits users in order to make them able to enjoy both worlds of two app.
If we can have embed mode of Butterfly, in order to use it (specially in wikis) it would add so much value to Butterfly and wiki.
Personally I use Dokuwiki, and mobile app does not have any note taking ability.
list of self hosted wikis

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Zoom-dependent stroke width

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Brush editor should have a mode where stroke width automatically scales with current zoom level, allowing users to zoom in, draw some fine details, zoom out, add big, bold strokes, etc.

It may be just a checkbox or some slider (where value 0.0 means no scaling and value 1.0 means immediately visible size of a stroke stays constant).

Zooming while continuing to draw the same stroke should not change width mid-stroke.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: Add area painter/visual

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Declare areas to export them separtly.
Add boundaries for texts #97

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Selecting objects fail after zooming using fingers gesture.

What happened?

  1. Open project where there is some object (e.g. brush stroke) is present.
  2. Zoom in or out using pinch gesture.
  3. Try to select object to deletion by tapping it in panning mode.

It fails.

If only panning or zooming using toolbar buttons were used (not using gesture) then it continues to work.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Unintuitive UX when starting using the app.

What happened?

It is tricky to find out what is this app about without too many clicks.

Here is my scenario:

  1. Open Butterfly
  2. Assuming it's some graphical notes app, try drawing something with a finger at that empty dark gray space.
  3. Nothing happens. Notice "[+ Create]" button at the bottom.
  4. Create a project (begrudgingly typing something as a name). I expect many casual users may just uninstall the app instead.
  5. Notice project name with delete button appearing at the top. Try drawing something again. Nothing happens.
  6. Tap at the button with project name. White background opens. Draw something.
  7. Again nothing happens.
  8. Try zooming in and out using pinch gesture. Zoom level seems to change, but still cannot draw anything.
  9. Notice palette button at the bottom. Maybe it's just white colour by default? Open it and select some distinct colour. Try drawing again. Nothing happens.
  10. Try various buttons. Finally the strange hand button changes to pencil button and it starts actually drawing content.

Expected:

  1. Open Butterfly app for the first time.
  2. Default project is created and is pre-opened. Drawing mode is the default, so user can immediately produce content.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Drawing while pinch-zooming does not work.

What happened?

#20 is said to be resolved. Yet it still see it on Android, even with the recent commit:

paint.mp4
  1. Open Butterfly.
  2. Start drawing by touching the screen and moving finger.
  3. Without releasing the finger, also touch second finger to zoom in/out without interrupting the stroke

Expected:

It zooms in/out using first (actively drawing) finger as pivot point if second finger is moved. It scrolls the canvas around if both fingers are moved (such as after finishing the temporary zoom/pan mode it would continue drawing the stroke without any long straight segments).

Actual:

It removes already drawn part, then starts drawing a zigzag line between fingers.

Note:

Filling area between fingers (using a proper closed curve, not a zigzagging line) can be a special, distinct touchscreen-exclusive drawing tool.

Version

build from cebe815, devel branch

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Text entry tool asks to input text multiple times

What happened?

text.mp4
  1. Open the app
  2. Switch to text tool
  3. Tap on screen single time.
  4. Text entry modal dialogue shows up
  5. Input the text and press OK

Expected:

It returns to the main view, revealing the newly added text.

Actual:

It shows another text input dialogue. Cancelling it returns to the main view, typing text there adds another text element to the scene.

Version

built from cebe815 , devel branch

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature request]: svg import and export

Is your feature request related to a problem? Please describe

No response

Describe your feature request!

Butterly seems to feature import and export feature. Exporting shows two options: data and image. I assume data is Butterfly-private file format; width and height input for image suggest that it is rendered version of the image.

It would be beneficial to also support SVG export and import. Obviously, not all SVG features are expected to be supported (at first at least), but I would expect it to handle its own svg exports.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Selecting objects is unreliable and UX is subpar

What happened?

Seems like you need to be precise when tapping to select a brush stroke.
I expect single short taps in selection mode to always select some nearby object, even if user does not manage to tap precisely.
Selection of text object is especially poor and often fails even when zoomed in and repeatedly tried to the position where letter is obviously displayed.
Selected objects are expected to be highlighted somehow (e.g. using frame or some animation).
Tapping where multiple objects may be selected should lead to a mode where you can explicitly choose the object.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Bug]: Drawing after zooming produce extra leading stroke

What happened?

  1. Open new project.
  2. Zoom in (using gesture or zoom button)
  3. Switch to drawing mode
  4. Draw something.

Expected: Visible path follows finger.

Actual: A straight line segment is drawn from some arbitrary point to the touching point, then it the path goes on normally.

Pressing undo button, then drawing the path again makes correct path.

Version: 1.0.0-rc.1 from F-Droid.

Version

2.0.0-rc.0 (Latest snapshot)

Platform

Android

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

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.