Telegram client for KaiOS.
- mtcute (amazing mtproto library)
- solid.js
- 👀🙌
The app is heavily inspired by Telegram Web K and the dead WhatsApp client for KaiOS.
- Chats
- Typing Indicator
- Self (others can see you type)
- Private chats
- Others
- Pinned Chats
- Archived Chats
- Unread/Muted/Sent/Received
- Chat Folders
- Chat Info
- User Info
- Private Chats
- Private Groups
- Supergroup
- migrated chats
- Forum Topics
- Broadcast Channels
- Bots
- Gigagroups
- Typing Indicator
- Messages
- Push Notifications
- Telegram System Actions (not complete)
- Downloading Files
- Uploading Files
- Uploading Photos
- Uploading Videos
- Message Attachments
- Stickers
- Sticker Picker
- webp
- webm
- lottie
- Emojis
- Emoji Picker
- Apple Emojis
- Emoji history
- Gifs
- Gif Picker
- Gif previews
- Photos
- Voice Messages
- Music
- Videos
- Location
- Location Previews
- Live Location (o.map help me lmao)
- Stickers
- Replying
- Editing
- Deleting
- Forwarding
- Markdown
- Login
- QR Code
- SMS Code
- Telegram Send Code
- 2FA
- Settings
- Contacts
- Telegram Stories
- First launch of the app might take a while, the next app launches will not take so long.
- Currently Forum Groups will act in a unstable "View as Messages" view as in the Telegram Web K client.
- You must click Enable Push Notifications multiple times until you see a confirmation.
- pre-optimized lottie stickers are pre-converted apng images so client side rendering is not an issue, those stickers can be found in kaigram-assets, non optimized stickers will run at a very horrible fps
- using this app on a 256MB RAM KaiOS device is kinda unstable.
- this mode is now disabled
- the chat list will render only 10 chats and scrolling down will render more
- if the app still crashes, please contact the dev.
Install NodeJS (v18 or latest LTS) and bun.
Please create a .env.local
file and add the values in .env
replacing the APP_ID and APP_HASH with your own.
You must use bun!
Dev Mode:
Note
There is an unresolved issue with 2fa when using the dev mode, I have no idea what's wrong with it, works fine on KaiOS 2.5.
bun run dev
Build:
bun run build
After building, you can now sideload the dist folder using WebIDE.
add the :v3
suffix for KaiOS 3.0 (example: bun run dev:v3
)
- For KaiOS 2.5, the app utilizes real asm.js and on KaiOS 3.0 it uses WebAssembly like normal.
- mtcute is modified to use jsbi, this means BigInt can be used in KaiOS 2.5 and native BigInts are used for KaiOS 3.0.
- mtcute is also modified in order for asm.js to be used.
- there are 3 Web Workers
- mtcute web worker proxy
- heavy tasks worker for blocking operations (webp to png, md5, etc.)
- rlottie
- SystemJS is used to simulate esm modules on KaiOS 2.5, it is also used to import asm.js files in order for it to preserve asm.js syntax.
- mtcute (MIT License)
- fflate (MIT License)
- emoji-data (MIT License)
- rlottie (MIT License)
- js-spatial-navigation (MPL-2.0 License)
- libwebpjs
- many more
All donations go to feeding my cats. (really need to spay my cats lmao)
for updates and to join the app testers.
testers will be able to install the app directly from the KaiStore.