Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | web: sitemap.xml serving | Bryan Newbold | 2021-04-29 | 1 | -0/+6 |
| | |||||
* | iterate on access redirects and landing page implementation | Bryan Newbold | 2021-04-27 | 1 | -0/+1 |
| | | | | Small code refactors and minimal test coverage | ||||
* | web: initial implementation of work landing page and citation_pdf_url access ↵ | Bryan Newbold | 2021-04-23 | 1 | -2/+90 |
| | | | | | | | | | | | | redirect The initial intent is to have something that can be used by indexing services to pull the citation_pdf_url meta tag and bounce to a direct IA PDF access URL. For now the landing page stubs are just formatted as SERP results. Presumbably these will get re-styled at some point and include citation graph links, etc. | ||||
* | change health check from .exists(index) to .mapping(index) | Bryan Newbold | 2021-04-06 | 1 | -2/+2 |
| | | | | | | | | | | | | In cases where the cluser leader node is unavilable, the health check was returning false even when the local node had full shard replicas and could return requests. A refinement of this change would be to use the /<index>/_count API endpoint to ensure that the "failed" and "skipped" shard numbers are 0 (aka, "successful == total"). However, not sure where that endpoint is exposed in the elasticsearch-py API. the CatClient method doesn't seem right. | ||||
* | make fmt | Bryan Newbold | 2021-03-29 | 1 | -1/+10 |
| | |||||
* | don't use async endpoints for sync implementations | Bryan Newbold | 2021-03-29 | 1 | -3/+3 |
| | | | | | | | | | | Embarassingly, I didn't know this was an option in FastAPI! Knew that running `await` on a function that was internally doing blocking calls was really bad, but didn't know the framework had such a simple way to avoid the problem. This significantly resolves operational concerns with the current service. | ||||
* | web and API health check endpoint | Bryan Newbold | 2021-03-29 | 1 | -4/+6 |
| | | | | | | Because scholar is primarily a search service, the endpoint does a pass-through health check to the elasticsearch backend (aka, es-public-proxy). | ||||
* | web: small typos | Bryan Newbold | 2021-03-25 | 1 | -2/+14 |
| | | | | Thanks for catching these gio | ||||
* | implement additional translation languages | Bryan Newbold | 2021-03-23 | 1 | -1/+14 |
| | |||||
* | update to v0.2.0v0.2.0 | Bryan Newbold | 2021-03-23 | 1 | -1/+1 |
| | |||||
* | web: respond to HTTP HEAD / (for uptime monitoring) | Bryan Newbold | 2021-03-05 | 1 | -0/+7 |
| | | | | | Proper HTTP HEAD support for all endpoints would be better, but don't want to break CORS stuff by hacking it. | ||||
* | Revert undesirable changes | Christian Clauss | 2021-02-23 | 1 | -4/+4 |
| | |||||
* | Modernize Python syntax with pyupgrade --py38-plus **/*.py | Christian Clauss | 2021-02-23 | 1 | -4/+4 |
| | |||||
* | fmt and lint fixes (including one actual bug) | Bryan Newbold | 2021-02-15 | 1 | -2/+2 |
| | |||||
* | allow simple GET CORS requests | Bryan Newbold | 2021-02-11 | 1 | -0/+9 |
| | |||||
* | api: handle null 'q' parameter on search endpoint | Bryan Newbold | 2021-02-11 | 1 | -0/+2 |
| | |||||
* | i18n: use babel.numbers.format_number() in web interface | Bryan Newbold | 2021-01-25 | 1 | -0/+2 |
| | |||||
* | revert jinja2 i18n trimmed flag (not correct place) | Bryan Newbold | 2021-01-22 | 1 | -2/+0 |
| | | | | | This doesn't seem to be the right place to add this field, getting a type checking warning. | ||||
* | jinja2: attempt to enable trans trimming by default | Bryan Newbold | 2021-01-22 | 1 | -0/+2 |
| | | | | Not sure this is actually working | ||||
* | add citation query feature (disabled by default) | Bryan Newbold | 2021-01-19 | 1 | -3/+3 |
| | | | | | | This is operationally complex (queries hit 3x backend services!), so not enabled by default. Will need more testing; possibly circuit-breaking. Though haproxy should provide some of that automatically at this point. | ||||
* | lint: fix small bugs and type annotations | Bryan Newbold | 2021-01-18 | 1 | -3/+3 |
| | |||||
* | make fmt | Bryan Newbold | 2021-01-15 | 1 | -8/+13 |
| | |||||
* | api: fix /search test, and mypy error on implementation | Bryan Newbold | 2021-01-15 | 1 | -11/+11 |
| | |||||
* | api: add type annotations for /search response | Bryan Newbold | 2021-01-14 | 1 | -4/+29 |
| | |||||
* | fastapi: /favicon.ico handler | Bryan Newbold | 2021-01-14 | 1 | -1/+5 |
| | | | | | | | HTML responses in the browser should use the indicated path (/static/ia-favicon.ico), but some other responses fall through (like API docs, I think? or unhandled exceptions), so giving up and just handling this route. haproxy should cache if it gets lots of hits. | ||||
* | fastapi: add basic error/exception handler and page | Bryan Newbold | 2021-01-14 | 1 | -1/+30 |
| | |||||
* | i18n: add web interface support for 'hr' (Croatian) | Bryan Newbold | 2020-11-18 | 1 | -1/+1 |
| | | | | Thanks to @milotype for starting this new translation on weblate! | ||||
* | web: fix ngettext() i18n wrapper | Bryan Newbold | 2020-11-05 | 1 | -2/+2 |
| | |||||
* | web: fix lang detection (include 'en') | Bryan Newbold | 2020-10-28 | 1 | -1/+1 |
| | | | | | If a user had any non-english language preference, was defaulting to that, even if 'en' had higher preference. | ||||
* | basic test for issue-db pipeline | Bryan Newbold | 2020-10-23 | 1 | -12/+17 |
| | |||||
* | web: basic Accept-Language HTTP negotiation | Bryan Newbold | 2020-10-22 | 1 | -1/+12 |
| | |||||
* | remove minor unused imports | Bryan Newbold | 2020-10-22 | 1 | -1/+0 |
| | |||||
* | remove spurious debugging print() in robots.txt handler | Bryan Newbold | 2020-10-21 | 1 | -1/+0 |
| | |||||
* | set up sentry exception handling | Bryan Newbold | 2020-10-21 | 1 | -3/+26 |
| | |||||
* | enable Norwegian (nb) in web interface | Bryan Newbold | 2020-10-19 | 1 | -1/+1 |
| | |||||
* | i18n: enable French and Spanish (fr, es) | Bryan Newbold | 2020-10-15 | 1 | -1/+1 |
| | |||||
* | i18n: enable arabic (ar) | Bryan Newbold | 2020-10-14 | 1 | -1/+1 |
| | | | | | There are no existing translated strings, but enabling to develop/demonstrate RTL design. | ||||
* | Upgrade Dynaconf to 3+ | Bruno Rocha | 2020-10-05 | 1 | -1/+1 |
| | | | | | | In dynaconf 3+ it is no more recommended to use `from dynaconf import settings` now the recommendation is to create your own instance of the settings object based on Dynaconf class. | ||||
* | add Russian (ru) as interface option | Bryan Newbold | 2020-10-05 | 1 | -1/+1 |
| | |||||
* | small lint fix | Bryan Newbold | 2020-09-17 | 1 | -1/+1 |
| | |||||
* | web robots.txt | Bryan Newbold | 2020-09-15 | 1 | -0/+13 |
| | | | | Two variants depending on environment. | ||||
* | fmt/lint tweaks | Bryan Newbold | 2020-08-12 | 1 | -1/+0 |
| | |||||
* | don't print config; make fmt | Bryan Newbold | 2020-08-06 | 1 | -3/+7 |
| | |||||
* | report ES API query time as server-timing header | Bryan Newbold | 2020-08-06 | 1 | -1/+9 |
| | |||||
* | fix lint errors (and some small bugs) | Bryan Newbold | 2020-06-29 | 1 | -7/+7 |
| | |||||
* | start some annotaition fixes for pytype | Bryan Newbold | 2020-06-03 | 1 | -2/+2 |
| | |||||
* | flake8-annotation linting | Bryan Newbold | 2020-06-03 | 1 | -7/+7 |
| | | | | Added some new annotations; need to finish more. | ||||
* | flake8 fixes (partial) | Bryan Newbold | 2020-06-03 | 1 | -4/+2 |
| | |||||
* | reformat python code with black | Bryan Newbold | 2020-06-03 | 1 | -19/+45 |
| | |||||
* | start fleshing out /about and /help | Bryan Newbold | 2020-06-03 | 1 | -0/+5 |
| |