forked from MirrorHub/synapse
Change collection[str] to StrCollection in event_auth code (#14929)
Signed-off-by: Harishankar Kumar <hari01584@gmail.com>
This commit is contained in:
parent
c0bf4c3cb4
commit
db2b105d69
5 changed files with 19 additions and 24 deletions
1
changelog.d/14929.misc
Normal file
1
changelog.d/14929.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Use `StrCollection` to avoid potential bugs with `Collection[str]`.
|
|
@ -16,18 +16,7 @@
|
||||||
import collections.abc
|
import collections.abc
|
||||||
import logging
|
import logging
|
||||||
import typing
|
import typing
|
||||||
from typing import (
|
from typing import Any, Dict, Iterable, List, Mapping, Optional, Set, Tuple, Union
|
||||||
Any,
|
|
||||||
Collection,
|
|
||||||
Dict,
|
|
||||||
Iterable,
|
|
||||||
List,
|
|
||||||
Mapping,
|
|
||||||
Optional,
|
|
||||||
Set,
|
|
||||||
Tuple,
|
|
||||||
Union,
|
|
||||||
)
|
|
||||||
|
|
||||||
from canonicaljson import encode_canonical_json
|
from canonicaljson import encode_canonical_json
|
||||||
from signedjson.key import decode_verify_key_bytes
|
from signedjson.key import decode_verify_key_bytes
|
||||||
|
@ -56,7 +45,13 @@ from synapse.api.room_versions import (
|
||||||
RoomVersions,
|
RoomVersions,
|
||||||
)
|
)
|
||||||
from synapse.storage.databases.main.events_worker import EventRedactBehaviour
|
from synapse.storage.databases.main.events_worker import EventRedactBehaviour
|
||||||
from synapse.types import MutableStateMap, StateMap, UserID, get_domain_from_id
|
from synapse.types import (
|
||||||
|
MutableStateMap,
|
||||||
|
StateMap,
|
||||||
|
StrCollection,
|
||||||
|
UserID,
|
||||||
|
get_domain_from_id,
|
||||||
|
)
|
||||||
|
|
||||||
if typing.TYPE_CHECKING:
|
if typing.TYPE_CHECKING:
|
||||||
# conditional imports to avoid import cycle
|
# conditional imports to avoid import cycle
|
||||||
|
@ -69,7 +64,7 @@ logger = logging.getLogger(__name__)
|
||||||
class _EventSourceStore(Protocol):
|
class _EventSourceStore(Protocol):
|
||||||
async def get_events(
|
async def get_events(
|
||||||
self,
|
self,
|
||||||
event_ids: Collection[str],
|
event_ids: StrCollection,
|
||||||
redact_behaviour: EventRedactBehaviour,
|
redact_behaviour: EventRedactBehaviour,
|
||||||
get_prev_content: bool = False,
|
get_prev_content: bool = False,
|
||||||
allow_rejected: bool = False,
|
allow_rejected: bool = False,
|
||||||
|
|
|
@ -39,7 +39,7 @@ from unpaddedbase64 import encode_base64
|
||||||
|
|
||||||
from synapse.api.constants import RelationTypes
|
from synapse.api.constants import RelationTypes
|
||||||
from synapse.api.room_versions import EventFormatVersions, RoomVersion, RoomVersions
|
from synapse.api.room_versions import EventFormatVersions, RoomVersion, RoomVersions
|
||||||
from synapse.types import JsonDict, RoomStreamToken
|
from synapse.types import JsonDict, RoomStreamToken, StrCollection
|
||||||
from synapse.util.caches import intern_dict
|
from synapse.util.caches import intern_dict
|
||||||
from synapse.util.frozenutils import freeze
|
from synapse.util.frozenutils import freeze
|
||||||
from synapse.util.stringutils import strtobool
|
from synapse.util.stringutils import strtobool
|
||||||
|
@ -413,7 +413,7 @@ class EventBase(metaclass=abc.ABCMeta):
|
||||||
"""
|
"""
|
||||||
return [e for e, _ in self._dict["prev_events"]]
|
return [e for e, _ in self._dict["prev_events"]]
|
||||||
|
|
||||||
def auth_event_ids(self) -> Sequence[str]:
|
def auth_event_ids(self) -> StrCollection:
|
||||||
"""Returns the list of auth event IDs. The order matches the order
|
"""Returns the list of auth event IDs. The order matches the order
|
||||||
specified in the event, though there is no meaning to it.
|
specified in the event, though there is no meaning to it.
|
||||||
|
|
||||||
|
@ -558,7 +558,7 @@ class FrozenEventV2(EventBase):
|
||||||
"""
|
"""
|
||||||
return self._dict["prev_events"]
|
return self._dict["prev_events"]
|
||||||
|
|
||||||
def auth_event_ids(self) -> Sequence[str]:
|
def auth_event_ids(self) -> StrCollection:
|
||||||
"""Returns the list of auth event IDs. The order matches the order
|
"""Returns the list of auth event IDs. The order matches the order
|
||||||
specified in the event, though there is no meaning to it.
|
specified in the event, though there is no meaning to it.
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ from typing import (
|
||||||
Iterable,
|
Iterable,
|
||||||
List,
|
List,
|
||||||
Optional,
|
Optional,
|
||||||
Sequence,
|
|
||||||
Set,
|
Set,
|
||||||
Tuple,
|
Tuple,
|
||||||
)
|
)
|
||||||
|
@ -51,7 +50,7 @@ from synapse.storage.databases.main.search import SearchEntry
|
||||||
from synapse.storage.engines import PostgresEngine
|
from synapse.storage.engines import PostgresEngine
|
||||||
from synapse.storage.util.id_generators import AbstractStreamIdGenerator
|
from synapse.storage.util.id_generators import AbstractStreamIdGenerator
|
||||||
from synapse.storage.util.sequence import SequenceGenerator
|
from synapse.storage.util.sequence import SequenceGenerator
|
||||||
from synapse.types import JsonDict, StateMap, get_domain_from_id
|
from synapse.types import JsonDict, StateMap, StrCollection, get_domain_from_id
|
||||||
from synapse.util import json_encoder
|
from synapse.util import json_encoder
|
||||||
from synapse.util.iterutils import batch_iter, sorted_topologically
|
from synapse.util.iterutils import batch_iter, sorted_topologically
|
||||||
from synapse.util.stringutils import non_null_str_or_none
|
from synapse.util.stringutils import non_null_str_or_none
|
||||||
|
@ -552,7 +551,7 @@ class PersistEventsStore:
|
||||||
event_chain_id_gen: SequenceGenerator,
|
event_chain_id_gen: SequenceGenerator,
|
||||||
event_to_room_id: Dict[str, str],
|
event_to_room_id: Dict[str, str],
|
||||||
event_to_types: Dict[str, Tuple[str, str]],
|
event_to_types: Dict[str, Tuple[str, str]],
|
||||||
event_to_auth_chain: Dict[str, Sequence[str]],
|
event_to_auth_chain: Dict[str, StrCollection],
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Calculate the chain cover index for the given events.
|
"""Calculate the chain cover index for the given events.
|
||||||
|
|
||||||
|
@ -846,7 +845,7 @@ class PersistEventsStore:
|
||||||
event_chain_id_gen: SequenceGenerator,
|
event_chain_id_gen: SequenceGenerator,
|
||||||
event_to_room_id: Dict[str, str],
|
event_to_room_id: Dict[str, str],
|
||||||
event_to_types: Dict[str, Tuple[str, str]],
|
event_to_types: Dict[str, Tuple[str, str]],
|
||||||
event_to_auth_chain: Dict[str, Sequence[str]],
|
event_to_auth_chain: Dict[str, StrCollection],
|
||||||
events_to_calc_chain_id_for: Set[str],
|
events_to_calc_chain_id_for: Set[str],
|
||||||
chain_map: Dict[str, Tuple[int, int]],
|
chain_map: Dict[str, Tuple[int, int]],
|
||||||
) -> Dict[str, Tuple[int, int]]:
|
) -> Dict[str, Tuple[int, int]]:
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Set, Tuple, cast
|
from typing import TYPE_CHECKING, Dict, List, Optional, Set, Tuple, cast
|
||||||
|
|
||||||
import attr
|
import attr
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ from synapse.storage.database import (
|
||||||
)
|
)
|
||||||
from synapse.storage.databases.main.events import PersistEventsStore
|
from synapse.storage.databases.main.events import PersistEventsStore
|
||||||
from synapse.storage.types import Cursor
|
from synapse.storage.types import Cursor
|
||||||
from synapse.types import JsonDict
|
from synapse.types import JsonDict, StrCollection
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from synapse.server import HomeServer
|
from synapse.server import HomeServer
|
||||||
|
@ -1061,7 +1061,7 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
|
||||||
self.event_chain_id_gen, # type: ignore[attr-defined]
|
self.event_chain_id_gen, # type: ignore[attr-defined]
|
||||||
event_to_room_id,
|
event_to_room_id,
|
||||||
event_to_types,
|
event_to_types,
|
||||||
cast(Dict[str, Sequence[str]], event_to_auth_chain),
|
cast(Dict[str, StrCollection], event_to_auth_chain),
|
||||||
)
|
)
|
||||||
|
|
||||||
return _CalculateChainCover(
|
return _CalculateChainCover(
|
||||||
|
|
Loading…
Reference in a new issue