Commit Graph

4202 Commits (19cbfae127722a1f3893ecaf8324cf83bb8db776)
 

Author SHA1 Message Date
Scott Nonnenberg 3ea3e4e256 Contact sharing: protos and data pipeline
As of this commit: 82b76ccf37
7 years ago
Scott Nonnenberg b6a585a646
MessageView: Add id from database to DOM for outgoing messages (#2350) 7 years ago
Scott Nonnenberg b41cf47df6
Update translations for week of 5/7 (#2352) 7 years ago
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.
7 years ago
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.
7 years ago
Daniel Gasienica 60077d0b7b Use protocol buffer module for `libtextsecure` 7 years ago
Daniel Gasienica daa4a3d63f Compile all protocol buffers 7 years ago
Daniel Gasienica c8e1c29b16 Improve naming 7 years ago
Daniel Gasienica 4e39882afc Compile protocol buffers first 7 years ago
Daniel Gasienica 2810f26461 Remove unused `WhisperTextProtocol.proto` 7 years ago
Daniel Gasienica 086c64deb8 Add `yarn clean-protobuf` command 7 years ago
Daniel Gasienica 55f85465c6 Remove generated protobuf as part of `yarn clean-transpile` 7 years ago
Daniel Gasienica cb09da0f63 Run all build steps in CI 7 years ago
Daniel Gasienica 15759f0db5 Normalize package naming 7 years ago
Daniel Gasienica f88ebdf8b7 Compile protocol buffers as part of `yarn grunt dev` 7 years ago
Daniel Gasienica c5d6e4a602 Gruntfile: Remove dependency on `npm` 7 years ago
Daniel Gasienica ce8db96069 Gruntfile: 🔤-ize `watch` targets 7 years ago
Daniel Gasienica 38f3ad6518 Use `SignalService` vs `textsecure` for protobuf 7 years ago
Daniel Gasienica 6589247750 Expose `SignalService` to style guide 7 years ago
Daniel Gasienica 86346ee239 Expose `Signal.Types.Attachment` to style guide 7 years ago
Daniel Gasienica a0ddab669b Organize `global`s 7 years ago
Daniel Gasienica a86056630f Use `Attachment.isVoiceMessage` 7 years ago
Daniel Gasienica 5789b3eb75 Add `Attachment.isVoiceMessage` 7 years ago
Daniel Gasienica 2d95745d56 Add `yarn build-protobuf` command 7 years ago
Daniel Gasienica 58399549c3 Add `protobufjs` dependency 7 years ago
Daniel Gasienica fa4c3fda2b Extract common MIME types 7 years ago
Daniel Gasienica 8a4f062120 Add `MIME.APPLICATION_OCTET_STREAM` 7 years ago
Nick Weingartner c8be066391 Update hover color for horizontal dots in android dark theme 7 years ago
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.
7 years ago
Daniel Gasienica 381290c55f Adjust `tsconfig.json` formatting for Prettier 7 years ago
Daniel Gasienica 9a74addc61 Prepend comments for infix comments in argument list 7 years ago
Daniel Gasienica 84f69f482f Prettier: Format JSON configuration files 7 years ago
Daniel Gasienica 557693e14c Prettier: Format all stylesheets 7 years ago
Daniel Gasienica 8ee250d37e Prettier: Format CSS, SCSS, and JSON 7 years ago
Daniel Gasienica 8ef5d87d6b Prettier: Update ignore list 7 years ago
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.)
7 years ago
Daniel Gasienica 0121dc7a5a Log notification grouping support 7 years ago
Daniel Gasienica c2407c8906 Disable notification grouping on Windows 7 7 years ago
Daniel Gasienica 5d230d3778 Add `Settings.isNotificationGroupingSupported`
See: https://github.com/electron/electron/issues/11189
7 years ago
Daniel Gasienica 211d54451b Use 2 spaces for indentation
Enable this globally now that we use Prettier.
7 years ago
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.
7 years ago
Daniel Gasienica 13f1ec2e51 Use structured logs
Easier to search for static prefix and fields are named.
7 years ago
Daniel Gasienica 0ce56eed87 Use structured log 7 years ago
Daniel Gasienica 5c8f734e67 Remove newlines from group IDs 7 years ago
Daniel Gasienica ae7d6aa900 Log `Conversation::updateLastMessage` 7 years ago
Daniel Gasienica 1ea21ae69c
Use Native Notifications on Windows 7 (#2330)
*   [x] Test notifications on Windows 7.
*   [x] Switch to Electron native notifications on Window 7.
*   [x] Disable **Play audio notification** setting on Windows 7 since they are
        not natively supported.
*   [x] Improve logging for notification status.
*   [x] Investigate whether Electron notification support choosing custom sound
        on Windows. Answer: no.
        Source: 82329124ff/docs/api/notification.md (new-notificationoptions-experimental)
*   [x] Remove `node-notifier`.
*   [x] **Infrastructure:** Port `OS` and `types/Settings` to TypeScript.
*   [x] Add support for specifying minimum Windows version with
        `OS.isWindows(minVersion?: string)`.
*   [x] OT: While testing on Windows 7, I confirmed spell checking worked
        for me.
7 years ago
Daniel Gasienica ecf23b6b2e Disable audio notifications on Windows 7 and lower 7 years ago
Daniel Gasienica a102016ed8 Port `Settings` and `OS` to TypeScript 7 years ago
Daniel Gasienica 38b23c6627 Add `@types/semver` 7 years ago
Daniel Gasienica 0b4c60c272 Add `@types/sinon` 7 years ago