Commit Graph

41 Commits

Author SHA1 Message Date
2ebdaba780 add generate api key api and test (#392)
* add generate api key api and test

* test if user can make api call with the api key
2022-04-12 12:11:45 +08:00
b4420839bd fix: fail to search by excluding labels with capital letter (#400)
* 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.
2022-04-11 14:05:21 +08:00
6d405432af add site_name and site_icon to page model and return in resolver (#341)
* add site_name and site_icon to page model and return in resolver

* fix tests
2022-03-30 10:43:10 +08:00
acec3b1acb Use lower priority queue for large imports
* add a count query in elastic
  * if priority is not set, check the rate limit of user's libary
    - if 5 articles added in the last minute: use low queue
    - default: use normal queue
2022-03-22 18:08:08 +08:00
1893e36375 Fix uploading endpoint returns 504 (#289)
* add timeout = 60s for uploading to private bucket

* add debug logs

* send response to client to close connection

* add tests for upload

* add PUBSUB_VERIFICATION_TOKEN in .env.test
2022-03-22 14:20:40 +08:00
7910565dbf Merge pull request #251 from omnivore-app/fix/jsonld-encoding
Use html decoding when getting values from fetched oembed
2022-03-17 16:53:21 -07:00
a2ce98229e default sort by savedAt to avoid recent read page to appear on top of… (#254)
* default sort by savedAt to avoid recent read page to appear on top of the list

* revert lint on generated code
2022-03-17 10:54:00 +08:00
ff1200f3a1 Use html decoding when getting values from fetched oembed
If we fetch oembed data from an external source, instead of
handling it in readabilityjs we need to html decode it.
2022-03-16 15:29:42 -07:00
27157006c1 use private bucket to upload page events (#244)
* use private bucket to upload page events

* fix tests

* add GCS_UPLOAD_PRIVATE_BUCKET in test env

* allow GCS_UPLOAD_PRIVATE_BUCKET to be empty
2022-03-16 14:39:07 +08:00
e652a6ea8c Rebased version of the elastic PR (#225)
* Add elastic to our docker compose

* add AND/OR/NOT search operations

* add elastic and create article in elastic

* change error code when elastic throws error

* add search pages in elastic

* add search by labels

* Add elastic to GitHub Action

* Update elastic version

* Fix port for elastic

* add url in search query

* Set elastic features when running tests

* add debug logs

* Use localhost instead of service hostname

* refresh elastic after create/update

* update search labels query

* add typescript support

* search pages in elastic

* fix search queries

* use elastic for saving page

* fix test failure

* update getArticle api to use elastic

* use generic get page function

* add elastic migration python script

* fix bulk helper param

* save elastic page id in article_saving_request instead of postgres article_id

* fix page archiving and deleting

* add tests for deleteArticle

* remove custom date type in elastic mappings which not exist in older version of elastic

* fix timestamp format issue

* add tests for save reading progress

* add tests for save file

* optimize search results

* add alias to index

* update migration script to receive env var as params

* Add failing test to validate we don't decrease reading progress

This test is failing with Elastic because we aren't fetching
the reading progress from elastic here, and are fetching it
from postgres.

* Rename readingProgress to readingProgressPercent

This is the name stored in elastic, so fixes issues pulling the
value out.

* Linting

* Add failing test for creating highlights w/elastic

This test fails because the highlight can't be looked up. Is there
a different ID we should be passing in to query for highlights,
or do we need to update the query to look for elastic_id?

* add tests code coverage threshold

* update nyc config

* include more files in test coverage

* change alias name

* update updateContent to update pages in elastic

* remove debug log

* fix createhighlight test

* search pages by alias in elastic

* update set labels and delete labels in elastic

* migration script enumeration

* make BULK_SIZE an env var

* fix pdf search indexing

* debug github action exit issue

* call pubsub when create/update/delete page in elastic

* fix json parsing bug and reduce reading data from file

* replace a depreciated pubsub api call

* debug github action exit issue

* debug github action exit issue

* add handler to upload elastic page data to GCS

* fix tests

* Use http_auth instead of basic_auth

* add index creation and existing postgres tables update in migration script

* fix a typo to connect to elastic

* rename readingProgress to readingProgressPercent

* migrate elastic_page_id in highlights and article_saving_request tables

* update migration script to include number of updated rows

* update db migration query

* read index mappings from file

* fix upload pages to gcs

* fix tests failure due to pageContext

* fix upload file id not exist error

* Handle savedAt & isArchived attributes w/out quering elastic

* Fix prettier issues

* fix content-type mismatching

* revert pageId to linkId because frontend was not deployed yet

* fix newsletters and attachment not saved in elastic

* put linkId in article for setting labels

* exclude orginalHtml in the result of searching to improve performace

* exclude content in the result of searching to improve performace

* remove score sorting

* do not refresh immediately to reduce searching and indexing time

* do not replace the backup data in gcs

* fix no article id defined in articleSavingRequest

* add logging of elastic api running time

* reduce home feed pagination size to 15

* reduce home feed pagination size to 10

* stop revalidating first page

* do not use a separate api to fetch reading progress

* Remove unused comment

* get reading progress if not exists

* replace ngram tokenizer with standard tokenizer

* fix tests

* remove .env.local

* add sort keyword in searching to sort by score

Co-authored-by: Hongbo Wu <hongbo@omnivore.app>
2022-03-16 12:08:59 +08:00
2184c2a8d3 Parse online URLs for beehiiv newsletters 2022-03-07 15:49:44 -08:00
2cb5cc065a Add support for identifying newsletters hosted on beehiiv.com 2022-03-07 15:23:56 -08:00
b6fd3e786e Fix parsing authors from page metadata 2022-03-03 19:40:02 -08:00
49092b707d Remove async 2022-03-03 19:31:51 -08:00
05373ba3c7 add methid to parse content metadata 2022-03-03 17:10:06 -08:00
c2e08d0e8f Fetch title and author from page metadate if possible 2022-03-03 15:20:58 -08:00
b326a5f8e7 Add more matches on substack icons 2022-03-03 13:42:30 -08:00
484cd78ac5 prettier 2022-03-02 23:14:10 -08:00
65ce8353dc Attempt to pull URLs for probable newsletter emails out of content 2022-03-02 23:09:10 -08:00
65cc666579 Pass HTML instead of a JSDOM into isProbablyNewsletter to better encapsulate 2022-03-02 20:38:11 -08:00
c4e237927d Allow any on GCP func 2022-03-02 20:27:40 -08:00
e660e41ed5 Fix warnings 2022-03-02 19:49:10 -08:00
9206230659 Better name for the save newsletter service 2022-03-02 19:45:28 -08:00
d66c114a7d Remove file, this is moved into the parser 2022-03-02 16:36:36 -08:00
b5f9478350 Dont mutate function input 2022-03-02 16:34:56 -08:00
f7f83fe080 New function to determine if an HTML blob is probably a newsletter based on its content 2022-03-02 16:31:15 -08:00
505f888e37 Update to latest intercom client 2022-03-01 11:20:31 -08:00
fc9aa9452c Add a flag in readability to retain table elements in newsletter emails (#152)
* add a flag in readability to retain table elements in newsletter emails

* remove header of axios newsletters
2022-03-01 11:49:38 +08:00
328ebc48cb Apply code block highlighting before running DOM clean 2022-02-26 19:04:32 -08:00
fd39923907 Prettier improvements 2022-02-26 16:38:43 -08:00
84fbc9cd27 Add code highlighting using highlight.js 2022-02-26 14:57:59 -08:00
fc18004a5d add labels in search query 2022-02-24 14:44:49 +08:00
edb9339897 add labels and link_labels table name 2022-02-24 14:44:49 +08:00
9599c98c77 add label filters in search query 2022-02-24 14:44:49 +08:00
05aa5d737e Merge pull request #82 from omnivore-app/feature/bloomberg-newsletters
Add support for Bloomberg newsletter
2022-02-18 01:08:46 +08:00
9431e80be8 add parser 2022-02-17 20:17:02 +08:00
e3839647e1 parse bloomberg newsletter 2022-02-17 20:14:06 +08:00
7229c64da0 fix: Should not get fake uploading url in demo (#79)
* fix not getting fake uploading url in demo

* use internal service endpoint env

* update internal svc endpoint
2022-02-17 13:34:50 +08:00
bd8178a464 add support for bloomberg newsletters 2022-02-17 13:19:58 +08:00
e85273d87a add support for axios newsletters (#49)
* add support for axios newsletters

* fix raw url

* fix getting newsletter url from axios

* add test for url

* add axios parser
2022-02-15 11:56:03 +08:00
84f32935f5 Open source omnivore 2022-02-11 09:24:33 -08:00