Commit Graph

19 Commits (v1.0.0)

Author SHA1 Message Date
Mikunj Varsani 625fe0fee2
Session v1.0 changes (#802)
* correct typo in readme

* include log

* decrypt file server response, remove debug, handle crypt before _sendToProxy, improve json parsing failure logging

* support file uploads on file proxy, fix _sendToProxy calling

* bump form-data to 3.0

* initial refactor of feaure flag detection statements in serverRequest()

* fix  send-message line-height with multiple lines

* fix lint

* fix position of delete account modal

* Profile picture upload, fixes and copy

* Various changes suggested by redesign overview

* Scrolling button updated and animations to modals

* Display subscriber count for open chats

* Prevent illegal username and passwords

* Delete channel / group merge

* Solidification of minor changes w appview injections

* hide description field in group panel for now

* fix join publicgroups pulls

* increase min height respecting ratio

* allow space inside a display name but not at start or end

* fix height of leftpane overlay view

* add back typing indicator and read receipt setting under privacy

* Auto-focus new open chat input box

* Password lock screen and delete data screen

* touchups

* Resolving Bilb revisions

* Disable link previews as default per Kee on signup

* remove date, we have git

* add missing semicolon

* _sendToProxy pass headers/handle response refactor, lint

* fix my yarn conflict/resolve

* include IV in server response

* Sealed sender support

* Support sealed sender for friend requests

* fix lint

* Remove unused destinationRegistrationId; lint

* Update messages.json

* pull RSS through file proxy

* fix unit tests: remove not used count in scrolldown view and assert svg
present

* Disable auto-joining default loki open groups

* session-id-editable-textarea

* fix the textscramble for sessionID on registration

* speed up lint, add lint-full/format-full, make sure use lint-full

* add skipToken to establishConnection options, smuggle out secureRpcPubKey

* get latest version through snode proxy, remove clearfix from ExpiredAlertBanner

* expose semver and LokiAppDotNetServerAPI because we can't get ourKey from storage early enough

* update note

* fix upgrade link, wrap expiredWarning in span for styling, use br to clear the float, trim trailing whitespace

* designalify

* designalify

* designalify user agent

* continue designalification

* make expired banner legible

* remove ugly TLS hack

* disable unauthorization rejection when making https requests limited to lokiRpc

* Update main.js

Aspect ratio amendment

* Constants rework

* local commit

* event listeners

* address missing comma for lint

* fix header sessions message section

* fix profile image size conversation list with pending friend request

* textarea centering

* refresh files in group in group panel

* Looking into keyboard navigation

* Remove P2P

* cache eslint on `lint` but not `ready`

* Cleanup media view formatting

* force locale to be EN until our files are updated and translated

* Simplification of keyup

* Updated all icon references

* SASS fixup

* fix disabled state of message input on sent friendrequest

* trim pubkey when user can enter one to remove whitespaces

* remove lZ in path which fixes errors on svg and does not alter rendering

* fix text scramble animation on registration

* reload app on ctrl-r or f5 from anywhere

* add back file which should have not been deleted

* fix lint and clean code

* fix lint

* add .loki to have a self-signed cert

* Remove mixpanel

* use local shortcut instead of global shortcut

otherwise, ctrl+r is only caught bu the last loaded instance

* open the conversation when accepting a friend request

also, it does what is needed to show the new friend in the friend list

* make sure token comms are done over fileProxy, other notes, logging adjustment

* leftpane sections titles are Wasa bold

* minor refactor

* onboarding messageview

* linter

* fix padding buttons overlay

* do not render session-id-editable border when textarea disabled

* textarea sessionID SpaceMono font

* various touchups

* fix font of description to sfprodisplay

* reduce triple dots conversation header icon size

* reduce size of conversationHeader title font size

* fix font for session-search-input

* make conversationlistitem title font wasa

* fix green and white border under title in leftpane

* fix panel-text-divider font-size and family

* disable completely borders for profile images

* make profile image which where 48pixels big 36 noew, as no more border

* Complete conditional message onboarding

* cache file deletions

* Link preview warning on setting toggle

* Messages.json amendments

* Join channel generalisation

* Localise global vars

* remove eslintcache

* rm global launchcount

* Remove source field from envelope

* Session public chat icon

* CLosed groups ui initial listprops

* Desktop: enable useSnodeProxy feature flag

* file proxy needs to be able to talk to snode

- disable TLS check for fileProxy
- lokiHttpsAgent => snodeHttpsAgent (since we use for two different things now)

* enable useSealedSender too per Maxim

* lint

* lint

* window.extension.expiredPromise version

* better error checking

* use promise version to see if we're expired

* fix typo

* lint

* put back seemingly now required process.env.NODE_TLS_REJECT_UNAUTHORIZED

* fix querystring in file-proxy

* lint

* fix typo

* Remove more references to signal.org

* make sure TLS is forced on open groups, improve serverRequest error message

* Closed groups UI

* function params changes

* turn off snode proxy logging

* include useful info on error

* actually validate URL before starting up a bunch of timers

* Closed groups overlay integration

* move comments from connecting_to_server_dialog_view

* use attempt from window object to reduce code duplication

* refactor out validServer()

* lint

* lint caught typo

* Rename BACKGROUND_FRIEND_REQUEST to SESSION_REQUEST.
Don't trigger friend request logic if a message is aimed at a group.

* Linting

* Closed group joining completed w/o backend

* Fix friend request messages being sent to users you don't have a session in closed groups.
Disable typing messages and read receipts in groups.
Send out session request messages if you don't have a session with a member in the group.

* Remove unneeded boolean condition.

* Closed group update message stylgin

* constants renaming

* Message deletion fix

* gruntify

* fix grunt error

* expose isRss, don't close uncloseable Rss conversation on deleteMessages

* remove copyId and block user on RSS feeds

* remove options from RSS feed that don't make any sense and don't work

* fix grunt error

* squelch RSS duplicate messages

* extension.expiredStatus(), adjustable timers, improve guards

* allowing sending of messages if we're still waiting to hear back

* markRandomNodeUnreachable() refactor, notes/logging

* improve logging

* improve logging

* no need to validate empty token, support lokinet/getession file domains, mark broken snodes as bad, improve logging

* try to address travis-osx lint complaints

* not designed to have a period at the end of titleIsNow

* put period back at the end

* Catch a stray loki messenger

* fix stray loki messenger

* loki messenger isnt a thing

* lint

* Fix open group joining.

* guards incase there are no members yet, fixes dialog not showing up

* fixed file server holding up message sender init.
fix joining closed groups.

* Clean

* Don't wait for file server to return tokens when establishing home connection.

* Disable join public chat prompt

Co-authored-by: Audric Ackermann <audric.bilb@gmail.com>
Co-authored-by: Ryan Tharp <neuro@interx.net>
Co-authored-by: Vince <vincent@loki.network>
Co-authored-by: Maxim Shishmarev <msgmaxim@gmail.com>
5 years ago
Scott Nonnenberg cd60bdd08a Move conversations to SQLCipher 7 years ago
Scott Nonnenberg 727925a266 Clean up old messages, better handle errors from sending 7 years ago
Scott Nonnenberg f39a96bc76 Move to centralized message/cache data layer
Also, ensure that conversation.messageCollection has nothing in it
unless it has an associated ConversationView.
7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
Scott Nonnenberg 43a44793c5 Remove jshint - move everything over to eslint
Also removed all hints of previous linters
7 years ago
Daniel Gasienica 95321e5d3e Remove Vim mode lines 7 years ago
Daniel Gasienica 1dd87ad197 Format all source code using Prettier 7 years ago
Scott Nonnenberg f2b5c53d4c
Immediately remove delivery receipts from the retry cache (#1719) 8 years ago
Scott Nonnenberg cae2b10af6
Increase web request timeout, drop failed delivery receipts (#1699)
Increase web request timeout, drop failed delivery receipts, export error logging
8 years ago
Lilia 52cc8355a6 Feature: Blue check marks for read messages if opted in (#1489)
* Refactor delivery receipt event handler

* Rename the delivery receipt event

For less ambiguity with read receipts.

* Rename synced read event

For less ambiguity with read receipts from other Signal users.

* Add support for incoming receipt messages

Handle ReceiptMessages, which may include encrypted delivery receipts or read
receipts from recipients of our sent messages.

// FREEBIE

* Rename ReadReceipts to ReadSyncs

* Render read messages with blue double checks

* Send read receipts to senders of incoming messages

// FREEBIE

* Move ReadSyncs to their own file

// FREEBIE

* Fixup old comments on read receipts (now read syncs)

And some variable renaming for extra clarity.

// FREEBIE

* Add global setting for read receipts

Don't send read receipt messages unless the setting is enabled.
Don't process read receipts if the setting is disabled.

// FREEBIE

* Sync read receipt setting from mobile

Toggling this setting on your mobile device should sync it to Desktop. When
linking, use the setting in the provisioning message.

// FREEBIE

* Send receipt messages silently

Avoid generating phantom messages on ios

// FREEBIE

* Save recipients on the outgoing message models

For accurate tracking and display of sent/delivered/read state, even if group
membership changes later.

// FREEBIE

* Fix conversation type in profile key update handling

// FREEBIE

* Set recipients on synced sent messages

* Render saved recipients in message detail if available

For older messages, where we did not save the intended set of recipients at the
time of sending, fall back to the current group membership.

// FREEBIE

* Record who has been successfully sent to

// FREEBIE

* Record who a message has been delivered to

* Invert the not-clickable class

* Fix readReceipt setting sync when linking

* Render per recipient sent/delivered/read status

In the message detail view for outgoing messages, render each recipient's
individual sent/delivered/read status with respect to this message, as long as
there are no errors associated with the recipient (ie, safety number changes,
user not registered, etc...) since the error icon is displayed in that case.

*Messages sent before this change may not have per-recipient status lists
and will simply show no status icon.

// FREEBIE

* Add configuration sync request

Send these requests in a one-off fashion when:
  1. We have just setup from a chrome app import
  2. We have just upgraded to read-receipt support

// FREEBIE

* Expose sendRequestConfigurationSyncMessage

// FREEBIE

* Fix handling of incoming delivery receipts - union with array

FREEBIE
8 years ago
Scott Nonnenberg f14ac69f2a Additional logging when we get delivery receipt for unknown msg
FREEBIE
8 years ago
Scott Nonnenberg 7faf83bc01 Read/Delivery Receipts: Wait for resolution in main queue
FREEBIE
8 years ago
Scott Nonnenberg bd0050b6c6 Cache messages on receipt, remove from cache when processed
FREEBIE
8 years ago
lilia aed5735620 Improve keychange notice reliability/perf
Bind a single listener to keychange events from the storage interface,
which then looks up relevant conversations and adds notices to them,
with tests.

Previously we would need to instantiate a conversation model in order to
start listening to its key change events. In practice this usually
happens at startup but we shouldn't rely on it, and it incurs higher
overhead since it creates a different listener for each conversation.

// FREEBIE
8 years ago
lilia 0e31644c28 Remove spurious update to conversation on delivery receipts
Previously this would trigger the conversation to refresh it's last
message.

// FREEBIE
8 years ago
lilia b7fac17ec8 Avoid querying groups on delivery receipts if possible 8 years ago
lilia a8468dae28 Reduce load from delivery receipt processing
Add a special type of collection just for retrieving group ids, which
doesn't incur the overhead of initializing a conversation model along
with all its group members.
9 years ago
lilia d1e9534542 Refactor delivery receipt tracking
Move code for matching receipts to messages (and vice versa) to its own
file.

// FREEBIE
9 years ago