Commit Graph

89 Commits (fd08297cc2a3d143d9460c8ba88756de46726a57)

Author SHA1 Message Date
lilia 9b645f90c8 Remove Android requirement from install flow
// FREEBIE
9 years ago
lilia baff77c509 Revert "Remove Android requirement from install flow"
This reverts commit 4b9f7d518e.
Put this back when iOS desktop support is ready for general release.
9 years ago
lilia 4b9f7d518e Remove Android requirement from install flow
// FREEBIE
9 years ago
lilia ca28ba69d6 Device names must be 50 chars or less
Fixes #762

// FREEBIE
9 years ago
Sam Lanning ac25b62fdc Improve implementation of i18n for Install Flow following comments on #611
* Move install flow i18n logic to install_view.js (from options.js)
* Switch to using placeholders (instead of jQuery) for i18n messages with html.
* Switch to using moustache template instead of jQuery for i18n substitution.

// FREEBIE
9 years ago
Sam Lanning 0825d3e22f Implement i18n for Install Flow
Fixes #600

// FREEBIE
9 years ago
lilia f1ca06e0e9 Change welcome screen copy
// FREEBIE
10 years ago
lilia 24e1939640 Update install copy
// FREEBIE
10 years ago
lilia 7feb55c7d0 Fix twitter link in install flow
Fixes #400

// FREEBIE
10 years ago
lilia d607996cf8 Fixes #394
👬 // FREEBIE
10 years ago
lilia 6fc4bada2e Fix typo in install flow
// FREEBIE
10 years ago
lilia 14cb6b58a2 Create install flow
* Refactor options.js into a view
* Break up install flow into a series of screens
* Remove bootstrap
* Make installer window static size, mostly to facilitate positioning

// FREEBIE
10 years ago
lilia f764445c86 Remove erroneous license file and headers
We only use GPLV3 around here.

// FREEBIE
10 years ago
lilia c3d3ec125d Wait for contact sync before opening inbox
Use a canned bootstrap progress animation in lieu of better design.

Fix #271 // FREEBIE
10 years ago
lilia 815b79dc64 Cleanup 'Too many devices' dialog
Closes #263
10 years ago
lilia 3dd8056487 Add error dialog for too many devices 10 years ago
lilia f32ff58953 Add support for device name 10 years ago
lilia ddbaf87741 Load notifications script from background page 10 years ago
lilia 8da062f75c Resize icon to various resolutions
You want icon sizes? I got all the size you need.
10 years ago
lilia f8db7c606a Include bootstrap via sass
One less file to load on the options/register page.
10 years ago
lilia 96eafc7750 Integrate libaxolotl async storage changes
* Session records are now opaque strings, so treat them that way:
  - no more cross checking identity key and session records
  - Move hasOpenSession to axolotl wrapper
  - Remote registration ids must be fetched async'ly via protocol wrapper
* Implement async AxolotlStore using textsecure.storage
* Add some db stores and move prekeys and signed keys to indexeddb
* Add storage tests
* Rename identityKey storage key from libaxolotl25519KeyidentityKey to
  simply identityKey, since it's no longer hardcoded in libaxolotl
* Rework registration and key-generation, keeping logic in libtextsecure
  and rendering in options.js.
* Remove key_worker since workers are handled at the libaxolotl level
  now
10 years ago
lilia 2cb0070343 s/TextSecure/Signal on options page 10 years ago
lilia 5888039123 Reorder database.js include
Prep to use indexedDB for axolotl storage.
10 years ago
lilia c6b0b71383 Change progress dialog header 10 years ago
lilia 13ce354ab8 Registration UX improvements
Add some nice modal dialogs instead of confirmation alerts.
10 years ago
lilia c526dbda5f Set up production build task
`grunt copy`

Closes #191
10 years ago
lilia db3d97b576 Move icon.png to /images 10 years ago
lilia fa3699cdd3 Trigger desktop notifications
Notifications show the conversation name, avatar, and new message text.
Clicking the notification opens the conversation.
10 years ago
lilia 8ee282b1aa Restyle registration page
When first intalling, users will no longer be presented with the option
to register as a standalone client.

For developer convenience, the standalone form can still be found at
chrome-extension://.../register.html

Closes #159
10 years ago
lilia 1bb480f6ea DRY up a common view pattern
Define a Whisper.View base class that automatically parses and renders
templates and attributes defined by the subclass. This saves us a good
number of lines of code as well as some marginal memory overhead, since
we are no longer saving per-instance copies of template strings.
10 years ago
Matt Corallo 02d0c58e5e Mostly done device-bringup stuff 10 years ago
lilia 5d044bd00e Fire an event on phone number validation
Fix a bug introduced by recent phone number input work that prevented
the call and sms buttons from being clickable.
10 years ago
lilia ed06161ee7 Quick fix for phone input style 10 years ago
Emily Chao e74cba8a92 Restyled country dropdown
Added jquery plugin that allows for flags and country codes to be
displayed in a user-friendly way, on top of the existing phone view
10 years ago
Emily Chao 5d3020b9ed Refactor phone number input view
Moves validation logic to its own view to be shared on index and options
pages.
10 years ago
Matt Corallo e7f3e52b6c Remove NaCL! 10 years ago
Matt Corallo 5785f4033c Compile curve25519/webcrypto into libtextsecure.js 10 years ago
Matt Corallo 8ad1a38b5b Move js files around for libtextsecure split 10 years ago
Matt Corallo d9db0f53e7 s/\t/ /g in {background,options}.html 10 years ago
lilia ff259a7dee Tolerate extra whitespace in the registration code field 10 years ago
lilia 4a401f07f3 Rewrite ReplayableErrors
ReplayableErrors make it easy for the frontend to handle identity key
errors by wrapping the necessary steps into one convenient little
replay() callback function.

The frontend remains agnostic to what those steps are. It just calls
replay() once the user has acknowledged the key change.

The protocol layer is responsible for registering the callbacks needed
by the IncomingIdentityKeyError and OutgoingIdentityKeyError.
10 years ago
lilia 7b23e24b71 Add stringview license info and script tags
Closes #94
11 years ago
lilia ee0d7edc0b WebSocket-Resources / websocket refactor
This commit provides the javascript complement to
[WebSocket-Resources](https://github.com/WhisperSystems/WebSocket-Resources),
allowing us to use a bi-directional request-response framework over
websockets.

See websocket-resources.js and websocket-resources_test.js
for usage details.

Along the way I also factored the websocket keepalive and reconnect
logic into its own file/wrapper object.
11 years ago
lilia ced295a630 Move message and conversation storage to IndexedDB
Getting up and running with IndexedDB was pretty easy, thanks to
backbone. The tricky part was making reads and writes asynchronous.
In that process I did some refactoring on Whisper.Threads, which
has been renamed Conversations for consistency with the view names.

This change also adds the unlimitedStorage permission.
11 years ago
lilia 4119c13ba2 Registration ux tweaks 11 years ago
lilia 3eb98ddc3b Fix options page stylesheet path 11 years ago
lilia 18378d8097 Fold nacl-common into components 11 years ago
lilia e190582d9e Build CryptoJS components into webcrypto.js
We only depend on cryptojs for this webcrypto polyfill, so let Grunt
concatenate them into one file.

The reference in the getString helper isn't needed since we use the
built in string converters on CryptoJS's word arrays.
11 years ago
lilia b4f4f87a7c Add emscripten-compiled curve25519 module
Build with `grunt compile && grunt concat:curve25519` after installing
emscripten.

Enable by either (a) not loading nativeclient.js or (b) setting
`textsecure.NATIVE_CLIENT = false` before loading nativeclient.js.
11 years ago
lilia 3d27c98845 Remove stray curve25519.js include 11 years ago