Giter Site home page Giter Site logo

glimesh / glimesh_app Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 4.0 5.98 MB

The official Glimesh Mobile App.

Home Page: https://glimesh.tv/about/app

License: MIT License

Kotlin 0.06% Ruby 3.28% Swift 0.74% Objective-C 0.74% Dart 93.18% HTML 0.95% Java 0.80% Shell 0.25%
flutter live-streaming

glimesh_app's People

Contributors

clone1018 avatar ponkey364 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

glimesh_app's Issues

Support displaying emotes in chat

When users use existing emotes, we should be able to show them in chat. Should not require any specific state of emotes since the chat message API knows the full path of the images.

App Fails To Load new Messages

So, I went live today and noticed that for some unexplained reason, the app somehow fails to load new chat messages and not showing them but if you use Community Made chat clients like MixItUp for example, it does show the new messages.

Glimesh App Version:

  • 1.1.1+52

Android OS Version:

  • 12

Device Type and Model Number:

  • Samsung Galaxy A11
  • A115F

Screenshot of the issue from the Glimesh App (What it sees):
image

Screenshot from the Glimesh Website and MixItUp (What the app is suppose to load):
image
image

Some thoughts on the Metadata area (and follow / view profile buttons)?

Happy timezone,

Had some thoughts on the location of the follow & view profile buttons on the channel page and just wanted to share them for any comments before implementing:

Rather than trying to squeeze the buttons into the stream title, would it be a better idea to put them in the metadata area like the below?

IMG_701493B4BCC4-1 3

Additionally, I wonder if it'd be worth extending the metadata area to fill the whole chat area apart from the text box, then close it whenever the text box is tapped?

proposal Glimesh Mobile

  • Glimesh Android live streaming

  • communities Function

The communities function gives players a place to communicate

communities Template
Server Icon
Server Icon
Server Icon
Server Icon

OAuth Authentication

We need to authenticate with the Glimesh API to provide user state. Requires the Glimesh API's OAuth to support the proper handshake.

Add settings page

Some options:

  • Dark / Light Mode
  • Mature Content
  • Language
  • Chat Timestamps
  • Mod Icons
  • ???

Ideally these preferences mirror the website's based on your user account. If you have light mode enabled on Glimesh.tv it would automatically switch you over on the mobile app.

Add Following page

Can reuse the existing ChannelList components. There should be an API endpoint for this somewhere...

Add User Profile screen

The app should show similar information to what you'd see on a user's profile page on the website. We would use the profile screen in two locations: viewing yourself, viewing others.

Namely:

  1. Followers / Following count
  2. Social media buttons
  3. Team Role status
  4. Report Button
  5. User profile content

Profile links don't open on Android when a default app is set

We've had a few users report that their Twitter and Youtube links on their profile aren't going anywhere.
Did some debugging with a few folks in the Discord, and it seems that this happens when the app for that link is installed and the OS is set to always open links for that app in the app.

i.e. When tapping a Twitter link when the Twitter app is installed and Android is set to always open Twitter links in Twitter results in nothing, however setting Android to ask what do and then selecting the Twitter app does work.
We also had the exact same case replicated with the youtube app

It also seems that this behaviour is only observed on Android 11 and 12.

Add streamer's username to the stream listing

Ideally, stream thumbnails should look as they do on the Glimesh.tv website, including:

  • Title
  • Username
  • Language
  • Mature

Optionally:

  • Subcategory
  • Tags

Depending on how we can size things for mobile.

Add Notifications page

Add the ability to see & dismiss recent notifications. We should probably auto-expire them for the users as well.

User Registration

Somehow we need to allow users to create accounts with the Glimesh service using keys that are negotiate before the user has permissions to the API.

This can be figured out later, for now we can require registration via the website.

Glimesh.tv Mobile App

Android & iOS app for viewing and chatting with streams on the go. Whether you’re out and about sitting in a park or on a break during class or work, you can quickly access our mobile app and watch your favorite streams. The first version of the app will be focused on the viewer experiences, with browsing streams, chatting, following, and other viewer experiences as the main focus.

This feature is still being groomed and could change frequently.

Support a chat-only mode

This would disable the video and only show chat, an example use case would be for a streamer to monitor their chat while live.

Audio buttons adjust phone volume instead of media volume

We've got the audio coming out of the media output device successfully, but it appears we're still registering some type of phone volume because by default adjusting the android audio changes the phone volume instead of media.

By default, pressing the volume control modifies the volume of the active audio stream. If your app isn't currently playing anything, hitting the volume keys adjusts the music volume (or the ringer volume before Android 9).
From: https://developer.android.com/guide/topics/media-apps/volume-and-earphones#java

Stream audio plays out of phone speakers

When watching a stream on Android, the audio plays out of the phone's speakers instead of the speakerphone speakers. Meaning the user has to put the phone up next to their face to hear the stream.

iOS: Crash when trying to load a stream

Tried to open a stream on the latest commit of the app on iOS, seems like iOS might think we're trying to use the microphone:

flutter: [INFO] JanusClient: Creating Session
flutter: [FINE] JanusClient: fine message
flutter: [INFO] JanusClient: Session Created
flutter: [INFO] JanusClient: using rest transport for creating plugin handle
flutter: [FINE] JanusClient: {janus: success, session_id: 94069246441168, transaction: e16ee2ab-eadb-462b-af33-3cc88ce3aa16, data: {id: 8277653896468042}}
flutter: [FINE] JanusClient: peer connection configuration
flutter: [FINE] JanusClient: {iceServers: [], sdpSemantics: plan-b}
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
* thread #2, queue = 'com.apple.root.default-qos', stop reason = signal SIGABRT
    frame #0: 0x00000001ca9e9154 libsystem_kernel.dylib`__abort_with_payload + 8
libsystem_kernel.dylib`__abort_with_payload:
->  0x1ca9e9154 <+8>:  b.lo   0x1ca9e9170               ; <+36>
    0x1ca9e9158 <+12>: stp    x29, x30, [sp, #-0x10]!
    0x1ca9e915c <+16>: mov    x29, sp
    0x1ca9e9160 <+20>: bl     0x1ca9c71fc               ; cerror_nocancel

I botched the key into the info.plist and then it worked and I get video without a crash but, after what you'd said on Discord the other day about sound coming from the earpiece speaker, and that my phone suddenly decided to make noise (and made me jump, lol) I think somewhere (maybe in the janus library?) making devices think we're a VOIP app?

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.