Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qjclaw-dmg
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AI-甘富林
qjclaw-dmg
Commits
e4fdf87e
Commit
e4fdf87e
authored
May 18, 2026
by
edy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(ui): truncate task output summaries
parent
58f1def1
Pipeline
#18471
failed
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
0 deletions
+20
-0
tasks.css
apps/ui/src/styles/tasks.css
+4
-0
taskPanelViewSource.test.ts
apps/ui/test/taskPanelViewSource.test.ts
+16
-0
No files found.
apps/ui/src/styles/tasks.css
View file @
e4fdf87e
...
...
@@ -557,10 +557,14 @@
.task-panel-output-main
p
{
margin
:
0
;
min-width
:
0
;
color
:
#52657f
;
font-size
:
12.5px
;
font-weight
:
600
;
line-height
:
1.5
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.task-panel-output-url-row
{
...
...
apps/ui/test/taskPanelViewSource.test.ts
View file @
e4fdf87e
...
...
@@ -3,8 +3,24 @@ import assert from "node:assert/strict"
import
{
readFileSync
}
from
"node:fs"
const
source
=
readFileSync
(
new
URL
(
"../src/features/tasks/TaskPanelView.tsx"
,
import
.
meta
.
url
),
"utf8"
)
const
taskStylesSource
=
readFileSync
(
new
URL
(
"../src/styles/tasks.css"
,
import
.
meta
.
url
),
"utf8"
)
function
cssBlock
(
sourceText
:
string
,
selector
:
string
):
string
{
const
start
=
sourceText
.
indexOf
(
`
${
selector
}
{`
)
assert
.
notEqual
(
start
,
-
1
,
`Missing CSS selector:
${
selector
}
`
)
const
end
=
sourceText
.
indexOf
(
"
\n
}"
,
start
)
assert
.
notEqual
(
end
,
-
1
,
`Missing CSS block end:
${
selector
}
`
)
return
sourceText
.
slice
(
start
,
end
+
2
)
}
test
(
"task panel output uses real artifact paths and produced timestamps"
,
()
=>
{
assert
.
match
(
source
,
/artifact
\.
path
\s
*
\?\?\s
*artifact
\.
url/
)
assert
.
match
(
source
,
/artifact
\.
producedAt
\s
*
\?\?
/
)
})
test
(
"task panel output summaries use a single-line visual ellipsis"
,
()
=>
{
const
summaryBlock
=
cssBlock
(
taskStylesSource
,
".task-panel-output-main p"
)
assert
.
match
(
summaryBlock
,
/overflow:
\s
*hidden;/
)
assert
.
match
(
summaryBlock
,
/text-overflow:
\s
*ellipsis;/
)
assert
.
match
(
summaryBlock
,
/white-space:
\s
*nowrap;/
)
})
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment