Skip to content

Commit

Permalink
Update README.
Browse files Browse the repository at this point in the history
  • Loading branch information
hoehermann committed Jul 16, 2024
1 parent fe6499f commit c48d33b
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
38 changes: 23 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
A proof of concept using [presage](https://github.com/whisperfish/presage) in libpurple.
A libpurple/Pidgin protocol plugin for Signal (formerly textsecure) using [presage](https://github.com/whisperfish/presage).

### Download

Expand All @@ -13,30 +13,38 @@ A proof of concept using [presage](https://github.com/whisperfish/presage) in li

#### Present

* Can link against a master device via QR-Code.
* Can link as secondary device via QR-Code.
* Receives a simple text message from a contact or a group.
* Receives attachments (only pictures tested for now).
* Can reply with a simple text message.
* Can add contacts to buddy list manually.
* Will add buddies to contact list unconditionally.
* Receives attachments (only pictures tested for now).
* Can list groups as rooms and open the chat.

#### Missing

Everything else, most notably:
These lists are not exhaustive.

##### To Be Done Soon™

* Add chats to contact list unconditionally.
* Forward all errors to front-end properly.

##### On Hold

* Error handling
* Reasonable contact and group management (get all contacts, query roomlist)
* Stickers, mentions, replies, quotes, styles,…
* Mark messages as "read" (currently not implemented in back-end, see https://github.com/whisperfish/presage/issues/141)
* Reply to a specific message
* Display typing… notifications
* Display receipts
* Support for alternative UIs
* Support for phone numbers
* Reply to a specific message (no example exists in back-end)

This list is not exhaustive.
##### "Contributions Welcome"

* Configuration option whether to add contacts to buddy list or not
* Reasonable generation of type declarations
* Stickers, mentions, replies, quotes, styles,…
* Display typing notifications
* Display receipts (not important)
* Support for alternative UIs (Spectrum, Bitlbee)
* Support for adding contacts via phone number (rarely used)

### Known Issues
#### Known Issues

* Handling errors when sending messages is barely tested.
* Attachment sent to group from main device is not handled.
Expand Down
3 changes: 2 additions & 1 deletion src/rust/src/receive_text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,11 @@ async fn process_incoming_message<C: presage::store::Store>(
continue;
};

// TODO: have an explicit mapping of mime-type to extension
let extensions = mime_guess::get_mime_extensions_str(attachment_pointer.content_type.as_deref().unwrap_or("application/octet-stream"));
let extension = extensions
.and_then(|e| {
e.last() // using e.last here yields jpg instead of jfif, but also pnz instead of png 😬
e.last() // using e.last here yields jpg instead of jfif, but also pnz instead of png and mpeg4 instead of mp4 😬
})
.unwrap_or(&"bin");
/*
Expand Down

0 comments on commit c48d33b

Please sign in to comment.