Coder Social home page Coder Social logo

taehagen / bluebubbles-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bluebubblesapp/bluebubbles-app

14.0 6.0 4.0 103.13 MB

A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

Home Page: https://bluebubbles.app

License: Apache License 2.0

Shell 0.11% JavaScript 0.01% Ruby 0.11% C++ 0.75% C 0.03% Objective-C 0.01% Kotlin 4.66% Dart 86.10% CSS 0.02% Swift 0.12% HTML 0.09% CMake 0.55% Inno Setup 0.06% AIDL 0.05% Rust 7.29% PowerShell 0.02% Batchfile 0.05%

bluebubbles-app's Introduction

BlueBubbles Clients

BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and the Web! With BlueBubbles, you'll be able to send messages, media, and much more to your friends and family.

**Please note that BlueBubbles requires a Mac and an Apple ID to function! A macOS VM on Windows or Linux can suffice as well.

Key Features:

  • Send & receive texts, media, and location
  • View tapbacks, reactions, stickers, and read/delivered timestamps
  • Create new chats
  • View replies (requires MacOS 11+)
  • Mute or archive conversations
  • Robust theming engine
  • Choose between an iOS or Android-style interface
  • Lots of customizations and options to personalize your experience
  • Full cross-platform support - message across Android, Linux, Windows, the Web, and even macOS!

Private API Features:

  • See and send typing indicators
  • Send tapbacks, read receipts, subject messages, messages with effects, and replies (replies require MacOS 11+)
  • Mark chats read on the server Mac
  • Rename group chats
  • Add and remove participants from group chats

Private API Features are not enabled by default and require extra configurations. Learn how to set up Private API Features here

Screenshots:

Chat List Message View Private API Features

If you need help setting up the app, have any issues or feature requests, or just want to come hang out, feel free to join our Discord, linked below! We hope you enjoy using the app!

Useful links

  • Our Website: here
  • Discord: here!
    • We highly encourage users to join to get in direct communication with the developers and community
  • GitHub: here
    • Please submit any issues with the app here so we can properly track them! Remember to search before opening a ticket :)
    • Contribution is always appreciated and needed! Feel free to download our source, make changes, and submit a pull request.

Getting Started

All Client builds can be found in here.

All Server builds can be found in here.

After downloading both, follow our tutorial here.

Contributing

Please check out our contribution guide here: Contribution Guide

bluebubbles-app's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bluebubbles-app's Issues

App crashes when using restore files

  • Openbubbles will crash when a backup message file is used. The app will hang and then crash.
  • messages appear to be properly restored
  • not sure if this is intentional or not.

iPad 8th Gen wifi issues

  • OpenBubbles seems to not work at all with the iPad 8th gen
  • iMessage doesnt send msgs / no phone number reg
    App gives no error messages unless I click reregister and then it gives me this error
    image

Phone number deregistered after 20 min

My phone number was deregistered after 20 mins the logs said this. Everything seems fine with the validation data device the code is the same etc

WARN [rustpush::imessage::identity_manager] No public key for token retry false .
ERROR [rustpush::imessage::aps_client] No identity for payload! Do not retry IDS key missing for tel:+1 .
ERROR [rust_lib_bluebubbles::api::api] Do not retry IDS key missing for tel:+1 .
DEBUG [rustls::common_state] Sending warning alert CloseNotify .
DEBUG [rustls::client::hs] No cached session for DnsName("albert.apple.com") .

Send and Receive Sounds

Send and receive sounds don't seem to work. When I add send and receive sounds in Conversation Settings, they don't play when I send a message and glitch out a little when playing the preview of the sound.

Stuck trying to reg with apple and not reciving validation data

the app keeps going into a state where it no longer seems to be registered with imessage. Manuelly trying to rereg in the settings causes it to throw an exception PanicException(called 'Result::unwrap()' on an 'Err value: SendError {..})

trying to send messages resutls in the same exception. the validation relay seems to have the same code and be doing ok the logs just show it sent out validation data

Attachment mismatch

Not quite how to 100% reproduce this bug. But it seems to happen when there's a lot of attachments being sent. Not clear if the attachment was actually sent or if this is because the images got cached. Also redacted mode was turned on for the second image, the image is actually displayed but when I click on it I get the media page.

Screenshot_20240826-011215
Screenshot_20240826-011402

Support accounts with Advanced Data Protection enabled

I had apple advanced protection turned on and strangely enough open bubbles turned it off lmao. I think it would be great if openbubbles fully supported apple advanced protection. Beeper mini did at least when it was first working as well as beepers imessage bridge.

Support alternative devices like iPad, iPod

OpenBubbles currently only allows phone number registration for iPhones, however, if only Macs are blacklisted from phone number registration then iPads and iPods should actually be usable as well.
Additionally, OpenBubbles might incorrectly set user agents or other details for iPads and iPods, this should be double checked.

Give warning when iPhone validation data is used

Many people don't seem to understand that the validation data (provided by ValidationRelay or beepserv-rewrite) is only necessary when the phone number needs re-registered, so the iPhone may be taken offline during the periods where it is not necesary.

However, OpenBubbles does not currently expose this information to the user, so even if they did understand, they could not make sure that their iPhone is online when necessary.

Some sort of system that (optionally) notifies the user when validation data will soon be necessary, and allows them time to turn on their iPhone, would be optimal.

In the same vein, some sort of UI that allowed checking the current status of the iPhone, and changing the relay code to another relay would be ideal.

Releases Through GitHub/F-Droid Repo

For those of us that don't like using Google Play, it would be great if the app could also be released through GitHub releases or a custom F-Droid repo.

Large attachments crash the app / dont show file size limit

Files bigger than 1 GB(like 1.2GB) crash the app when attempting to send them.
They also do not show the 1gb file size limit message.

Only files a little bit over 1gb show the file size limit message.
This may be due to how OpenBubbles calculates file sizes.

Enhancements to redacted mode

  • Make redacted mode apply to all personally identifying things in iMessage profile specially in the starts chat using section
  • Change wording of alias, to say something like redacted phone number or redacted email instead of just alias
  • Make redacted mode also apply to my Mac / my device section (side note maybe change it to say my device instead of my Mac in unredacted mode)

Change how renewal time is presented to the user

The way renew time (renewal time sounds better) is shown in the app is pretty ambiguous.
It doesn't differentiate between how registration is different on Mac vs iPhone.(as far as i understand it, it is, maybe im misunderstanding how this works)
It also does not mention how Apple can make the device re-register at anytime.
It can be shown in a more informative way.

Set `rustpush` as Default Branch

Considering that the code for OpenBubbles is in the rustpush branch, it would be great if rustpush could be set as the default branch instead of master.

Redacted mode issue

Screenshot_20240827-152354
If show chat name as placeholder is enabled, then this shows the group chat name in the placeholder in redacted mode

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.