Coder Social home page Coder Social logo

standardnotes / mobile Goto Github PK

View Code? Open in Web Editor NEW
825.0 30.0 111.0 9.75 MB

[Moved to https://github.com/standardnotes/app] Standard Notes for iOS and Android - https://standardnotes.com

License: GNU Affero General Public License v3.0

JavaScript 0.99% Java 2.53% Objective-C 1.44% Ruby 0.94% Starlark 0.12% TypeScript 91.61% Dockerfile 0.56% Shell 1.81%

mobile's Introduction

Standard Notes

Latest release version License Slack Twitter Follow

iOS & Android App

Standard Notes is a safe place for your notes, thoughts, and life's work. It focuses on being simple, so you don't have to fight with endless features that slow you down. It encrypts your notes to protect your privacy. And, it's extensible, so you can backup your notes to Dropbox, Google Drive, and other services, as well as install themes, editors, and more.

Download Options:

The Code

This is a React Native implementation of Standard Notes. React Native allows us to build native mobile applications using JavaScript. This allows us to develop faster, as well as have a more reliable and consistent cross-platform experience.

Building from source

  1. Setup your environment according to official docs and be sure you can run an example React Native project.
  2. If you would like to build the Android app, you'll need to install the Android NDK. We use native code from the Libsodium encryption library to achieve high performance. You can install the NDK inside of Android Studio. You'll need to pick the version listed here.
  3. Install yarn if you haven't already.
  4. Install project dependencies via:
yarn run init

We have two flavors of the app:

  • dev which runs connects to development syncing server. To run locally use yarn ios-dev or yarn android-dev for Android.
  • prod which is the equivalent of our production application. To run local use yarn ios-prod or yarn android-prod for Android.

If you would like to run the application on your iOS device, you'll need to do so using Xcode.

Contributing

Before contributing, please read our Longevity Statement to better understand how we approach adding new features. Unlike other projects, adding new features is something we prefer not to do, so if you have a feature which you think is absolutely essential, please create a discussion issue first before coding.

mobile's People

Contributors

acdcjunior avatar amanharwara avatar antsgar avatar arielsvg avatar bryvin avatar dependabot[bot] avatar jaspalsuri avatar johnny243 avatar karolsojko avatar laurentsenta avatar licaon-kter avatar moughxyz avatar poussinou avatar radko93 avatar theodorechu avatar tjrana avatar vardan-arm 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobile's Issues

Restoring iCloud backup to new iPhone caused me to lose all of my notes

I'm sure I probably just didn't do this properly but it is a little scary to think that this can happen. I got a new iPhone today and I use iCloud backup to restore this new phone to be as close as possible to my old phone. When I opened Standard Notes all of the notes showed some kind of error message along the lines of being undecryptable. I didn't screenshot this. I assumed (I think wrongly?) that I just had to log out and back in to Standard Notes and all of my notes would come back. Well they didn't. Instead, I was presented with a list of all of my notes except all of the content was missing.

image

I picked up my old phone which I hadn't erased yet and saw that the empty state of the notes had already been synced across to the old phone.

I was able to recover because I had a computer with SN on it. So I turned off wifi to prevent syncing and opened SN on my computer and then exported the archive and was able to reimport. I think I have all of my notes back.

I just wanted to make sure you knew this was possible. I assume if I hadn't logged out on the new phone all of the decryption keys would have worked their way down to my phone eventually but I don't think this kind of major error should really be able to happen, no matter what mistake user makes.

Minimum Android version requirements

I own a eink book reader with android 4.0.4 and cant install Standardnotes app as it requires 5+ Android, been trying to recompile the app modifying the androidmanifest.xml to accept older versions but its not working (still says there was a problem parsing the package).

Im wondering if there's an actual limitation that wouldnt allow the app to be available for older android versions before I keep trying, thanks!

Premium Edition not usable in iOS App

Hey there,

i bought the premium Edition and it's awesome! I love the "Plus Editor", but not at the iOS App. The App can't handle the html view. All my notes looks like this:

<b>Test hello world<br>this is a task<target=blank> www.hello.de</target>

Should there come a update to get the same view at all devices? I can't use the iOS App like this. :)

Thanks.

Can't edit body of note

I have the android app installed on my Google Pixel. Can't edit an existing notes body, and I can't edit a new notes body.

Android app crashes when opening large note

I saved a long article formatted in Markdown to the web app, but when I tried to open the same article in the Android app, the app has crashed multiple times. The article is about 4500 words, I'm not sure how many lines. While it's very long, I would think it wouldn't be too hard to open due to the very minimal formatting. Other notes open fine.

For reference, I'm an Extended user on desktop, so far just in the web application. I'm running Android 8.0 on a Nexus5x with the latest version of Standard Notes from the app store.

Floating action button on Android blocks tag list

User report:

When selecting tags in your post, the button to add a new tag covers up the selection indicator check box making it hard to see selected tags at the bottom of the screen

Fix: Add some padding to the bottom of the list so we can scroll past the button and see our checked tag

Mobile editors issues

  • GBoard swipe keyboard doesn't work with the advanced markdown editor, it just shows the first letter.
  • Emoji don't appear properly in the advanced markdown editor
  • I would really like the option to set a different default editor on mobile than what I use on desktop.
  • Manage button has weird behavior with the advanced markdown editor set as default

Issue with search term persisting after app close

User report:

I'm running Android 7.1.1 and Standard Notes 2.0.3.

Here's how to reproduce the bug:

(- You must have some notes in standard notes)

  • Enter anything in the search box
  • Press home button on your phone
  • Go back to standard notes
  • Search box doesn't show any input that there was before but the messages are still sorted by that search term. This can be very confusing.

[Feature Request] iOS UI

Having a bottom navigation bar to hold all four buttons, such which would include the new and filter button helps a lot as they are used often and can be easily reached.

Borrowing the tag pane from the Android app might help in accessing the tag pane more quickly, as it doesn't cover the entire page and is faster to exit out of, but that's only if the menu/button is kept at the top.

UI for undo on Android

On iOS there is the system-wide (and reluctantly used) shake-to-undo. On Android, doesn't look like there's such a feature.

Remove iOS automatic capitalization for titles

When typing in the note's title section on iOS, the first letter of words are automatically capitalized.

Please remove the automatic capitalization. I find this extremely annoying and unnecessary. It is inconsistent with the Desktop app. I also naturally press the Shift key when I want a capital letter.

I find capitalizing every word in titles annoying due to the inconsistencies in English. This is why I prefer Wikipedia's approach to titles.

Support for deleting notes from the notes list

Presently, the only way to delete a note seems to be to enter the note and enter the tags management screen from within it. We discussed using an overflow menu within the note to surface that and some other options more directly but could you consider adding support for deleting notes from the notes list as well?

This could work the way that tag deletion works and bring up the option to delete a note when you long press on it but a much better implementation would be to let long pressing a note trigger a batch selection mode. The user could then pick as many notes as they want and the app bar would've changed tor reflect this mode and offer a delete option there along with maybe even a pin or archive option.

Here are a few examples of how this looks in different apps:

Signal, showing you options to delete, archive and select all.

screenshot_20171010-070931

WhatsApp, showing options to pin/unpin, mute, archive with the delete option within the overflow menu.

screenshot_20171010-070946

Tasks, letting you delete or copy.

screenshot_20171010-071003

Phonograph, letting you do a whole host of things.

screenshot_20171010-071039

I think exposing all 4 options from the tag management screen would be a nice implementation. Sorry if this issue seems to be asking too many things at once. Would you like me to break it into different issues?

Android App Name

Ver: 2.0.2

When installed, the app is installed to com.standardnotes but the app itself is just called Notes, which sounds extremely generic when looking through my installed app list. Is it meant to be like this? It'd be better if it was actually called Standard Notes.

Sort directions ascending and descending

Hi,

Thanks for the great product. I am using it daily now. If I missed this I apologize but there doesn't seem to be options to sort either ascending or descending but just one direction. I have a diary that I label with yyyy-mm-dd so the default sort always put the latest at the bottom when I would like to have it on top. This is probably a feature that is missing from all versions and would be nice to have.

Thanks

Signing in without credentials leave the app blocked

Hello,

Signing in without filling both fields shows a popup warning you that it's required, but then the "Sign In" button is left in a disabled state, so even if you fill those afterwards, you can't sign in without restarting the app.

VT alerts

For a few versions now, VT is throwing warnings. It seems they are caused by classes7.dex and classes3.dex (shown when you click on "File details"). Is there anything that can be done about that?

Markdown Support

This was discussed in the old repo for the Android version and I hope it is safe to bring it up now. Would be amazing if this could actually make it before the launch of the app but I would like to know if it is at least up for consideration.

With regards to how to approach this, could it be possible to go with support for all the standard tags but only by manually entering them (asterisks or underscores for bold or italic, etc.) instead of offering different editors with actual buttons to format text the way that the desktop client does? The UI would remain cleaner this way but the ones who do need and use it would be free to do so.

Rendering could be handled with tabs (edit and view) at the bottom or top of the note view.

Suggestions regarding the long press menu

Just collecting my suggestions here, in case you're interested in any of them.

  • I think the appearance could be improved by using Material icons. All the actions currently exposed in the menu have icons available for them. This could be complemented by aligning the text to the left with the icons to their left.
  • The cancel button could be dropped entirely since tapping anywhere out of the menu accomplishes that anyway.
  • The delete button along with its icon could be colored red instead for better visual distinction.
  • The note title could be added to the same box as the options but centered, unlike the option which would now be left aligned.

[android] default font size question

Hello,

I am testing the free Android version of Standard Notes from Google Play Store. One thing I immediately notice is the default font size is too small for me to read comfortably.

Is there any plan to offer bigger font sizes for plaintext notes?

Thanks.

iOS app: URLs and data detectors

Is there a way to enable "clickable" links? It would be very convenient to open a link by tapping on it. Also, providing support for data detectors (phone numbers, dates, addresses, etc.) would be great.

Keep Screen On

Is there a way to keep the screen on while you have a note opened?

Monospace font option

I have realized that the Web and Desktop (which is similar to the Web version) apps all use monospaced font as default for notes. This is wonderful because fonts can be complicated, and monospaced font is an elegant and long-lasting solution that eliminates the majority of complications.

I propose that the mobile apps should use monospaced font as default as well, to be consistent with the Web and Desktop apps. This will make the content appear as the user intended in the Plain mode.

[Feature Request] Viewing and editing mode

Good day,

I'm quite enjoying the simplicity and ease of use of the mobile apps and the seemless synchronisation between mobile and desktop! Yet, one feature I would like to see is a distinction between viewing and editing notes. Often I'm not interested in editing a note, but just in reading it. Basically

Reading mode

  • default when opening an existing note
  • no keyboard pops up
  • simply drag and to scroll the text
  • convert URLs to clickable links
  • editing button in bottom right corner similar to the add note button to switch to editing mode

Editing mode

  • default for a new note
  • same as it is right now
  • pressing back/up switches to viewing mode, back/up again to get to the main menu

Any thoughts on this?

Replace checkboxes with highlighting in the sidebar

The app presently uses checkboxes in the sidebar when the items in it can only be selected singly.

An alternative could be to use highlights for both, the presently selected sort mode and the presently selected tag filter. The highlight would use a lighter variant of the app's primary color and the text within could be highlighted in the primary color for a much more pleasant experience.

Here is an example of what it looks like on Simplenote:

unnamed

[Android] Color section titles in settings with primary/accent color

Presently, the section titles in the settings use a grey color across themes. Material Design apps typically color the section titles within settings with either the primary or accent color. Here's what things look like in Standard Notes presently:

screenshot_20171007-081846

Here are screenshots from two different apps to show what I'm talking about:

First is Unit Converter Ultimate, which uses the primary color for the section titles:

screenshot_20171007-075536

And here is Phonograph, using the accent color:

screenshot_20171007-080829

As an added advantage of taking this approach, you can drop the divider that's beneath the section title and reduce the visual clutter. This is something that the Material Design guidelines recommend, minimising the use of full-bleed dividers. Additionally, you might've noticed that those apps also drop the full-bleed divider that follows the last entry in a section as the next section title provides sufficient visual distinction and I request you to take that too into consideration.

[Feature Request] Word/character count

I use Standard Notes to write article drafts. For writing, I found sometimes I want to see how much I have written. But right now SN doesn't show this information, so everytime I want to know the amount of content I have written, I need to copy everything elsewhere in order to count them. So it would be ideal to have a word/character count in the menu.

The extension Action Bar does this on desktop, but mobile apps aren't going to get extension support anytime soon, and the concept of an Action Bar doesn't seem to fit on mobile, either.

F-Droid Release

I was curious if an F-Droid release is being considered as that is the only app store I really use on my phone.

[Feature Request] Reduce syncing interval

Reducing how often Standard Notes syncs notes by saving changes less frequently may make it more battery-friendly, albeit measurably more riskier to use.

Another added benefits is that within the version history, you won’t end up with countless copies of the note that are saved for every five characters added to it.

User report: signing out causes bug with incorrect sort

"On Android, after signing out and signing back in, the default sort was reset back to Creation Date (I normally use Modified Date), but the menu still claimed it was using Modified Date. Had to fiddle with it to set the list of notes back to Modified Date."

Android app does not send protocol version when registering a user

When I try registering a user using the Android app, it doesn't seem to send the protocol version.
Here are the params from the app:
{"email"=>"[email protected]", "password"=>"[FILTERED]", "pw_cost"=>103000, "pw_salt"=>"iSl6viY7MNhipgRRH3oo6vMXDRvKHwc6IIVOZnlauYk=\n", "auth"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "pw_cost"=>103000, "pw_salt"=>"iSl6viY7MNhipgRRH3oo6vMXDRvKHwc6IIVOZnlauYk=\n"}}

And here are the params from the webapp setting up a different account:
{"password"=>"[FILTERED]", "email"=>"[email protected]", "pw_salt"=>"de7359ee9a2929cfdd8176edc1ccd4e7207ccfaa0b4cc3d9432a974d660e37c2", "pw_cost"=>101000, "version"=>"002", "auth"=>{"password"=>"[FILTERED]", "email"=>"[email protected]", "pw_salt"=>"de7359ee9a2929cfdd8176edc1ccd4e7207ccfaa0b4cc3d9432a974d660e37c2", "pw_cost"=>101000, "version"=>"002"}}

I'm running my own server, and when I try to log into an account registered in the app using the webapp, I get the error:
The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security-update for more information.
However, I can not reproduce this using the official server.

Text cuts off when adding newlines

I have created a demo note, with some sample lorem ipsum text (I also combined it all into one paragraph).

In that demo note, when I create a newline at the bottom, it cuts off the top. This is as far as I can scroll up with a newline:
screenshot1

Then, when making 5 newlines like so:
screenshot2
It cuts off much more:
screenshot3
(see the first screenshot for how many lines it cut off).

This may be a padding issue. Also, I've noticed it happening other times too but was unable to replicate it. If it happens again I'll take a screenshot.

Tested on latest Android version, not yet tested on iOS.

[UI] Icon of Options button in note view

Currently the Options button in note view have a tag icon, this might cause confusion because the button does not only open a tag editor, but also a list of actions a user could take. My suggestion would be changing the icon to "three dots" or a gear.

Improving Search

Could it be possible to highlight instances of the searched term within the notes? Would be a huge time-saver.

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.