Code Monkey home page Code Monkey logo

odysee-ios's Introduction

Odysee iOS

GitHub license

The Odysee iOS app with wallet functionality.

Installation

The minimum supported iOS version is 13.0. You can install the app from the Apple App Store. You can also obtain early access releases by joining the TestFlight beta program.

Usage

The app can be launched by opening Odysee from the app list on your device.

Running from Source

Clone the repository and open the project in XCode. Click the Build and run current scheme button to build the project and launch the app in one of the available simulators or a connected device.

Setup Firebase

We use Firebase for analytics calls throughout the codebase. You'll need the Odysee/GoogleService-Info.plist file to exist for the Xcode project to compile. However, this file is in .gitignore, so you’ll need your own local copy after you clone this repo. Create it from the provided sample by running this command in the root directory:

cp ./Odysee/GoogleService-Info.plist.sample ./Odysee/GoogleService-Info.plist

Style and Formatting

We use SwiftFormat to enforce a consistent format for all Swift code. You can see our custom configuration in this repo’s .swiftformat file.

swiftformat . --lint must pass before merging to master. To run it locally, first install it using Mint and mint bootstrap --link, and then run swiftformat . which will automatically format all of your Swift code. If any of your default Xcode text editing preferences are inconsistent with SwiftFormat, you can update those on your machine under Xcode > Preferences > Text Editing. You can also optionally install the SwiftFormat Xcode plugin and bind that to a custom key binding or to the file-save event.

Contributing

We ❤️ contributions from everyone and contributions to this project are encouraged, and compensated. We welcome bug reports, bug fixes and feedback is always appreciated. For more details, see CONTRIBUTING.md.

contributions welcome GitHub contributors

License

This project is MIT licensed. For the full license, see LICENSE.

Security

We take security seriously. Please contact [email protected].

Contact

The primary contact for this project is @akinwale ([email protected])

odysee-ios's People

Contributors

adlai-holler avatar akinwale avatar eclectocrat avatar imonz avatar julianchandra avatar kroucis avatar kroucis-bbs avatar ktprograms avatar shadowgravity avatar tsheaff avatar tzarebczan 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

odysee-ios's Issues

in-app notifications missing

Have heard reports, similar to Android, that in app notifications are missing even after receiving a device notification. They are on odysee.com. Maybe it's not refreshing or we are not passing the right param?

Will try to repro.

youtube sign up issues - keyboard takes over, can't continue

When registering to your site/app, we are quickly led to a sync youtube channel stage.

At this stage, the keyboard blocks half the screen and there is no way to validate input and go forward. Only solution is to force the app closed.

I'm on iPhone SE 2020 and I am running latest OS.
image
image

Bring back iPad support

Make it work well on Ipad and fix any crashing issues (i.e. one when you go to the share dialog).

App crashes if line 31 of InitViewController.swift is not comment out first

On the first run of the app, line 31 of InitViewConttroller.swift must be commented out (print("********" + Lbryio.authToken!) as it will cause a Fatal error: Unexpectedly found nil while unwrapping and Optional value. This happens because on the first run, "AuthToken" has not yet been added to UserDefaults. If this line is commented out, the app runs fine and the line can then be added back as "AuthToken" will have been added to UserDefaults.

Possibility to launch directly to the Following tab

For those of us who feel more at home on the Following tab than on the Home tab, it would be nice to be able to arrive directly to it upon launch (without having to use the appicon context menu). I would prefer not to see any arbitrary recommendations.

Support < iOS14

Have gotten a few complaints/requests for this. What would it take?

Updated first run

  • Claim email reward
  • Prompt account creation or sign in on first run
  • Prompt user to become rewards eligible (but do not present as such)
  • Prompt channel creation (if LBC)
  • Prompt YouTube sync (separate ticket)
  • Add graphics from Dejan
  • Collect phone number / restore phone verification where enabled

Odysee iOS app Testing

@julianchandra commented on Thu Jan 14 2021

  • 1. Sign up Flow issue - Critical
    If I sign up through mobile, I get the email verification, it opens the browser and I'm in Odysee on web.
    But my mobile app doesn't do anything.

  • Community guidelines + link to the help/support for Apple compliance - Critical (no app allowed without this)
    @tzarebczan we used to have a custom odysee contact/support page but it appears to be missing (redirects to lbry now).
    If we can bring that back it might make things easier?
    The user needs to be able to submit support requests through app (if needs to open your inbox that's ok) - mandatory.

To test:

  • Signing in and out (can't sign out once in)
  • Fire a video
  • Slime a video
  • Leave a comment (doesn't work)
  • Fire a comment (can't)
  • Slime a comment (can't)
  • Follow a channel
  • Unfollow a channel (doesn't work)
  • Tip a video
  • Tip a channel

Missing features (for awareness - not necessarily mandatory right away, though profile/settings might be good to have):

  • Can't sync YT channel through sign up - so only end users can join through app, not creators
  • Can't upload
  • Can't access creator analytics
  • Can't access profile/settings

@julianchandra commented on Thu Jan 14 2021

Bugs

  • I unfollowed a channel and it was still showing in my following even though in the channel profile it shows i'm not following them.

  • Gaming category won't load

  • Can't sign out once in.

  • Can't close the keyboard once open on a video page.
    You need to go out of it and back to close it.
    IMG-0510

  • Seems impossible to scroll down to comments on certain videos because of too many related videos.
    IMG-0513

  • Sometimes fire/slime etc are missing from below the video.
    IMG-0513

  • Longer comments appear cropped, it's not clear if there are multiple comments or just one. I recommend we copy YT and put comments at the top below the fire/slime etc. Will attach the example of the issue and then the YT suggestion.
    comments weird

YOUTUBE example:
IMG-0512

Design inconsistency - not a bug

  • The avatar appears to be cropped differently from the normal circular shape.
    IMG-0514

Account >Channels page goes to channel edit

There is no way in the iOS app to view my channel other than to manually search for it. Selecting channels from the top-right nav puts you directly into "edit channel" where (in my eyes) it should display my channel(s) with an additional option to edit them. Hope this helps. 🙏

Make sign in clearer

Many users don't see the sign in prompt at the bottom and try to sign up first.

Hide live streams / don't crash on claims without files #1176

The latest SDK has a parameter to include only claims with files. We'll need to pass that everywhere to hide live stream claims until we are ready to handle them.

If someone does open the claim, don't crash, and maybe show a hyperlink to odysee.com via browser for now.

There is a breaking change in it for connection status, see release notes.

notification improvements and bugs

bugs:

  • first load came up with no notifications, took a while to show empty state.
  • clicking on a content notification doesn't take you to the content - takes you to the channel and it shows "no content to display". Same thing happens with device notifications that have : lbry://@Timcast#c9/gop-reps-family-disowns-him-for#4 as target
  • pass is_app_readable param to notification list
  • new comments show "in 4 hours" - looks like timezone / UTC is off.
  • don't think the notification pull-down refreshes them...I had to leave and come back to the page to see new ones.

improvements:

  • show channel thumbnail of commenter/replies
  • show thumbnail of content

I'm working on a PR to add this right into all notification metadata so we don't have to resolve it.

Odysee iOS app Testing

@julianchandra commented on Thu Jan 14 2021

  • 1. Sign up Flow issue - Critical
    If I sign up through mobile, I get the email verification, it opens the browser and I'm in Odysee on web.
    But my mobile app doesn't do anything.

  • Community guidelines + link to the help/support for Apple compliance - Critical (no app allowed without this)
    @tzarebczan we used to have a custom odysee contact/support page but it appears to be missing (redirects to lbry now).
    If we can bring that back it might make things easier?
    The user needs to be able to submit support requests through app (if needs to open your inbox that's ok) - mandatory.

To test:

  • Signing in and out (can't sign out once in)
  • Fire a video
  • Slime a video
  • Leave a comment (doesn't work)
  • Fire a comment (can't)
  • Slime a comment (can't)
  • Follow a channel
  • Unfollow a channel (doesn't work)
  • Tip a video
  • Tip a channel

Missing features (for awareness - not necessarily mandatory right away, though profile/settings might be good to have):

  • Can't sync YT channel through sign up - so only end users can join through app, not creators
  • Can't upload
  • Can't access creator analytics
  • Can't access profile/settings

@julianchandra commented on Thu Jan 14 2021

Bugs

  • I unfollowed a channel and it was still showing in my following even though in the channel profile it shows i'm not following them.

  • Gaming category won't load

  • Can't sign out once in.

  • Can't close the keyboard once open on a video page.
    You need to go out of it and back to close it.
    IMG-0510

  • Seems impossible to scroll down to comments on certain videos because of too many related videos.
    IMG-0513

  • Sometimes fire/slime etc are missing from below the video.
    IMG-0513

  • Longer comments appear cropped, it's not clear if there are multiple comments or just one. I recommend we copy YT and put comments at the top below the fire/slime etc. Will attach the example of the issue and then the YT suggestion.
    comments weird

YOUTUBE example:
IMG-0512

Design inconsistency - not a bug

  • The avatar appears to be cropped differently from the normal circular shape.
    IMG-0514

Search - Virtual keyboard is closing when search result is updated

Steps:

  1. Open odysee app
  2. Click search-button via header
  3. Input valid search phrase sequentially using the virtual keyboard, for example: "die anstalt"
  4. Observe while typing

Expected:
Focus remains on search input and keyboard is not closing.

Actual:
When the search result is updated, focus is lost and keyboard is closing. Most often one of the search results is clicked since I resumed typing. This is rather annoying and most unpleasant UX.

Env/Version:
Odysee 0.1.0 (via testflight) on iPhone 7/ios 14.4

Subscriptions thumbnails duplication

On the Following tab, two of my three subscriptions regularly get identical thumbnail images in the channel list at the top. One correct, one wrong.

While I didn't immediately notice any cell reuse issues by inspecting the collection view, I'm not ruling it out. Without being familiar with the code I'd guess a more likely cause would be that the network responses are assumed to be ordered but aren't handled in strict order, or that item indices are reused in some callback/aren't properly looked up at the time of receiving a response.

accessibility

As a visually impaired person who relies on the Voiceover screen reader, there are some issues I am encountering.
The first issue is the inability to read anything in the top bar on the screen. All it says is Point 0, and I have to turn Voiceover off to access any of those tabs. Once you enter them you do get information read allowed. The next issue is the inability to dismiss the video player window. Finally, there are two buttons below the video that just say one, and I am unsure what these buttons do.

More: https://twitter.com/queenslight16/status/1353551470948323328

Library page

Create a page to display a user's view history and publishes.

Comment notification leads to incorrect format

I clicked on the notification in the menu that said I had received a comment on a post, but the comment led to a page that has the details of the post, but it looks like a channel page. I checked this on multiple comment notifications for different posts. The image attached below shows the page.

image0 (1)

Support control tags - disable-support and disable-comments

These can be on both the channel and publish levels, so it needs to be checked for bothl

  • disable-support - hide tip/support button on both channel and any content
  • disable-comments - hide comments / ability to leave commnets on the content to community tab of channel.

AirPlay - streaming to Apple TV is interrupted, playback progress reset

Steps:

  1. Open odysee app
  2. Find a video via e.g. Following > Channel
  3. Play video, then click the in-video - AirPlay - button
  4. Stream to Apple TV (4k)
  5. Click outside to hide AirPlay dialog, then leave the phone
  6. Wait and watch for a while

Expected:
Uninterrupted playback on remote device.
In case of network issue loading animation is displayed, then the video eventually is resumed.
Playback progress is never reset.

Actual:
Quite often streaming stops abruptly (typically when/after iPhone screen has turned off, but not always).
Re-activating phone, progress has typically been reset (progress 0 seconds).

I've observed this behavior frequently over the past days. This may not be a (and certainly is not a local) networking issue; even if it is, behavior would be unexpected.

Env/Version:
Odysee 0.1.0 (via testflight) on iPhone 7/ios 14.4

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.