Commit graph

196 commits

Author SHA1 Message Date
Scott Nonnenberg
0c09f9620f Improve message download performance 2019-10-10 14:56:14 -07:00
Scott Nonnenberg
d3d2b0ec52 Use curve functions from native module 2019-08-21 14:55:12 -07:00
Johannes Bittner
f540078aa9 Gruntfile.js: add .tsx files to transpile watch task (#2963) 2019-04-08 10:18:41 -07:00
Scott Nonnenberg
e4babdaef0 Updates to backup infrastructure 2019-01-04 12:21:26 -08:00
Scott Nonnenberg
8add0ac8a1
Enable CI and packaged builds with Electron v3 (#2939)
* Update spectron to fix linux CI runs

* Point test-release grunt task at release folder

* Ensure that build folders of socks/smart-buffer are in build

* AppVeyor: windows build output folder is now release

* Travis: Force build output to release directory
2018-11-27 16:20:48 -08:00
Scott Nonnenberg
ecb126e74c
Custom linter to check code quality (#2753) 2018-09-20 15:24:52 -07:00
Scott Nonnenberg
0d6c3c0bce Introduce new languages to the product 2018-09-05 14:17:38 -07:00
Scott Nonnenberg
02fbea96c0 Move base64 conversions off of the main thread 2018-08-16 17:39:30 -07:00
Scott Nonnenberg
5933a34a18 Use window.log in browser context, turn on console eslint rule 2018-07-21 14:52:43 -07:00
Scott Nonnenberg
3c69886320 Finish new Message component, integrate into application
Also:
- New schema version 8 with video/image thumbnails, screenshots, sizes
- Upgrade messages not at current schema version when loading messages
  to show in conversation
- New MessageDetail react component
- New ConversationHeader react component
2018-07-17 15:58:07 -07:00
Scott Nonnenberg
43a44793c5 Remove jshint - move everything over to eslint
Also removed all hints of previous linters
2018-07-17 15:54:32 -07:00
Scott Nonnenberg
dc11db92f9 New React component: Message
Also: Use react to render contects on the 'show group members' screen
2018-07-17 15:53:33 -07:00
Scott Nonnenberg
ad4387803b New media permission, show dialog when not enabled for voice msg
UI now in separate renderer:
  - the permissions popup
  - settings dialog
  - debug log dialog
  - about window

Couple bug fixes:
  - About Window: Fix 'escape' to close window
  - Remove outdated dist/copy tasks from Gruntfile

Eslintified settings_view.js
2018-07-03 16:04:21 -07:00
Scott Nonnenberg
67464774c3 eslintify expiring_messages.js 2018-07-03 16:04:21 -07:00
Scott Nonnenberg
f3bd0cf903 Refactor api.js into web_api, which encapsulates all web access 2018-05-31 13:25:45 -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
9e0f387e80 Print out main process logs if electron unit tests fail 2018-05-23 16:26:47 -07:00
Daniel Gasienica
ba4d8952c6 Revert "Use protocol buffer module for libtextsecure"
This does not work with `ArrayBuffer` out of the box and will need to be
investigated and tested more before switching.

Some APIs also seemed to have changed:
- Before (OOP): `new textsecure.protobuf.WebSocketMessage(…).encode();`
- After (functional):
  ```
  textsecure.protobuf.WebSocketMessage.encode(
    new textsecure.protobuf.WebSocketMessage(…)
  );
  ```

This reverts commit d758119d9de4f99742ea941e86180b1d600c2f22.
2018-05-07 21:53:41 -04:00
Daniel Gasienica
60077d0b7b Use protocol buffer module for libtextsecure 2018-05-07 21:53:40 -04:00
Daniel Gasienica
4e39882afc Compile protocol buffers first 2018-05-07 21:53:40 -04:00
Daniel Gasienica
f88ebdf8b7 Compile protocol buffers as part of yarn grunt dev 2018-05-07 21:53:40 -04:00
Daniel Gasienica
c5d6e4a602 Gruntfile: Remove dependency on npm 2018-05-07 21:53:40 -04:00
Daniel Gasienica
ce8db96069 Gruntfile: 🔤-ize watch targets 2018-05-07 21:53:39 -04:00
Scott Nonnenberg
9608b88eae Gruntfile: Remove build fetching, no longer used in build 2018-04-30 22:34:54 -07:00
Daniel Gasienica
1dd87ad197 Format all source code using Prettier 2018-04-30 16:53:34 -04:00
Scott Nonnenberg
0e99ca61a2
eslintify file_input_view.js 2018-04-25 15:06:27 -07:00
Daniel Gasienica
5c81e1b353 Watch TypeScript files in Grunt 2018-04-25 15:25:12 -04:00
Scott Nonnenberg
ef1d568a80
Restore rendering of group update and end session messages
The previous work to refactor bubbles broke rendering for these message
types. :0/
2018-04-23 19:16:00 -07:00
Scott Nonnenberg
d0b11c59f5
Eslintify conversation_view.js 2018-04-20 15:23:49 -07:00
Scott Nonnenberg
47a3acd5c9
Remove models/messages + models/messages from jscs run 2018-04-13 18:10:48 -07:00
Scott Nonnenberg
e99192dca7
Unleash eslint on models/messages.js
Fun fact: eslint was not running on this file, despite the eslint
directives previously in the file!
2018-04-13 18:10:47 -07:00
Scott Nonnenberg
33ef967dd7
Unleash eslint on models/conversations.js 2018-04-13 18:10:45 -07:00
Scott Nonnenberg
e69586200a
Unleash eslint on message_receiver.js - lots of change 2018-04-13 18:05:45 -07:00
Scott Nonnenberg
2def6afe45
message_view.js: eslint fixes and a bit of fixup 2018-04-13 18:05:43 -07:00
Daniel Gasienica
15d221ae0e Simplify testing and linting
Separate linting from testing as follows:

- `yarn jscs`: Run JSCS.
- `yarn jshint`: Run JSHint.
- `yarn lint`: Run all linters, i.e. ESLint, TSLint, JSHint, and JSHint.

- `yarn test-node`: Run Mocha tests in Node.js environment.
- `yarn test-electron`: Run tests in Electron environment via Grunt.
- `yarn test`: Run all tests.

CI
- Align Travis and AppVeyor scripts as much as possible.
- Run linting before tests to fail fast.
- Run Node.js (headless and fast) tests first.
- Run Electron tests last (Travis seems to require custom setup in `travis.sh`).
2018-04-11 16:36:42 -04:00
Scott Nonnenberg
23537546fe
Big refactor: ts/ directory for all typescript, including react
Split out test-specific and general utility react components too.

And moved our test/legacy* files for the Style Guide into a styleguide/
subdirectory of test/.

I think we'll be able to live in this directory structure for a while.
2018-04-05 15:30:40 -07:00
Scott Nonnenberg
76be13552f
js/i18n.js -> js/modules/i18n.js 2018-04-05 12:51:29 -07:00
Scott Nonnenberg
bb73d470a5
Gruntfile: Sort lines in jshint/jscs config 2018-04-05 12:26:30 -07:00
Scott Nonnenberg
104a1ca5d4
Remove i18n.js from jshint run, fix missing semicolon 2018-04-04 17:26:57 -07:00
Scott Nonnenberg
893fb1cb9e
Introduce React/TypeScript/TSLint into app for new UI components
npm run transpile
  Works on files under js/react/
  Outputs files right next to the .tsx file

This is part of our `grunt dev` task, as well as the default grunt task,
which does everything else necessary to get a raw git checkout ready to
run.
2018-04-04 16:08:27 -07:00
Scott Nonnenberg
e32dad2e9b
Gruntfile: limit jshint/jscs watch tasks to own files, not *.js 2018-04-04 15:56:47 -07:00
Scott Nonnenberg
26f69b633a
Gruntfile: Remove edits to background.js; no longer applicable 2018-04-04 15:56:47 -07:00
Daniel Gasienica
85490fbc98 Disable JSHint for background.js
It doesn’t recognize `async` and I couldn’t figure out how to ignore a top-level
`async` without cascading errors.
2018-04-02 12:17:36 -04:00
Daniel Gasienica
b24dad23ea Fix search view conversation reset bug
When searching for an existing conversation using a phone number, it’s possible
to click on ‘Start conversation…’ and have that new dummy entry overwrite the
existing conversation.

This change ensures we are always showing a dummy conversation model that is not
part of the conversation collection. Adding it is always idempotent as it goes
through `getOrCreateAndWait`.
2018-03-27 19:54:35 -04:00
Scott Nonnenberg
c01b343bd4
Code formatting updates for backup.js 2018-03-20 11:52:42 -07:00
Scott Nonnenberg
3527740598
Format updates to js/database.js 2018-03-14 14:42:14 -07:00
Daniel Gasienica
1755e24854 Add ES2015 modules to JSHint ignore list 2018-03-08 16:21:27 -05:00
Daniel Gasienica
59e59fb754 Remove new message audio notification
Bye, bye, dear Ka-Klunk!
2018-03-05 10:29:11 -05:00