Giter VIP home page Giter VIP logo

manifest's People

Contributors

amaury-tobias avatar dependabot-preview[bot] avatar dependabot[bot] avatar johncalvinroberts avatar jonathontoon avatar kiyozz avatar lorenalexm avatar pacocoursey 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

manifest's Issues

PWA App Install Prompt

Expected Behavior

App can be installed using the Browser native PWA implementation.

Current Behavior

No option is given.

Possible Solution

Implement it ( see https://developers.google.com/web/fundamentals/app-install-banners )

Steps to Reproduce (for bugs)

  1. Open https://www.manifest.app/
  2. Proof it

Context

Would be nice to have this app as shortcut installed in the system ( be it Windows, Linux, Android, etc. )

Your Environment

  • Environment name and version (nginx 1.9.1): Chrome 79.0.3945.130 (64 bit)
  • Operating System and version: Windows 10 OS Version 1909 (Build 18363.592)

Minimize & Header for Pinboard

With numerous pinboards around, minimize option would really be helpful and a header to identify the type of pinboard.

Enable Spellcheck to notes

<textareas> has attribute spellcheck to false that cause MacOS text replacement to not works.

Expected Behavior

Safari

Given a replacement of tt to tutu
When I type tt plus a space
Then I should see tutu

Chrome

Given a replacement of tt to tutu
When I type tt plus a space
Then I should see tutu

Current Behavior

Safari

I see tt -> no replacement cause of spellcheck="false"

Chrome

I see tutu -> Chrome ignores spellcheck attribute or works differently

Possible Solution

Remove spellcheck attribute. Why for a note app, you disable spellcheck?

Context

Trying to write notes with my favorite text replacements

Your Environment

  • Operating System and version:

MacOS 10.15.2 on Safari 13.0.4
MacOS 10.15.2 on Chrome 80

Write up basic FAQ

Expected Behavior

Just answer a few of the accumulated questions since v1.0 release.

Current Behavior

Tiring to repeat the same information.

Possible Solution

Add it in the README.md.

Disable rubberbanding scroll on iOS

Expected Behavior

Allow me to move or create memos without the viewport getting all messed up.

Current Behavior

Quite hard to accurately use.

Chrome New Tab Extension

I've used similar products like Papier (https://getpapier.com/) that have a New Tab Browser extension. I'd love to be able to use Manifest in the New Tab space. There are extensions that hack this but they are clunky and it seems like this would be pretty easy to execute on.

Save active memos in localStorage.

Expected Behavior

When I close my tab or browser and reopen the app my memo's will persist across sessions.

Current Behavior

Nothing persists.

Backup support

Possible implementation of a way to backup notes to somewhere other than the user's localstorage.

Expected Behavior

The notes could be written to a github gist, or saved to the user's cloud storage accounts.

Current Behavior

Currently the notes are only saved to localstorage.

Possible Solution

In order to match this project's goals to keep dependencies to a minimum, a "save" button could simply allow the user to download a text archive of their notes, which could be imported to the website at a later date.
File Uploads/Downloads are supported easily in all browsers

Context

The risk/benefit of using a note-taking application is high when you cannot backup notes.

Codebase Style Questions.

I'm currently playing around with a vanilla html/js project and getting started by mostly replicating the functionality here. Thank you for the great example.

I see that you use parcel, scss and follow the PWA guidelines on mdn. But I don't see in any of those technology choices guidelines that lead to the codebase here.

Is there a style that this code base follows? Or some formalized practice? For example: is it standard to handle mouse/touch events through document in the style of this codebase? (add depending on target, remove on mouseup) I interpret this style as a sort of "switch-on-target" global handler.

In my replication I added the handlers to the memos themselves and immediately saw why you don't do that: I can drag the mouse too quickly and lose the mousemove handler.

I ask because every mature framework has its own formalized best practices and extensive documentation, but I can't seem to find that for modern html/js, at least in terms of the way that handlers are organized here with addition/removal and universally targeting document. It's also clear that this is an extremely polished project and I would like to tap into that knowledge if possible. At the very least I still have your code to follow.

Again, thank you, it's been a fun learning experience thus far,

Jasper

PS: Feel free to close this issue immediately, apologies in advance if this is not the right medium for the question.

Convert URLs to links

Expected Behavior

It would be great if the URLs in the note are rendered as "links".

Current Behavior

URLs are rendered as plain text.

Possible Solution

https://github.com/SoapBox/linkifyjs/

Steps to Reproduce (for bugs)

  1. Create a new note and paste any URL.

Context

Your Environment

  • Environment name and version (nginx 1.9.1):
  • Operating System and version: macOS High Sierra 10.13.6

Improve snapping when dragging a memo.

Expected Behavior

When I click and drag a memo's handle that it snaps to points in the grid as I move the memo around.

Current Behavior

The memo moves around based on my mouse position but it's freeform. It only snaps to the grid when the mouse is released. Resizing however works perfect and as intended.

Context

Kind of pointless to even have a grid if all movement doesn't snap to it.

Initiating drag but not moving new memos moves them to the top-left corner of the grid

Expected Behavior

"Cancelling" drag on new memos should result in them remaining where they were created.

Current Behavior

See title.
Once the memo has been dragged to any position once, it will no longer jump back to X0/Y0.

Possible Solution

See if top or left in /src/js/classes/memoElement.js β†’ _handleDragStart() returns a falsy value due to failing to snapToGrid() on first non-drag.

Steps to Reproduce (for bugs)

  1. create memo
  2. click dragbar
  3. look at it go

Some way to import/export all notes/positions etc

Expected Behavior

Button to assist in transfer of all notes as a single string suitable for easy import/export.

Current Behavior

No way to save notes other than in Local Storage.

Possible Solution

button to uuencode or similar zipped archive of json structures.
or a control window with a menu. toolbox. toolbar. or hide it behind a set of keys.

Context

Import/Export of notes without requiring a server. Great for todo lists from templates held elsewhere.

Your Environment

Use uuencode or similar (base64 is built in?) and it could make using on different devices easier without a server. Could have external scripts create lists etc then easily manually import in just by copy & pasting.

Support for Multiple Workspaces

This was love at first sight when I saw it.

The first thing that came to my mind is that the window size space can be very limited, especially on a laptop, and sometimes I want to have multiple boards so I can organize my notes into different areas (work, life, home, etc.)

So I thought a nice enhancement would be to support this via urlparams

Ex:

manifest.app -> general notes
manifest.app/#home -> home stuff
manifest.app/#work -> work stuff
manifest.app/#life -> life stuff
...

More like a feature request/enhancement rather than an issue

Richtext or Markdown?

Expected Behavior

For richtext:
CMD/Ctrl + B for Bold, CMD/Ctrl + I for Italic, CMD/Ctrl + U for Underline, CMD/Ctrl + S for Strikethrough.

Markdown:
The best solution here would have to be in-line markdown syntax. Some thing like IA Writer or similar.

Current Behavior

Plain text only. 😒

Add build pipeline.

Expected Behavior

  • Deploy to a website with every push to master.
  • Add custom domain.

Current Behavior

Nothing.

Possible Solution

Render or Netlify?

Interaction to create / delete memos.

Expected Behavior

Some kind of UI affordance or keyboard shortcut (preferred IMO) to create or delete a memo.

Current Behavior

Nothing exists. 😒

Possible Solution

  • Draw coordinates on the screen in an empty space with the mouse and a new memo will appear.
  • Press "n" on the keyboard and a new memo will appear at a preset area.
  • Press "d" on the current active memo and it will be deleted (after a prompt confirms the action).
  • Some kind of toolbar where crucial actions could be housed.

Context

Basically memgrid is unusable until we add this.

Feature Request: Note Taking Parameter in Web Manifest

Expected Behavior

This is just a suggestion for taking a look into https://github.com/WICG/manifest-incubations/blob/gh-pages/note_taking-explainer.md

Current Behavior

This didn't appear to exist when I looked at the manifest. I originally thought this was supposed to be a demo app for this feature, but have come to realize the name was coincidental.

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

  • Environment name and version (nginx 1.9.1):
  • Operating System and version:

Allow users to create memos of fixed size via clicking

Expected Behavior

Clicking is much easier and faster than dragging. The assumption is that some users may not need to define the memos' sizing before they'd even started the note-taking process. Quickly creating a memo to write in may serve that process better by eliminating unnecessary middle-layer interactions.

Possible Solution

While it's easy to assume that most devices are going to have wide aspect ratio, this isn't necessarily true. Old monitors and mobile devices offer a different view on the grid, where creating long-by-default memos may hamper the experience.

The proposal is to have a certain set of limits (for example, a quick-created memo cannot be taller than 8 grid lines or wider than 8 grid lines), and orient within those limits based on device aspect ratio. If the device is wider, allow quick memos to be the maximum width on creation but limit their default height.

For a rough estimate, a 16:9 device would probably make a quick memo that's 8 lines wide and 4 lines tall. iPhone 5 (with its 16:9 screen) in portait mode would have memos 4 lines wide and 8 lines tall, conversely. (The quick calculation being Math.floor(aspect / 2).)

Larger devices may default to larger maximums, and vice versa.

That said, I'm pretty sure it's better to initially allow creating memos of a fixed size, regardless of aspect ratio or screen size, and progressively update into a more considerate process once time allows. Clicking is the better default, and improving defaults is more important than getting them right on the first try.

Focus on textfield upon creation.

Expected Behavior

Just a small UX improvement. If there's one memo, or you just created one, focus on it's textfield immediately for ease of use.

Current Behavior

Got to go click or tap on stuff, which is a little extra effort.

Dark Mode does not persist in Safari

Expected Behavior

Dark Mode setting persists on close/reopen of browser or opening of new tabs or windows.

Current Behavior

Manifest resets to Light Mode after close/reopen of browser window, or any new tab or window, even if not quit.

Possible Solution

Possible to store setting with content?

Steps to Reproduce (for bugs)

Open, set, close window, reopen:
Feb-03-2020 17-52-10

Your Environment

Safari Version 13.0.5 (15608.5.11)
macOS Catalina Version 10.15.3 Beta (19D75a)

Don't confirm memo deletion

The confirm() dialog displayed when deleting a memo does a great job of preventing accidental deletion, but it's more likely that the user deleted the memo intentionally. Requiring confirmation disrupts the user's flow and can be tedious to interact with (e.g. when deleting several memos).

Possible Solution

A snackbar with an Undo button seems like the usual way to do this these days.

Service worker offline cache not working

The service worker is either not properly caching assets, or not properly retrieving cached assets when offline.

Expected Behavior

When network is not available, the service worker should check the manifest-1.0.0 appcache for an asset, and serve it from the cache if a match is found.

Original task -- #22, implementation in #69

Current Behavior

When network is not available, the app does not load.

Possible Solution

Pretty sure I have the solution, it's just a missing return value on one of the SW hooks -- will open PR momentarily.

Edit: #143

Steps to Reproduce (for bugs)

  1. Either run the prod build on local env or visit the production app -> https://www.manifest.app/
  2. If in chrome, open devtools -> application tab -> cache storage -> manifest-1.0.0 -- confirm assets are being cached
  3. Either turn wifi off on your machine, or set throttling to offline in chrome dev tools
  4. Refresh the page
  5. Confirm -- page does not load

Context

I'm working on a similar lightweight utility app, and I checked out the Service Worker implementation on manifest as a reference. Super sick app by the way, huge inspiration!

Drawing with Manifest?

Expected Behavior

Would drawing be a useful tool to compliment things?

Current Behavior

Currently it's just memos, which aren't always the best way to express things.

Possible Solution

The real deal breaker for me here is whether it would be grid-based or free form. Making it free might break the zen quality the current version has right now. Although grid-based might not be that useful? I'm also worried that creating memos and drawing would introduce specific modes for each tool, which I really think messes with the simplicity of things right now...

Need to think about this some more...

Add notes with functionality

It'd be nice if notes had functionality. So you can pull up a new note and type in a command and then Manifest reacts on it. E.g.: a pull g-drive command in a terminal window draws a tree of your files from Google Drive, in such a way the widget loads a new UI/window for manipulating your files, but the terminal disappears. Another e.g.: trellocard pending <description> command creates a new card on the "Pending" board you have on Trello.

This is one of many commands that can be added. Inspired by the gimmicks of Slack.

Few commands ideas

  • Dim lights of your bedroom.
  • View and post on social media.
  • Control your Linux boxes.
  • View your analytics on your websites.
  • Add items to wishlist on Amazon.

Context

  • Taking notes is nice and fun, but what about taking notetaking to the next level?
  • Way too many notetaking apps right now, this could be a good differentiator.
  • This product could be targeted to many audiences among many industries, tackle one at a time, and then go with the adjacent market.

Memos can be resized to levels where they become inoperable

Expected Behavior

I think memos should have a minimum size below which they can't be resized, regardless of the content they hold.
If they hold more content than their frame suggests, there should be a way to reach all of said content.

Current Behavior

see screenshot

Possible Solution

  1. minimum height for one line to be visible at all times
  2. scrolling to for collapsed notes that have more content than their size would suggest?
  3. minimum width of a few characters
  4. placeholders based on width/height of the empty memo ("Add a short memo..." β†’ "Add a memo..." β†’ "Write..."), via classes that are calculated per memo-resize event

Steps to Reproduce (for bugs)

  1. try to resize a memo
  2. go just a little too far with it
  3. mess up the UI of an app you haven't even touched the CSS of

Context

I understand the need to resize notes in free-floating note-taking apps. Sometimes, users might want to go to extremes with their notes for the sake of satisfying their personal preferences.

As a developer – and, coincidentally, as a developer of a side project that's similar in purpose – I consider that there are lines to be drawn. Notes must remain at least partially readable at any given moment. Users may make mistakes with the app, and it's the designer's job to make sure these mistakes are few, far between, and ultimately fixable.

On-resize calculations for width, height, and grid-snapping are not expensive. There may even be a CSS solution (perhaps setting min-height might work?), which would be even more efficient.

Perhaps even – and this is me dreaming aloud – set memos' width and height via their grid alignment: so that a memo can have attributes of data-height="3" and data-width="7", which could be combined with pre-calculated grid section sizes to calculate the memo's viewport width. (How this is beneficial to this particular problem, I'm failing to see, either, but it dawned upon me, and I had to share.)

Your Environment

  • Browser name and version: Cent Browser, Version 4.0.9.112 (based on Chromium 74.0.3729.169)
  • Operating System and version: Windows 10 LTSC

Not able to toggle Dark Mode

Hi,
Thank you for this awesome project! While exploring, I read about the dark mode support. However, when I did try to toggle, using the alt + T key on Chrome browser, it opened the Tools Menu bar.

Expected Behavior

Toggle to the dark mode using the combination keys.

Current Behavior

Open https://manifest.app in a tab. Enter the alt + T combination stroke. Opens the Tools Menu bar on Chrome browser running on Ubuntu 16.04 OS.

Your Environment

  • Environment name and version (nginx 1.9.1):
  • Operating System and version: Ubuntu 16.04

Text that overflows a note is not scrollable.

If the text is long enough to overflow a note, a user is unable to scroll the content and it gets cut off.

Expected Behavior

Should be able to scroll and see the cut off content.

Current Behavior

Unable to scroll and see the cut off content.

Possible Solution

This line can be switched for overflow-x: hidden to ensure overflowing content in the Y direction can still be scrolled.

Your Environment

  • Windows 10
  • Chrome 79.0.3945.117

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.