Skip to content

Homogram is a 3rd-party Telegram client for HarmonyOS 5, driven by ArkTS/ArkUI (UI-layer) and Rust (native-layer).

License

Notifications You must be signed in to change notification settings

HomoArk/Homogram

Repository files navigation

Homogram

Homogram is a 3rd-party Telegram client for HarmonyOS 5, driven by ArkTS/ArkUI (UI-layer) and Rust (native-layer).

This project is a hobby project and is not affiliated with either Telegram or Huawei.

NEWS: Starting from 2nd Dec, 2024, 出境易 provides a full-featured environment to download and use Android Apps. You can use the official Telegram client inside it's Android container.

Branches

  • The main branch contains the latest most stable version of Homogram, though it may not be the most feature-rich, it will at least compile and run. (with as few bugs as possible)
  • The dev branch may contain bugs, incomplete features, and other issues. It is not guaranteed to compile or run.

Roadmap

  • Login with phone number, authorizing with verification code and (optionally) password
  • Loading chats and recent N messages
  • Rendering text and photo preview in messages
  • Sending text messages
  • Adaptive dark/light mode
  • Jump to reply in chat
  • Message prefetching on scroll
  • Full-screen view for medias
  • Sending medias/files
  • Reply to messages
  • VOIP integration
  • HMS Push Kit (depends on Telegram's server-side support tdlib/td#3057)
  • Tons of features from official Telegram client...
  • ...and even more!

A detailed Roadmap can be found in the Homogram Project page.

Building

Prerequisites

  • A Windows or MacOS device which supports DecEco Studio and Rust toolchain.
  • Tested on Mate 60 Pro ALN-AL80 5.0.0.107, OpenHarmony SDK 5.0.1.106 (API 13 Beta 3) and Rust 1.82.0. Other configurations may work but are not guaranteed.
  1. Clone the repository:
    git clone https://github.com/HomoArk/Homogram.git --recursive
  2. Obtain your own api_id for your application.
  3. Fill out values into features/home/src/main/rust/src/tg/config.rs (there is a template file config.rs.template).
  4. Setup Rust toolchain and ohos-rs for OpenHarmony: https://ohos.rs/docs/basic/quick-start.html
  5. Build the native library in features/home/src/main/native/homogrape:
    cargo xtask dist ../../../../libs/arm64-v8a/
  6. Correctly configure the signature information, and build the project in DevEco Studio.
  7. Enjoy! (Or not, because it's still very feature-incomplete and suboptimal)

PRs are welcome! Or you definitely want to fork this project and make your own version. Just don't forget to let me test if you implement something cool!

Credits

These projects are the backbone of Homogram and without them, this project would not be possible. Tremendous thanks to all contributors!

License

This project is licensed under the Apache License, Version 2.0.

About

Homogram is a 3rd-party Telegram client for HarmonyOS 5, driven by ArkTS/ArkUI (UI-layer) and Rust (native-layer).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published