Git Product home page Git Product logo

rvmob's Introduction

RVMob

RVMob is a Revolt client made with React Native. It is currently available for Android and will be available for web in the future.

Please note that RVMob is currently in beta. It contains several bugs and incomplete features - use at your own discretion.

For development updates and other news, join RVMob's support server.

Installing

If you want to install RVMob for Android, simply go to the releases tab and download the latest version. We plan on publishing RVMob to app stores in the future.

Debug builds are also produced for every commit. These are unoptimised - they're much larger and noticeably slower than the release builds, but you can try out new features early.

Info about split builds

Also note that, from v0.7.0, RVMob's APKs are split by architecture. This helps to reduce file and app sizes - however, you'll need to make sure that you download the APK that matches your device's architecture, or it won't install!

If you're using an app store, this should be handled for you.

If not, however, you'll need to check your device's architecture. I'd recommend using Treble Info for this.

Install and open the app - don't worry about what it says on the home page! - then open the Details tab and check the CPU architecture entry. Depending on what it says:

  • if it says ARM64, you'll want the APK with arm64-v8a in its file name;
  • if it says ARM32, you'll want the APK with armeabi-v7a in its file name;
  • if it says x86_64, you'll want the APK with x86_64 in its file name;
  • and if it says x86, you'll want the APK with x86 but without 64 in its file name.

If it says Unknown, please ask for help in our support server.

Building

If you want to build RVMob for web, you'll need:

If you want to build RVMob for Android, you'll also need:

Then run the following:

yarn install
npx react-native-asset
# for web:
yarn web
# for android, run the following then press `a`:
yarn start

CLI commands:

Command Description
yarn start Starts Metro (the dev server).
yarn test Tests to see if everything is working.
yarn web Runs the web app.
yarn android Runs the Android app.
yarn ios Runs the iOS app (broken/requires a Mac).
yarn lint Checks the code syntax using ESLint.

For more information, see a list of react-native's commands here. You can access them by running yarn react-native.

Troubleshooting

If you encounter bugs, first check if you're able to open Revolt in your browser; also, check if you have any firewall settings that may block the Revolt API.

If you're still experiencing issues, and there aren't any open issues for the bug(s) you're facing, please open an issue.

License

RVMob is licensed under the GNU Affero General Public License v3.0.

rvmob's People

Contributors

0xshutdown avatar 1enify avatar account0123 avatar arslee07 avatar cebes-alfi avatar dauerndamprogrammieren avatar f3rr31 avatar ggtylerr avatar goodestgoyim avatar liimee avatar mdmv-l-mirandes avatar pgmtx avatar rexogamer avatar searinminecraft avatar taiaurori avatar vloddot avatar wires5210 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

rvmob's Issues

bug: Cannot run tests

What happened?

After installing the dependencies and following the instructions; the unit tests do not function. The most difficult error to get past being SyntaxError: Cannot use import statement outside a module. Though before that I had another error. " [@RNC/AsyncStorage]: NativeModule: AsyncStorage is null."

feature request: final touches for instance switching

What do you want to see?

Following on from #14:

  • Automatically reload the app when the user changes the instance URL - might need to use something like react-native-restart
  • Detect invite links for other known instances - should this also check whether the instance is the current one?
  • Potentially make it clearer what instance you're logging into on the log in screen?

feature request: i18n improvements

What do you want to see?

Following up on #7:

  • detect the device's locale and default to that if the user hasn't set a language
  • rerender upon switching languages (might be easier once some other refactoring has been done) already a thing
  • make the process of adding new languages less manual? (currently you have to add 3 lines to i18n/languages.ts; it might be possible to simplify this a bit?)

[PERMANENT] Comment here to add new languages

Heya! If you've started translating a new language via Weblate and want to see it in RVMob, comment here with a link to the language's strings and I'll take a look.

If you want to translate to a language not natively supported by Weblate, comment here with the language's name (and preferably some other info about it, including its ISO code) and I'll investigate further.

Thanks for your help with translating RVMob!

feature request: desktop client? gentoo ebuild?

What do you want to see?

I find the documentation of this github somewhat lacking and obscure.

I will maintain gentoo ebuilds if someone here is willing to assist me getting to know the revolt ecosystem

cheers

feature request: server settings

What do you want to see?

Add the ability to view and modify a server's settings.

This involves several sub-tasks:

  • perm checks:
    • only show the settings button if you have one or more relevant permissions
    • perms for member settings
    • perms for channel/category settings
    • perms for role settings
    • perms for ban management
    • perms for invite settings
    • perms for emoji settings
  • basic server info:
    • name
    • avatar
    • description
    • channel(s) for system messages
  • members:
    • list
    • kick/ban
    • add/remove roles
  • channel list/categories:
    • list
    • create/delete channels/categories (is owner || user has the manage channels perm)
    • edit category names
    • button to open channel settings
    • reordering (will need to find a good drag and drop library)
  • roles:
    • list
    • create/delete
    • edit basic info (name, colour - these will require more checks (is owner || rank of the user's highest role > rank of role the user wishes to edit))
    • edit perms (actual perms + rank - these will require more checks (above + you can't grant permissions you don't have))
    • drag to reorder?
  • bans:
    • list
    • add? (should this be limited to the members page?)
    • remove
  • invites:
    • list
    • create
    • delete (try to detect/prevent deletion of vanity invites?)
  • emoji:
    • list
    • create
    • delete
  • misc:
    • where feasible, include the ability to copy IDs (users, roles, emoji, maybe channels?)
    • server deletion (add a confirmation modal)

Channel settings (name/description/icon/perms) will be implemented separately. If you wish to implement any of these features and have any questions, feel free to ask ^^

Project status?

Hi, are you still working on this?

The last commit was made in December last year and I haven't seen you around on Revolt either - Is this project dead?

Me and many others are looking forward to having a proper mobile client. If you no longer want to work on rvmob, please let us know :)

markdown issues

code block background is always white even set the dark theme etc.

and spoiler is not working bruh

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.