Release/0.4.0#427
Merged
blackforestboi merged 128 commits intomasterfrom Jun 21, 2018
Merged
Conversation
First stab on Git Flow implementation. Updates for next release go in here, rest of PR's go to develop. Release contains: - Feature: Excluding pages with terms and domains in search results. - Bug fixes (@poltak, can you add those here?)
* Catch old index interface method errors - most old index methods use `makeIndexFnConcSafe` to handle concurrency with the index queue; put a `.catch` on that - surprised that people are still on old index.... * Fix old index uncaught bookmarking errors * Fix misc. uncaught fetch calls * Fix favicon data URL => Blob error handling - need to handle invalid data URLs; occured a few times * Fix issue in imports UI state derivation - we used to have old extension migration in imports, but we got rid of it - data could still be in local storage, so make sure we are only setting the data we need * Remove JSON serde on imports state persistence - local storage doesn't need to be a string in web exts; I think this was set up a long time ago and we forgot about - could have been the cause of UI perf. issues: parsing is CPU-bound - as imports progresses, amount of crap needed to parse increased - bonus either way
- old options has `font-weight: bold;` rule, but didn't import the default Open Sans bold (700), it was falling back to 600 - now that more Open Sans weights are supported, it's defaulting back to 700 and thus looks a bit weird
> adding tooltip info about queries.
- now `-site:github.com` should exclude `github.com`
- if you did an omnibar search from an overview tab, it would easily mess up if any of the prev search params clash with new ones - it should be pure: each URL maps to the same search params every time
- simply recreates the ts, js, css compilation into differenent extension scripts now Bring over static files copy stage in webpack build - now it builds a usable extension in <20s :D - removed the unused `src/update` stuff (we used to show a page on update when we released the big old->new extension update) - updated all the links to the bundles (now they're in the root of the `extension/` build dir) Refactor build config into feature module dir - getting big and messy; refactor to small modules - updated npm build + watch scripts; old ones have `-old` postfix Add support for web ext auto-reload on rebuild Add process.env support to build Add webpack support for importing images - svgs included Esnure external package CSS gets imported - we use this for slick-carousel in the tutorial and date picker in overview - slick-carousel was statically copied and brought in via an HTML link before - date picker was imported directly, but we needed to change from using the css-modules version to standard css Set up webpack HTML generation - can keep slimming down the stuff manually linked inside the HTML until no need for the separate templates Move to a single HTML template to generate from - generated for popup and options scripts only Remove clean webpack plugin - not much need I think; subsequent builds just overwrite old and there's no hashing or anything needed since we're a web ext Differentiate dev and prod source map generation - so many different options to pick from: https://webpack.js.org/configuration/devtool/ - this one for dev seems to be fairly fast (<20s initial build, 1-3s inc. builds) - may change the prod ones as we only need them to upload to sentry apparently Misc. build optimizations - followed these docs for a few helpers https://webpack.js.org/guides/build-performance/ Implement multi-thread JS/TS compile + better caching - will run multiple babel/ts-loader instances to compile our code-base. # of threads will be your # of CPUs - 1 - intermediate module caching now done via HardSourcePlugin (greatly speeds up subsequent builds; ~6s now for me) Run fork TS checker plugin synchronously - default is async, but when your typechecking is much faster than your compilation, it's recommended to run sync for better accuracy: https://github.com/Realytics/fork-ts-checker-webpack-plugin#options - no noticable perf issues - also add npm scripts for manual cache clearing + bundle stats Disable webext reload plugin due to perf issues - added 2-4s onto each incremental build; these are the most important build times IMO - may raise issue upstream or look into code to find out why (something to do with the reload?) Set up automated asset linking in generated HTML Set up TS+JS+CSS linting in build and npm script - updated versions, made sure everything passes, moved configs to JS files for more flexibility - set up parallel `lint` npm script and ensured other linters all have scripts - set up webpack build to do linting Add optional support for OS build notifs - I really find this useful; non-default `watch:notifs` script though, as some people may find it very annoying Remove caching from prod build Fix broken test - no idea how this broke :/ the import was wrong, so not sure why it was passing before Set up CI specific build - linters disabled (they are run separately) - no multi-threaded JS/TS loaders (TS plugin still runs on separate thread; not sure if 1 extra thread is an issue) Ensure gulp build unchanged - some issue with how I changed things to work with webpack build - moved slick CSS stuff back to HTML <link>s - added loader for vanilla CSS from node_modules (prev using webpack loaders in import) Fix shadowed var name regression in imports data-sources - some how this broke; still unsure how - broken in both old and new build - simply changing the var name (dirNode was also defined in the outter scope) fixed this Remove sourcemaps from CI build Ensure redux devtools still works - updated versions as well
Webpack build
- not entirely finished Move to extracted CSS to fix content_script CSS issue - style-loader doesn't seem to be able to insert the <link> tags properly in content_scripts; have played with updating the `insertInto` selector, but no results - put a note in comments to possibly come back to this later if we come up with a workaround (style-loader is nicer for dev; more possibilities like HMR) Set up sentry plugin - set to dry run for now; will need to instruct on usage (needs rc file) - will upload source maps and create a new release in sentry Set up custom asset minimization on production - webpack 4 doesn't support CSS min - thinking about this I'm not sure about the need Implement prod build extension packaging - source code packaging not yet working - opened issue upstream Implement manifest version setting from package.json
Webpack production build progress
Humanized the import estimated duration label
Ignore .DS_Store
#415 # Conflicts: # Readme.md # src/overview/filters/reducer.js
- hasn't changed in months; don't know why this is throwing lint issues just now
- consult `search-index-new/storage/types` module for more details about implemented ops - using `dexie-mongoify` to translate from the MongoDB QL filters to Dexie-compatible stuff - `findObject`/`findAll` contain an opt. 3rd param to specify some basic pagination options - this is a very basic implementation, and missing lots of useful stuff, particularly with the find ops, which we should revisit later
- just needed to change `_getDexieSchema` logic to iterate over the `indices` array rather than `fields` object - also updated tests which were expecting the unindexed fields to be in the output Dexie schemas
Direct Linking UI!
- simply recreates the ts, js, css compilation into differenent extension scripts now Bring over static files copy stage in webpack build - now it builds a usable extension in <20s :D - removed the unused `src/update` stuff (we used to show a page on update when we released the big old->new extension update) - updated all the links to the bundles (now they're in the root of the `extension/` build dir) Refactor build config into feature module dir - getting big and messy; refactor to small modules - updated npm build + watch scripts; old ones have `-old` postfix Add support for web ext auto-reload on rebuild Add process.env support to build Add webpack support for importing images - svgs included Esnure external package CSS gets imported - we use this for slick-carousel in the tutorial and date picker in overview - slick-carousel was statically copied and brought in via an HTML link before - date picker was imported directly, but we needed to change from using the css-modules version to standard css Set up webpack HTML generation - can keep slimming down the stuff manually linked inside the HTML until no need for the separate templates Move to a single HTML template to generate from - generated for popup and options scripts only Remove clean webpack plugin - not much need I think; subsequent builds just overwrite old and there's no hashing or anything needed since we're a web ext Differentiate dev and prod source map generation - so many different options to pick from: https://webpack.js.org/configuration/devtool/ - this one for dev seems to be fairly fast (<20s initial build, 1-3s inc. builds) - may change the prod ones as we only need them to upload to sentry apparently Misc. build optimizations - followed these docs for a few helpers https://webpack.js.org/guides/build-performance/ Implement multi-thread JS/TS compile + better caching - will run multiple babel/ts-loader instances to compile our code-base. # of threads will be your # of CPUs - 1 - intermediate module caching now done via HardSourcePlugin (greatly speeds up subsequent builds; ~6s now for me) Run fork TS checker plugin synchronously - default is async, but when your typechecking is much faster than your compilation, it's recommended to run sync for better accuracy: https://github.com/Realytics/fork-ts-checker-webpack-plugin#options - no noticable perf issues - also add npm scripts for manual cache clearing + bundle stats Disable webext reload plugin due to perf issues - added 2-4s onto each incremental build; these are the most important build times IMO - may raise issue upstream or look into code to find out why (something to do with the reload?) Set up automated asset linking in generated HTML Set up TS+JS+CSS linting in build and npm script - updated versions, made sure everything passes, moved configs to JS files for more flexibility - set up parallel `lint` npm script and ensured other linters all have scripts - set up webpack build to do linting Add optional support for OS build notifs - I really find this useful; non-default `watch:notifs` script though, as some people may find it very annoying Remove caching from prod build Fix broken test - no idea how this broke :/ the import was wrong, so not sure why it was passing before Set up CI specific build - linters disabled (they are run separately) - no multi-threaded JS/TS loaders (TS plugin still runs on separate thread; not sure if 1 extra thread is an issue) Ensure gulp build unchanged - some issue with how I changed things to work with webpack build - moved slick CSS stuff back to HTML <link>s - added loader for vanilla CSS from node_modules (prev using webpack loaders in import) Fix shadowed var name regression in imports data-sources - some how this broke; still unsure how - broken in both old and new build - simply changing the var name (dirNode was also defined in the outter scope) fixed this Remove sourcemaps from CI build Ensure redux devtools still works - updated versions as well
- Installed `babel-polyfill` to polyfill async/await. - Changed getURL function to support the lack of browser.extension API. # Conflicts: # yarn.lock
- Few minor style modifications.
- Also, few new design changes.
Memex.Link tooltip redesign merge
Member
Author
|
First time I saw the tooltip redesign this morning. Looks amazing! Some minor things I noticed this morning:
|
Member
|
Just gave it a test and a small thing I saw:
|
Small style changes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Creating this so we can discuss and report issues directly relating to all the new release changes.
Don't merge this though - it will be simpler to do directly via git due to the need to merge into both
masteranddevelop.