diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index a78ea51..2ea8f0b 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -22,14 +22,7 @@ jobs: created_at=$(curl -sf \ -H "Authorization: token $FORGEJO_TOKEN" \ "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/actions/tasks?limit=100" \ - | python3 -c " -import sys, json -data = json.load(sys.stdin) -for r in data.get('workflow_runs', []): - if r.get('run_number') == $RUN_NUMBER: - print(r['created_at']) - break -" 2>/dev/null) + | python3 -c "import sys,json;data=json.load(sys.stdin);rs=[r for r in data.get('workflow_runs',[]) if r.get('run_number')==$RUN_NUMBER];print(rs[0]['created_at'] if rs else '')" 2>/dev/null) if [ -n "$created_at" ]; then queued_epoch=$(date -d "$created_at" +%s) wait_seconds=$((runner_start - queued_epoch)) diff --git a/lib/data/repositories/email_repository_impl.dart b/lib/data/repositories/email_repository_impl.dart index 911c1a9..a0bf36f 100644 --- a/lib/data/repositories/email_repository_impl.dart +++ b/lib/data/repositories/email_repository_impl.dart @@ -2952,16 +2952,12 @@ class EmailRepositoryImpl implements EmailRepository { String? mailboxPath, String query, ) async { - final words = query - .trim() - .split(RegExp(r'\s+')) - .where((w) => w.isNotEmpty) - .toList(); + final words = + query.trim().split(RegExp(r'\s+')).where((w) => w.isNotEmpty).toList(); if (words.isEmpty) return []; final noteConditions = words.map((_) => 'n.note_text LIKE ?').join(' AND '); - final likeVars = - words.map((w) => Variable('%$w%')).toList(); + final likeVars = words.map((w) => Variable('%$w%')).toList(); final extraConditions = StringBuffer(); final extraVars = >[]; @@ -2980,14 +2976,13 @@ class EmailRepositoryImpl implements EmailRepository { ' WHERE $noteConditions$extraConditions' ' ORDER BY e.received_at DESC LIMIT 50'; - final rows = await _db - .customSelect( - sql, - variables: [...likeVars, ...extraVars], - readsFrom: {_db.emails, _db.emailNotes}, - ) - .get(); - final emailRows = await Future.wait(rows.map((r) => _db.emails.mapFromRow(r))); + final rows = await _db.customSelect( + sql, + variables: [...likeVars, ...extraVars], + readsFrom: {_db.emails, _db.emailNotes}, + ).get(); + final emailRows = + await Future.wait(rows.map((r) => _db.emails.mapFromRow(r))); return emailRows.map(_toModel).toList(); } @@ -3126,8 +3121,7 @@ class EmailRepositoryImpl implements EmailRepository { queryRows.map((r) => _db.emails.mapFromRow(r)), ); - final noteRows = - await _searchEmailsByNotes(accountId, mailboxPath, query); + final noteRows = await _searchEmailsByNotes(accountId, mailboxPath, query); final seen = {}; final merged = []; diff --git a/test/unit/email_repository_impl_test.dart b/test/unit/email_repository_impl_test.dart index ff24382..f6fc9da 100644 --- a/test/unit/email_repository_impl_test.dart +++ b/test/unit/email_repository_impl_test.dart @@ -514,8 +514,7 @@ void main() { ), ); - final results = - await r.emails.searchEmailsGlobal(null, 'urgent'); + final results = await r.emails.searchEmailsGlobal(null, 'urgent'); expect(results, hasLength(1)); expect(results.first.subject, 'Weekly report'); }); @@ -569,8 +568,7 @@ void main() { ), ); - final results = - await r.emails.searchEmails('acc-1', 'INBOX', 'client'); + final results = await r.emails.searchEmails('acc-1', 'INBOX', 'client'); expect(results, hasLength(1)); expect(results.first.subject, 'Project update'); expect(results.first.mailboxPath, 'INBOX');