Mathieu Pillard
39df72d1d9
Drop needs admin code and content review flags (keep theme) ( #20815 )
...
* Drop needs admin code and content review flags (keep theme)
2023-06-12 18:05:16 +02:00
William Durand
22be8626a5
Add an API endpoint for the browser mapping ( #20800 )
2023-06-12 14:19:03 +02:00
Tim Pillard
7f61d54bed
Rating sort param consistency in addons search ( #20770 )
...
* Add sort=ratings sorting param for consistency
See https://github.com/mozilla/addons-server/issues/20763
* Add test_sort_ratings search filters test
- Ensure "sort=ratings" is supported, preferred
- Ensure "sort=rating" is still supported, for backwards compatibility
- Update existing tests using "sort=rating" to use the new preferred parameter
See https://github.com/mozilla/addons-server/issues/20763
* Update addons search endpoint ratings sort documentation
Mention sort=ratings parameter being preferred.
Mention sort=rating parameter being still supported for backwards-compatibility but deprecated.
See https://github.com/mozilla/addons-server/issues/20763
* Update v5 API changelog for Addons search endpoint sort=ratings param renaming
2023-06-01 16:45:25 +02:00
Mathieu Pillard
3ef358c672
Switch to docker compose v2 (plugin) instead of v1 (docker-compose pip package) ( #20755 )
2023-05-26 14:05:21 +02:00
Mathieu Pillard
0e8092fedb
Clarify that authentication is not mandatory in API calls ( #20743 )
...
* Clarify that authentication is not mandatory in API calls
* Update auth.rst
* Update docs/topics/api/auth.rst
Co-authored-by: Andrew Williamson <awilliamson@mozilla.com>
---------
Co-authored-by: Andrew Williamson <awilliamson@mozilla.com>
2023-05-25 12:19:53 +02:00
Shin'ya Ueoka
b400ea0c46
replace git protocol with https ( #20574 )
...
Cloning via git:// is no longer supported on GitHub.com.
Use https:// protocol on on `git clone` procedure instead.
2023-05-17 11:38:03 +02:00
dependabot[bot]
fe32e53488
Bump sphinx from 6.1.3 to 6.2.0 in /requirements ( #20609 )
...
* Bump sphinx from 6.1.3 to 6.2.0 in /requirements
Bumps [sphinx](https://github.com/sphinx-doc/sphinx ) from 6.1.3 to 6.2.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v6.1.3...v6.2.0 )
---
updated-dependencies:
- dependency-name: sphinx
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Remove legacy cruft
* Doc fixes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mathieu Pillard <mpillard@mozilla.com>
2023-04-26 11:52:08 +02:00
Andrew Williamson
81b3b20758
drop signing api from api/v5+ ( #20568 )
2023-04-12 15:52:28 +01:00
Mathieu Pillard
5c0e7a3c88
Merge deployment and development Dockerfiles ( #20480 )
...
* Merge deployment and development Dockerfiles
* Stop using root to install dependencies
* Run make commands from os with --user olympia
2023-03-23 15:46:56 +01:00
Bob Silverberg
672b9a95c7
Update the version detail API to report host_permissions ( #20436 )
2023-03-10 14:28:26 -05:00
Andrew Williamson
906739fd38
raise validation error on bad lang request values ( #20438 )
...
* escape (incorrect) lang request values in the response
* raise validation error for a bad locale code
* different test for flat translation reponses
* return bad lang value without escaping
* Update overview.rst
2023-03-09 15:24:24 +00:00
Andrew Williamson
a9ce3cc7bc
add is_disabled to DeveloperVersionSerializer and update ( #20396 )
2023-03-02 11:51:36 +00:00
Mathieu Pillard
eba8fd0ddb
Allow looking up versions by version number in the add-on versions API ( #20394 )
...
* Allow looking up versions by version number in the add-on versions API
2023-02-28 12:08:31 +01:00
Bob Silverberg
9ba4d6c404
Remove code related to old canned responses feature ( #20382 )
2023-02-22 10:28:17 -05:00
Andrew Williamson
0d1b517485
update out of date BSD and MIT license links ( #20373 )
...
* update out of date BSD and MIT license links
* correct url in docs
2023-02-21 14:19:44 +00:00
Mathieu Pillard
918288b6c9
Expose the version used at creation/update in add-on API ( #20367 )
...
* Expose the version used at creation/update in add-on API
2023-02-20 13:54:34 +01:00
Bob Silverberg
fe4e9eda04
Remove the canned-responses endpoint ( #20355 )
2023-02-16 07:42:53 -05:00
Mathieu Pillard
dcfe5e87e0
Show & Allow removing Unlisted Auto-Approval Extra Delay in review tools ( #20297 )
...
* Show & Allow removing Unlisted Auto-Approval Extra Delay in review tools
Also refactor how flags are displayed, adding a couple new ones and hiding the ones that are not relevant to the version shown in the review page because of the channel.
2023-02-09 15:01:01 +01:00
Mathieu Pillard
b54e6b4cae
Reformat docs/conf.py and update year ( #20325 )
2023-02-09 14:14:45 +01:00
Mathieu Pillard
3ed5ff3a16
Update addons.rst ( #20223 )
2023-01-24 11:11:41 +01:00
Andrew Williamson
9035c69546
add the ability to delete versions via the API ( #20143 )
...
* add the ability to delete versions via the API
* add extra tests
* fix test with JWT auth
* fix undefined sorting in test
* test for normal reviewer access too
2023-01-05 23:18:07 +00:00
William Durand
b714e8f124
Add `unified_context_menu` to the list of allowed abuse report entrypoints ( #20099 )
2022-12-14 14:58:42 +01:00
Mathieu Pillard
3f83f99131
Remove old update service ( #20086 )
...
* Remove old update service
* Remove more code/docs associated with services/
* Add some missing pytest.mark.django_db that the autouse fixture was hiding...
* Remove extra import
* Add a comment documenting what the update URL typically looks like
2022-12-12 12:45:11 +01:00
Andrew Williamson
e6eda91e40
Add an appversions list endpoint ( #20067 )
2022-12-09 00:44:04 +08:00
Adil El Harti
47253c58f4
Return `icons` object in autocomplete API response ( #19987 )
...
Fixes https://github.com/mozilla/addons-server/issues/19838
2022-11-23 11:17:01 -05:00
Mathieu Pillard
d5f9edf5d6
Validate incoming client_ids and guids more thoroughly ( #19704 )
2022-09-20 14:07:08 +02:00
Andrew Williamson
1d71d12400
allow approval notes to be set by developers via the addon submission api ( #19579 )
...
* allow approval notes to be set by developers via the addon submission api
* don't commit migration yet
2022-08-19 09:40:57 +01:00
Andrew Williamson
a0476b78ec
Implement addon PUT as full-update or create ( #19342 )
...
* Implement addon PUT as full-update or create
* refactor serializers and views to use common code
* update self.action when we create from a PUT
* Enforce a GUID in the manifest for PUT
2022-06-13 16:11:33 +01:00
Mathieu Pillard
b15859e633
Remove sync_objects_to_basket and associated code ( #19309 )
...
It was never enabled in production and we have no plans to ever
resume that work.
2022-06-07 12:59:04 +02:00
Andrew Williamson
cc2fadf6b3
Allow default_locale to be set/changed via the API ( #19290 )
...
* Allow default_locale to be set/changed via the API
* rewrite some of the test comments to make it clearer what's going on
2022-05-27 13:05:40 +01:00
Andrew Williamson
160036a762
Update authors.rst
2022-05-11 16:52:24 +01:00
Andrew Williamson
e4fe20f0ff
addons api (pending) authors create and confirm endpoint ( #19191 )
...
* addons api (pending) authors create and confirm endpoint
* update docs; add to tests
2022-05-05 11:25:01 +01:00
Andrew Williamson
1e76ef3adc
add api delete endpoint for addon authors ( #19180 )
...
* add api delete endpoint for addon authors
* Update addons.rst
2022-04-29 11:14:00 +01:00
Andrew Williamson
be32296cea
drop warning about deleting not working now #8816 is closed ( #19169 )
2022-04-28 14:31:38 +01:00
Andrew Williamson
822ed2332e
add api endpoint to list, get, and update add-on authors ( #19161 )
...
* add api endpoint to list, get, and update add-on authors
* drop mixed up (and redundant) comments
2022-04-28 09:27:09 +01:00
Andrew Williamson
4dd4558194
added addon delete function to addons api ( #19147 )
...
* added addon delete function to addons api
* replace jwt with TimestampSigner
* Update docs/topics/api/addons.rst
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
2022-04-22 12:34:04 +01:00
Andrew Williamson
ab6bf8a4f3
stop compat from being updatable for dictionaries; allow other patches ( #19135 )
2022-04-20 12:21:34 +01:00
Andrew Williamson
8510f26350
support clearing icon and source as formdata format. ( #19112 )
2022-04-14 12:02:42 +01:00
Andrew Williamson
d3c357b256
enable previews to be created, edited, deleted via addons api ( #19091 )
...
* refactor Addon to drop redundant _all_previews cached property
* move resize_preview from dev/utils to addons/utils
* generalize IconField to ImageField
* enable previews to be created, edited, deleted via addons api
* reintroduce some complexity with current_previews because transforms.
* index preview position in ES
* test fixes
2022-04-11 17:54:42 +01:00
Mathieu Pillard
6b5e175a49
Introduce minimal config to make versioncheck works locally ( #19045 )
...
This is nicer than having to remember to look up the docs to
do it manually, make it work with docker etc. It works out of
the box.
2022-03-31 13:19:57 +02:00
Andrew Williamson
d8949ad9d5
support setting/updating addon icon via the addons api ( #19004 )
...
* support setting/updating addon icon via the addons api
* docs typos; make resize_icon an async task.
2022-03-31 12:08:10 +01:00
Andrew Williamson
3c7df0335d
Update auth_internal.rst
2022-03-18 13:15:35 +00:00
Andrew Williamson
9a8c493008
allow contributions_url to be set/changed via addons api ( #18970 )
...
* allow contributions_url to be set/changed via addons api
* Update src/olympia/addons/tests/test_views.py
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
2022-03-16 09:58:34 +00:00
Andrew Williamson
31196d43ce
Update auth_internal.rst
2022-03-03 13:54:22 +00:00
Andrew Williamson
f202823a69
drop all support for internal WebTokenAuthentication ( #18902 )
...
* drop all support for internal WebTokenAuthentication
* don't need to set AUTHENTICATION_BACKENDS because using default
2022-02-28 12:18:37 +00:00
Andrew Williamson
4699865cc5
correct link to addon-create
2022-02-09 15:49:02 +00:00
Andrew Williamson
ec5290f48f
improve addon api doc to detail limitations around `source`, and listed metadata ( #18800 )
2022-02-09 13:12:26 +00:00
Andrew Williamson
4406108e9d
Update addons.rst
2022-02-08 09:40:49 +00:00
Andrew Williamson
9e7aaaad14
enable addon submission api on prod; remove warnings in api docs ( #18758 )
2022-02-08 08:57:58 +00:00
Andrew Williamson
203d752daa
rm auth token in api response & document api auth changes ( #18757 )
...
* rm 'token' from json data
* document session id api auth for internal clients
2022-02-04 11:43:41 +00:00
Andrew Williamson
b827c6c9db
refactor addon related serializers & fields; add source field ( #18729 )
...
* refactor addon related serializers & fields; add source field
* stop clearing needs_admin_code_review if `source` is cleared
2022-02-03 11:33:00 +00:00
Bob Silverberg
adf2d77a95
Remove all references to `reviewer_name` ( #18690 )
2022-01-27 10:12:30 -05:00
Andrew Williamson
8ee8db45a3
return 'ERROR_AUTHENTICATION_EXPIRED', when there's a session auth mismatch ( #18670 )
2022-01-24 10:48:10 +00:00
Andrew Williamson
e5d6b31675
fxa notification webhook ( #18649 )
...
* refactor fxa utility functions
* Add fxa event webhook
* store fxa_verifying_keys on class; handle broken jwt; refactoring
2022-01-21 18:08:56 +00:00
Andrew Williamson
87a097ca39
implement license slugs ( #18437 )
...
* drop icons and creative_commons properties from the model
* define all the builtin licenses in constants
* make setting license in VersionSerializer use slug rather than id
2021-12-06 15:12:29 +00:00
Andrew Williamson
82fdd30d99
add /addon/tags/ endpoint to list available tags ( #18445 )
...
* add /addon/tags/ endpoint to list available tags
* review fixes
2021-12-03 17:22:46 +00:00
Andrew Williamson
115c002892
set tags property via addon api ( #18428 )
...
* set tags property via addon api
* Add tests for LazyChoiceField
2021-12-02 14:11:10 +00:00
Mathieu Pillard
83ce735947
Remove obsolete version information from docs ( #18435 )
2021-12-01 15:10:22 +01:00
Andrew Williamson
dd6363030e
allow custom licenses to be created and updated per version ( #18368 )
...
* allow custom licenses to be created and updated per version
* Add valiation check for both fields being provided
2021-11-23 17:50:06 +00:00
Andrew Williamson
a6fb5ce8e2
add docs for addon api create/update functionality ( #18311 )
...
* add docs for addon api create/update functionality
* move out compatibility examples to their own section
2021-11-17 12:54:38 +00:00
Andrew Williamson
d6ace6df1b
Update overview.rst
2021-10-07 18:02:28 +01:00
Andrew Williamson
ff321918b2
implement new uploads to the addon api, for listed too. ( #17914 )
...
* implement new uploads to the addon api, for listed too.
* remove note about only internal authentication for addons api
2021-10-04 15:09:42 +01:00
Andrew Williamson
dad271c1e2
drop is_webextension from api ( #17947 )
...
* drop is_webextension from api
* Update docs/topics/api/overview.rst
Co-authored-by: William Durand <will+git@drnd.me>
Co-authored-by: William Durand <will+git@drnd.me>
2021-09-22 14:50:28 +01:00
William Durand
fae527af13
Update Recommendations API docs ( #17942 )
...
* Update Recommendations API docs
* Update addons.rst
* Update addons.rst
2021-09-22 12:59:00 +02:00
Andrew Williamson
0129e1ec49
expose a single file in the version api serializer ( #17913 )
...
* expose a single file in the version api serializer
* review nits
2021-09-16 18:12:56 +01:00
dependabot[bot]
85aa7e3a53
Bump sphinx from 3.5.4 to 4.0.1 in /requirements ( #17115 )
...
* Bump sphinx from 3.5.4 to 4.0.1 in /requirements
Bumps [sphinx](https://github.com/sphinx-doc/sphinx ) from 3.5.4 to 4.0.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v3.5.4...v4.0.1 )
Signed-off-by: dependabot[bot] <support@github.com>
* upgrade docutils to 0.17.1 at the same time
* Update index.rst
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Williamson <awilliamson@mozilla.com>
2021-09-15 14:04:33 +02:00
Andrew Williamson
f6d3b0c5e5
rm all legacy blocklist update integration ( #17889 )
2021-09-13 16:10:20 +01:00
Andrew Williamson
d1fba99ab5
rm import (legacy) blocklist feature ( #17841 )
2021-09-10 14:44:22 +01:00
Andrew Williamson
3349b53d94
Update shelves.rst
2021-08-12 10:13:34 +01:00
Andrew Williamson
f58ecaebf0
switch memcache backend to pymemcache ( #17691 )
2021-08-11 11:46:08 +01:00
Andrew Williamson
c91deaaf70
drop is_restart_required from File (and api/v5) ( #17675 )
2021-08-10 12:27:56 +01:00
Andrew Williamson
ebff8e2f87
implement ratings and users threshold search filters ( #17602 )
...
* implement ratings and users threshold search filters
* rewrite AddonThresholdQueryParam to use __gt style comparisons
* fix api docs threshold search field list indentation
* index ratings.average in addon ES search index
2021-08-05 17:16:52 +01:00
Andrew Williamson
ae884a6a6a
drop criteria from shelves api ( #17600 )
2021-08-02 12:50:44 +01:00
Mathieu Pillard
386291b1bf
Find abuse reports for a particular add-on using guid and not addon_id ( #17614 )
...
* Find abuse reports for a particular add-on using guid and not addon_id
When an abuse report is submitted from a guid (what Firefox does),
no longer try to associate if with a single add-on in the database,
because we can't know which one it is.
In reviewer tools, look up abuse reports for a given add-on by guid,
so that we can find all potential abuse reports even if a guid has
been re-used.
* Small doc clarification
* Black
* Fix unused imports
* Address review comments
2021-08-02 13:36:09 +02:00
Andrew Williamson
ae40a40c4c
generate a fallback for footer.url if footer_pathname not set ( #17550 )
...
* generate a fallback for footer.url if footer_pathname not set
* return footer url&text when `wrap-outgoing-parameter` is active
2021-07-23 18:08:39 +01:00
Akash Negi
444f47a6b6
Replace 'jinja2.contextfunction' with 'jinja2.pass_context' ( #17466 )
...
* Updated error message.
* Replaced all the instances
* Replaced Mutliple Instances
@jinja2.contextfunction instances replaced with @jinja2.pass_context
* Replaced Multiple Instances
Multiple Instances of @jinja2.contextfunction were replaced with @jinja2.pass_context .
* Mutiple Instances were replaced
Multiple instances of @jinja2.contextfunction were replaced with @jinja2.pass_context
* Multiple Instances were replaced
Multiple instances of @jinja2.contextfunction were replaced with @jinja2.pass_context
* Replaced Multiple Instances
Multiple instances of @jinja2.contextfunction were replaced with @jinja2.pass_context .
* Replaced Multiple Instances
Multiple Instances of @jinja2.contextfunction replaced with @jinja2.pass_context
* Replaced Multiple Instances
Replaced instances of @jinja2.contextfunction with @jinja2.pass_context
* Update jinja_helpers.py
* Update jinja_helpers.py
* Update jinja_helpers.py
* Update jinja_helpers.py
* Replaced Instance
Replaced instance of jinja2.contextfunction with jinja2.pass_context
* Fix merge
* Update jinja_helpers.py
* Update jinja_helpers.py
Co-authored-by: Mathieu Pillard <diox@users.noreply.github.com>
2021-07-13 13:36:20 +02:00
Mathieu Pillard
0406184e2a
Drop license text from version list API endpoint ( #17166 )
...
* Drop license text from version list API endpoint
Don't even fetch the license text from the database when it's not needed:
defer it, and ensure the translations app doesn't try to fetch translations
for deferred fields.
* s/VersionSerializerForListing/VersionListSerializer/
2021-05-18 12:27:24 +02:00
Mathieu Pillard
837326e5e5
More tweaks to addon install source descriptions for abuse reports ( #17125 )
2021-05-17 21:44:42 +02:00
Anish Krishnaswamy
c4201dc8f9
Update API docs for homepage shelves editorial content endpoint ( #17056 )
...
* Update API docs: Homepage Shelves Editorial Content
The API response in docs was incorrect for `/shelves/editorial` endpoint. The actual API response only has `title` and `footer_text` while the doc has a lot of other fields which are not part of the API response.
2021-05-11 15:45:27 +02:00
Mathieu Pillard
7144f9620d
Support additional values in abuse report API addon_install_source ( #17089 )
...
* Support additional values in abuse report API addon_install_source
* Add migration for the new choices
2021-05-07 11:32:30 +02:00
Anish Krishnaswamy
6759994a63
Updated the API docs for homepage shelves endpoint ( #17054 )
...
The API response was incorrect for the /shelves/ endpoint. It mentions
headline instead of title and cta.text instead of footer.text. The
documentation needs to be updated to reflect the actual API response.
2021-05-05 13:17:24 +01:00
Lisa Chan
4e5dc5cdcb
RE: Add addon_type property to shelf module, remove search-themes shelf endpoint type ( #16967 )
...
* Remove search-themes endpoint choice, added addon_type field
* Updated test_admin.py
* Updated doc, models, forms (and test), test_serializers, test_admin, migration file
* Fixed lint issues
* Updated serializer to reflect addon_type choice name instead of integer
* Fixed lint issues
* Updated addon_type from int in test_admin
2021-04-21 17:30:41 +01:00
Mathieu Pillard
45e80b4a40
Remove platform from API v5 and stop filtering on it in downloads ( #16741 )
...
* Remove platform from API v5 and stop filtering on it in downloads
Also prepare the removal of the field on the model by making it
nullable and removing the index
* Update API docs
2021-03-16 12:27:22 +01:00
Andrew Williamson
de949bc4cd
replace footer_text and footer_pathname in shelf response with cta style ( #16640 )
2021-03-01 10:56:30 +00:00
Andrew Williamson
002a6259b4
translatable homepage shelves ( #16579 )
2021-02-23 19:48:31 +01:00
Mathieu Pillard
11f4549f2b
Remove support for filtering by `platform` in the search/autocomplete API ( #16611 )
...
* Remove support for filtering by `platform` in the search/autocomplete API
Also add a migration to ensure all Files have platform=all set now that
versions no longer have multiple files in our database.
* Remove obsolete test
2021-02-23 19:10:58 +01:00
Andrew Williamson
3b887c1291
return the hero shelves with full localised fields ( #16531 )
...
* return the hero shelves with full localised fields
* refactor where we revert to another property in a serializer to FallbackField
2021-02-16 11:36:59 +00:00
William Durand
72d5bbaba2
Add `versions_url` to add-on API response ( #16535 )
...
* Add versions_url to add-on API response
* Update docs
2021-02-15 13:37:13 +01:00
Andrew Williamson
dd050597d3
return grouped ratings with addon detail api ( #16468 )
2021-02-08 15:12:50 +00:00
Andrew Williamson
afbbe5de1d
change discovery api l10n fields to have a consistent default ( #16447 )
...
* take the current locale into account during l10n for discovery api
* take the addons default_locale into account for discovery api
2021-02-04 13:31:21 +00:00
Andrew Williamson
3b5810722f
rm stripe/payment stuff ( #16454 )
...
* rm stripe/payment stuff
* rm some more unused constants
* revert the less auto-reformatting
2021-02-03 14:03:33 +00:00
Andrew Williamson
8af5b29db4
drop sponsored shelf and adzerk integration ( #16396 )
2021-01-26 14:54:28 +00:00
Andrew Williamson
a986181308
return consistent l10n response for gettext-backed localized fields ( #16363 )
2021-01-26 12:57:57 +00:00
Andrew Williamson
64a8bad0b2
drop pagination from shelves api ( #16370 )
...
* drop pagination from shelves api
* double check the pagination properties aren't in the full shelf response
2021-01-22 14:55:51 +00:00
Andrew Williamson
de374c4ceb
drop AppSupport model ( #16326 )
...
* drop AppSupport model
* in language-tools api, application param only mandatory for appversion, and ignored otherwise
* Delete 0029_delete_appsupport.py
2021-01-19 16:07:59 +00:00
Andrew Williamson
98c2fcebd7
flatten collection response in shelves api to just return the addons ( #16329 )
2021-01-18 14:47:14 +00:00
Andrew Williamson
3508abc995
differentiate search shelves for themes ( #16327 )
...
* differentiate search shelves for themes
* post rebase fix
2021-01-15 15:42:11 +00:00
Andrew Williamson
8808d2d670
Include hero shelves in /shelves/ response ( #16317 )
...
* Include hero shelves in /shelves/ response
* add test for both hero and defined shelves in a single response
2021-01-14 17:40:29 +00:00
Andrew Williamson
23db886b0d
change api docs to make v5 the default ( #16303 )
...
* change api docs to make v5 the default
* change banners under /v4_frozen/ to say api is frozen and centralize version list
* Update v3 legacy banners too
2021-01-12 16:20:18 +00:00
Andrew Williamson
9280e68135
always returned urls wrapped in outgoing + originals ( #16125 )
...
* always returned urls wrapped in outgoing + originals
* document the slightly unusual data structure for the secondary hero shelves
* more codestyle fixes
* don't outgoingify the `_default` key in the dict.
* test fix
2021-01-07 11:20:39 +00:00