Commit graph

4502 commits

Author SHA1 Message Date
Scott Nonnenberg
a58e94e17e Disable eval() since we never use it 2018-05-31 13:25:45 -07:00
Scott Nonnenberg
eec61f5289 Fine-tune file protocol filter 2018-05-31 13:25:45 -07:00
Scott Nonnenberg
06b0544bbe Hardening: normalize on-disk attachment paths before save/load 2018-05-31 13:25:45 -07:00
Scott Nonnenberg
b8dedd18eb
Ensure that bulk-read messages expire at the proper time (#2414) 2018-05-29 16:59:36 -07:00
Scott Nonnenberg
ac004c07bc Remove broken stylesheets symlink 2018-05-25 14:28:37 -07:00
Scott Nonnenberg
8c85f6e3a6 When marking message read, ensure that peers have same read_at
When we mark a message as read, we go to the database to ensure that
older messages in this conversation are marked read as well. That
optimization was missing the read_at value provided to the starting
message, so now it is piped along to all of them.
2018-05-24 18:54:06 -07:00
Scott Nonnenberg
9400d1a538 eslintify background.js 2018-05-24 18:50:49 -07:00
Scott Nonnenberg
41c8dbc4f9 v1.12.0-beta.1 2018-05-23 17:29:50 -07:00
Scott Nonnenberg
8cd3d545bf Fix formatting in contributing.md 2018-05-23 16:45:06 -07:00
Scott Nonnenberg
925e02e397 Fix lint error in OS.ts 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
53a471b2b1 Expand set of blocked URI schemes 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
3a1d64b19d Disable Electron-augmented window.open
https://electronjs.org/docs/api/browser-window#new-browserwindowoptions
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
34f423b52c Remove unused code; move signal.js to js/modules for eslint
(noticed as I was doing this that signal.js doesn't get eslint coverage)
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
496e0499c4 bower.json and Gruntfile.js cleanup 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
ec3e36824c Remove jscs from the project 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
cfe0bd0e79 Move to npm for several dependencies
mustache
jQuery
underscore
backbone
mocha
chai
intl-tel-input
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
a593a148e8 Explicitly disable nodeIntegration in service workers 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
01be58acc2 Remove formatting in importError localization string 2018-05-23 16:26:48 -07:00
Scott Nonnenberg
ab00c71c46 Remove unused messages.json strings 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
503884dbb6 Remove unused app-migration-screen template 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
9dedda84e2 Add style guide examples for ContactName and ConversationTitle 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
2988da0981 Turn on all of Microsoft's recommend lint rules
Biggest changes forced by this: alt tags for all images, resulting in
new strings added to messages.json, and a new i18n paramter/prop added
in a plot of places.

Another change of note is that there are two new tslint.json files under
ts/test and ts/styleguide to relax our rules a bit there. This required
a change to our package.json script, as manually specifying the config
file there made it ignore our tslint.json files in subdirectories
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
23586be6b0 Add emojification to contact names shown in quotes 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
548c8e69cf Emojification now all done with react via a few new components
Three locations were changed:
  1. a group update, which lists a set of contacts
  2. the contact name in the left pane
  3. the conversation title

Three new components were added to window.Signal.Components to support
these scenarios, respectively:
  1. Emojify
  2. ContactName
  3. ConversationTitle

Note that there are a number of other places in the app that should be
emojified, but never have been before. Essentially any place that a
contact name might be shown. A non-exhaustive list:
  - Show group members
  - Show safety number
  - Verified change notification
  - Disappearing timer change notification
  - Contact verification notification
  - Quote contact name
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
d9e5338dff Refactor link/emoji/newline components for composability 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
a5416e42c4 Refactor all emoji utility methods into window.Signal.Emoji 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
32e2c6dcb5 Add form-action: 'self' to CSP for defense in depth 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
9e0f387e80 Print out main process logs if electron unit tests fail 2018-05-23 16:26:47 -07:00
Scott Nonnenberg
e2d044e02b Filter file scheme; disable http, https and ftp entirely 2018-05-23 16:26:40 -07:00
Scott Nonnenberg
96bbc9d738 Prevent new BrowserWindows from being created 2018-05-23 12:29:32 -07:00
Scott Nonnenberg
559b2157d4 Disable window.open(); has extra Electron functionalnity
(that we never use)

https://electronjs.org/docs/api/browser-window-proxy
2018-05-23 12:27:03 -07:00
Scott Nonnenberg
91c247ef8d Move all forks to @scottnonnenberg-signal account 2018-05-23 12:26:17 -07:00
Scott Nonnenberg
e02887565b
Update to electron v2.0.1 (#2401)
* Remove extra parenthesis causing warnings on latest chromium

* Update to electron 2.0.1

* Move all @types dependencies to devDependencies

* Update electron-builder/electron-updater

* Update to Node.js 8.9.3 to match Electron 2.0.1
2018-05-23 12:17:58 -07:00
Scott Nonnenberg
a328a70ba2
Update React-based emoji handling to fix skin tone modifiers (#2399) 2018-05-23 12:17:25 -07:00
riyapenn-signal
4f1df7377f Add another Windows 7 dev setup requirement (#2398)
Updated CONTRIBUTING.MD for an additional Windows 7 requirement for archived SDK's, specifically requested for Windows 7 is the Windows 8.1 SDK https://go.microsoft.com/fwlink/p/?LinkId=323507
2018-05-23 12:16:33 -07:00
Scott Nonnenberg
d54aedcefa
A few fixes for the contact detail screen (#2374)
* Only show 'send message' on contact detail when user has account

* Make contact detail headers visible in dark mode

* Fix vertical scrolling for very large contact in detail pane

* Fix a couple comment typos
2018-05-23 12:15:46 -07:00
jython234
84759d813e Modify OS.isWindows to check platform before version (#2407)
* Modify OS.isWindows to check if OS is Windows first before checking version.

Previously OS.isWindows checked if the windows version matched the one required. This worked fine, except for the fact that it would end up comparing a linux kernel version to a windows version as it didn't check if the platform was Windows in the first place before.

This caused issues as it would throw an error when comparing with non-semver linux kernels (such as Fedora). Now it checks if the current platform is Windows first, and if not, immediately returns false.

Resolves: #2396

* Fix formatting for OS.ts
2018-05-20 14:02:29 -07:00
Scott Nonnenberg
877cbfc338 v1.11.0-beta.5
Fix broken CSP
2018-05-14 16:45:50 -07:00
Scott Nonnenberg
a4bc460d4c Fix malformed CSP 2018-05-14 16:45:04 -07:00
Scott Nonnenberg
e52c7ca2f3 v1.11.0-beta.4
Move to react for newlines, emoji, and links in message body
2018-05-14 16:09:37 -07:00
Scott Nonnenberg
4e5c8965ff Move to react for newlines, emoji, and links in message body 2018-05-14 16:09:37 -07:00
Scott Nonnenberg
721935b0c8 v1.11.0-beta.3
Update link handling
2018-05-11 13:52:24 -07:00
Scott Nonnenberg
c00c939148 Update link handling 2018-05-11 13:49:06 -07:00
Scott Nonnenberg
d8e0a489b2 v1.11.0-beta.2
Notification Improvements (#2364)
  - Fixed: The change for production didn't full make it into v1.11.0-beta.1 - this change restores the code which removes the old notification when we add a new one
  - Fixed: Notifications could be orphaned in notification center if they were added/removed quickly
  - Fixed: Notifications weren't removed properly when read on a linked device

Dev: Better logging when we receive a read sync from a linked device (#2364)
2018-05-10 18:07:50 -07:00
Scott Nonnenberg
160de2c924
Notification Improvements (#2364)
Notification Improvements
2018-05-10 17:45:47 -07:00
Scott Nonnenberg
b1a54c416f Notifications: All calls are debounced except for shutdown clear 2018-05-10 17:27:22 -07:00
Scott Nonnenberg
18a76ffb49 Debounce notifications so we don't orphan them
Creating/destroying notifications too quickly in testing on macOS would
result in them sticking around forever, requiring manual user dismissal.
We want to dismiss them for the user when we close or our window is
activated. So now we debounce() calls to our notifications code.
2018-05-10 17:07:42 -07:00
Daniel Gasienica
24002149f6 Log read sync reception and remove notification 2018-05-10 17:06:11 -04:00
Daniel Gasienica
d434262540 Remove last notification before creating new one 2018-05-10 17:06:11 -04:00
Scott Nonnenberg
d9685178d2 v1.11.0-beta.1
Feature: Receive contact (#2349, #2359)

Fixed: Sometimes clicks on quoted message wouldn't work (#2350)

Fixed: In dark theme, it was hard to see a message's triple-dot menu on hover - thanks @PunkChameleon (#2334)

Fixed: Unsupported image and video types were missing from media pane (#2351)

Fixed: On small screens, the media lightbox view would show media off-screen (#2351)

Notification improvements
  - Remove all on remote read, on focus, on exit
  - Show multi-message notifications like '5 new messages'

Media Gallery: A number of small visual fixes (#2351)

Emoji pane: Can now dismiss it by pressing escape key - thanks @tommypacker (#2354, #2357)

Update translations (#2328, #2352)

Dev:
  - Windows 7: Use Electron-native notifications (#2338, #2330)
  - Improve Logging For Disappearing Messages (#2332)
  - Prettier: Continue expanding its coverage of app (#2339, #2324)
  - Document Translations Setup + Remove Unused Strings (#2329)
  - Make Protocol Buffers available to commonjs code (#2347)
2018-05-10 12:16:43 -07:00