Wykres commitów

1491 Commity (0d2ec18eddc157952b2093ab4fbd71aa268ae229)

Autor SHA1 Wiadomość Data
Ryan Barrett be7aa50eac
start merging web.webmention_task into Protocol.receive
for #529
2023-07-11 13:25:28 -07:00
dependabot[bot] 9b1e396aa5 build(deps): bump charset-normalizer from 3.1.0 to 3.2.0
Bumps [charset-normalizer](https://github.com/Ousret/charset_normalizer) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/Ousret/charset_normalizer/releases)
- [Changelog](https://github.com/Ousret/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.2.0)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 05:30:35 -07:00
dependabot[bot] c1eb2a9981 build(deps): bump click from 8.1.3 to 8.1.4
Bumps [click](https://github.com/pallets/click) from 8.1.3 to 8.1.4.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.3...8.1.4)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 06:02:20 -07:00
Ryan Barrett 1d58518edf
add test for post with multiple types
for https://console.cloud.google.com/errors/detail/CNCkorXE2bzlVg;time=P30D?project=bridgy-federated , fixed by snarfed/granary@2c5107d0bf
2023-07-06 07:38:25 -07:00
dependabot[bot] 71d055edcf build(deps): bump google-cloud-appengine-logging from 1.3.0 to 1.3.1
Bumps [google-cloud-appengine-logging](https://github.com/googleapis/google-cloud-python) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-cloud-python/compare/google-cloud-appengine-logging-v1.3.0...google-cloud-appengine-logging-v1.3.1)

---
updated-dependencies:
- dependency-name: google-cloud-appengine-logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 05:56:48 -07:00
dependabot[bot] 63d1a5b2bf build(deps): bump jsonschema from 4.17.3 to 4.18.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.17.3 to 4.18.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.18.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 05:52:10 -07:00
dependabot[bot] e7b2d6c81c build(deps): bump google-cloud-error-reporting from 1.9.1 to 1.9.2
Bumps [google-cloud-error-reporting](https://github.com/googleapis/python-error-reporting) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/googleapis/python-error-reporting/releases)
- [Changelog](https://github.com/googleapis/python-error-reporting/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/python-error-reporting/compare/v1.9.1...v1.9.2)

---
updated-dependencies:
- dependency-name: google-cloud-error-reporting
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 05:51:59 -07:00
dependabot[bot] f81b72e213 build(deps): bump google-cloud-tasks from 2.13.1 to 2.13.2
Bumps [google-cloud-tasks](https://github.com/googleapis/python-tasks) from 2.13.1 to 2.13.2.
- [Release notes](https://github.com/googleapis/python-tasks/releases)
- [Changelog](https://github.com/googleapis/python-tasks/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/python-tasks/compare/v2.13.1...v2.13.2)

---
updated-dependencies:
- dependency-name: google-cloud-tasks
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 05:51:45 -07:00
dependabot[bot] 4e5463ccdc build(deps): bump lxml from 4.9.2 to 4.9.3
Bumps [lxml](https://github.com/lxml/lxml) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.2...lxml-4.9.3)

---
updated-dependencies:
- dependency-name: lxml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 05:31:36 -07:00
Ryan Barrett 33f3d856da
docs: first pass at documenting activity router 2023-07-03 07:37:16 -07:00
Ryan Barrett 0caca9243e
add common.add to add to repeated properties only if not already there
tried a bunch of other more sophisticated ways to do this in snarfed/webutil@280a93e092 (plus snarfed/webutil@6cb9c1f719), tried a custom repeated property class that acted like a set instead of a list, but couldn't get it to work reliably or compatibly enough.
2023-06-29 22:15:07 -07:00
Ryan Barrett ee52a7b1c6
User.load_multi bug fix: handle when obj_key points to nonexistent entity
fixes https://console.cloud.google.com/errors/detail/COGUnu_nvbzluwE;time=P30D?project=bridgy-federated
2023-06-29 13:47:16 -07:00
dependabot[bot] b5bdf5008a build(deps): bump mf2py from 1.1.2 to 1.1.3
Bumps [mf2py](https://github.com/microformats/mf2py) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/microformats/mf2py/releases)
- [Changelog](https://github.com/microformats/mf2py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/microformats/mf2py/compare/1.1.2...v1.1.3)

---
updated-dependencies:
- dependency-name: mf2py
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-29 05:30:51 -07:00
Ryan Barrett 342f67dfa2
Protocol.load bug fix, leave new/changed None if we don't know for sure
eg if local is False
2023-06-28 15:27:11 -07:00
Ryan Barrett a5466e34ca
minor noop refactoring to web._targets() to make it use Target directly 2023-06-28 14:45:14 -07:00
dependabot[bot] a9cd07f295 build(deps): bump humanize from 4.6.0 to 4.7.0
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.6.0...4.7.0)

---
updated-dependencies:
- dependency-name: humanize
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 06:00:25 -07:00
Ryan Barrett 44fee79838
incoming AP: allow missing HTTP Sig when DEBUG is on 2023-06-27 22:35:42 -07:00
Ryan Barrett 45d1468825
Protocol.deliver bug fix for normalizing target URLs
fixes https://console.cloud.google.com/errors/detail/CKnQ7sWFhfODRQ;time=P30D?project=bridgy-federated
2023-06-27 22:31:15 -07:00
Ryan Barrett 40ae3dec8e
start to port test_activitypub tests to test_protocol, using Fake protocol
also minor tweaks to Protocol.deliver
2023-06-27 09:48:47 -07:00
Ryan Barrett 9140318f4a
generalize Protocol.accept_follow, other bug fixes in Protocol.receive
for #529, fixes https://console.cloud.google.com/errors/detail/CMbJ6a6j56LErwE;time=P30D?project=bridgy-federated
2023-06-26 20:22:55 -07:00
dependabot[bot] 4b7d6bc7cc build(deps): bump redis from 4.5.5 to 4.6.0
Bumps [redis](https://github.com/redis/redis-py) from 4.5.5 to 4.6.0.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v4.5.5...v4.6.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 06:00:45 -07:00
Ryan Barrett c5d3dfb967
generalize protocol.accept_follow away from AP/AS2
didn't realize those bits were still there!
2023-06-25 12:54:44 -07:00
Ryan Barrett d419b1f154
logs: add /inbox path substring
for #541
2023-06-23 15:13:34 -07:00
Ryan Barrett f0a54b09c5
wm => AP optimization for delivering to followers, bulk load from datastore
noop otherwise, shouldn't change any logic
2023-06-23 14:26:03 -07:00
Ryan Barrett 70a9ed52b7
stop logging when a User has more than one data source populated 2023-06-23 13:20:26 -07:00
Ryan Barrett cb8ae4466b
document how to get Mastodon to verify profile links
fixes #560
2023-06-23 13:12:21 -07:00
Ryan Barrett cae406e6c4
don't allow BF domains in ActivityPub or Web ids
also other ActivityPub id validation. #558
2023-06-23 12:22:37 -07:00
Ryan Barrett cb0444a87f
unpin grpcio, 1.56.0 fixed the hang?! 2023-06-23 11:27:43 -07:00
Ryan Barrett 65b4f1495f
Protocol.receive: fail "intra-BF" activities from ourselves
for #558
2023-06-23 11:20:29 -07:00
dependabot[bot] df56189a73 build(deps): bump grpcio from 1.54.2 to 1.56.0
Bumps [grpcio](https://github.com/grpc/grpc) from 1.54.2 to 1.56.0.
- [Release notes](https://github.com/grpc/grpc/releases)
- [Changelog](https://github.com/grpc/grpc/blob/master/doc/grpc_release_schedule.md)
- [Commits](https://github.com/grpc/grpc/compare/v1.54.2...v1.56.0)

---
updated-dependencies:
- dependency-name: grpcio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 13:00:52 +00:00
dependabot[bot] cf7849dc98 build(deps): bump websocket-client from 1.6.0 to 1.6.1
Bumps [websocket-client](https://github.com/websocket-client/websocket-client) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/websocket-client/websocket-client/releases)
- [Changelog](https://github.com/websocket-client/websocket-client/blob/master/ChangeLog)
- [Commits](https://github.com/websocket-client/websocket-client/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: websocket-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 06:00:41 -07:00
dependabot[bot] 41b62f011c build(deps): bump proto-plus from 1.22.2 to 1.22.3
Bumps [proto-plus](https://github.com/googleapis/proto-plus-python) from 1.22.2 to 1.22.3.
- [Release notes](https://github.com/googleapis/proto-plus-python/releases)
- [Changelog](https://github.com/googleapis/proto-plus-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/proto-plus-python/compare/v1.22.2...v1.22.3)

---
updated-dependencies:
- dependency-name: proto-plus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 06:00:18 -07:00
Ryan Barrett 8748e9a691
update tests to match new profile link HTML values
corresponds to snarfed/granary@f608f3e63b
2023-06-22 22:32:50 -07:00
Ryan Barrett cba4845394
disable ndb in-memory cache
it has a bug/weird behavior that we want to avoid, at least for now.

https://github.com/googleapis/python-ndb/issues/888
https://github.com/snarfed/bridgy-fed/issues/558
2023-06-22 14:27:02 -07:00
Ryan Barrett c97ee862a5
Protocol.load: return copies of cached objects, not the originals
...so that modifications aren't durable in memory until we put() them. for #558
2023-06-22 12:30:25 -07:00
Ryan Barrett 02214e9772
fix log links to only search /_ah/queue/webmention
fixes #541
2023-06-21 14:07:20 -07:00
Ryan Barrett ba419e818b
Revert "fix log links to only search /_ah/queue/webmention"
oops, didn't mean to commit/push that :(

This reverts commit 89d8393a2e.
2023-06-21 14:07:20 -07:00
Ryan Barrett 89d8393a2e
fix log links to only search /_ah/queue/webmention
fixes #541
2023-06-21 14:04:12 -07:00
Ryan Barrett d73206c7c5
*.target_for() bug fix: don't assert that source_protocol matches
ugh. ideally we should keep these, but we have existing entities in prod that don't match, eg ActivityPub https://indieweb.social/users/bismark has source_protocol webmention.

fixes https://console.cloud.google.com/errors/detail/CMT-oN6iy7DMwwE;time=P30D?project=bridgy-federated
2023-06-21 07:38:36 -07:00
Ryan Barrett 9467f38180
generalize wm => AP delivery logic across protocols!
phew! another tough one. #529
2023-06-20 20:59:32 -07:00
Ryan Barrett 2a7425a8c6
formalize Protocol.target_for() to take any object, not just actors
important because webmention endpoints are per page (object), not per site (actor).
2023-06-20 17:06:32 -07:00
Ryan Barrett ab1c28ee4d
noop, lint fixes from flake8
remaining:

$ flake8 --extend-ignore=E501 *.py tests/*.py
"pyflakes" failed during execution due to "'FlakesChecker' object has no attribute 'NAMEDEXPR'"
Run flake8 with greater verbosity to see more details
activitypub.py:15:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
activitypub.py:36:1: F401 'web' imported but unused
activitypub.py:48:1: E302 expected 2 blank lines, found 1
activitypub.py:51:9: F811 redefinition of unused 'web' from line 36
app.py:6:1: F401 'flask_app.app' imported but unused
app.py:9:1: F401 'activitypub' imported but unused
app.py:9:1: F401 'convert' imported but unused
app.py:9:1: F401 'follow' imported but unused
app.py:9:1: F401 'pages' imported but unused
app.py:9:1: F401 'redirect' imported but unused
app.py:9:1: F401 'superfeedr' imported but unused
app.py:9:1: F401 'ui' imported but unused
app.py:9:1: F401 'webfinger' imported but unused
app.py:9:1: F401 'web' imported but unused
app.py:9:1: F401 'xrpc_actor' imported but unused
app.py:9:1: F401 'xrpc_feed' imported but unused
app.py:9:1: F401 'xrpc_graph' imported but unused
app.py:9:19: E401 multiple imports on one line
models.py:19:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
models.py:364:31: E114 indentation is not a multiple of four (comment)
models.py:364:31: E116 unexpected indentation (comment)
protocol.py:17:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
redirect.py:26:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
web.py:18:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
webfinger.py:13:1: F401 'oauth_dropins.webutil.util.json_loads' imported but unused
webfinger.py:110:13: E122 continuation line missing indentation or outdented
webfinger.py:111:13: E122 continuation line missing indentation or outdented
webfinger.py:131:13: E122 continuation line missing indentation or outdented
webfinger.py:132:13: E122 continuation line missing indentation or outdented
webfinger.py:133:13: E122 continuation line missing indentation or outdented
webfinger.py:134:13: E122 continuation line missing indentation or outdented
tests/__init__.py:2:1: F401 'oauth_dropins.webutil.tests' imported but unused
tests/test_follow.py:11:1: F401 'oauth_dropins.webutil.util.json_dumps' imported but unused
tests/test_follow.py:14:1: F401 '.testutil.Fake' imported but unused
tests/test_models.py:156:15: E122 continuation line missing indentation or outdented
tests/test_models.py:157:15: E122 continuation line missing indentation or outdented
tests/test_models.py:158:11: E122 continuation line missing indentation or outdented
tests/test_web.py:12:1: F401 'oauth_dropins.webutil.util.json_dumps' imported but unused
tests/test_web.py:17:1: F401 '.testutil' imported but unused
tests/test_web.py:1513:13: E128 continuation line under-indented for visual indent
tests/test_web.py:1514:9: E124 closing bracket does not match visual indentation
tests/testutil.py:106:1: E402 module level import not at top of file
tests/testutil.py:107:1: E402 module level import not at top of file
tests/testutil.py:108:1: E402 module level import not at top of file
tests/testutil.py:109:1: E402 module level import not at top of file
tests/testutil.py:110:1: E402 module level import not at top of file
tests/testutil.py:301:24: E203 whitespace before ':'
tests/testutil.py:301:25: E701 multiple statements on one line (colon)
tests/testutil.py:301:25: E231 missing whitespace after ':'
2023-06-20 11:29:31 -07:00
Ryan Barrett 2493e566ed
CI: catch redefined test methods with flake8 2023-06-20 11:29:30 -07:00
dependabot[bot] c6f979de9e build(deps): bump websocket-client from 1.5.3 to 1.6.0
Bumps [websocket-client](https://github.com/websocket-client/websocket-client) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/websocket-client/websocket-client/releases)
- [Changelog](https://github.com/websocket-client/websocket-client/blob/master/ChangeLog)
- [Commits](https://github.com/websocket-client/websocket-client/compare/v1.5.3...v1.6.0)

---
updated-dependencies:
- dependency-name: websocket-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 06:00:21 -07:00
dependabot[bot] 081e423606 build(deps): bump pyparsing from 3.0.9 to 3.1.0
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.0.9 to 3.1.0.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/pyparsing_3.0.9...3.1.0)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 06:00:09 -07:00
Ryan Barrett 6c0afb4d5c
test_protocol: add Protocol.load test for cache 2023-06-18 22:37:28 -07:00
Ryan Barrett f5133b3ee3
bug fix for Protocol.load with remote=False and existing empty Object
fixes https://console.cloud.google.com/errors/detail/CI7JpJWfoff1Ew;time=P30D?project=bridgy-federated
2023-06-18 22:26:30 -07:00
Ryan Barrett 21ab9e34ed
Revise Protocol.load shallow and refresh kwargs, rename to local and remote
and use in for_id to optimize datastore usage.
2023-06-18 07:30:40 -07:00
Ryan Barrett 146abbf718
add shallow kwarg to Protocol.load 2023-06-17 14:13:17 -07:00
Ryan Barrett 4954a361e0
implement Fake.target_for 2023-06-17 14:12:43 -07:00