Compare commits

...
Author SHA1 Message Date
Alexander Skoblikovandkseniaguzeeva d7ded85ff0 dbeaver/pro#9508 use proto header without host (#4379)
* dbeaver/pro#9508 use proto header without host

* dbeaver/pro#9508 review fixes

---------

Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2026-06-10 09:17:54 +02:00
Ainur 6364581b5b dbeaver/pro#9511 fix unknown struct presentation 2026-06-04 14:37:41 +02:00
Serge Rider bfcc7764d8 Merge branch 'release_26_1_0' of https://github.com/dbeaver/cloudbeaver into release_26_1_0 2026-06-04 14:37:35 +02:00
Sychev Andrey 798adb4787 dbeaver/pro#9438 fix: fix the export lib version (#4369) (#4372)
* dbeaver/pro#9438 fix: fix the export lib version

* dbeaver/pro#9438 fix: update modern-screenshot dependency to version 4.6.8
2026-06-01 15:10:59 +02:00
Ainur 211ca65acb dbeaver/pro#9447 validate project path fix (#4367)
* dbeaver/pro#9447 validate project path fix

* dbeaver/pro#9447 validate project name on creating project

* dbeaver/pro#9447 validate project using general utils
2026-05-29 10:27:42 +02:00
Sychev AndreyandEvgenia 4c71bd6005 dbeaver/pro#9407 fix: long values wrapping (#4364)
we mimic here the old input's behaviour, when we can't see the scroll but can navigate through the 1-line value with keyboard or mouse drag/selection

Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2026-05-27 20:38:46 +02:00
Serge Riderandkseniaguzeeva 74a5877e6d dbeaver/pro#9397 Initialize datasource registry flow fix (#4360)
Co-authored-by: kseniaguzeeva <112612526+kseniaguzeeva@users.noreply.github.com>
2026-05-26 17:47:26 +02:00
8 changed files with 49 additions and 18 deletions
@@ -377,6 +377,11 @@ public class WebGlobalProjectRegistryProxy implements DBPDataSourceRegistry, Dat
return dataSourceRegistry.getPreferenceStore();
}
@Override
public void initializeDataSources() {
dataSourceRegistry.initializeDataSources();
}
@Override
public DataSourceParseResults loadDataSources(
@NotNull List<DBPDataSourceConfigurationStorage> storages,
@@ -53,6 +53,7 @@ import org.jkiss.dbeaver.registry.DataSourceParseResults;
import org.jkiss.dbeaver.registry.ResourceTypeDescriptor;
import org.jkiss.dbeaver.registry.ResourceTypeRegistry;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.IOUtils;
import org.jkiss.utils.Pair;
@@ -283,7 +284,7 @@ public class LocalResourceController extends BaseLocalResourceController {
throw new DBException("Error creating shared project path", e);
}
}
validateResourcePath(name);
GeneralUtils.validateResourceNameUnconditionally(name);
validateProjectName(null, name);
var projectPath = sharedProjectsPath.resolve(name);
if (Files.exists(projectPath)) {
@@ -1106,6 +1107,7 @@ public class LocalResourceController extends BaseLocalResourceController {
RMProjectName project = WebRMUtils.parseProjectName(projectId);
RMProjectType type = project.getType();
String projectName = project.getName();
GeneralUtils.validateResourceNameUnconditionally(projectName);
switch (type) {
case GLOBAL:
if (!projectName.equals(globalProjectName)) {
@@ -319,8 +319,7 @@ public class ServletAppUtils {
if (log.isTraceEnabled()) {
log.trace("forwarded origin: " + origin);
}
}
if (CommonUtils.isEmpty(origin)) {
} else if (CommonUtils.isEmpty(origin)) {
URI requestUrl = URI.create(request.getRequestURL().toString());
if (log.isTraceEnabled()) {
log.trace("Request URL: " + requestUrl);
@@ -344,13 +343,34 @@ public class ServletAppUtils {
log.error("Failed to parse port from header: " + request.getHeader(HEADER_FORWARDED_PORT), e);
}
}
String finalScheme = uri.getScheme();
String finalHost = uri.getHost();
int finalPort = port;
boolean changed = false;
if (CommonUtils.isNotEmpty(forwardedScheme) && !forwardedScheme.equals(finalScheme)) {
finalScheme = forwardedScheme;
changed = true;
}
if (CommonUtils.isNotEmpty(forwardedHost) && !forwardedHost.equals(finalHost)) {
finalHost = forwardedHost;
changed = true;
}
if (DEFAULT_PORTS.contains(port)) {
finalPort = -1;
changed = true;
}
if (log.isTraceEnabled()) {
log.trace("Origin URI: " + origin);
}
if (changed) {
try {
origin = new URI(
uri.getScheme(),
finalScheme,
uri.getUserInfo(),
uri.getHost(),
-1,
finalHost,
finalPort,
uri.getPath(),
uri.getQuery(),
uri.getFragment()
@@ -359,9 +379,6 @@ public class ServletAppUtils {
log.error("Failed to create URI without port", e);
}
}
if (log.isTraceEnabled()) {
log.trace("Origin URI: " + origin);
}
return origin;
}
@@ -1,6 +1,6 @@
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2024 DBeaver Corp and others
* Copyright (C) 2010-2026 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -116,8 +116,7 @@ public class WebSQLUtils {
Map<String, Object> map = createMapOfType(WebSQLConstants.VALUE_TYPE_COLLECTION);
map.put("value", items);
return map;
} else if (value instanceof DBDComposite) {
DBDComposite composite = (DBDComposite)value;
} else if (value instanceof DBDComposite composite && composite.getAttributes().length > 0) {
Map<String, Object> struct = new LinkedHashMap<>();
for (DBSAttributeBase attr : composite.getAttributes()) {
struct.put(attr.getName(), makeWebCellValue(session, attr, composite.getAttributeValue(attr), dataFormat));
@@ -1,6 +1,13 @@
:global(.rdg-cell) .editor {
appearance: none;
resize: none;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
&::-webkit-scrollbar {
display: none;
}
box-sizing: border-box;
min-height: initial;
@@ -45,6 +45,7 @@ export function TextEditor({ rowIdx, colIdx, onClose }: IProps) {
ref={autoFocusAndSelect}
className={classes['editor']}
rows={1}
wrap="off"
value={value}
onChange={event => cellContext?.onCellChange?.(rowIdx, colIdx, event.target.value)}
onBlur={() => onClose()}
+1 -1
View File
@@ -28,7 +28,7 @@
"fast-deep-equal": "^3",
"md5": "^2",
"mobx": "^6",
"modern-screenshot": "^4",
"modern-screenshot": "4.6.8",
"tslib": "^2",
"underscore": "^1",
"uuid": "^14",
+5 -5
View File
@@ -2264,7 +2264,7 @@ __metadata:
fast-deep-equal: "npm:^3"
md5: "npm:^2"
mobx: "npm:^6"
modern-screenshot: "npm:^4"
modern-screenshot: "npm:4.6.8"
rimraf: "npm:^6"
tslib: "npm:^2"
typescript: "npm:^5"
@@ -15162,10 +15162,10 @@ __metadata:
languageName: node
linkType: hard
"modern-screenshot@npm:^4":
version: 4.7.0
resolution: "modern-screenshot@npm:4.7.0"
checksum: 10c0/9c5fbe4f4c73d3dcf0ba7fb76c1671ad148fdedffc84700e0b8ca1c1640a6ab1930718ae1424b0a6517b98d8f18c898ea0e62ee0ca57a25bfce7b914df721a63
"modern-screenshot@npm:4.6.8":
version: 4.6.8
resolution: "modern-screenshot@npm:4.6.8"
checksum: 10c0/e394a88b60cfb9ca0d3a38afff33eb9063345bb6a59d44e7c663e42c5af4c88aabdbe989ebe9e17b4d380520e8c8e9b9f435e17684246b42e72f6b931d34d166
languageName: node
linkType: hard