Commit graph

126 commits

Author SHA1 Message Date
Scott Nonnenberg ce9a52dde3 Remove unnecessary methods on window 2019-02-20 16:40:35 -08:00
Scott Nonnenberg 813924685e Link Previews 2019-01-29 13:53:14 -08: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 6300256a3e Gracefully shut down database operations before app exit 2018-11-12 15:31:17 -08:00
Scott Nonnenberg a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -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 f2a63c99ed Streamline code to clean logs based on version number 2018-07-20 15:49:51 -07:00
Scott Nonnenberg c517e4193b New option: Disable spell check 2018-07-18 19:41:16 -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 d8e5e5fcf2 Open separate windows with theme, update settings theme on change 2018-07-13 08:57:30 -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 91e7155736
Restore version/environment details to about window (#2477) 2018-06-21 12:02:19 -07:00
Scott Nonnenberg 8eeaad8e18 Remove unused export/import functionality 2018-06-21 11:54:01 -07:00
Scott Nonnenberg 1c23c6a9d7 Remove window.config in favor of window.getXXX() accessors 2018-06-14 17:03:53 -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 a58e94e17e Disable eval() since we never use it 2018-05-31 13:25:45 -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 a5416e42c4 Refactor all emoji utility methods into window.Signal.Emoji 2018-05-23 16:26:47 -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 aa13a2c6f7 Parse phone numbers into e164 as part of schema upgrade 2018-05-10 11:54:58 -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 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
Daniel Gasienica a102016ed8 Port Settings and OS to TypeScript 2018-05-02 20:01:57 -04:00
Daniel Gasienica c591c3ca55 Use native notifications on all platforms 2018-05-02 19:58:33 -04:00
Daniel Gasienica d5b391757d Add Notifications.getStatus 2018-05-02 19:18:33 -04:00
Daniel Gasienica 1dd87ad197 Format all source code using Prettier 2018-04-30 16:53:34 -04:00
Daniel Gasienica b8d20052e1 Remove unnecessary AttachmentTS reference 2018-04-30 11:00:38 -04:00
Daniel Gasienica e1b620602d Display attachments from disk 2018-04-27 16:31:43 -04:00
Daniel Gasienica f56dc09d01 Add getAbsoluteAttachmentPath 2018-04-27 16:31:43 -04:00
Daniel Gasienica b74b761255 Implement click to save for document list 2018-04-27 16:31:42 -04:00
Daniel Gasienica 41fe50553f Replace Backbone saveFile with Attachment.save 2018-04-27 16:31:42 -04:00
Daniel Gasienica 9134701f7c Move filesize from Bower to npm 2018-04-25 15:24:52 -04:00
Daniel Gasienica 4a5a2cb5c1 Replace Backbone with React lightbox 2018-04-25 15:24:51 -04:00
Daniel Gasienica 4ce0472b9f Extract Message.loadWithObjectURL 2018-04-25 15:24:51 -04:00
Daniel Gasienica 27c4bf90e3 Add Signal.Backbone 2018-04-25 15:24:51 -04:00
Daniel Gasienica c46e1a1519 Move top-level functions to Signal.Util 2018-04-25 15:24:51 -04:00
Daniel Gasienica 32a3ef518b Render media gallery placeholder panel 2018-04-25 15:24:50 -04:00
Daniel Gasienica df2e6e7864 Port MIME module to TypeScript 2018-04-25 15:24:50 -04:00
Scott Nonnenberg c02860af5c
Responding to pull request review feedback
- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
  - remove extraneous logging
  - fix indentation
  - upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus
2018-04-23 15:36:47 -07:00
Scott Nonnenberg a7d44d3344
Backup and end-to-end test! 2018-04-20 15:24:04 -07:00
Scott Nonnenberg 5412ce051e
preload.js: Fix quote support, load Quote properly 2018-04-13 18:10:49 -07:00
Scott Nonnenberg b4ce79cac0
Reply -> Quote 2018-04-13 18:05:43 -07:00
Daniel Gasienica ad05efb7a0 Expose Signal.Types.Conversation 2018-04-11 19:34:21 -04:00
Daniel Gasienica 55fc21505e Rename ts/test to ts/styleguide 2018-04-11 16:36:42 -04:00
Daniel Gasienica ac50713f86 Improve auto-linking of URLs in messages
Fixes #598.
2018-04-11 16:36:42 -04:00
Scott Nonnenberg c6c3b65bbc
Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219)
Quite a bit of change here.

First, the basics:

- New dependencies were added: react, typescript, tslint, and react-styleguidist
- A new npm script: transpile. It uses typescript to process .tsx files in js/react, putting .js files next to the original file. It's part of the watch functionality of grunt dev as well as the default task run with just grunt (used to build the app prior to release). A lighter-weight to get watch behavior when just working on React components is to run yarn transpile --watch.
- yarn run clean-transpile will remove generated .js files


Style guide via react-styleguidist. Example site: https://react-styleguidist.js.org/examples/basic/

- Start with yarn styleguide
- Component.md files right next to the .tsx file
- jsdoc-style comments are picked up and added to the generated part of the styleguide - the overall summary and a table listing methods and properties of the component
- It has hot-reloading!
- It uses webpack, which means that our app now pulls in webpack though we don't use it to generate anything for the production app.
- I did a bunch of work to enable the use of Backbone views in this context, which will allow us to move smoothly from the old world to the new. First, add all the permutations in the old way, and then slowly start to re-render those same views with React.

A bit of dependency cleanup to enable use in React components:

- moment was moved from our Bower dependencies to our npm dependencies, so it can be used in React components not running in a browser window.
- i18n was moved into the new commonjs format, so it can be used in React components even if window is not available.

Lastly, a bit of Gruntfile cleanup:

- Removal of Chrome App-era modifications of background.js
- Make jshint/jscs watch more targeted, since more and more we'll be using other tools
2018-04-06 08:13:00 -07:00
Scott Nonnenberg 96bd90a4e0
Simplify assignment; add warning to preload.js about Style Guide 2018-04-05 17:16:15 -07:00
Scott Nonnenberg 05303233fb
window.Signal.React -> window.Signal.Components 2018-04-05 16:10:59 -07:00