glimesh / glimesh_app Goto Github PK
View Code? Open in Web Editor NEWThe official Glimesh Mobile App.
Home Page: https://glimesh.tv/about/app
License: MIT License
The official Glimesh Mobile App.
Home Page: https://glimesh.tv/about/app
License: MIT License
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.
We should use something like https://pub.dev/packages/flutter_incall to prevent the phone from turning off the screen while users are watching a stream, unless the user specifically hits the power button.
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:
Android OS Version:
Device Type and Model Number:
Screenshot of the issue from the Glimesh App (What it sees):
Screenshot from the Glimesh Website and MixItUp (What the app is suppose to load):
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?
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?
When a user clicks a glimesh channel or profile link, it should open in the app, or prompt the user to ask if they want to open it in the app
Currently the only way to get new streams is to refresh the content -- likely we should either automatically refresh, or get some fresh streams each page load.
We need to authenticate with the Glimesh API to provide user state. Requires the Glimesh API's OAuth to support the proper handshake.
Showing the proper name instead of the slugs.
A user in Discord reported that the deep link didn't work when triggered from https://www.ucweb.com/
Will require a new API endpoint: Glimesh/glimesh.tv#719 and then can reuse the existing ChannelList components.
Right now it just shows the video in 16 / 9 which "happens" to take up the screen on most mobile devices.
Some options:
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.
Can reuse the existing ChannelList components. There should be an API endpoint for this somewhere...
Might be a good idea to replace this with a link to your channel so you can interact on mobile.
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:
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.
I suspect since we're forcing the speakerphone to be enabled, none of the other audio devices will work.
Ideally, stream thumbnails should look as they do on the Glimesh.tv website, including:
Optionally:
Depending on how we can size things for mobile.
Right now the app is only available in English. If we can reuse the po files generated for the main website, we can offer i18n pretty easily inside of the app.
Example: https://github.com/Glimesh/glimesh.tv/blob/dev/priv/gettext/pt_br/LC_MESSAGES/default.po
Add the ability to see & dismiss recent notifications. We should probably auto-expire them for the users as well.
Might be fixed in #31
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.
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.
This would disable the video and only show chat, an example use case would be for a streamer to monitor their chat while live.
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
This is much more complicated, but putting a placeholder ticket for now.
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.
We'll need to add these mutations to the API: Glimesh/glimesh.tv#718
Afaik this is going to be difficult...
Something about state management...
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?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.