Skip to content

fix(task): prevent artifact publication overwrite - #60

Open
HandSonic wants to merge 321 commits into
mainfrom
fix/export-artifact-publication
Open

HandSonic wants to merge 321 commits into
mainfrom
fix/export-artifact-publication

Conversation

@HandSonic

@HandSonic HandSonic commented Aug 29, 2026 •

Copy link
Copy Markdown
Owner

Publishes completed artifacts through verified no-clobber hard links, stages fallback copies privately before exposure, rejects source symlinks and replacements, and quarantines owned cleanup paths so concurrent replacements are never deleted. Includes deterministic collision, partial-copy, replacement, cleanup-retry, and platform-failure tests.

Latest-main revalidation (2026-09-04)

  • Rebased as one commit onto upstream 144a04e; current head 0e5d2ac.
  • Focused artifact publication tests: 18/18 passed.
  • Full domain-core module: 236/236 passed.

Aias00 and others added 30 commits August 31, 2026 12:45
fix(dm): support EXPLAIN execution plans
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
…-navigation

feat(ai): add chat history navigation and renaming
…eld-name

fix(result): search custom-rendered column names
…-alignment

fix(workspace): align datasource header divider
Merge Hive database metadata mapping and tolerate unsupported JDBC getURL metadata.
…rMind#2860)

Increase datasource identity tint opacity so selected colors remain visible in light and dark themes.
…ark-density

Increase Community SQL editor watermark density for large editor viewports.
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
Signed-off-by: liuhy <liuhongyu@apache.org>
openai0229 and others added 29 commits September 10, 2026 13:50
…or-recovery

fix(table): preserve filters after query errors
…ns-2601

feat(mysql): CSV encoding and format options (OtterMind#2601)
…fresh-errors

fix(tree): preserve hidden settings and saved datasource state on refresh
…dact-2470

chore(ssh): redact credentials in SSHInfo.toString used by error logs
…-after-datasource-create

fix(tree): expand namespace after datasource creation
…api-key-page

chore(settings): remove unused API key page
…fo-copy

fix(spi): preserve connection fields in copies
…s-null-guard-2505

fix(jdbc): guard getJarUrlsFromZip against null listFiles
…thread-2518

fix(cookie): make LocalCookie flush thread a named daemon
Keep completed task states and newly loaded history while polling.
Invalidate stale responses on deletion or close and surface retryable load failures.
…ream-leak-2537

fix(ncx): close DBeaver config stream on reader initialization failure
fix(task): preserve task state and paging during polling
…catch-2539

fix(connection): report SSH transport failures without duplicate alerts
if (!target.getParent().equals(stagingDirectory)) {
throw new IOException("invalid staging target");
}
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
if (!target.getParent().equals(stagingDirectory)) {
throw new IOException("invalid staging target");
}
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
}

private static void validateSource(File file, String originalFileName) {
if (file == null || !file.isFile() || !file.canRead() || file.length() > MAX_SIZE_BYTES
}

private static void validateSource(File file, String originalFileName) {
if (file == null || !file.isFile() || !file.canRead() || file.length() > MAX_SIZE_BYTES

private static void deleteQuietly(Path path) {
try {
Files.deleteIfExists(path);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants