Giter Site home page Giter Site logo

materiiapps / opencord Goto Github PK

View Code? Open in Web Editor NEW
1.2K 30.0 92.0 5.79 MB

An open-source Material You implementation of the Discord Android app

License: GNU General Public License v3.0

Kotlin 100.00%
discord-client discord android android-app kotlin kotlin-android jetpack-compose

opencord's Introduction

OpenCord

Discord

GitHub Repo stars GitHub forks License Crowdin

An open-source Material You implementation of the Discord Android app. (WIP)

Preview

Chat Drawer

FAQ

Will this client support "plugins" or custom features/themes?

Most likely in the future, however our first priority is to implement most of the stock client's features. To check our current progress, see STATUS.md. You are always welcome to fork and add features or do it just privately!

Is this against Discord TOS?

Yes, it is. However, there has been no instances of Discord banning people for just using modified clients. What they do automatically ban for, is API abuse or strange requests. Therefore, OpenCord takes great caution in emulating official clients exactly, but as it is still in development, please use an alt account for your safety.

Where download???!?!?!?!?

Since there is no release version yet, use this nightly link to download OpenCord. Download, extract and install the APK contained within. If you are reinstalling or updating, you have to uninstall the old version first!

Building locally

Windows:

.\gradlew.bat app:assembleDebug

Linux/macOS:

./gradlew app:assembleDebug

Built APK will be at app/build/outputs/apk/debug/app-debug.apk

opencord's People

Contributors

crowdin-bot avatar douile avatar nyakowint avatar rushiimachine avatar wingio avatar x1nto 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

opencord's Issues

Empty Settings Page

Is the Settings page supposed to be empty? It just shows me a blank page:

Screenshot_20230318-192855.png

[Feature request] Deeplink support

Not so much of an issue but a feature request, you can enable the "open by default" option for the app, so it can open if you have a deeplink for discord.
Screenshot_20230315-110810_Settings

Light theme

Even when setting my phone to light mode, the app is still in dark mode. As this uses MD3, dark/light mode based on the system theme should be pretty easy.

Fix pings

Pings are displayed as what I suppose are user IDs instead of their names

Laggy af

Doing literally anything (tapping a guild, loading a text channel, etc) is very laggy on my Pixel 6. My guess is that more data (guilds, basic guild channel data) should be preloaded.

Discord invite?

Heya, is there a discord server for this? In the README, it just redirects you to the Kord server for the Kotlin library. Thanks in advance ๐Ÿ‘๐Ÿผ

[Feature request] Threads

Please, introduse threads. Thay are typycly vital to communication in modern DS and shouldnt be too hard to add.

app crashes on login

Hi, I've installed the latest apk however once I press the login button after entering my email and password. I'm not sure how to get debug info on android so if there is any info you need you might need to point me towards how to get it.

I'm running lineageos 18 (android 11).

Friend suggestion

Is there gonna be friend suggestion feature from original client? (Contact importing)

General mod podge of potentional "bugs"

The app looks great! Loving the color palette and the login design. The whole reason why I checked out the app in the first place is that the official app has started to overheat my low-end phone, which causes my phone to restart. Here are a few bugs I've noticed in OpenCord:

  • No friend DM's (unsure if they reach out to you)
  • Logging in for the first time takes a bit for the guilds/channels to load
  • Users don't have role colored names
  • No "mark all as read" option on a server (which would be helpful to have since every channel is marked as "unread" when logging in)
  • The app seems to freeze for 100ms or so when a new message is sent, giving off a single-threaded app vibe
  • The swipe interaction is weird, working sometimes, ignoring your swipe other times
  • Guilds aren't ordered as they are on mobile or desktop (I believe there's an undocumented endpoint for this)
  • No obvious way to look at the channel topic
  • Member list doesn't seem to function
  • Mentions altogether don't seem to function correctly
  • Codeblocks render inaccurately
  • Buttons
  • Stage channels render as normal channels
  • Channels aren't appropriately hidden (say, when you don't have permission to view)
  • Guilds without an icon do not produce the same icon that the official clients use
  • Settings don't show anything
  • Lack of message attachment support

OpenCore images:
https://cdn.discordapp.com/attachments/964960714047508494/974836234818039848/Screenshot_20220513-194915-915.png
https://cdn.discordapp.com/attachments/964960714047508494/974836235254243378/Screenshot_20220513-194931-376.png
https://cdn.discordapp.com/attachments/964960714047508494/974836235547865128/Screenshot_20220513-194941-104.png

Discord image (zoom):
https://cdn.discordapp.com/attachments/964960714047508494/974836637735460964/Screenshot_20220513-195235-485.png

Other than these things, the app is really good. The only things that are truly stopping me from using the app as a daily driver is the lack of DM support and the "mark channels as read" option. I understand well that the app is far from finished and I'm looking forward to the finished product. I would love to contribute however I'm more of a C# developer than someone who uses Java (additionally I've never even touched UI, so I could only help clean up logical/simple operations).

Keep up the great work! You're doing amazing. DN

Unable to build app due to Kotlin

e: This version (1.1.0-rc01) of the Compose Compiler requires Kotlin version 1.6.0 but you appear to be using Kotlin version 1.6.10 which is not known to be compatible.  Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDiscordDebugKotlin'.
> Compilation error. See log for more details

discotc ban you

discorc will ban you because th8rx patry client = selfbot and they ban se,fbtofeajsrvf

Can't type messages

I use Android 13 with a Samsung phone. My keyboard is FlorisBoard. When I try to type a message in a channel of a server, it doesn't show my keyboard.

Also this project is super cool, GGs to everyone. I am French so if you need someone for the translation, I'd be glad to help ๐Ÿ˜‰

Fix the ReadMe: "there has been no instances of Discord banning people for just using modified clients" seems to be wrong

See https://github.com/Bios-Marcel/cordless

Of course it can fit into "API abuse" and "strange requests", but let's not hide heads in the sand:

  1. Discord is an unfriendly company and feels like it is happy to monopolize both client and server side;
  2. it is just not determined enough to cover all the users using unofficial clients. Though it is surely possible. For example it can be possible to update the clients constantly with the versions specific for a concrete user, and verify if a user uses exactly that version, and if he doesn't, then just block him.

The proper long term solution is to abandon Discord and use something decentralized/federated. Using Discord is just increasing value of their solution over the competing ones.

#60 is still an issue

I saw #60 just died but it still happens

I reckon the app is just overloading (memory leak maybe?) with some accounts because of being in alot of servers as my alt works but not my main

Cannot log in

I can't log in, idk why. What I know is I have a working internet connection. And to register button does not working, I think it just there as a display. Need to rework and stabilize the application. I love the concept and the lightness of it. I hope these matter will soon be fixed.

Consider using the fosscord api & implementation

Have you considered using the fosscord api and implementation as a git submodule to help save time and sanity?

Projects like webcord wire up to this already and appear to successfully support all daily usability features.

Doesn't support Discord's 2FA

Just a note to say that it doesn't let me login with 2-factor authentication.

Not really a complaint because this looks and works really well otherwise, with only one other glaring issue for my basic needs. Great to see this appear :)

Can't connect my account

I can't connect my account to the app
When I open the app, the app says welcome (normal) then I click on the login button
Next, I enter my informations then I confirm but It became red even if it's the right IDs and passwords
Like this :
opencord
(yes im french :))
It happened with the last build
Can you help me to resolve this issue ?
Thanks

Unable to Login in.

Hi I am trying to log in with my alt account nothing seems to happen when I log in it is stuck in login page and when try pressing the log button nothing seems to happen

Crash when trying to login on fosscord

It seems like it cannot deserialize captcha response which does not exist on fosscord

01-27 02:05:12.272 E/AndroidRuntime(11588): FATAL EXCEPTION: DefaultDispatcher-worker-1
01-27 02:05:12.272 E/AndroidRuntime(11588): Process: com.xinto.opencord.kenecord, PID: 11588
01-27 02:05:12.272 E/AndroidRuntime(11588): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.Gson.fromJson(Gson.java:963)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.Gson.fromJson(Gson.java:928)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.Gson.fromJson(Gson.java:877)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.Gson.fromJson(Gson.java:848)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.xinto.opencord.ui.screens.login.LoginScreenKt$LoginScreen$2$1$3$1.invokeSuspend(LoginScreen.kt:187)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
01-27 02:05:12.272 E/AndroidRuntime(11588): Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:384)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215)
01-27 02:05:12.272 E/AndroidRuntime(11588): 	... 11 more

How can I download the app?

I want to try this app but as the released version is outdated also not usable(I couldn't login) and I can't find anything in action tab. So, how can I downland this 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.