Commit graph

24 commits

Author SHA1 Message Date
Ben Gotow
cff437e900
Upgrade to Electron 8, improve TS usage and TS errors outside calendar [requires re- npm install] (#2284)
* Shfit away from default exports and PropTypes for better TS support

* localize strings and expand use of types in WeekView, create new EventOccurence distinct from Event

* Remove calendar wrap, use TS enum for view type + consistent prop interface

* Bump Typescript to 3.8.3 and improve query / attribute / search typings

* Re-use the Autolinker for calendar event descriptions with aggressive phone detection

* Clean up WeekView and the editing popover, lots of cruft here

* Update ScrollRegion to initialize scrollbar provided by external ref

* Expose ScrollRegion’s resizeObserver to clean up tick interval tracking

* Simply tickGenerator and move it to a helper

* Bump to Electron 8.x for Chrome 75+ CSS features

* Bump Handlebars dep to fix annoying npm audit noise

* Remove electron-remote from electron-spellchecker

* Explicitly add node-gyp, why is this necessary?

* Fix lesslint issues

* Bump eslint and let it fix 133 issues

* Satisfy remaining eslint@2020 errors by hand

* Add tsc-watch npm script and fix all TS errors outside calendar

* Configure appveyor to publish all the pdb files it gets

* Log sync exit codes and signals for easier triage on Windows

* Upgrade npm, mark that the build process supports Node 11+ not just Node 11

* Resolve more errors

* Upgrade sqlite to be a context-aware native module

* Fix: Tab key no longer navigating into contenteditable because tabIndex not inferred

* Fix: Bad print styles because Chrome now adds more CSS of it’s own when doctype is missing

* Fix: before-navigate is now called after beforeunload
2021-02-14 15:58:22 -06:00
Ben Gotow
149b389508
Replace Babel with TypeScript compiler, switch entire app to TypeScript 🎉 (#1404)
* Switch to using Typescript instead of Babel

* Switch all es6 / jsx file extensions to ts / tsx

* Convert Utils to a TS module from module.exports style module

* Move everything from module.exports to typescript exports

* Define .d.ts files for mailspring-exports and component kit… Yes it seems this is the best option :(

* Load up on those @types

* Synthesize TS types from PropTypes for standard components

* Add types to Model classes and move constructor constants to instance vars

* 9800 => 7700 TS errors

* 7700 => 5600 TS errors

* 5600 => 5330 TS errors

* 5330 => 4866 TS errors

* 4866 => 4426 TS errors

* 4426 => 2411 TS errors

* 2411 > 1598 TS errors

* 1598 > 769 TS errors

* 769 > 129 TS errors

* 129 > 22 TS errors

* Fix runtime errors

* More runtime error fixes

* Remove support for custom .es6 file extension

* Remove a few odd remaining references to Nylas

* Don’t ship Typescript support in the compiled app for now

* Fix issues in compiled app - module resolution in TS is case sensitive?

* README updates

* Fix a few more TS errors

* Make “No Signature” option clickable + selectable

* Remove flicker when saving file and reloading keymaps

* Fix mail rule item height in preferences

* Fix missing spacing in thread sharing popover

* Fix scrollbar ticks being nested incorrectly

* Add Japanese as a manually reviewed language

* Prevent the thread list from “sticking”

* Re-use Sheet when switching root tabs, prevent sidebar from resetting

* Ensure specs run

* Update package configuration to avoid shpping types

* Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-04 11:03:12 -08:00
Ben Gotow
595c345187 Resolve localization issues tagged for followup 2018-10-07 22:19:30 -07:00
Ben Gotow
05bd2cdc8c Make all strings in the app run through intl lookup 2018-10-06 23:27:27 -07:00
Ben Gotow
17261e9083 Add countdown to undo-send toasts, show for entire period, fix composer getting “stuck”
#336 #872 #596 #390
2018-08-06 00:01:19 -07:00
Ben Gotow
1a3cca8d0a
Totally overhauled composer based on Slate (#524)
* Remove the composer contenteditable, replace with basic <textarea>

* Beginning broader cleanup of draft session

* DraftJS composer with color, style support

* Serialization/unserialization of basic styles, toolbar working

* WIP

* Switch to draft-js-plugins approach, need to revisit HTML

* Move HTML conversion functionality into plugins

* Add spellcheck context menu to editor

* Initial work on quoted text

* Further work on quoted text

* BLOCK approach

* Entity approach - better, does not bump out to top level

* Hiding and showing quoted text via CSS

* Get rid of ability to inject another subject line component

* Clean up specs, DraftFactory to ES6

* Remove old initial focus hack

* Fix focusing, initial text selection

* Remove participant “collapsing” support, it can be confusing

* Correctly terminate links on carriage returns

* Initial signature support, allow removal of uneditable blocks

* Sync body string with body editorstate

* Simplify draft editor session, finish signatures

* Templates

* Minor fixes

* Simplify link/open tracking, ensure it works

* Reorg composer, rework template editor

* Omg the slowness is all the stupid emoji button

* Polish and small fixes

* Performance improvements, new templates UI

* Don’t assume nodes are elements

* Fix for sending drafts twice due to back-to-back saves

* Fix order of operations on app quit to save drafts reliably

* Improve DraftJS-Convert whitespace handling

* Use contentID throughout attachment lifecycle

* Try to fix images

* Switch to Slate instead of DraftJS… much better

* Fix newline handling

* Bug fixes

* Cleanup

* Finish templates plugin

* Clean up text editing / support for Gmail email styles

* Support for color + size on the same node, clean trailing whitespace

* Restore emoji typeahead / emoji picker

* Fix scrolling in template editor

* Fix specs

* Fix newlines

* Re-implement spellcheck to be faster

* Make spellcheck decorator changes invisible to the undo/redo stack

* Remove comment

* Polish themplates panel

* Fix #521
2018-01-11 15:55:56 -08:00
Ben Gotow
40caf341b4 Remove “reportUserEvent” calls, remnants of analytics integration 2017-12-31 11:44:36 -05:00
Ben Gotow
e6fe78cf61 Fix: properly implement Basic limits on read receipts / tracking 2017-12-01 14:44:51 -08:00
Ben Gotow
e72ca4bb2b Don’t run the metadata handlers in secondary windows #351 2017-11-28 23:09:33 +00:00
Ben Gotow
ed71dfb66c Restore undo send functionality 2017-11-06 18:12:14 +01:00
Ben Gotow
5c16dd08a6 Run CSS/LESS autoformatter on entrie codebase 2017-10-14 17:36:44 -07:00
Ben Gotow
631101fb12 Fix linter errors, replace old references to N1 2017-10-08 11:18:29 -07:00
Ben Gotow
f5663514b8 Fix send later not dismissing composer window 2017-09-27 13:18:06 -07:00
Ben Gotow
97e36cb1d9 Fix remaining lint errors, make travis run tests and linters 2017-09-27 11:08:07 -07:00
Ben Gotow
71f6fd6f0b Fix React 15.x warnings in preparation for React 16 sometime soon 2017-09-26 12:03:04 -07:00
Ben Gotow
b456dbc48d Rename nylas-api-request 2017-09-26 11:46:00 -07:00
Ben Gotow
de496c153d Remove NylasAPIHelpers, concept of “authing” a plugin 2017-09-26 11:43:02 -07:00
Ben Gotow
b6d962843e Rename nylas-component-kit, nylas-exports, nylas-store, nylas-observables 2017-09-26 11:42:18 -07:00
Ben Gotow
21a2427ddc Rename NylasEnv to AppEnv 2017-09-26 11:36:58 -07:00
Ben Gotow
0f54aa11b5 Adopt prettier , upgrade ESLint 2017-09-26 11:33:08 -07:00
Ben Gotow
38ecc23188 Make the DatePickerPopover take and return Date objects 2017-09-25 23:50:34 -07:00
Ben Gotow
1af589c935 Show “Sending now…” when a scheduled email is being sent 2017-09-25 22:35:35 -07:00
Ben Gotow
a5387ceb05 Implement send later, send reminders locally 2017-09-25 16:56:47 -07:00
Ben Gotow
9bddcaf444 Add “Pro” plugins Nylas has just open sourced! 2017-09-06 16:19:48 -07:00