Commit Graph

411 Commits

Author SHA1 Message Date
Kyle Spearrin 2211c569d7 settings service to ts 2017-11-03 15:33:29 -04:00
Kyle Spearrin ee11bb5137 user service to ts 2017-11-03 15:12:49 -04:00
Kyle Spearrin 0c878d78f3 totp service to ts 2017-11-03 13:50:03 -04:00
Kyle Spearrin 8d60c6c824 call into static methods from utils service 2017-11-03 12:36:26 -04:00
Kyle Spearrin 43ef921886 environment service to ts 2017-11-03 12:33:34 -04:00
Kyle Spearrin 6ae7b2e035 convert api service to ts with fetch 2017-11-03 11:59:45 -04:00
Kyle Spearrin 9f9e3245de convert token service to ts 2017-11-02 20:50:00 -04:00
Kyle Spearrin bf38ca9578 convert token service to ts 2017-11-02 17:49:00 -04:00
Kyle Spearrin eb8c4063ca lint fixes 2017-11-02 16:33:54 -04:00
Kyle Spearrin b94a55f655 remove old appid service 2017-11-02 16:32:19 -04:00
Kyle Spearrin 5fd850929d convert appid service to ts 2017-11-02 15:51:05 -04:00
Kyle Spearrin 8eeb5821f0 password generation service to ts 2017-11-02 12:33:43 -04:00
Kyle Spearrin c586349014 cleanup crypto service a bit 2017-11-02 11:07:45 -04:00
Kyle Spearrin 177b97ff97 move some methods to utils and static 2017-11-02 09:30:28 -04:00
Kyle Spearrin fbba9b673d fixes during crypto service testing 2017-11-02 09:17:53 -04:00
Kyle Spearrin c3704c3dfd convert methods to promises 2017-11-02 08:54:40 -04:00
Kyle Spearrin 54a909ab24 tslint fixes 2017-11-02 08:45:31 -04:00
Kyle Spearrin e415a659ad migrate crypto service to ts 2017-11-01 23:40:39 -04:00
Kyle Spearrin c073d74e04 utils service additions 2017-11-01 23:39:42 -04:00
Kyle Spearrin 7f45fd02c0 added static props so we can start using them 2017-11-01 15:48:24 -04:00
Kyle Spearrin acbfac6df3 convert constants service to ts 2017-11-01 15:46:03 -04:00
Kyle Spearrin 9ffbd0bb69 lint fixes 2017-11-01 13:40:38 -04:00
Kyle Spearrin 51f2c9a30c formatting 2017-11-01 11:41:39 -04:00
Kyle Spearrin d94c6de6f1 formatting 2017-11-01 11:41:12 -04:00
Oscar Hinton 4b68163cbd Convert utilService to typescript. (#342) 2017-11-01 09:18:05 -04:00
Oscar Hinton 59754cd530 Setup Webpack & TypeScript (#316)
* TypeScript and WebPack.

* Minor cleanup.

* Add background.js as entry point to webpack.

* Use downloaded fonts for better performance.
Remove google-fonts-webpack-plugin.

* Add the remaining entry points and setup notification bar.

* Update readme for webpack.

* Convert CipherItems to TypeScript to demonstrate how a component looks in TS.

* Fix edge requirering a custom angular version.

* Rewrite gulp tasks for packaging releases.

* Re-add the webpack gulp plugin.

* Remove unessesary line in analytics.
2017-10-28 22:14:14 -04:00
Kyle Spearrin a2480bf2df fixes for keys 2017-10-26 08:32:04 -04:00
Kyle Spearrin 1c3143867b cleanup autofill service a bit 2017-10-25 21:55:52 -04:00
Kyle Spearrin 0c90d9dba2 set icons server environment url 2017-10-23 23:05:24 -04:00
Duc Hoang Nguyen 37907fbf42 firefox: show popup when click "vault is locked" (#314)
* small lint error

* show popup when click "vault is locked"

* moved to loadNoLoginsContextMenuOptions
2017-10-19 08:38:33 -04:00
Kyle Spearrin 74eeb1a3c1 fixes from refactors 2017-10-18 14:56:59 -04:00
Kyle Spearrin 1443e4d74a change state, province, and country names to codes 2017-10-18 13:05:54 -04:00
Kyle Spearrin f4e72aae8a autofill card expiration 2017-10-18 11:50:21 -04:00
Kyle Spearrin cd878c75b2 proper autocomplete prop 2017-10-18 11:07:25 -04:00
Kyle Spearrin 966e4fc69b delete cipher fix 2017-10-18 11:07:05 -04:00
Kyle Spearrin 95c0a5ace2 return results even when domain is not parsable 2017-10-17 23:54:19 -04:00
Kyle Spearrin dadecf2f4d autofill identity 2017-10-17 23:44:12 -04:00
Kyle Spearrin e75fee5278 generate autofill script for card 2017-10-17 22:53:26 -04:00
Kyle Spearrin 3d45cfc7b8 fields are for all types 2017-10-17 21:35:27 -04:00
Kyle Spearrin 0e692d8c86 restructure autofill class for fillscripts by type 2017-10-17 21:30:30 -04:00
Kyle Spearrin a0b953208d only copy totp on login types 2017-10-17 21:10:44 -04:00
Kyle Spearrin 5b6158c0b7 back everywhere, a few password history touch-ups 2017-10-17 17:09:48 -04:00
Oscar Hinton f1262147a3 History of generated passwords (#310)
* Save last 5 passwords.

* Move password history to seperate page.

* Use the util helpers for accessing the local storage.

* Change close to back for password history. Remove unused html.

* Change orderBy to use the date instead of magic array.

* Move historyService to background.

* Add passwords generated from shortcut and contextmenu to history.

* Fix return to edit/add not working in password generator history.

* Change password icon to clipboard.

* Change link to password history to use on-click.

* Clear password generator history on logout.

* Code style fix.

* Add new .wrap class for wrapping long text. Fix password icon.
2017-10-17 16:42:05 -04:00
Kyle Spearrin 0c8ae91d83 revert api screw up 2017-10-17 15:22:40 -04:00
Kyle Spearrin e87f9e268a autofill ui for other types. autofill fixes 2017-10-17 15:22:16 -04:00
Kyle Spearrin 09c340bbe5 Q shorthand 2017-10-17 12:23:32 -04:00
Kyle Spearrin 999689cf7e more promise/utils helper conversions 2017-10-17 12:22:50 -04:00
Kyle Spearrin 0fdee0f13b promise conversions 2017-10-17 09:25:22 -04:00
Kyle Spearrin 1b66b255f3 folder save fixes 2017-10-17 09:07:36 -04:00
Kyle Spearrin ec3f0b25f6 save with server fixes 2017-10-17 09:00:01 -04:00
Kyle Spearrin ba4e2eae15 refactor out callbacks from folderService 2017-10-17 00:03:27 -04:00
Kyle Spearrin ea1ef54c95 rename sorts 2017-10-16 23:21:12 -04:00
Kyle Spearrin 6722793087 rename loginService to cipherService 2017-10-16 23:11:32 -04:00
Kyle Spearrin ad285a7605 action buttons component 2017-10-16 14:45:47 -04:00
Kyle Spearrin fd146afb69 more fixes 2017-10-16 10:20:46 -04:00
Kyle Spearrin 176b9a8ed0 add/edit/view fixes for ciphers 2017-10-16 10:09:17 -04:00
Kyle Spearrin 355a58f67c service fixes for ciphers 2017-10-14 14:29:10 -04:00
Kyle Spearrin 5a1bf8299f vault listing page fixes 2017-10-13 23:11:42 -04:00
Kyle Spearrin b5c70c4941 encrypt cipher data 2017-10-13 22:34:36 -04:00
Kyle Spearrin 925102a86b fcall to just Q() 2017-10-13 21:39:31 -04:00
Kyle Spearrin 2b5915b257 convert to promises. loginService cipher refactor 2017-10-13 17:07:20 -04:00
Kyle Spearrin 44f5812a36 build models for cipher types 2017-10-13 14:04:03 -04:00
Oscar Hinton a99ce875ca Website icons (#285)
* Initial attempt at adding favicons.

* Cache the favicons for 30 days.

* Refactor faviconService, remove unused faviconDirective.

* Change icon url to icons.bitwarden.com. Update style to support dynamic size of icon.

* Use hostname instead of domain.

* Fix getFavicon throwing an exception if the uri is not a valid url.

* Add enabled property to faviconService to prevent slow calls to storage. Fixed chrome not displaying chrome://favicon properly.

* Fix chrome disable favicon not working as expected.

* Add default icon.

* Fix jshint errors.

* Cleanup of faviconService, removed caching related code. Add faviconComponent for handling favicons.

* Remove faviconService, moved functionallity into faviconComponent.

* Fix faviconComponent not updating when uri changes.

* Rename favicon to icon.

* Improve whitelist.
2017-10-12 14:48:29 -04:00
Kyle Spearrin 5a6c43e46e dont skip totp copy if from autofill command 2017-10-11 22:52:46 -04:00
Kyle Spearrin 847c3df7df remove query string from manifest popup 2017-10-11 22:30:47 -04:00
Kyle Spearrin 41c3007821 expand vault uses a popup instead of a new tab 2017-10-10 12:42:24 -04:00
Kyle Spearrin 22e1c7d58d only skip username only fill when from autofiller 2017-10-07 13:17:43 -04:00
Kyle Spearrin 7561ae4996 skip autofill username option 2017-10-07 13:10:04 -04:00
Kyle Spearrin 79f20f09cb lint fixes 2017-10-06 10:36:45 -04:00
Kyle Spearrin d4cf0fe338 manage ui location for popup app 2017-10-06 00:05:08 -04:00
Kyle Spearrin 311a18a307 add site form and autofill detection improvements 2017-10-05 22:30:46 -04:00
Kyle Spearrin 9aaf080716 autofill adjustments 2017-09-29 15:12:23 -04:00
Kyle Spearrin 714b166035 sidebar is only available in newer ff versions 2017-09-29 09:13:21 -04:00
Kyle Spearrin 3ce2fb484a fix remember bug and auto-focus on lock screen 2017-09-28 11:03:41 -04:00
Kyle Spearrin 6fa5582883 added support for sidebar 2017-09-28 10:39:31 -04:00
Kyle Spearrin 068fd5d06c add/edit login custom fields 2017-09-25 10:20:26 -04:00
Kyle Spearrin eace0f32f0 copy totp to clipboard from popup document in ff 2017-09-22 15:31:31 -04:00
Kyle Spearrin 5089cbded6 autofill fixes 2017-09-22 15:11:30 -04:00
Kyle Spearrin 19621accaa Auto-fill additions/improvements
- Auto0fill custom fields
- Smarter auto-fill detection for usernames
- Auto-fill username even if no password on screen
2017-09-22 12:10:19 -04:00
Kyle Spearrin 835bb6ffa7 login custom fields view/edit 2017-09-21 22:45:24 -04:00
Kyle Spearrin 56e1f6c25b cipher request login subclass, sync fixes 2017-09-21 10:43:33 -04:00
Kyle Spearrin 8a1e8678f8 move from login to cipher apis 2017-09-20 17:13:38 -04:00
Kyle Spearrin b48c86a572 remove debug logging from sync operations 2017-09-20 12:33:18 -04:00
Kyle Spearrin fd538494c0 convert to using new sync api 2017-09-20 12:28:41 -04:00
Kyle Spearrin d1fb388ea3 switch back to forge decrypt implementation (perf) 2017-09-19 12:47:52 -04:00
Kyle Spearrin 9ee016251a move jwt token to authorization header 2017-09-14 13:21:00 -04:00
Kyle Spearrin e9e0abd792 log sync service 2017-09-08 13:39:14 -04:00
Kyle Spearrin f36c046a36 doRefreshToken to its own function 2017-09-07 23:56:05 -04:00
Kyle Spearrin 41c32f3874 auto-fill basic auth prompts 2017-09-07 23:26:56 -04:00
Kyle Spearrin 01e48377e9 combine token refresh methods. added api logging 2017-09-07 13:21:49 -04:00
Kyle Spearrin ff0fde161e rebuild tokenrequest obj on login api 2017-09-06 15:52:06 -04:00
Kyle Spearrin 4641240d47 refactor custom env urls, cleanup bg script a bit 2017-09-04 12:09:11 -04:00
Kyle Spearrin 1f8e30b5cd catch security error when setting env urls 2017-09-03 12:58:42 -04:00
Kyle Spearrin 19a59e6177 remove old auth bearer code. move sync methods 2017-08-31 14:17:52 -04:00
Kyle Spearrin 43c27387fc use access_token3 still for now 2017-08-30 13:00:43 -04:00
Kyle Spearrin de097eaacf fix this reference to sort method 2017-08-30 08:43:06 -04:00
Kyle Spearrin ae6c609c91 move sort to service 2017-08-30 08:35:34 -04:00
Kyle Spearrin e01f3fd40c sort fixes when never used 2017-08-29 13:03:08 -04:00
Kyle Spearrin 518585cfb5 track last used autofill for priority filling 2017-08-29 12:52:11 -04:00
Kyle Spearrin 8804cc5a96 lint fixes 2017-08-29 12:49:44 -04:00
Kyle Spearrin 69abbdaf8d fixes for edge 2017-08-28 22:27:29 -04:00
Kyle Spearrin c66803ce1f web vault url environment for U2F 2017-08-28 18:08:08 -04:00
Kyle Spearrin ad544e5240 refactor autofill. add auto-fill on page load 2017-08-28 13:00:46 -04:00
Kyle Spearrin c40465f292 handle revision api failure case 2017-08-28 11:24:14 -04:00
Kyle Spearrin 220703a9d7 environment settings 2017-08-22 12:01:17 -04:00
Kyle Spearrin 966927fe3c revert to single access token param 2017-08-10 10:16:26 -04:00
Kyle Spearrin 3ee9b1bba1 makeEncKey to use UInt8Array 2017-08-04 15:29:44 -04:00
Kyle Spearrin dedd64b82a added missing two-step login i18n strings 2017-07-31 09:54:52 -04:00
Kyle Spearrin a6ee05ef93 added option to disable auto totp copying 2017-07-22 23:09:01 -04:00
Kyle Spearrin 592b14149f copy totp to clipboard when autofilling 2017-07-22 23:09:01 -04:00
Kyle Spearrin e4baa19232 lint fixes 2017-07-14 15:34:05 -04:00
Kyle Spearrin cf850838b5 lint fixes 2017-07-14 15:09:41 -04:00
Kyle Spearrin 3a8f149008 premium membership page 2017-07-13 22:33:34 -04:00
Kyle Spearrin 1c693a45b3 totp alg updates 2017-07-13 14:46:16 -04:00
Kyle Spearrin 81ad214f2f misc fixes 2017-07-12 13:38:06 -04:00
Kyle Spearrin 13fbfc43f9 folder fixes 2017-07-12 10:16:04 -04:00
Kyle Spearrin 0574c538e7 upload new attachments 2017-07-12 09:57:08 -04:00
Kyle Spearrin 63be97d1b9 attachment display and download. refactor to WC 2017-07-11 23:04:53 -04:00
Kyle Spearrin 94a13954a5 get premium status from token 2017-07-11 14:54:36 -04:00
Kyle Spearrin 21feb653cb totp code management and countdown timer 2017-07-11 14:05:04 -04:00
Kyle Spearrin fccaa5f8de i18nService fix for none folder 2017-07-11 13:05:56 -04:00
Kyle Spearrin 4e270cc1cb u2f fixes. bg vars with prefix 2017-06-26 23:55:51 -04:00
Kyle Spearrin 1d102cad93 two factor page cleanup 2017-06-26 22:24:10 -04:00
Kyle Spearrin 7815af24e5 two-factor support in browser extensions 2017-06-26 15:37:15 -04:00
Kyle Spearrin f6fc8a4a0f local desktop https endpoints 2017-06-26 09:38:17 -04:00
Kyle Spearrin 39cc97e6e5 last check on revision date lookup 2017-06-20 23:01:02 -04:00
Kyle Spearrin 8ff336d103 hmac check on rsa decrypt 2017-06-19 11:09:48 -04:00
Kyle Spearrin 4b9712d034 remove deprecated "sites" api endpoint 2017-06-16 12:35:46 -04:00
Kyle Spearrin 34696ed85f never option on save login notification
closes #85
2017-06-13 13:59:16 -04:00
Kyle Spearrin 6e9d4e8d6e clear enc key from memory on lock as well 2017-06-13 11:59:26 -04:00
Kyle Spearrin e079b70e6a added lock now option 2017-06-13 11:53:08 -04:00
Kyle Spearrin bc9504f039 do not set undefined properties 2017-06-06 08:48:05 -04:00
Kyle Spearrin c6533a961a prod server 2017-06-05 21:15:27 -04:00
Kyle Spearrin 5b6c8c3480 clear private key from memory only when locked 2017-06-05 16:01:29 -04:00
Kyle Spearrin 96be646641 idle locking and lock service refactor 2017-06-05 14:27:24 -04:00
Kyle Spearrin 16098a1743 support user encryption key 2017-06-02 00:10:29 -04:00
Kyle Spearrin 038e95dbdf only get keys if private key returns null 2017-05-22 09:28:11 -04:00
Kyle Spearrin 81101f2890 reject referred instead of throwing exceptions 2017-05-22 09:03:59 -04:00
Kyle Spearrin cd07f58535 choose auth scheme based on token issuer 2017-05-05 23:19:38 -04:00
Kyle Spearrin 0e30362173 move to new identity domain and auth scheme 2017-05-05 21:54:49 -04:00
Kyle Spearrin f6952177ed comment update 2017-04-27 12:13:55 -04:00
Kyle Spearrin 585a603cf6 protect mac comparisons from timing attacks 2017-04-27 12:01:22 -04:00
Kyle Spearrin 1ce4b5443b bug fixes around fetching keys for org sync 2017-04-26 11:59:31 -04:00
Kyle Spearrin 154427a0f3 get private key if not available during sync 2017-04-25 16:25:22 -04:00
Kyle Spearrin f04908058f add more api environments 2017-04-25 13:19:34 -04:00
Kyle Spearrin 9bf77ec1c3 encrypt login with org key 2017-04-24 14:16:12 -04:00
Kyle Spearrin 17b6061f40 sync org keys and folders 2017-04-24 11:08:32 -04:00
Kyle Spearrin 0ea89bf9da only clear memory org keys when locked 2017-04-24 10:53:23 -04:00
Kyle Spearrin 8c38480db8 private keys, rsa dec, org keys w/ login dec 2017-04-24 10:39:05 -04:00
Kyle Spearrin 2be7d1a242 rename CryptoKey to SymmetricCryptoKey 2017-04-22 14:38:41 -04:00
Kyle Spearrin 863cfbad4a refactor for enc type header and CryptoKey 2017-04-22 10:58:32 -04:00
Kyle Spearrin 9e6c0f79ef Added export vault function to tools. 2017-04-12 08:45:31 -04:00
Kyle Spearrin 45d6c6f341 better domain parsing with tldjs backup 2017-03-28 22:11:47 -04:00
Kyle Spearrin 02dc3609b4 remove old sync code 2017-03-23 10:53:33 -04:00
Kyle Spearrin 123fe19ee3 Logging around api logout 2017-03-15 19:26:16 -04:00
Kyle Spearrin ec08efdcd7 setLastSync whenever account revision check determines that nothing has changed 2017-03-14 22:51:47 -04:00
byron jones 84821fd67d Add option to disable content menu integation (#99)
* Add option to disable content menu integation

Fixes issue #98

* pass tab to contextMenuReady
2017-03-03 22:33:17 -05:00
byron jones 0298c19e13 Fix password generation's handling of the ambiguous option. (#100)
* Fix password generation's handling of the ambiguous option.

Fixes #97

* Invert options.ambiguous's value in the UI.

options.ambiguous means "allow ambiguous characters", however the
checkbox is labeled "avoid ambiguous characters".  inverse the value at
display time to reflect to reflect reality.
2017-03-01 22:55:37 -05:00
Kyle Spearrin df3893722c various bug fixes #92 #84 2017-02-23 19:31:29 -05:00
Kyle Spearrin 8a2510bcb1 utf8 encode params for key derivation 2017-02-15 19:02:55 -05:00
Kyle Spearrin a9be800f9e logout on token error only if its a 400 2017-02-10 19:21:18 -05:00
Kyle Spearrin e3bc6443dd null check on lastSync 2017-02-07 21:45:29 -05:00
Kyle Spearrin 88b2d1270a cache _decodedToken 2017-02-04 21:58:16 -05:00
Kyle Spearrin cf7e7a04da remove old code from token service 2017-01-28 16:48:23 -05:00
Kyle Spearrin 4df99d2d50 added device registraiton to token migration 2017-01-25 22:57:32 -05:00
Kyle Spearrin 4be033df71 Added device registration information during authentication 2017-01-25 20:42:09 -05:00
Kyle Spearrin 5a20f9de01 react to TwoFactorProviders 2017-01-25 00:34:57 -05:00
Kyle Spearrin 6c8f2d526c adjusted token service gets for new claims 2017-01-24 22:57:21 -05:00
Kyle Spearrin a55a70564f set last sync on sync service 2017-01-24 00:30:45 -05:00
Kyle Spearrin b0a7b88585 user can be authenticated when under old auth bearer token 2017-01-23 23:51:12 -05:00
Kyle Spearrin a9fbc92943 pass phony username/pass. do syncing steps synchronously. 2017-01-21 23:34:12 -05:00
Kyle Spearrin ca6de7d9ec pass self to helper 2017-01-21 22:07:08 -05:00
Kyle Spearrin 4968a00dcf handle traferring old auth bearer 2017-01-21 22:00:02 -05:00
Kyle Spearrin e1ed7587dc pass logout function to api service rather than relying on messaging 2017-01-21 20:00:25 -05:00
Kyle Spearrin 8dbb2ece42 autofill fixes 2017-01-21 12:38:52 -05:00
Kyle Spearrin 33ce9be01c added easy comment switching of prod/local api endpoints 2017-01-19 19:21:22 -05:00
Kyle Spearrin 0bd77352b0 Added refresh token check for each API call. refactored logout messaging from authService 2017-01-19 00:21:20 -05:00
Kyle Spearrin 0b63eb58ba Added two factor flow into identity login 2017-01-18 22:14:51 -05:00
Kyle Spearrin 6bb6c7074b convert to identityserver auth 2017-01-17 23:07:46 -05:00
Kyle Spearrin f84bfcb19a fix sync bugs on login/logout 2017-01-17 21:43:26 -05:00
Kyle Spearrin 80945bd3bc push original domain if it doesnt belong to any eqiv groups 2017-01-14 17:58:22 -05:00
Kyle Spearrin 54119e1e94 Checking for equivalent domains from settings 2017-01-14 13:43:59 -05:00
Kyle Spearrin bb56f9ee47 poll new revision date instead of full sync each time 2017-01-14 12:47:11 -05:00
Kyle Spearrin c18cdd6206 sync domains 2017-01-14 11:20:44 -05:00
Kyle Spearrin 65d822716e fix computeMac 2017-01-13 00:22:42 -05:00
Kyle Spearrin 3728cd8e1d convert cryptoservice from sjcl to forge 2017-01-12 23:57:56 -05:00
Kyle Spearrin fb486003b5 Refactored rename of Sites => Logins 2017-01-03 18:40:07 -05:00
Kyle Spearrin 53cd3d7848 Feature settings. i18n of notification bar. 2016-12-30 20:55:59 -05:00
Kyle Spearrin 2310f5ebdf Add new login with save from notification bar 2016-12-30 14:26:22 -05:00
Kyle Spearrin 4bd34598b1 detect login form submitted and show notification 2016-12-30 02:09:54 -05:00
Kyle Spearrin 3b78c0c3ed datatype text when no body response 2016-12-29 16:09:28 -05:00
Kyle Spearrin 6af283b947 Do not set datatype on API calls where there is no response. causes jqeury to error. (revert fb94764) 2016-12-26 21:40:21 -05:00
Kyle Spearrin 588652b721 i18n fixes 2016-12-23 23:57:18 -05:00
Kyle Spearrin fb94764d7a explicitly set data types for all ajax calls 2016-12-19 09:46:39 -05:00
Kyle Spearrin 70ded7f57b Added encrypt-then-mac support to cryptoService 2016-12-10 10:33:58 -05:00
Kyle Spearrin 4476eb7389 Added new page for viewing sites within a folder 2016-12-06 23:54:03 -05:00
Kyle Spearrin 4741eb91dd few fixes to analytics, checkboxes, and sweetalerts 2016-12-02 00:05:57 -05:00
Kyle Spearrin 9bf2c4f54c comment updates 2016-11-26 14:41:08 -05:00
Kyle Spearrin 3e2663e9d4 autofill improvements to fallback when no "viewable" password/username fields are detected. 2016-11-26 12:06:39 -05:00
Kyle Spearrin 1968dd2d08 use es6 Proxy for i18n service so we don't have to define properties for every string 2016-11-19 00:21:47 -05:00