Commit graph

375 commits

Author SHA1 Message Date
Hongbo Wu
a655275754 Add unique constraint on user_id and event_types 2022-05-26 14:50:10 +08:00
Hongbo Wu
aaab02c9d8 Add createWebhook gql schema 2022-05-26 14:50:08 +08:00
Hongbo Wu
7d4d1d7b67 Parse language in readability 2022-05-26 10:55:21 +08:00
Hongbo Wu
0ef9bb3944 Allow search by language in elastic 2022-05-26 10:55:20 +08:00
Hongbo Wu
87b0f683e1 Add language term in search body 2022-05-26 10:55:04 +08:00
Hongbo Wu
6e06429636 Add language keyword in search query 2022-05-26 10:55:02 +08:00
Hongbo Wu
1eeb5617a5 Search by language 2022-05-26 10:54:04 +08:00
Hongbo Wu
dd394144cd Add language in schema 2022-05-26 10:52:19 +08:00
Hongbo Wu
a702993485 Add search by language query 2022-05-26 10:52:18 +08:00
Hongbo Wu
3e0e8b486f Add language in searchitem 2022-05-26 10:52:18 +08:00
Hongbo Wu
be91562ca1 Add language in page 2022-05-26 10:52:18 +08:00
Jackson Harper
d704fad2ff
Merge pull request #701 from omnivore-app/feature/add-popular-reads
API to add recommended (popular) reads to a users library
2022-05-24 21:09:24 -07:00
Hongbo Wu
f4c65d7fe1
Merge pull request #698 from omnivore-app/sort-by-publish-time
Support sort or filter by publish time
2022-05-25 10:41:49 +08:00
Jackson Harper
a20ba60053 Add popular reads for onboarding 2022-05-24 15:31:55 -07:00
Jackson Harper
ea50f51644 Update to use image proxy URLs in parsed content 2022-05-24 13:43:57 -07:00
Jackson Harper
ed5dfde1a8 Linting fixes, remove debug 2022-05-24 13:06:40 -07:00
Jackson Harper
2b14d51ec6 API to add recommended (popular) reads to a users library
This API is used in onboarding
2022-05-24 12:05:39 -07:00
Hongbo Wu
aad8539b43 Fix tests 2022-05-24 18:39:21 +08:00
Hongbo Wu
a35b096d73 Support sort and filter by published in resolver 2022-05-24 18:25:32 +08:00
Hongbo Wu
61065efd2b Add published sort param in elastic query 2022-05-24 18:24:30 +08:00
Hongbo Wu
641f191fcd Add published sort param in schema 2022-05-24 18:23:30 +08:00
gitstart-omnivore
75728cc144 fixing diff 2022-05-24 07:04:54 +00:00
dependabot[bot]
cf516bba54
Bump ts-loader from 8.3.0 to 9.3.0
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.3.0 to 9.3.0.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.3.0...v9.3.0)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 21:20:01 +00:00
Jackson Harper
2d2495a10e
Merge pull request #685 from omnivore-app/fix/pdf-api-simplification
Simplify the API to create pages from PDFs
2022-05-21 21:19:30 -07:00
Jackson Harper
e5bc68ca9e Simplify the API to create pages from PDFs
This creates a stub page when an upload is initiated, so the
SaveFile (or create article from file) APIs do not need to be
called.

The PDF uploaded trigger fired by GCS will mark the upload
as completed and update the page status.
2022-05-21 12:05:45 -07:00
Jackson Harper
17e6f4091d
Merge pull request #638 from omnivore-app/feature/subscription-api
Feature/subscription api
2022-05-20 15:34:48 -07:00
Hongbo Wu
2ee95a1c14 Fix cannot convert null to object error message 2022-05-20 20:38:30 +08:00
Hongbo Wu
dfd6d3b602 Fix save newsletter email test 2022-05-19 18:12:58 +08:00
Hongbo Wu
444c21ad09 Fix labels test 2022-05-19 18:12:14 +08:00
Hongbo Wu
34349e925c Add unit test 2022-05-19 16:36:35 +08:00
Hongbo Wu
b8225fc8c8 Fix labels not being updated in elastic 2022-05-19 12:08:50 +08:00
Jackson Harper
eadeccce81 Linting fixes 2022-05-18 11:31:42 -07:00
Jackson Harper
004c766588 If parsing fails, attempt adding <html> wrappers to a document
LinkedDom seems less forgiving and expects the outerHTML of a
document, however older extension versions still send innerHTML.
2022-05-18 10:55:31 -07:00
Hongbo Wu
d68549bcb7 Remove unused code 2022-05-18 15:52:31 +08:00
Hongbo Wu
d9d4deb14c Update Money Stuff sign up url 2022-05-18 11:50:43 +08:00
Hongbo Wu
5b36f9270e Update milk road query params 2022-05-17 22:43:00 +08:00
Hongbo Wu
13453e7b7f Register subscribe resolver 2022-05-17 21:26:46 +08:00
Hongbo Wu
568472cc3c Calling HTTP requests to subscribe to these newsletters 2022-05-17 21:15:25 +08:00
Hongbo Wu
4699458457 Implement subscribe api 2022-05-17 18:46:57 +08:00
Hongbo Wu
1da8b75c81 Add a subscribeHandler 2022-05-17 18:46:44 +08:00
Hongbo Wu
51dd9a5733 Return a list of subscriptions 2022-05-17 18:45:52 +08:00
Hongbo Wu
c30ef093b8 Update unsubscribe api 2022-05-17 16:47:34 +08:00
Hongbo Wu
906b2d28a0 Add subscribe API schema 2022-05-17 16:23:36 +08:00
Hongbo Wu
e76fb02f43 Fix window is not defined for parsing code blocks 2022-05-17 11:01:55 +08:00
Jackson Harper
7bfb8cfee4
Merge pull request #597 from omnivore-app/remove-chrome-aws-lambda
Optimize puppeteer and remove chrome-aws-lambda dependencies
2022-05-13 16:12:24 -07:00
Jackson Harper
8b37a475c8
Merge pull request #612 from omnivore-app/fix/reminder-id-type
Use pageId instead of articleSavingRequestId in reminders
2022-05-13 10:47:46 -07:00
Jackson Harper
d3b65c0ff8
Merge pull request #611 from omnivore-app/fix/elastic-exception
Stop throwing document not found exception to sentry
2022-05-13 09:05:01 -07:00
Hongbo Wu
b306ca6e2e Fix UpdateLabelResult undefined 2022-05-13 17:38:51 +08:00
Hongbo Wu
45213e7b54 Fix reminder trigger 2022-05-13 17:07:10 +08:00
Hongbo Wu
a51eba67ba get reminder by page id 2022-05-13 16:17:25 +08:00
Hongbo Wu
d821f26440 create reminder with page id 2022-05-13 16:12:08 +08:00
Hongbo Wu
40cbfc9058 Use reminder by elasticPageId 2022-05-13 16:01:23 +08:00
Hongbo Wu
f51dbafdfc Stop throwing document not found exception to sentry 2022-05-13 11:40:08 +08:00
Jackson Harper
eee116e71d Add an analytics event when links are removed 2022-05-12 10:55:12 -07:00
Hongbo Wu
91d0d0604e Fix tests 2022-05-12 18:08:44 +08:00
Hongbo Wu
adfaf6b8ce Use newsletter's title and author as page's ones 2022-05-12 18:08:38 +08:00
Hongbo Wu
1b8850ed33 Fix tests 2022-05-12 17:41:11 +08:00
Hongbo Wu
e1e0ddf7fc
Merge pull request #582 from omnivore-app/optimize-parsing
Optimize parsing
2022-05-12 11:07:52 +08:00
Hongbo Wu
602d141dec Rename doc to dom 2022-05-12 11:00:32 +08:00
Hongbo Wu
5dca02873d Revert originalArticleUrl change 2022-05-12 10:45:13 +08:00
Hongbo Wu
8f75c43658 Add siteName in search result 2022-05-12 10:30:47 +08:00
Hongbo Wu
76aef35423 Remove www. from the siteName in the search api response 2022-05-11 23:07:34 +08:00
Hongbo Wu
0b11c31317 Add linkedom dependency in packages/api 2022-05-10 18:31:25 +08:00
Hongbo Wu
93ed1936f0 Remove jsdom in packages/api 2022-05-10 17:12:52 +08:00
Hongbo Wu
a78a6c6ba4 Replace DomWindow with Document in handlers 2022-05-10 17:01:23 +08:00
Hongbo Wu
6a57281e74 Remove DomWindow usage 2022-05-10 17:00:56 +08:00
Hongbo Wu
acc7654a2f Replace jsdom with linkedom 2022-05-10 16:59:09 +08:00
Hongbo Wu
5698790288 Pass url to readability 2022-05-10 16:53:45 +08:00
Hongbo Wu
5007b11a3c Add url to readability option 2022-05-10 16:52:10 +08:00
Hongbo Wu
59a2639b7d Reduce http call to get jsonld data if title or content or sitename or byline exists 2022-05-09 13:45:45 +08:00
Hongbo Wu
a457c9d128 Update article content only when code blocks exist 2022-05-09 13:45:45 +08:00
Hongbo Wu
eaad96acdd Return parsed dom back to backend 2022-05-06 12:29:08 +08:00
Hongbo Wu
5f5076e864 Highlight code element without reinitialize jsdom 2022-05-06 12:20:54 +08:00
Hongbo Wu
7c6b810522 Remove redundant JSDOM 2022-05-06 10:53:36 +08:00
Hongbo Wu
21ff9a5ae7 Add test for state=failed or processing 2022-05-04 21:42:59 +08:00
Hongbo Wu
93ab6bc87a Add includePending=true in search API 2022-05-04 21:28:06 +08:00
Hongbo Wu
bc1ed3f054 Check state in articleSavingRequest 2022-05-04 19:33:13 +08:00
Hongbo Wu
9e3db0e053 Fix a bug to have multiple pages with the same url in lib 2022-05-04 19:12:22 +08:00
Hongbo Wu
afe8b6e948 make savedAt a required field in page 2022-05-04 17:54:59 +08:00
Hongbo Wu
a42bb7ab38 Replace createdAt with savedAt 2022-05-04 12:59:07 +08:00
Hongbo Wu
98ea1016d5 Remove <p> tag in description 2022-05-04 12:50:22 +08:00
Hongbo Wu
9048ccbab3 Show failed pages in library 2022-05-04 12:46:57 +08:00
Hongbo Wu
ca0f58ee22 Update page content and state if failed to parse 2022-05-04 12:21:41 +08:00
Hongbo Wu
80d0146f72 Show unable to parse if page is failed to save within 30 seconds 2022-05-04 11:55:16 +08:00
Jackson Harper
c8c4377346
Merge pull request #531 from omnivore-app/fix/saving-analytics
Add more detailed analytics for saving. Remove intercom events
2022-05-02 21:14:18 -07:00
Jackson Harper
95b163a437 Prettier clean up 2022-05-02 20:58:05 -07:00
Jackson Harper
ab96bb09ab Add more detailed analytics for saving. Remove intercom events 2022-05-02 20:41:10 -07:00
Jackson Harper
b649d583b7 Linting changes 2022-05-02 15:58:40 -07:00
Jackson Harper
453b301e74 Allow looking up articles by ID
iOS needs to be able to lookup an article by its ID not its
slug, because the slug can change once saved.
2022-05-02 15:48:21 -07:00
Jackson Harper
9e94ed5067 We need node-gyp when building API in docker 2022-05-02 11:00:39 -07:00
Jackson Harper
61b7ac3cb2 Enable graphql introspection when running locally 2022-05-02 09:44:13 -07:00
Hongbo Wu
77ca0ceb59 Show empty description if not exist 2022-04-29 15:50:39 +08:00
Hongbo Wu
2b70d480d2
Remove article saving request (#493)
* 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>
2022-04-29 13:41:06 +08:00
Hongbo Wu
ccb79845bc
Fix subscriptions issues (#501)
* 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
2022-04-29 11:16:46 +08:00
Hongbo Wu
d1c2721b95
Add expiration date to api key generation (#495)
* Add exp to jwt token

* Add expiredAt in generate api key input

* Check exp in claim

* Add tests
2022-04-28 09:09:40 +08:00
Jackson Harper
9362aa54c7
Merge pull request #443 from omnivore-app/dependabot/npm_and_yarn/cookie-0.5.0
Bump cookie from 0.4.2 to 0.5.0
2022-04-22 13:07:59 -07:00
Hongbo Wu
bcbda50daa Add basic UI for subscriptions 2022-04-22 12:17:09 -07:00
Hongbo Wu
3e35fb1aca Email content display report 2022-04-22 19:14:59 +08:00
Hongbo Wu
71aa66ea9c
Allow search for subscription:name (#461) 2022-04-22 08:47:41 +08:00
Jackson Harper
0a4d55ef15 Increase the rate limit
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.
2022-04-21 14:59:57 -07:00