Fernschreiber

Rating: 
4.933335
Your rating: None Average: 4.9 (30 votes)

Fernschreiber is a Telegram client for Salifish OS

Fernschreiber (German for teleprinter, teletypewriter, teletype or TTY) connects you with the Telegram network. It's still in an early development phase, but it already supports many of the most popular features such as:

  • Chat list in order of last received message
  • Two-step authentication
  • Read standard text messages, pictures, videos. animated GIFs, stickers, voice notes, locations, venues and documents
  • Displays web page previews
  • Send text messages, stickers, reply to messages, attachments: images, videos, documents (yes, more to come ;))
  • Edit messages
  • Delete messages
  • Display sent/read state of messages
  • Notifications
  • Mute/unmute chats
  • Easy emoji selection, use :<keyword> in the new message field to search for them!
  • A lot of eye candy (yes, you get the complete set of emojis for example) ;)

Have fun with Fernschreiber!

Issues and Feature Requests

Known bugs/issues and feature requests are available at https://github.com/Wunderfitz/harbour-fernschreiber/issues. In case you would like to report a bug or post a feature request, please do it there. Be sure to explain the bug or feature request in detail, that makes it easier to sort and prioritize.

Open Source and Contribution

Feedback about Fernschreiber is always appreciated (good, bad, improvement/feature ideas etc.). 

You can contribute with a translation, a new feature or even a bugfix. The sources are on GitHub at https://github.com/Wunderfitz/harbour-fernschreiber. Please acknowledge the GNU GPLv3 before contributing/forking. Thanks to all new and especially to the existing contributors!

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File harbour-fernschreiber-0.1-6.armv7hl.rpm11.8 MB20/09/2020 - 22:09
File harbour-fernschreiber-0.2-1.armv7hl.rpm6.12 MB30/09/2020 - 22:53
File harbour-fernschreiber-0.2-1.i486.rpm6.29 MB30/09/2020 - 22:53
File harbour-fernschreiber-0.3-2.armv7hl.rpm5.9 MB19/10/2020 - 00:09
File harbour-fernschreiber-0.3-2.i486.rpm6.08 MB19/10/2020 - 00:09
Changelog: 

0.3

  • Support for sending stickers
  • Search for emojis from message input field, use :<keyword> to start searching
  • New icon/logo - thanks to iamnomeutente
  • Option to customize non-graphical notification feedback - thanks to monich
  • Add user registration - thanks to jgibbon
  • Don't show irrelevant groups - thanks to monich
  • Display information about forwarded messages
  • Option to avoid displaying stickers like images - thanks to monich
  • Fix: Don't reset edit/in-reply-to mode after focus change
  • Fix: Display caption for documents
  • Fix: Reserve some space for lazy loaded elements
  • Fix: Don't display error message in case of repeated download of the same file
  • New translations (Finnish, Italian, Russian), thanks to jorm1s, iamnomeutente, arustg and monich
  • That was quite a lot - I hope I didn't forget anything. If I did, big sorry and please let me know!

0.2

  • Support sending images, videos and documents
  • Support receiving locations and venues - thanks to jgibbon
  • Performance improvements for chat list, new sorting algorithm and much more - thanks to monich
  • Performance improvements for chat, lazy loading for most UI elements
  • Cover page improvements - thanks to jgibbon
  • Fix handling of "<>" in messages
  • Differentiate text between other people and current user ("You have..." vs. "Somebody has...")
  • Support for the Jolla Tablet
  • New translations (Chinese, Hungarian, Polish, Spanish) - thanks to dashinfantry, edp17, atlochowski, GNUuser

0.1

  • Initial Release

Comments

Brummkreisel's picture

Nach Eingabe des Codes aus der SMS lädt die App immens lange. Es passiert sonst nix.
Gibt es irgendwelche Voraussetzungen?
XA2 3.4.0.24

WerkWolf's picture

Möglicherweise den Code falsch eingegeben, da hakt es ab und zu nochmal. Im Zweifel die v0.3 ausprobieren...

Brummkreisel's picture

Hui, mit der neuen Version hat es geklappt. Dieses mal brauchte ich kein Code eingeben...
Wo kann ich denn einen Chat beginnen? Im Pully-Menü habe ich nur "Einstellungen und Über"...

WerkWolf's picture

Das geht noch nicht - ist ja auch erst v0.3. Wird aber recht bald nachgereicht...

Brummkreisel's picture

Achso, na dann warte ich natürlich noch. Wie immer bei Ihren Apps fügt sich auch diese optisch hervorragend in das SFOS ein.
Musterbeispiele!
Bitte Donation-Button ergänzen.

Maximilian1st's picture

Hi, thank you for this nice app. It does not update from 0.1 to 0.2 here on SFOS 3.0.3 with a fling something error not found.

yusssufff's picture

Great 0.2 release!

One question: is it in your plans to show on the "first" page of chats if a message is read or not? Its materialized with one of two checks on the official telegram app... Usefull to see at a glance if your messages were recieved from the main chat page...

Thanks for the hard work!

rgsidler's picture

@Cryx Endlich mal eine App, bei welcher man nicht immer geduzt wird. Danke dafür. Offenbar haben viele immer noch nicht verstanden, dass das englische „You“ in keiner Weise dem deutschen Du entspricht, sondern in erster Linie ein respektvolles Sie meint.

velox's picture

Die "offiziellen" Sprachvorgaben von Jolla sehen einen informellen Sprachstil vor, weswegen die meisten Entwickler/Übersetzer (mich eingeschlossen, vielleicht reagiere ich deshalb so ausführlich) dies übernehmen. Mit "verstanden" hat das also nicht unbedingt zwangsweise etwas tun. Vielleicht liegt das auch daran, dass in Finnland sehr viel geduzt wird und sie damit einen Teil ihrer Kommunikationskultur zelebrieren.

Zwar wurde das englische "Du" (thou) ab dem 17. Jhd. abgeschafft, doch heutzutage entspricht "You" durchaus dem "Du". Aber eben auch dem ursprünglichen "Sie" – weil es schlicht nicht mehr differenziert wird.

Davon abgesehen finde ich es aber auch prima, wenn Entwickler persönliche Präferenzen haben und individuell umsetzen. Ich habe gegen beides nichts einzuwenden und kann beides gut nachvollziehen.

(Editiert: In einem Sprachbesserwisserbeitrag etwas falsch geschrieben – na prost Mahlzeit.)

Cryx's picture

Offizielle Sprachvorgaben von Jolla sehen einen informellen Stil vor? Warum hält sich Jolla selbst nicht daran? Klar, ist kein dieser App hier - vielleicht fehlt es im System einfach schon an der Auswahl. Nextcloud zum Beispiel lässt sich umstellen auf persönlich (Du) oder Informell (Sie).

nephros's picture

>  In einem Sprachbesserwisserbeitrag etwas falsch geschrieben

Das ist halt Muphry's Law! :D

Cryx's picture

So unterschiedlich sind die Meinungen... ;-)
Mein Hsndy ist mein bester Kumpel - da mag ich gerne gedutzt werden.

WerkWolf's picture

Ich mag das Geduze von Apps und meinem Handy nicht so wirklich, ich toleriere es aber. Meine eigenen Apps dürfen aber gerne ein wenig Respekt vor mir haben - ich habe auch genug Respekt davor, die zu schreiben. ;)

inta's picture

Man kann viel mögen oder auch nicht, da das Betriebsystem du sagt, würde ich es vorziehen, wenn sich die Anwendungen daran orientieren und sich möglichst gut integrieren.

Cryx's picture

Nachdem es jetzt läuft der Ersteindruck: sehr schön. Wie wäre es bei Deutsch mit "Du" statt "Sie"? Und in einem Gruppenchat steht in der Chatliste "Sie hat ein Bild geschickt" für ein von mir geschicktes Foto. Das sollte natürlich "Sie haben..." (oder schöner halt "Du hast") heißen...
Neuen Chat starten oder Kontakte sehen geht noch nicht, vermute ich (zumindest finde ich das nicht)...? Aber was noch fehlt kommt sicher noch...

yusssufff's picture

hello and thank you for your hard work!

I wonder why, on XA2 (Rokua), after sending a message or when cheching some new chat, the app shows a 'random' area of the chat, slightly above the last message sent and not the last message sent istelf... i recall a similar behaviour with Telegra'me that leads, just after sending a message, the need to immediatly scroll down the chat to be able to see/read it...

WerkWolf's picture

Please see https://github.com/Wunderfitz/harbour-fernschreiber/issues/1 for some additional details about this issue. 0.2 will see some improvements there and if somebody want to contribute improvements themselves: PRs are welcome. :)

yusssufff's picture

true! my bad,i didt see that!

And one question also: will you publish soon the app on the jolla store? that would be fantastic...

WerkWolf's picture

Jolla Store is currently quite unlikely. The app uses some features that are not released for the Store...

slava's picture

Which features, by the way? I'm pretty good at getting around jolla store restrictions :)

WerkWolf's picture

At the moment, it's definitely ngfutils for non-visual feedback of notifications. In addition, the Harbour Validator is complaining about path strings in the TDLib binary. I suppose ngfutils can directly be compiled into the project itself to remove that dependency. No idea about the path strings in the binary though. Any idea is appreciated. :)

slava's picture

I'm curious, what's the point in not checking in tdlibsecrets.h? That just makes it slightly harder to build your app, and yet your TDLIB_API_ID and TDLIB_API_HASH values are easy enough to figure out by setting a breakpoint in td_json_client_send, so they are not really secret. I would say the more developers can build your app, the more meaningful contributions you can expect. Or is it some sort of legal requirement, to force people to make this extra step?

WerkWolf's picture

As far as I know it's not a requirement for Telegram, at least I haven't found anything in the docs. I simply don't check in any API keys for any of my apps. Of course, if you want to retrieve it, you can get it from the binary, but you can also easily get your own one as documented in the README.

slava's picture

I'm building your app, not mine - why would I need a different app id? Anyway, like I said it's not much of a problem to fetch those. A much bigger problem is that your git repo is not self-sufficient and the build requires certain manual manipulations, which is inconvenient, to say the least, when you try to build the app from scratch in an unattended build environment, such as OBS.

WerkWolf's picture

Because the ID and the corresponding hash value are tied to my personal account at Telegram. If anybody does strange things with this data, all instances of Fernschreiber might be blocked, or even worse: my account could be locked or even banned completely. It would be great if you didn't disclose ID and hash to anybody else. Yes, I know it's in the binary, and yes I know that everybody who is able to use a debugger or hex editor can possible obtain them, but it should at least not be as easy as reading public configuration files on a build server ot in a public code repository on GitHub. Compared to my efforts in writing the app, it's really not a big deal to get your own credentials and to set up your own build environment if you really need it especially as everything is documented. Thanks for your understanding.

slava's picture

Oh, Telegram requires you to distribute your credentials in plaintext? That's silly. I didn't expect that from a company involved in an encryption/privacy/security business. I'm starting to doubt that everything else in Telegram is as secure as they claim :|

Sure, I won't post your "credentials" to github or any other place where they can be indexed by search engines.

WerkWolf's picture

Maybe they should integrate your Foil functionality into TDLib - or I should do it to protect these "credentials". ;)

slava's picture

Hmm, why are these static libraries being installed?

[root@Sailfish ~]# ls -la `rpm -ql harbour-fernschreiber | grep 'a$'`
-rw-r--r--    1 root     root        198354 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdactor.a
-rw-r--r--    1 root     root        130292 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdclient.a
-rw-r--r--    1 root     root      36924996 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdcore.a
-rw-r--r--    1 root     root        463938 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtddb.a
-rw-r--r--    1 root     root       2049692 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdjson_private.a
-rw-r--r--    1 root     root          5596 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdjson_static.a
-rw-r--r--    1 root     root        886524 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdnet.a
-rw-r--r--    1 root     root       1044752 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdsqlite.a
-rw-r--r--    1 root     root       1277968 Sep 20 19:34 /usr/share/harbour-fernschreiber/lib/libtdutils.a
[root@Sailfish ~]#
WerkWolf's picture

They all belong to TDLib. I simply integrated the result of a standard TDLib build to the lib directory. If you have any tips if some of them can be omitted, I'm always open to feedback.

slava's picture

Another option would be to link tdlib statically and not bundle any libs at all. That's what I would try first, actually. The purpose of shared libraries is.... egh... to share them, right? If you're not sharing it, then there's no point in making it shared. Linking it statically gives the linker a much better chance to drop unused and duplicate code.

Pages