Giter VIP home page Giter VIP logo

tracker's People

Contributors

orthecreedence 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

Watchers

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

tracker's Issues

Batch note editing

Basically, you can select multiple notes and run operations on them:

  • Delete
  • Add tag
  • Remove tag
  • Rename tag
  • Move to board
  • Move to space (and optionally board)
  • Send to grandparents

This is already easily done via the core (just issue multiple edits) and is mainly an interface challenge. I'm thinking some kind of batch/edit mode? You click the menu, click "Batch edit", and select via clicking, then there are batch operations in a little sticky popup at the bottom.

Notifications

  • Invited to a space
  • Invite was accepted
  • Shared space/board/note added/updated

Need a way to mute these individually, and save in user settings (#26)

This would also tie into notifications in desktop/mobile as well.

Blocked by

Import: Inaccurate / incorrect tally

Getting erratic fluctuations in the value of items imported when importing the same export.

Have:

import counts:
  spaces: 9
  boards: 70
  notes: 1192
  files: 18

But the import count is fluctuating between 300-700, and not sure if the count is inaccurate or the actual items being imported. Need to nail this down.

Experiencing key loss

I think this has something to due either with imports or with moving boards between spaces.

A large amount of data was migrated from v0.6 to v0.7, exported, imported into another account, then moved. The key loss only occurred after wiping the local data and logging back in, so it's possible that something didn't get synced properly or that the data was fine in memory but not saved properly.

In other words, not sure yet where in the ui -> core mem -> encryption -> disk -> sync chain this lives yet.

Obviously, this is a blocker.

iOS app

Might split the mobile project into android and ios for this because it already has some android-specific stuff in there, and I feel like it's just going to become a spaghetti mess to try to have one codebase for both targets.

I finally have a Mac that runs XCode, so this should be a go after v0.7.0 launches.


TODO (required)

  • Open external links in external browser
  • Fix Login Failed -- TypeError: null is not an object on login
  • Hide dumb cordova loading screen
  • Set Turtl icon
  • File downloads / uploads
  • Integrate camera

TODO (may come later / separate issues)

  • Integrate keychain for staying logged in
  • Integrate "share to Turtl"

Sunset inactive users

Would be great for users who import (ie, from evernote #22) and then never come back.

  • Should be based on last API call
  • Should send email notification 30 days before (as grace period)

Windows x32 build

This is the only platform Turtl wants to run on that is missing from the official builds.

If you'd like to maintain this build, let me know, and we can go over how to do it!

Password key file

This would use the user:get-login-token / user:login-from-token feature. Just need an interface in the UI for this. Note that we should also add a new core endpoint for changing the password with a key file instead of a username/password.

  • Login via key file
  • Change password via key file

We should let people know they need to re-generate this file when they change their password.

NOTE: People need to know how dangerous it is to leave this token laying around! Add some messaging.

Save sort/view mode for each board/space in user settings

So basically, when a user changes the sort order for a board (including "All notes") we should save this setting in the user settings.

I'm not actually sure if there's a core endpoint for user settings, so I'm going to label this as needing a core change as well.

  • Save sort mode (created, edited, alpha (#220)
  • Save view mode (list #36, large #219, or regular/masonry)
  • When board is moved to another space, make sure settings are moved

File attachments acting strangely in OSx

Seems to have something to do with blob URLs and the os not being able to determine file type.

From a user:

the actual Mac-Version opening an jpg or a pdf will result in a message that states that no application has been defined for this type of file - together with the dialog to save that file. But since not the filename is suggested but some "blob:somestrangeurl", suggesting an application in the first dialogue will not help.

Perhaps there's a way to save the filename with the blob directly?

Test file uploads/downloads in mobile

Test on android (armv7/armv8):

  • Clear local data
  • Log in
  • Upload file/photo
  • Clear local data
  • Log in
  • Verify file can be saved
  • Verify image shows preview

Bonus: upload files with spaces in their names, and if it works, close #14

Set sandbox:true in popup.js?

If we can enable this, we should. We've already set fairly optimal (read: restrictive) webview options, and I know we can't use sandbox in the core window, but maybe we can in the popup window (since it doesn't load the core, it just talks to the main window via IPC).

Note versioning

Stores the history of each note, allows viewing the old versions and reverting, as well as deleting certain history items.

User settings core endpoint

Need to verify there's a way to read/modify user settings from the UI, even if it's just a simple JSON blob.

Native PDF reader support

Not sure the best way to set this up. If Electron/Chrome has this built-in, then we might be able to get this for free (or for cheap) on both platforms. If not, then the next best thing might be to open the PDF in the core, generate an image for each page, and send the images back to the UI.

This needs more research.

Desktop: stay logged in

Probably the single most requested feature.

I feel I can no longer hold back the tide with this one. Can use the core's user:login-from-token feature, and will likely just store it in localstorage. Need to have a checkbox with a big fat "WARNING THIS IS HORRIBLY INSECURE" message.

Blocked by

Text editor: mobile keyboard covers text box even if focused

When using the app on a phone, the keyboard covers a half of the screen. Suppose there is already some text and clicking on that text brings up the onscreen keyboard. At that time, the few lines of visible text do not scroll to the bottom and we have to scroll annually in yhr small area between the top part of the app and the keyboard to reach the writable portion of the text.

need to confirm the auto-resize fixed this issue.

Note drafts/autosave

Basically some kind of autosave feature that saves notes that are being edited. The idea being that crashes lose data, and there needs to be a way to mitigate this.

Maybe saved into some kind of hidden space drafts or something (maybe a new field on spaces called hidden that don't get shown to the UI)? Then the UI would just call profile:sync:draft every few seconds which would save the draft.

Event batching

Sometimes the core sends a lot of events in a short amount of time. The UI often polls to retrieve events, meaning the the pipes get backed up.

A potential fix would be for turtlc_recv_event to return an array of events instead of a single event. This could be controlled under messaging.batch_events (boolean) in the core's config.yaml.

Note that this is the culprit for #45.

Update contributing guidelines

  • Mention that i18next.t / {{t}} NEED to be given absolute values (not variables)
  • Update javascript guidelines (if needed)
  • Add rust guidelines
  • Remove lisp ='[

Note type: TODO/reminders

Has checkboxes, due dates, etc

Might just build on the markdown checkbox support? Would probably want core support.

I'm also lumping "Note type: reminders" into this issue because they are dangerously similar. I'm wondering if the due date in the TODO type is just a reminder. Possible due date formats:

  • Remind me in 6 minutes to turn off the oven
  • Remind me at 12pm to CALL MY LAWYER AND SUE YOUR ASS

Should these be split out? Really not sure.

Blocked by

WYSIWYG editor

Would be nice to be able to switch between this and markdown, maybe make this a persistent setting?

Notes/editors

desktop only?

Also https://news.ycombinator.com/item?id=10413549

Suggested:

  • CKeditor
  • TinyMCE

Crypto in desktop IPC comms?

Electron uses IPC to send messages between windows. I am not sure about the security of IPC and what information it might leak. This might vary per-platform as well.

It would be nice if there was a way to securely set up comm between the windows such that the main process generates an in-memory key once at startup and shares it (securely?) with each window that's opened, and these windows use the key to encrypt messages passed between them.

Note that this really affects only bookmarker pairing and bookmarking, but they shouldn't be second-class citizens.

Router-driven header actions

Drive page title, action items, and menu items off of url (store as config options in the routes file). This allows deterministic header state based off url, and frees controllers from any responsibility, allowing them to just track back state.

Import from Evernote

This needs a parser in the core, and a small update in the UI.

It shouldn't be too hard to parse the import (I believe it's just an XML file).

Note that I really want to complete this in tandem with #43 so when people import their 400mb Evernote profiles and then never come back, we don't have to store their junk forever.

  • Convert Evernote’s rich text bullet points turned into markdown bullet points (-) (indented automatically)

Implement overlay for various actions

We need an overlay that removed any ability to interact with the UI. We might be able to re-use the login one here. This should be implemented for:

  • Changing the password
  • Migrating an account
  • Moving a board between spaces
  • Delete account

In-app notification when new version available

This would just be an endpoint the core checks against the server, then would send a UI event. Or maybe we shoehorn this into the sync system, kind of like an invite? Not sure how to handle yet.

Lock screen

This would lock the screen after 5 minutes of inactivity, forcing the typing of password to unlock, or maybe pin. If we use the password, then maybe it makes sense to log out entirely.

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.