Git Product home page Git Product logo

harbour-fernschreiber's People

Contributors

arustg avatar atlochowski avatar carlosgonz0 avatar chstem avatar dashinfantry avatar dscheinah avatar edp17 avatar eson57 avatar iamnomeutente avatar jgi-comspace avatar jgibbon avatar jorm1s avatar mbarashkov avatar mipstux avatar monich avatar nephros avatar okruhliak avatar pherjung avatar santhoshmanikandan avatar wunderfitz avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

harbour-fernschreiber's Issues

feature request: Look at user profile

I like to look at the user profiles (sometimes). Clicking on the user icon should show the user profile. Very nice would be the possibility to scroll thru all user avatar pictures.

enable to send attachments

Its possible to receive attachments in existing chats in V.0.1. Please add send function for attachments!

Notification - Pinned Messages

Hi,

thank you so much for Fernschreiber1

I encountered the issue that when I muted chats I get a notification that the pinned message was updated anyways. Also in the notification and in the chat it is written: "Unsupported message: PinMessage".

It is kind of annoying. How can I disable that? I do not find any option in the pully menu.

Is this a bug?

Plurals in translations

Hi,

Could you, please, use special formatting for plurals? For example

- %1 members
+ %n members

In some languages (for example, in Russian) there are several forms of plural. Formatting with %1 looks really ugly.

UPD1: Also this string should be in plural unread messages. Something like

qsTr("unread message(s)", "0", count)

configurable UI

Here are a couple of suggestions that may make the UI more compact. Since a "good" UI is strongly based on user preferences, all points could be implemented such that they are configurable (either individually or by a single "compact UI" switch).

more compact chat overview page

  • removing the horizontal line separator
  • smaller chat icons
  • showing less information about each chat

more simplistic chat page

  • option to remove/hide the frames around each message (e.g. depecher allows to change opacity from 0 to 1)
  • format the users own text left-justified (but keep the right-alignment of the overall box)
  • do not highlight unread messaged (if you scroll down through the chat history, they effectively just blink)
  • as a possible alternative: insert a single "unread messages" marker (similar to depecher)

Downloading an image the second time fails

Hi,

when i download an image from a chat message the second time - i get the onscreen message that the download failed - most likely the download did not really fail, but writing the file failed, because it already exists in the target directory. in this case it would be nice to have a more clear error message, which tells me that the downloaded file already exists, or something like that.

add search function

currently (V.0.1) there's no search option like in the original Telegram client. Please add!

Initial authentication impossible in landscape

Seems that scrolling is not possible during initial authentication (enter PIN and password). Therefore people need to switch to portrait during initial authentication. Should really be fixed... ;)

Improve Fernschreiber icon

Sorry. Currently the content of the icon looks like a shopping bag, as a result it refers to an icon to apps-store and not much to a Telegram client, It would also be better if you explain the content of the Fernschreiber icon to understand it better.

Allow to see the exact timestamps for the chat messages

Relative timestamps are probably OK for the chat list but absolute timestamp is absolutely a must for the chat window. For example, I have a message sent "35 months" ago. That not only doesn't tell me what was the time when I sent it, one can't even say what day it was, even with the calculator. That's ridiculous.

If there are enough people who don't want to know when exactly the messages were sent, that sort of behavior could be made configurable. Maybe it could be toggled on touch like it's done in Jolla's Messages app (with last choice remembered), I'm not 100% sure. But something must be done about it.

Add optional "pure online mode" that doesn't use chat database on the phone

Thank you very much for your great efforts! ๐Ÿ‘

Currently Fernschreiber is using a local database on the phone for storage of messages, chat info etc. Unfortunately usage of databases leads to the requirement to always download and synchronize the database when starting the app.

In former competitor "Depecher" it was possible to disable any storage of database files (neither file database nor chat database or message database). Thanks to this option, starting the app is extremely fast because it will only download the current message list from the server without synchronizing chat histories. I would call this as some kind of "pure online mode" with avoidance of offline message storage.

Would it be possible to add such a feature to Fernschreiber?

messageChatDeleteMember/messageChatAddMembers probably incomplete

As far as I've understood,
messageChatDeleteMember doesn't only cover users leaving but also users getting kicked.

It may be enough to check if message.sender_user_id != message.content.user_id, but that would need a change to FernschreiberUtils::getMessageShortText, which only has access to the message content.

For reference:
https://github.com/telegramdesktop/tdesktop/blob/303684fef5d317b23eaa04ae73d5561eabd824e2/Telegram/SourceFiles/history/history_service.cpp#L113

This isn't really pressing (as far as I've seen, other 3rd party clients don't check that, as well),
but I'll "park" it here for future investigation.

Edit: messageChatAddMembers is also incomplete: It supplies a list of added user ids and the sender is the one who added them. Seen in the nemo mobile group, where some kind of spam account added users repeatedly.

Chat Overview: Items not correctly updated sometimes...

In certain cases, some items of the chat overview are not correctly updated if there are new messages. Can be mitigated by scrolling down and up to redraw everything (or by a restart of the app), but probably we can do better...

Outsource ChatPage messageListItem to external qml

As it is, the ListItem does a lot of work while initializing and is a bit inflexible.
I propose to create something like a MessageListItemBase, which variants for different content['@type'] can (not "must") inherit.

  • It would reduce the amount of Items/Loaders/Components/Properties and "ifs" needed while creating (new messages/scrolling) ListItems.
  • It would enable special message types to add their own context menu entries, which may reduce visual clutter on some upcoming types. (Yes I do have something in mind, but won't bother you with spoilers.)
  • It would enable display variants for messages. For example, "meta messages" like join/chat create/โ€ฆ could be much smaller and wouldn't even need most functionality of normal messages.
  • Perhaps it could also help to get rid of the delegateComponentLoadingTimer eventually, because that messes up scrolling upwards a bit โ€“ especially for Items with a large height. Not really sure, yet.

Obviously it would be a huge change and would take a while, but I would try it if you agree. And if the result is rubbish, we can discard it.

What are your thoughts?

cheers!

enable encrypted chats

Please add encrypted chat function including timer for self destroying messages! Hopefully Telegram API supports this!

Emojis 4 Fernschreiber

You told us that you plan to use the Twitter feature, it would be a serious advantage to hat Emojis in a natvie SFOS client!

Text Entities don't always line up

For example the "New sign in"-Messages from Telegram contain Links or Bold text.
These don't always line up with where they should be.
I've noticed that it mostly happens where Umlauts are present in the entity text but haven't really investigated yet.
First guess would be that it, for example, counts ä as 5 characters instead of one.

Memory usage

According to valgrind --tool=massif the largest consumer by far with almost a quarter of all heap allocations are QVariantMap's allocated by QJsonObject and friends, which are often being kept around for no good reason. Those are followed by QImage data but there isn't much that can be done about it. sqlite3, a known memory hog, takes the 3rd place with 6% or so.

    MB
50.83^                                                                   ##   
     |                                                                   # :: 
     |                     @@                    @::::: ::   ::@:::::::::# : :
     |                 ::::@     ::@:::   :::@:::@: :: :: :::: @:: : ::: # : :
     |             : @@::: @ ::::: @: :::::: @: :@: :: :: :: : @:: : ::: # : :
     |             ::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |            :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |            :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |            :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |          :::::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |          : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |        ::: :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |        : : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |      :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |      :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |    @@:@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |    @ :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     |   :@ :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     | :::@ :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
     | : :@ :@: : :::@ ::: @ :: :: @: :: ::: @: :@: :: :: :: : @:: : ::: # : :
   0 +----------------------------------------------------------------------->Gi

(the above graph is produced mostly by just scrolling the chat list back and forth, the spike at the end is the ChatPage being opened)

A group which I left remains in the list

Checked from another, more functional client - I'm no longer a member. But the group is still there.

In addition to that, there are some groups/channels in the list which I don't remember to ever being subscribed to.

That's a) garbage and b) inefficient, as all this useless information is being pulled from the network and maintained by the client for no good reason.

Use svg icons

Fixed-sized png icons should be replaced with their svg equivalents to keep the UI resolution independent (those pngs are most likely generated from svgs anyway). Even if pngs get resized to a reasonable size on the screen, they won't look as great as properly rendered svgs when screen resolution doesn't match the expected one.

Implement functionality of telegrams @gif-Bot

In the official Android- and Desktop-App there is the @gif functionality. Typing that, a subset of GIF-Images is opened. With typing text after @gif, the available GIF's match that keyword.
I would love to see that function in Fernschreiber.

Open Chat: Positioning not exact

When opening a new chat, the list is not always correctly positioned at the last read message. Seems to be related to the list view items' height that is dynamic and depends if there is a picture/video/sticker etc.. There is another option, but that is much slower and delays the opening of the chat... Let's see how it can be corrected. ;)

Switch to id-based translations?

Large number of duplicate strings is one problem with the current approach.

Another problem is the use of plurals - %1 members and such. In English and some other languages you may get away with something like (s) suffix but with some (e.g. Russian, Polish, Finnish) it's just plain impossible and phrases without proper plural case look incredibly stupid in such languages (it's certainly the case with Russian).

Display shared Locations

Hi,
I'd like to take a look at adding this, but obviously don't want to implement stuff you wouldn't like.
Please let me know what you think about these points or if you'd even like me to have a go at this to get my feet wet with Fernschreiber:

General

There are only a few ways to implement showing maps, all with pros and cons.

  • Static map images: While not very resource intensive, the only online service I found that doesn't require an API key is yandex. It only supports small images. But even with other services, I see possible privacy concerns.
  • QT Location: Pretty resource intensive (perhaps too much so to integrate into the chat list), also obviously not harbour compliant. For the detail view, it may still the best option if you do not plan to submit fernschreiber to the Jolla Store. There could be a possibility to set user-defined OSM-Tile-URLs in the options, too. (If you like, I could also adapt the settings ui from Talefish in case there'll be a lot of options at some point โ€“ but that's another topic)

Chat List (LocationPreview)

  • While static map images would work (it's an image, after all), it may not be desirable for users to send location data to yandex/google/โ€ฆ
  • As mentioned above, displaying a "real" map would be pretty but could get a bit problematic performance-wise.
  • Just displaying a Button (to get to the LocationPage) with the adress doesn't work โ€“ reverse geocoding seems to be broken with osm and/or the available QT Location library. Displaying the coordinates or even "Show Location" instead would be fast/easy, but a bit ugly.
  • Another option would be a Button by default with an option to use a (yandex?) map image in the application settings.

Detail view (LocationPage)

  • Using a Map from QT Location is relatively straight forward. A slight problem is accidentally going back in the PageStack while swiping around. This can, to a degree, be mitigated by disabling "back navigation" on the page for a while when the map center is changed.
  • I don't know yet how to handle message updates for live locations, haven't had a look this deep.
  • While it would be nice to have all currently shared live locations of a chat displayed on one map, I think it's okay not to do that at least initially.

Feel free to get in touch via Telegram, as well, to discuss things if you want to.

cheers,
"velox"

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.