Commit graph

4060 commits

Author SHA1 Message Date
Scott Nonnenberg f628df1035 Eliminate arrows in the standalone Lightbox component examples 2018-05-07 19:30:50 -07:00
Scott Nonnenberg 8beeef4d10 Show contact name when you reply to message with a contact 2018-05-07 19:30:50 -07:00
Scott Nonnenberg cdfe4d76b1 Update contacts for android dark theme 2018-05-07 19:30:50 -07:00
Scott Nonnenberg 202f5d5b7a Update contact bubbles for ios theme 2018-05-07 19:30:50 -07:00
Scott Nonnenberg 9d1847a7e5 Pull all setup in preload.js into signal.js. goal: webpackable 2018-05-07 19:30:49 -07:00
Scott Nonnenberg 30cb673405 Fix style guide for LightboxGallery component 2018-05-07 19:11:37 -07:00
Scott Nonnenberg 37821e5a1b Wire up all contact behaviors, refactor Contact type/selector 2018-05-07 19:11:35 -07:00
Scott Nonnenberg 41be7f126b Visuals for embedded contacts as well as contact detail screen 2018-05-07 19:09:55 -07:00
Scott Nonnenberg 3ea3e4e256 Contact sharing: protos and data pipeline
As of this commit: 82b76ccf37
2018-05-07 19:09:55 -07:00
Scott Nonnenberg b6a585a646
MessageView: Add id from database to DOM for outgoing messages (#2350) 2018-05-07 19:08:45 -07:00
Scott Nonnenberg b41cf47df6
Update translations for week of 5/7 (#2352) 2018-05-07 19:04:25 -07:00
Daniel Gasienica c7a502e2e1 Standalone Protocol Buffers (#2347)
This change introduces a standalone module for our protocol buffers as CommonJS
module incl. TypeScript type definitions.

**Rationale:** In order to exclude voice messages from the media gallery,
I needed to get a reference of `AttachmentPointer.Flags.VOICE_MESSAGE`.
Currently, the only way is to use `textsecure.protobuf` which is only accessible
as a global.

* [x] Add `Attachment.isVoiceMessage` as a way to test standalone
      Protocol Buffers.
* [x] Add latest version of `protobufjs`. Leave existing version in place to
      keep this change less disruptive and since it’s been stable. Hopefully we
      can move over to standalone protobufs over time to improve modularity and
      maybe even startup performance.
* [x] Add `yarn build-protobuf` command to compile `SignalService.proto` into
      standalone CommonJS module and accompanying TypeScript definitions.
      ~~Included compiled output for ease of use for other developers.
      Can revisit if changes become more frequent.~~
      Now built as part of `yarn grunt`.
* [x] Update style guide references and make sure they work!
* [x] ⚠️ Change type definition for `Attachment::file` to include `null` as
      that’s apparently a valid value for legacy Android voice messages.
2018-05-07 21:57:23 -04: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 daa4a3d63f Compile all protocol buffers 2018-05-07 21:53:40 -04:00
Daniel Gasienica c8e1c29b16 Improve naming 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 2810f26461 Remove unused WhisperTextProtocol.proto 2018-05-07 21:53:40 -04:00
Daniel Gasienica 086c64deb8 Add yarn clean-protobuf command 2018-05-07 21:53:40 -04:00
Daniel Gasienica 55f85465c6 Remove generated protobuf as part of yarn clean-transpile 2018-05-07 21:53:40 -04:00
Daniel Gasienica cb09da0f63 Run all build steps in CI 2018-05-07 21:53:40 -04:00
Daniel Gasienica 15759f0db5 Normalize package naming 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
Daniel Gasienica 38f3ad6518 Use SignalService vs textsecure for protobuf 2018-05-07 21:53:39 -04:00
Daniel Gasienica 6589247750 Expose SignalService to style guide 2018-05-07 21:53:39 -04:00
Daniel Gasienica 86346ee239 Expose Signal.Types.Attachment to style guide 2018-05-07 21:53:39 -04:00
Daniel Gasienica a0ddab669b Organize globals 2018-05-07 21:53:39 -04:00
Daniel Gasienica a86056630f Use Attachment.isVoiceMessage 2018-05-07 21:53:39 -04:00
Daniel Gasienica 5789b3eb75 Add Attachment.isVoiceMessage 2018-05-07 21:53:39 -04:00
Daniel Gasienica 2d95745d56 Add yarn build-protobuf command 2018-05-07 21:53:39 -04:00
Daniel Gasienica 58399549c3 Add protobufjs dependency 2018-05-07 21:53:39 -04:00
Daniel Gasienica fa4c3fda2b Extract common MIME types 2018-05-07 21:53:39 -04:00
Daniel Gasienica 8a4f062120 Add MIME.APPLICATION_OCTET_STREAM 2018-05-07 21:53:39 -04:00
Nick Weingartner c8be066391 Update hover color for horizontal dots in android dark theme 2018-05-07 18:37:12 -07:00
Daniel Gasienica bad4681ade
Prettier: Format CSS, SCSS, and JSON (#2339)
Expand auto-formatting to CSS, SCSS, and JSON:

*   [x] Ignore symlinked SCSS file from `components`.
*   [x] Ignore package manifest files, `package.json` and `bower.json`,
        as they are already formatted by their package manager.
*   [x] Skip locale JSON files (already managed by Transifex tools).
*   [x] Format all stylesheets.
2018-05-07 18:44:37 -04:00
Daniel Gasienica 381290c55f Adjust tsconfig.json formatting for Prettier 2018-05-04 17:34:50 -04:00
Daniel Gasienica 9a74addc61 Prepend comments for infix comments in argument list 2018-05-04 17:22:00 -04:00
Daniel Gasienica 84f69f482f Prettier: Format JSON configuration files 2018-05-04 16:32:08 -04:00
Daniel Gasienica 557693e14c Prettier: Format all stylesheets 2018-05-04 16:32:08 -04:00
Daniel Gasienica 8ee250d37e Prettier: Format CSS, SCSS, and JSON 2018-05-04 16:32:08 -04:00
Daniel Gasienica 8ef5d87d6b Prettier: Update ignore list 2018-05-04 16:32:08 -04:00
Daniel Gasienica 0188abd9f4
Windows 7 Notifications: Disable Grouping (#2338)
Grouping of notifications is not supported on Windows 7 due this bug:
https://github.com/electron/electron/issues/11189

*   [x] Disable notification grouping (using `tag`) on Windows 7.
*   [x] Log notification grouping support.
*   [x] **Infrastructure:** Use 2-space indentation for all files
        (better integration with Prettier.)
2018-05-04 15:58:53 -04:00
Daniel Gasienica 0121dc7a5a Log notification grouping support 2018-05-04 15:37:46 -04:00
Daniel Gasienica c2407c8906 Disable notification grouping on Windows 7 2018-05-04 15:37:46 -04:00
Daniel Gasienica 5d230d3778 Add Settings.isNotificationGroupingSupported
See: https://github.com/electron/electron/issues/11189
2018-05-04 15:37:46 -04:00
Daniel Gasienica 211d54451b Use 2 spaces for indentation
Enable this globally now that we use Prettier.
2018-05-04 15:37:46 -04:00
Daniel Gasienica f0896b53bc
Improve Logging For Disappearing Messages (#2332)
*   [x] Log updates to last message (message preview) in conversation list.
        Should help debug cases such as:
        https://github.com/signalapp/Signal-Desktop/issues/2323
*   [x] Use structured logs:
    *   [x] Use static prefix (easier to search)
    *   [x] Capitalize log message and use present tense
            (consistent with Git logging conventions).
    *   [x] Attach metadata as JSON serializable object. This has the benefit
            that all fields are named and can be searched for.
*   [x] Remove newlines from group IDs during redaction so they don’t break up
        log lines.
2018-05-03 14:06:08 -04:00
Daniel Gasienica 13f1ec2e51 Use structured logs
Easier to search for static prefix and fields are named.
2018-05-03 13:24:39 -04:00