Skip to content

Conversation

Lasklu
Copy link
Contributor

@Lasklu Lasklu commented Aug 7, 2020

TelegramClient-Logo

TelegramClient - Submission

TelegramClient is a Squeak-Client for the widely used Telegram-Messenger. It aims to provide features such as Authentication, Contacts, Message and Media sending and a minimal UI as well as as a Zen-mode and receiving messages in the background.

This Project is part of the "Softwaretechnik" Lecture 2020 at the Hasso Plattner Institute.

New Features

Feature
🔓 Authenticate yourself in your Telegram-Account
✉️ Send messages to other users
💬 Display open Chats in a List
📫 Receive messages
🆕 Create new chats
🔔 Receive push notifications
🌍 Start Telegram via WorldMenu
🚶 Logout

Further information

We have developed a project guide in the wiki. It contains the most important information about our architecture, CI-setup or our clean-code guidelines.

schmidtjonas and others added 30 commits June 12, 2020 18:33
* removed trunk

* also changed main.yml
* fix for linter

* replaced ui package

Co-authored-by: Jonas Schmidt <[email protected]>
* fixed linux installation instructions

* added FFI installation instruction

* detailled instruction 2, removed instruction 5

* Update Windows installation instructions

* Fixed image link

* Removed duplicate text

Co-authored-by: sspangenberg <[email protected]>
Co-authored-by: Niklas Schilli <[email protected]>
* added tccchats

* added tccrequest

* fixed tdparams

* fixes

* Fixed UI problems

* Now properly sorting chatsList

* Started refactoring loading of Chats. This is only a Backup commit if squeak crashes!

* Now cleanly handling loading of Chats with ChatsHandler. But order not working yet

* removed accidental halt

* addChat is now part of ChatsHandler

* Added BackButton, in case that User enters wrong phone number and want to go a step back

* Merged Dev into this branch

Co-authored-by: Jonas Schmidt <[email protected]>
* small fixes

* removed debugging code

* added tccchats

* added tccrequest

* fixed tdparams

* fixes

* Fixed UI problems

* Now properly sorting chatsList

* Started refactoring loading of Chats. This is only a Backup commit if squeak crashes!

* Now cleanly handling loading of Chats with ChatsHandler. But order not working yet

* removed accidental halt

* addChat is now part of ChatsHandler

* Added BackButton, in case that User enters wrong phone number and want to go a step back

Co-authored-by: Jonas Schmidt <[email protected]>
Co-authored-by: Jonas Schmidt <[email protected]>
Co-authored-by: Jonas Schmidt <[email protected]>
* added tccchats

* added tccrequest

* fixed tdparams

* fixes

* Fixed UI problems

* Now properly sorting chatsList

* Started refactoring loading of Chats. This is only a Backup commit if squeak crashes!

* Now cleanly handling loading of Chats with ChatsHandler. But order not working yet

* removed accidental halt

* addChat is now part of ChatsHandler

* added send message methods in core without ui wip

* merge

* random merge

* merge fix

* Fixed identation

* Satisfiying linterTests - categorized all uncategorized

* Removed Legacy Stuff

Co-authored-by: Jonas Schmidt <[email protected]>
Co-authored-by: Frederik Wollny <[email protected]>
Co-authored-by: Jonas Schmidt <[email protected]>
* Can now selected and deselct chats - hiding and showing inputField for sending Message to this chat

* Added Welcome Message and Listeners

* Send Button and TextInput added, needs to be connected to Core now

* Connected UI to chat sending

* Linter Tests satisfied now :)

* classified class-side methods
* started editing linting rules

* refactoring linter tests

* some linter fixes

* formatting linter

* no more testing for ffi methods

* wip linting

* custom linter tests yay

* better custom linter tests

* more linter tests

* class comments and scoped environment for faster testing

* some fixes

* linter fixes

* refactoring

* refactored to make all linter tests happy

* final linting changes

* removed two tests
* added TCUApp newWithTCCTestApp for automatic test db login

* Refactored so that TestApp and TestAuthHandler inherits from parent. They are now located in TCT Package

* Added LoginWithTestData method for TCCApp to use our registered TestData and directly be logged In

* Satisfying Linter now :)

Co-authored-by: Frederik Wollny <[email protected]>
Moved logout button to the top right corner
* displaying messages and fixed logout button

* changed structure for chatlist and added better redrawing logic

* fixed linting problems

Co-authored-by: Rohan Sawahn <[email protected]>
* Message only using single Color and rounded corners now

* Added BorderRight
* added Handling of updateChatOrder and updateChatLastMessage

* Added better handling of updateChatLastMessage

* Chat-reordering now properly working

* passing all tests now

* fixed requests from review

* Linting fix
* Create .travis.yaml

* Rename file travis.yaml to travis.yml

* Create coveralls.yml

* Delete .coveralls.yml

* Update travis.yml

* Update smalltalk.ston

* Update .travis.yml

* Update travis.yml

* Excluded TCCChat in Coveralls

* Changed "classes" to "instances"

* removed testing snippet

Co-authored-by: Schilli, Niklas <[email protected]>
* Added fix for wrong action on enter in authprocess

* removed obsolet class
* Update README.md

* image center

* Update README.md

* Update README.md

* Update README.md
* Create .smalltalk.lint.ston

* Create ci-linter.yml

* Update .smalltalk.lint.ston

* Update .smalltalk.ston

* Update .smalltalk.ston

* Update .travis.yml

* added lint tests to readme

* added issue resolution
* Started adding a CloseButton #95

* Changed color of Button

* Changed the name from lightRed to Red

* Removed color "lightRed"
* Added automated download logic for library

* Test stuff added

* Fixed download Bug

* fixed loginWithTestData

* WIP - testAuthState

* at: handling removed

* Test should be working now

* Added test loginWithTestData

* added SetUp for LoggedInTests

* Fixed linter Stuff

* Added new baseline

* Update baseline..st

* removed TravisCI

* changed windows tdjson to tdjson.dll

Co-authored-by: Jonas Schmidt <[email protected]>
Co-authored-by: Lasklu <[email protected]>
Co-authored-by: Jonas Schmidt <[email protected]>
Co-authored-by: Frederik Wollny <[email protected]>
* wip receive messages

* wip receives chat history on click on chat

* Can now receive incoming Messages. Added Message Object which will be stored in message list of a chat. This works already for incoming new messages

* Now only adding TextMessages to message List. Other types of incoming Messages will be handled later

* Now Every Chat contains a LastMessage attribute that is updated when a new message is received. Only need to display this in the UI next.

* always loads first 15 messages from chat on click if not already loaded

* loads 15 newest chat history messages and adds new incoming messages on first place of the list so that the first place in chat messages list is always the newest message

* fixed error with other message types than text like images by skipping them

* removed unnecessary code

* wip very buggy ui

* first scrolling version with bugs wip

* fixed bug with scrolling so it can only scroll till the top chat comes

* fixed bug with header bar and scrolling

* added scroll to top button and fixed a bug with scrolling when dragging the window

* Fixed linting errors

* removed scroll to top button

* backend for creating new chats from username

* ugly ui to search for contacts from username

* Refined UI

* started fixing linting stuff

* fixed some errors

* fix

* linting tests green

* Removed MacOs from Ci

* Removed CI on push

Co-authored-by: Frederik Wollny <[email protected]>
Co-authored-by: Jonas Schmidt <[email protected]>
schmidtjonas and others added 14 commits August 3, 2020 08:17
This allows smalltalkCI to upload coverage reports to Coveralls from GitHub actions (example is at [1]). Unfortunately, Coveralls does not seem to support GitHub actions properly yet (the integration is limited to lcov files), but using a repo_token (see [2]) it is possible to upload coverage results in Coveralls' raw JSON format.

[1] https://coveralls.io/jobs/65929250
[2] https://docs.coveralls.io/api-introduction
* Update main.yml

* Update ci-linter.yml

* fixed spacing

* unified squeak versions in CI
* Create release-trunk.yml

* Update release-trunk.yml

* Update release-trunk.yml
* revert

* revert
* Update README.md

* Update README.md

* Update README.md

* named to TelegramClient

* moved tdlib section to wiki

* Update README.md

* moved badges

* Changed Installation Guide so Windows tdlib works

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Freddy200 <[email protected]>
Co-authored-by: Rohan Sawahn <[email protected]>
* fixed some stuff

* fomatting
* changed README

* changed readme again
@schmidtjonas schmidtjonas added the Awaiting Review This pull requests is in need of a review label Aug 7, 2020
@LinqLover LinqLover self-requested a review October 7, 2020 16:13
LinqLover added a commit that referenced this pull request Oct 7, 2020
Choose ours version for all conflicts. I hope this was right because since #161 was 7 weeks older than #300.
@LinqLover
Copy link
Contributor

Note: I reset the master branch before de06b7e (#161) because it had massive conflicts with the current develop branch from this PR and looked stale. If this should have been the wrong decision, the code version is still available in https://github.com/hpi-swa-teaching/TelegramClient/releases/tag/MasterRelease3.

@LinqLover
Copy link
Contributor

Thank you for upgrading this exciting project! Your changes will be live on master in 3, 2, 1, ... 🎉

/cc @codeZeilen

@LinqLover LinqLover merged commit b00e4a0 into master Oct 7, 2020
@Lasklu Lasklu added 🎉 FINISHED 🥳 and removed Awaiting Review This pull requests is in need of a review labels Feb 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants