Giter VIP home page Giter VIP logo

simplenote-ios's Introduction

Simplenote for iOS

A Simplenote client for iOS. Learn more about Simplenote at Simplenote.com.

Build Instructions

Download Xcode

At the moment Simplenote for iOS uses Swift 5 and requires Xcode 10.2 or newer. Xcode can be downloaded from Apple.*

Third party tools

We use a few tools to help with development. To install or update the required dependencies, run the follow command on the command line:

rake dependencies

CocoaPods

Simplenote for iOS uses CocoaPods to manage third party libraries. Third party libraries and resources managed by CocoaPods will be installed by the rake dependencies command above.

SwiftLint

We use SwiftLint to enforce a common style for Swift code. If you plan to write code, SwiftLint is going to be installed when you run bundle exec pod install and SwiftLint will run during the build. No commit should have lint warnings or errors.

Open Xcode

Launch the workspace by running the following from the command line:

rake xcode

This will ensure any dependencies are ready before launching Xcode.

You can also open the project by double clicking on Simplenote.xcworkspace file, or launching Xcode and choose File > Open and browse to Simplenote.xcworkspace.

Once you have opened Simpleonte iOS in Xcode, depending on your setup, you may need to make a few changes before you can build the app. In Xcode hit Command + B and see if you get any errors.

Known Xcode Issues

There are some common errors that can happen when first getting Simplenote iOS setup. Check these instructions to see how to fix those.

If you see The server SSH fingerprint failed to verify before you can build Simplenote you will need to mark the app as trusted. To do this, tap on the warning and hit Trust

If the build fails with an Authentication failed because the credentials were missing error most likely you need to update the Swift Packages before being able to build the app. We use Swift Package Manager for some internal dependencies which can be found on Github. To fetch these packages, connect Xcode to Github by going to Xcode > Preferences > Accounts, then enter your Github account details. To be able to fetch these dependencies Xcode will need to be connected to a Github account via SSH

Once you have trusted the app and the SPM packages are downloaded you should be able to build the app. Try Command + B again and make sure that it builds correctly.

Setup Credentials

Simplenote is powered by the Simperium Sync'ing protocol. To be able to connect a development build of Simplenote iOS to the Simperium syncing service you will first need to setup app credentials. We distribute testing credentials that help us authenticate your application, and verify that the API calls being made are valid.

Please copy the testing Simperium credentials as follows:

mkdir -p ~/.configure/simplenote-ios/secrets && cp Simplenote/SPCredentials-demo.swift ~/.configure/simplenote-ios/secrets/SPCredentials.swift

This will copy the demo SPCredentials file into the correct directory with the basic details for an OSS contributor. Then edit the new Simplenote/Credentials/SPCredentials.swift file and change the simperiumAppID and simperiumApiKey fields to the correct values that appear in your Simperium app. If you don't see the file there, try doing a build by pressing Command + B and then restarting Xcode. You should see it then.

This will allow you to compile and run the app on a device or a simulator. With the app running in the simulator you can connect to Simplenote. Note that for testing builds you can only connect to Simplenote account using the email address and password of your account onSimperium.com. You can not connect to regular Simplenote accounts in development builds.

Note: Simplenote API features such as sharing and publishing will not work with development builds.

Optional

If you want to try the screenshots generation locally, also create your own testing credentials for that target:

mkdir -p ~/.configure/simplenote-ios/secrets && cp Simplenote/ScreenshotsCredentials-demo.swift ~/.configure/simplenote-ios/secrets/ScreenshotsCredentials.swift

Style Guidelines

We follow the WordPress iOS Style Guidelines, and we're constantly improving / adopting latest techniques.

Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

License

Simplenote for iOS is an Open Source project covered by the GNU General Public License version 2.

Happy noting!

simplenote-ios's People

Contributors

a8ck3n avatar aerych avatar alisoftware avatar bummytime avatar charliescheer avatar crazytonyli avatar eshurakov avatar frosty avatar iamgabrielma avatar iangmaia avatar illusaen avatar jkmassel avatar jleandroperez avatar jostnes avatar jtreanor avatar klacoste avatar kwonye avatar lisply avatar loremattei avatar mokagio avatar oguzkocer avatar pachlava avatar rachelmcr avatar roundhill avatar s2ler avatar shabirjan avatar spencertransier avatar sylvesterwilmott avatar theck13 avatar tiagomar 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simplenote-ios's Issues

Remove AutoScroll to the top

Reported by one of our users via email:

When I hold my finger on text to magnify it and move the cursor to the right character the page scrolls up and I can't make the change. It scrolls until I remove my finger.

"I can recreate this (iOS 7.0.4, iPhone 5s). I can make it happen on a long note, when trying to move the cursor in the lower 3rd or so of the text are."

Originally opened by @jleandroperez

Syncing issues with long notes

A user reports that when they copy and paste a very long note (> 75,000 words) into the app from Apple's Notes, it doesn't sync with the Mac app or their other iOS device. However the sync does work when they create a note with just a couple of lines. Furthermore when they paste another lengthy note into the Mac app the two iOS devices get a new blank note.

I can't reproduce this. I've tried with a couple of very long notes and the sync works for me.

ticketid=2556477

Opened by @rachelsquirrel

Markdown Live Highlight

Description:

Let's add a Live Markdown highlight, for basic markers, such as tiles, bold and italics.

Details:

  • Add a markdown toggle to iOS info sheet
  • No global setting for markdown keeping a per-note markdown setting, behavior will be: If last new note created has markdown, then next new note will be markdown enabled (markdown enabled = systemTags has markdown)
  • Live Highlight should only change the font style, and shouldn't perform any kind of text replacement in order to hide the "markers".

cc @fredrocious

Opened by @jleandroperez

Dark Theme: Incorrect text color

Report:

(...) weird bug where the dark theme showed dark text in the note editor. Instead of the light blue color.
then changed the cursor location, and it all magically turned the correct color.

Let's review the code in charge of setting the TextView's text color, and make sure there are no invalid flows there.

@dmsnell just managed to reproduce this with the following steps:

1. Log into Simplenote OSX and iOS
2. OSX in white mode + iOS in dark mode
3. In iOS, tap over a note to get to the details view (do NOT get the keyboard onscreen)
4. Edit the same note in OSX
5. Once the change is onscreen, tap anywhere

Result: Keyboard onscreen. (iOS’s text goes dark?)

I've been unable to trigger this on my side (Latest iOS build + Simplenote's AppStore build). Scheduling this bug for the next release!

@astralbodies "Since I'm working on #323 I'll pull this one too."

Opened by @jleandroperez

Remember last scroll position in each note

We used to have this. Adding this so we don't forget to consider it in the future.

In terms of support, this usually manifests as users asking for a button or shortcut to quickly get to the end of long notes. I think remembering scroll position is probably better.

requested #2563046-t

Originally opened by @mikejohnstn

Add support for dynamic type

Allow users to increase the size of fonts in the app by changing the accessibility settings on their device at Settings > General > Accessibility > Larger Text.

t-62760, t-2493975

Opened by @rachelsquirrel

NUX page control "dots" aren't selectable

The dots at the bottom of the screen in the NUX should be selectable to move between pages. This is an accessibility issue as well as general adherence to standard control usage.

ios simulator screen shot dec 8 2014 9 23 26 am

They seem to be somewhat selected when running on an actual device. Not sure what's actually going on or if there is something obscuring a part of the UIPageControl.

Opened by @astralbodies

Deleted Property Collision

Xcode 6.3 is printing out a collision between the Note entity's deleted attribute, and NSManagedObject's deleted property.

Simplenote overrides NSManagedObject's deleted getter, which is used internally by CoreData to mark entities for deletion, next time save is executed.

Let's investigate + implement a safe workaround.

screen shot 2015-04-21 at 1 31 26 pm

The cleanest workaround to fix this issue, is to preserve the remote attribute name (deleted), and map it into a different local attribute.

Let's first implement the appropiate Simperium Mechanism first.

Swipe to dismiss keyboard

Most of Apple's built in apps allow you to swipe the keyboard down off the screen when being displayed over a UIScrollView (or descendent of).

Could be as simple as flipping a boolean property on the UIScrollView in question.

Opened by @beaucollins

Feature request: Add an option to disable data detectors on iOS

A user has commented that data detectors can be quite annoying while writing notes and other text. Such as writing a date that automatically highlights blue.

An ideal feature in this scenario, would be to offer a preference of disabling data detectors throughout Simplenote.

Replicate;

  1. Write a date, ex. 1/30
  2. Hide keyboard.
  3. Date becomes highlighted in blue.

Opened by @kurzee

Add an iOS 8 Widget?

From a user

Love your app. Just writing to ask that you make an iOS 8 Notification
Center Widget so I can write a quick note from the lock screen.

ticketid=2375430

Opened by @roundhill

RTL support? (OS X, too)

From a user:

I use simplenote on Mac and iOS. Both systems have native support for rtl (right to left) languages, In my case it's Arabic. Simplenote on both systems doesn't keep the text on the right as it should be for a rtl text. I could set the direction to rtl from the menu (in iOS) but it gets back to the left side after leaving the app. On Mac it’s not possible to set the note to RTL direction. I hope it’s a bug that could fixed. I really like the app, this is the only reason i didn’t fully switch to Simplenote.

Opened by @roundhill

Remember location in tags list

If you have a long list of tags and are viewing notes for a tag near the bottom when you return to the tags list, it takes you back to the top. A user would like it to remember your placement in the list to save having to scroll all the way down again.

ticketid=2288576

Opened by @rachelsquirrel

"Search" instead of "Notes" for back button

To make it even more clear, the back button should read "Search" instead of "Notes" so the user knows what to expect when they tap the button.

Also, the results text is off center at the bottom.

img_1751

Opened by @drw158

App becomes unusable when notes number in thousands

A user on an iPhone 4 reports that they cannot use the app with an account that contains thousands of notes. When they access a different account which contains just 4 notes it works perfectly. The troublesome account causes the app to freeze and sometimes displays a white screen of death just after signing in.

62976-t

"
@jleandroperez

Update:

I've been trying to reproduce this issue (unsuccessfully) on an iPad Mini 1st gen (the slowest hardware i've got!).

Plus, i've been doing some profiling as well. This user has ~1600 notes in his main account, and the app's ram usage never peaks above 5mb. Disk space shouldn't be an issue.

I'm sorry to say that (unless we can repro it, or get a crashlog at least) there's not much we can do.
"

Opened by @rachelmcr

When OS and Simplenote are both set to Dark theme, unreadable text/dark overlay shows

New info: This seems to happen if Simplenote and iOS are both set to Dark theme, AND if iOS is set to Dark and Simplenote is set to System Default.

A user reports that then they edit a note with the dark theme enabled the text in the note switches from blue to black and becomes difficult to read. I can reproduce this with some of my own notes but not all of them. Here's an example:
img_1967

Another report here:
https://twitter.com/ChanceArthur/status/632102403572113408

ticketid=2370648

Can't edit EOL for notes copied from Word for iOS

I'm not sure if this is something we can fix but a user reports that they can't put the cursor at the end of a line where there's a line break (¶ in Word terms) for notes that have been copied from Word for iOS. I installed the app (Word) and can reproduce the problem. It works for lines that wrap to the next line but not when there's a line break.
#2631101-t

Opened by @rachelsquirrel

Dropbox sync warning message

The Dropbox sync is two-way which means if you delete everything in Dropbox it will delete all your notes in Simplenote. Could we mention this somewhere near the sync button?

User request - ticketid=2316397

It also happened to me :)

Opened by @rachelsquirrel

Bouncy text entry in landscape on 4" screens

Type in the note editor when in landscape on a 4" screen (like iPhone 5), and observe how the text jumps around like crazy.

@jleandroperez "After an epic round of hacks, i've traced this bug down to this line.

Apparently, the content insets we're using is what's causing the bounce effect. Still digging into why this is happening, + workarounds!"

t-O62108

Opened by @roundhill

Hard to select text

A user reports that it's difficult to select text in the iOS Simplenote app. They say it's too sensitive and they end up either selecting too much text or too little. I can't reproduce this; it works fine for me.

63035-t

Opened by @rachelsquirrel

Update TouchID Behavior

More was thinking something like 1password  
Where you only have to enter your password / fingerprint after X minutes of it being closed
So if you're bouncing from app to Simplenote and back a lot, you're not being hit with the alert over and over and over
In fact some sort of timeout (a minute?) should probably be the default

Opened by @jleandroperez

New line lost when note open for editing

Steps:

  1. Create a new note and hit enter at the end of the note to add a new line.
  2. Return to the list of notes and then open the note again and tap in the space that is the new line to paste some text.
  3. Paste the text.

It removes the new line and instead appends the pasted text to the line above.

ticketid=2370197, ticketid=2456303

Opened by @rachelsquirrel

UPDATE: Also reported in #910736-zen 24th January 2018

Search bar stuck in cancel state

To reproduce:

  1. Tap search bar
  2. Type a random word that produces no search results
  3. Tap Search
  4. Tap the x icon in the search field
  5. The list view now shows the search bar in the cancel state

img_1743

Opened by @drw158

Remove NavBar Hacks

Since we're bumping up the deployment target, we may use UIKit's standard "Shrink Navbar" mechanism:

navigationController?.hidesBarsOnSwipe = true

Props to @frosty for pointing it out!

Opened by @jleandroperez

Translation Strings

  • Remove \r characters from the translations
  • Update the Format String 'Localization Comments', so that they actually help understanding how they work.

Opened by @jleandroperez

Remember Caps Lock Status

Not sure this is something that can be controlled at an app level or not, but a user has requested if we can remember if caps lock was enabled in Simplenote when switching back and forth between apps.

When they come back the caps lock is always turned off.

Opened by @sandymcfadden

Restore button very close to Empty button and easily tapped acciedentally

A user reports that when they view the Trash and swipe across the top-most note to restore it, the restore button appears just beneath the Empty trash button with little space in between. This makes it easy to completely empty the trash accidentally when all you want to do is restore a note from the trash. It might be better to move the "Empty" button to the other side of the search bar.

unnamed

62952-t

Opened by @rachelsquirrel

Move tags to top of screen

A user reports that if they want to add tags to a particularly long note, they have to scroll all the way to the bottom of the note to see the tags. It might be helpful to move the tags to the top of the note or to put the tags in a floating bar across the bottom so you don't have to scroll down to see them.

62867-t

Opened by @rachelsquirrel

Passcode screen can be shown without keyboard

I've got another report of this. The user was editing a note and received a text message. They replied to the text message then used the option to "Return to Simplenote" in the top left of their screen. However they were presented with the Simplenote passcode screen but not keyboard.

2572058-t

Originally by @tomwitkin

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.