Project Cypress - a native Discourse client app for iOS

Just wanted to take a moment to introduce a project I have started. Project Cypress - a native Discourse client app for iOS.
It is currently in a very early development stage, and the first build is now available through TestFlight.

The first goal (proof of concept) was to support native rendering for most standard Discourse posts, and allow adding multiple communities. Current functionality is very limited, but I still wanted to make it available early on for those who might be interested. The app name/icon are just placeholders for now.

Install through TestFlight: Join the Project Cypress beta - TestFlight - Apple

Screenshots

 

12 Likes

@igorz good job!

However, especially since you are not otherwise known to the community and have yet to earn its trust, wouldn’t it have been a good idea to publish the source? Is this on GitHub somewhere?

You are expecting users to install closed source, test code from an untrusted author (brand new meta account only 3 days old) that hasn’t yet even had to pass Appstore production deployment checks?

This is a genuine area of risk:

6 Likes

I like how you tried to keep the topic and post UI close to what we do on the web, it feels very familiar. Nice job!

11 Likes

@merefield Thanks for the feedback! I wasn’t aware of these TestFlight scams, so that’s an understandable risk. The app is closed source, since I was thinking of adding some paid options in the future, to support app’s future development (I’m a sole developer).

For some context, I run a Discourse community for my other app (HomeHabit), which is one the main reasons I wanted to have a native client to use. Originally, I thought of doing this project a few years ago, however, Fig app was posted here around that time, so I just started using it instead. Now that Fig’s development has been abandoned, I decided to revisit this idea.

8 Likes

Open sourcing is no solution for this since you have no way to tell if the version on TestFlight is actually compiled from that source.

4 Likes

Yeah, it’s not perfect, but would make the presentation “better”.

2 Likes

Release 0.1 (103)

  • Improved table rendering
  • Improved onebox rendering
  • Support for YouTube videos
  • Display full category path for each topic (subcategories)
  • Display likes and bookmarks on posts
  • Expandable topic section for full screen reading (on iPad)
  • Collapsible posts (tap on header)

Available through TestFlight: Join the Project Cypress beta - TestFlight - Apple

Release 0.1 (104)

  • Support for video elements (uploaded videos)
  • Support for accepted answers
  • Topics now have post-based scrolling for easier navigation between posts (still some issues with jumping to posts in long topics)
  • Topic links are opened in-place
  • Post reply threads (tap on reply count to see all post replies)

1 Like

Release 0.2 (105)

  • New navigation flow - main view allows to go back to previous screen
  • Topic List views - Latest, New, Unread, Top
  • Topic List is automatically refreshed when app is reopened
  • Category and Tag views (tap on category or tag in topic header)
  • Post actions - like and bookmark
  • Topic actions - bookmark and notification level
  • Improved post count and last activity time formatting
  • Improved API error handling (fewer crashes)
  • Fix - topic links are not opening within the app
  • Fix - some nested markdown rules are not working (e.g. bold text inside a link)
  • Fix - topic should use bumped time for last activity to be consistent with Discourse UI

Thank you to everyone who submitted crash reports and feedback through TestFlight!

Does not seem to like my community url, maybe because we are a sub folder install?

Let me look into this, seems like not getting expected response from the API. Thanks for trying it out!

Aside, is the app in light-mode for you by default? Is that default on your device? That might be a bug, since it should be always in dark-mode (for now, so it haven’t been tested in light mode yet).

The app is in dark mode, just little modal-like window that comes up after I hit the plus sign…that was light.

It feels like an iOS window, and I think it’s respecting my light mode on my phone.

2 Likes

@jordan-violet The issue was indeed because of a subfolder install. The fix will be available in the next release.

2 Likes

We subfolder’ers are always making trouble in the Discourse space!

1 Like

Release 0.2 (106)

  • Fix - Unable to add Discourse instance installed in a subfolder
  • Fix - Category and Tag views not loading correct list of topics
  • Fix - Dark mode not applied to some modals when device is in the light mode
  • Fix - Crash when there is an error while loading an image content
  • Fix - Crash when URL contains unicode characters (e.g. username with non-latin characters)

Other Notes

  • Private communities are not supported yet
  • Light mode support will be added later (will be configurable in Settings as well)
1 Like

Release 0.3 (108)

  • New - Search (topics/posts)
  • New - Support for private communities with required login
  • New - Ability to log out from a community
  • New - Unseen topics are highlighted in the list (unseen status is not getting updated through the app activity yet)
  • Fix - Tapping outside of visible context menu should not trigger taps on other elements
2 Likes