Compare commits

...

7 Commits

Author SHA1 Message Date
Tulir Asokan bf9bda8b03 Bump version to 0.6.1 2019-09-20 14:44:33 +03:00
Tulir Asokan 489d09a0f6 Bump version to 0.6.1rc2 2019-09-03 00:34:51 +03:00
Tulir Asokan d96356a310 Remove invalid reply fallbacks from edits 2019-09-03 00:33:58 +03:00
Tulir Asokan d3c3912645 Add .gitlab-ci.yml 2019-09-03 00:32:45 +03:00
Tulir Asokan 92830c3a64 Bump version to 0.6.0rc1 2019-09-03 00:23:35 +03:00
Tulir Asokan 00faab2213 Ignore Riot web brokenness in edits 2019-09-03 00:22:45 +03:00
Tulir Asokan d6294ebb45 Fix some errors 2019-09-03 00:17:52 +03:00
5 changed files with 56 additions and 6 deletions
+38
View File
@@ -0,0 +1,38 @@
image: docker:stable
stages:
- build
- push
default:
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
build:
stage: build
script:
- docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --pull --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
push latest:
stage: push
only:
- master
variables:
GIT_STRATEGY: none
script:
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
- docker push $CI_REGISTRY_IMAGE:latest
push tag:
stage: push
variables:
GIT_STRATEGY: none
except:
- master
script:
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+1 -1
View File
@@ -1,2 +1,2 @@
__version__ = "0.6.0"
__version__ = "0.6.1"
__author__ = "Tulir Asokan <tulir@maunium.net>"
@@ -170,7 +170,9 @@ class MatrixParser:
@classmethod
def node_to_tmessage(cls, node: HTMLNode, ctx: RecursionContext) -> TelegramMessage:
if node.tag == "ol":
if node.tag == "mx-reply":
return TelegramMessage("")
elif node.tag == "ol":
return cls.list_to_tmessage(node, ctx)
elif node.tag == "ul":
return cls.list_to_tmessage(node, ctx.enter_list())
+6 -2
View File
@@ -346,7 +346,10 @@ class Portal:
await self.invite_to_matrix(invites or [])
return self.mxid
async with self._room_create_lock:
return await self._create_matrix_room(user, entity, invites)
try:
return await self._create_matrix_room(user, entity, invites)
except Exception:
self.log.exception("Fatal error creating Matrix room")
async def _create_matrix_room(self, user: 'AbstractUser', entity: TypeChat, invites: InviteList
) -> Optional[MatrixRoomID]:
@@ -1700,7 +1703,8 @@ class Portal:
edit_index=prev_edit_msg.edit_index + 1).insert()
return
text, html, _ = await formatter.telegram_to_matrix(evt, source, self.main_intent)
text, html, _ = await formatter.telegram_to_matrix(evt, source, self.main_intent,
no_reply_fallback=True)
editing_msg = DBMessage.get_one_by_tgid(TelegramID(evt.id), tg_space)
if not editing_msg:
self.log.info(f"Didn't find edited message {evt.id}@{tg_space} (src {source.tgid}) "
+8 -2
View File
@@ -161,6 +161,12 @@ class User(AbstractUser):
# endregion
# region Telegram connection management
async def try_ensure_started(self) -> None:
try:
await self.ensure_started()
except Exception:
self.log.exception("Exception in ensure_started")
def ensure_started(self, even_if_no_session=False) -> Awaitable['User']:
return super().ensure_started(even_if_no_session)
@@ -400,9 +406,9 @@ class User(AbstractUser):
# endregion
def init(context: 'Context') -> List[Awaitable['User']]:
def init(context: 'Context') -> List[Awaitable[None]]:
global config
config = context.config
users = [User.from_db(user) for user in DBUser.all()]
return [user.ensure_started() for user in users if user.tgid]
return [user.try_ensure_started() for user in users if user.tgid]