Daniel Brötzmann pushed to branch master at gajim / gajim
Commits: fb0a92a9 by wurstsalat at 2024-07-08T22:24:59+02:00 fix: Fix nickname completion in group chats Fixes #11895 - - - - - 2 changed files: - gajim/common/storage/archive/storage.py - test/gui/test_nick_completion.py Changes: ===================================== gajim/common/storage/archive/storage.py ===================================== @@ -870,11 +870,11 @@ def get_first_message_meta_for_date( @timeit def get_recent_muc_nicks( self, session: Session, account: str, jid: JID - ) -> set[str]: + ) -> list[str]: fk_account_pk = self._get_account_pk(session, account) fk_remote_pk = self._get_jid_pk(session, jid) - recent = datetime.now(timezone.utc) - timedelta(days=90) + recent = datetime.now(timezone.utc) - timedelta(days=30) stmt = ( select(Message.resource) @@ -886,10 +886,11 @@ def get_recent_muc_nicks( Message.resource.isnot(None), Message.correction_id.is_(None), ) + .order_by(sa.desc(Message.timestamp)) ) self._explain(session, stmt) - return set(session.scalars(stmt)) + return list(session.scalars(stmt)) @with_session @timeit ===================================== test/gui/test_nick_completion.py ===================================== @@ -10,10 +10,12 @@ class Test(unittest.TestCase): def test_generate_suggestions(self): participant_names = [ - 'aaaa', - 'xaaaz', - 'xxx', - 'xxxxz' + 'Hugo', + 'Herbert', + 'Robert', + 'Daisy', + 'xavier', + '7user', ] participants: list[MagicMock] = [] @@ -26,7 +28,7 @@ def test_generate_suggestions(self): app.storage.archive = MagicMock() app.storage.archive.get_recent_muc_nicks = MagicMock( - return_value=['fooo']) + return_value=['Daisy', 'Robert']) gen = GroupChatNickCompletion() contact = MagicMock() @@ -34,13 +36,13 @@ def test_generate_suggestions(self): gen.switch_contact(contact) - r = gen._generate_suggestions(prefix='x') - self.assertEqual(r, ['xaaaz', 'xxx', 'xxxxz']) + r = gen._generate_suggestions(prefix='h') # type: ignore + self.assertEqual(r, ['Herbert', 'Hugo']) - r = gen._generate_suggestions(prefix='') - self.assertEqual(r, ['fooo', 'aaaa', 'xaaaz', 'xxx', 'xxxxz']) + r = gen._generate_suggestions(prefix='') # type: ignore + self.assertEqual(r, ['Daisy', 'Robert', '7user', 'Herbert', 'Hugo', 'xavier']) - r = gen._generate_suggestions(prefix='m') + r = gen._generate_suggestions(prefix='m') # type: ignore self.assertEqual(r, []) View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/fb0a92a94f6602de42f84e88d2206f550e46d6fb -- View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/fb0a92a94f6602de42f84e88d2206f550e46d6fb You're receiving this email because of your account on dev.gajim.org.
_______________________________________________ Commits mailing list -- commits@gajim.org To unsubscribe send an email to commits-le...@gajim.org