This commit is contained in:
Your Name 2025-01-01 14:49:10 -05:00 committed by Henri Dickson
parent 0dbc12ed62
commit db50128b9d
4 changed files with 19 additions and 6 deletions

3
FEDERATION.md Normal file
View file

@ -0,0 +1,3 @@
# Federation
see [doc](docs/internals/federation.md) for FEP-67ff related information.

View file

@ -313,7 +313,7 @@ class ArrayField(JSONFieldMixin, DJANGO_ArrayField):
if isinstance(value, list):
return value
else: # backward compatible with dirty legacy data
logger.error(f"ArrayField has irregular value: {self.name}: {value}")
# logger.error(f"ArrayField has irregular value: {self.name}: {value}")
return [value]
return []

View file

@ -51,7 +51,6 @@ class QueryParser:
def is_valid(self):
"""Check if the parsed query is valid"""
print(self.page, self.max_pages, self.q, self.filter_by)
return (
self.page > 0
and self.page <= self.max_pages

View file

@ -1,12 +1,19 @@
# Federation
## ActivityPub
## Supported federation protocols and standards
NeoDB's ActivityPub implementation is based on [Takahē](https://jointakahe.org), with some change to enable interchange of additional information between NeoDB instances.
- [ActivityPub](https://www.w3.org/TR/activitypub/) (Server-to-Server)
- [WebFinger](https://webfinger.net/)
- [Http Signatures](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures)
- [NodeInfo](https://nodeinfo.diaspora.software/)
### NodeInfo
## Supported FEPs
NeoDB instances can be identified from user agent string (`NeoDB/x.x (+https://example.org)`) and its nodeinfo, e.g. https://neodb.social/nodeinfo/2.0/ :
- [FEP-f1d5: NodeInfo in Fediverse Software](https://codeberg.org/fediverse/fep/src/branch/main/fep/f1d5/fep-f1d5.md)
## NodeInfo
NeoDB instances can be identified from user agent string (`NeoDB/x.x (+https://example.org)`) and `protocols` in its nodeinfo, e.g. https://neodb.social/nodeinfo/2.0/ :
```json
{
"version": "2.0",
@ -21,6 +28,10 @@ NeoDB instances can be identified from user agent string (`NeoDB/x.x (+https://e
```
## ActivityPub
NeoDB's ActivityPub implementation is based on [Takahē](https://jointakahe.org), with some change to enable interchange of additional information between NeoDB instances.
### Activity
NeoDB add additional fields to `Note` activity: