* Add state and taskName in elastic page mappings
* Add state and taskName in elastic page interface
* Create page with PROCESSING state before scrapping
* Update createArticleRequest API
* Fix tests
* Add default state for pages
* Update createArticle API
* Update save page
* Update save file
* Update saving item description
* Show unable to parse content for failed page
* Fix date parsing
* Search for not failed pages
* Fix tests
* Add test for saveUrl
* Update get article saving request api
* Update get article test
* Add test for articleSavingRequest API
* Add test for failure
* Return new page id if clientRequestId empty
* Update clientRequestId in savePage
* Update clientRequestId in saveFile
* Replace article with slug in articleSavingRequest
* Add slug in articleSavingRequest response
* Depreciate article
* Use slug in web
* Remove article and highlight fragments
* Query article.slug on Prod
* Show unable to parse description for failed page
* Fix a bug having duplicate pages when saving the same url multiple times
* Add state in response
* Rename variables in removeArticle API
* Rename state
* Add state in response in web
* Make state an enum
* Open temporary page by link id
* Use an empty reader view as the background for loading pages
* Progressively load the article page as content is loaded
* Add includePending flag in getArticles API
* Set includePending = true in web
* Add elastic update mappings in migration script
* Add elastic mappings in docker image
* Move index_settings.json to migrate package
* Remove elastic index creation in api
* Move elastic migrations to a separate directory
* Remove index_settings from api docker image
Co-authored-by: Jackson Harper <jacksonh@gmail.com>
* Replace fetch with axios
* Add url in subscription
* Remove url in subscription
* Unsubscribe all newsletters before deleting that email
* Continue unsubscribing others if one got error
Turns out 10 is very low because we make CORs requests from the
browser and SWR will make background requests for some objects
like viewer. I was hitting the limit while testing search.
* add highlight mappings
* return highlight in resolvers
* temporarily skip highlight tests
* add test for getting highlights
* update merge highlight
* separate elastic methods
* roll back merge highlight test
* add highlight to elastic script
* update delete highlight in elastic
* migrate highlight data from postgres to elastic
* rescue not found exception when page is not found in the migration script
* exclude highlights in searching pages results
* search pages with highlights only with has:highlight query
* add search endpoint to search pages or highlights
* reduce code smell in search api
* fix rebase error
* fix tests
* add test for search highlight
* add test for new search endpoint
* add labels to search results
* update schema
* update search query
* fix update/share highlights
* fix rebase error
* fix tests
* add highlight model in elastic
* add savedAt and publishedAt date range in search query
* add sort by updated and recently read
* fix tests
* close db connection when tests are done
* test github action
* revert github action test
* fix rebase error
* add docker-compose for api-test
* remove unused env
* remove highlights with no page attached to
* allow get_articles resolver to search for query so we can merge it without web changes
* fix: fail to search by excluding labels with capital letter
* make all the excluded labels lowcased
* Revert "make all the excluded labels lowcased"
This reverts commit 866bed40801af522cb7f07aa3119ed813f7c34b6.
* upgrade typeorm to 3.0
* use new datasource object in typeorm 3
* fix tests
* fix tests
* migrate before creating connection
* fail the test if migration failed
next/react doesnt want child elements of the paragraphs
Improve formatting
Improve wording
Use buttons in the subscribe directly blocks
Simplify docs on setting up forwarding rules
Add extra padding on bottom of help docs
Remove unused style
Add emails help page
Improve formatting
Prefetch page content on iOS
Reduce the reader overly length now that items are precached
Add invalidation when highlights are added to items
fix missing index_settings.json file in api dockerfile for creating elastic index (#363)
Handle full email address objects in the to param from sendgrid
These come in a format like:
"jacksonh-dfdf@inbox.omnivore.app" <jacksonh-dfdf@inbox-demo.omnivore.app>
New IDs for short highlights because they dont cascade delete now
Testing CI issues
Simplify test
CI test
Use promises for async tests
Temporarily remove test to debug CI
Re-enable
re-enable test, return error
Specify a userId when looking up saved email pages
create a unique url for newsletters without a URL
Use 500ms on page test timeouts
Increase timeout
Dont use deep equal to match newsletter label
Run just the labels API
Run against just the newsletter emails
Run without the page tests
Fix
Set the allow uncaught flag
Remove highlight tests
Remove newsletters tests
more resolver tests
Remove newsetter tests
Comment out resolver tests
Use nock for external requests in tests
Specify puppeteer url for tests
Comment out more tests
uncomment tests
re-enable
re-enable email test
Re-disable
Re-enable one pdf attachment test
Re-disable pdf attachment test
Use promises on setTimeout tests
rm label tests
mv label tests into a context
Comment out pdf tests
Comment out pdf tests
Async test
Async wrappers
Delay when creating test pages
More debugging
Unique short ids
Remove potentially problematic test
Fetch page before returning for test
handler in before block
more debugging
More debugging
Move errors checks into contexts
Use a context when saving newsletters to force index refresh
Prettier fix
Fix newsletter label check, remove setTimeout
Re-enable test
timeout on pdf router handler
Fix method call
comment out PDF test
Unique fake username
Comment out PDF test
Debugging signed urls
Re-enable
New email
pdf test
PDF tests
Comment out pdf test
Add nock stubs for email URLs
Use full address for PDF test
Remove debug
Use full email addresses