mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-07-14 16:45:59 +00:00
ede126d7d4
- New Features:
- Case-insensitive file handling
- Files can now be handled case-insensitively.
- This behaviour can be modified in the settings under `Handle files as Case-Sensitive` (Default: Prompt, Enabled for previous behaviour).
- Improved chunk revision fixing
- Revisions for chunks can now be fixed for faster chunk creation.
- This can be adjusted in the settings under `Compute revisions for chunks` (Default: Prompt, Enabled for previous behaviour).
- Bulk chunk transfer
- Chunks can now be transferred in bulk during uploads.
- This feature is enabled by default through `Send chunks in bulk`.
- Creation of missing chunks without
- Missing chunks can be created without storing notes, enhancing efficiency for first synchronisation or after prolonged periods without synchronisation.
- Improvements:
- File status scanning on the startup
- Quite significant performance improvements.
- No more missing scans of some files.
- Status in editor enhancements
- Significant performance improvements in the status display within the editor.
- Notifications for files that will not be synchronised will now be properly communicated.
- Encryption and Decryption
- These processes are now performed in background threads to ensure fast and stable transfers.
- Verify and repair all files
- Got faster through parallel checking.
- Migration on update
- Migration messages and wizards have become more helpful.
- Behavioural changes:
- Chunk size adjustments
- Large chunks will no longer be created for older, stable files, addressing storage consumption issues.
- Flag file automation
- Confirmation will be shown and we can cancel it.
- Fixed:
- Database File Scanning
- All files in the database will now be enumerated correctly.
- Miscellaneous
- Dependency updated.
- Now, tree shaking is left to terser, from esbuild.
341 lines
5.8 KiB
CSS
341 lines
5.8 KiB
CSS
.added {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--text-accent);
|
|
}
|
|
|
|
.normal {
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.deleted {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--text-muted);
|
|
}
|
|
|
|
.op-scrollable {
|
|
overflow-y: scroll;
|
|
/* min-height: 280px; */
|
|
max-height: 280px;
|
|
user-select: text;
|
|
}
|
|
|
|
.op-pre {
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.op-warn {
|
|
border: 1px solid salmon;
|
|
padding: 2px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.op-warn::before {
|
|
content: "Warning";
|
|
font-weight: bold;
|
|
color: salmon;
|
|
position: relative;
|
|
display: block;
|
|
}
|
|
|
|
.op-warn-info {
|
|
border: 1px solid rgb(255, 209, 81);
|
|
padding: 2px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.op-warn-info::before {
|
|
content: "Notice";
|
|
font-weight: bold;
|
|
color: rgb(255, 209, 81);
|
|
position: relative;
|
|
display: block;
|
|
}
|
|
|
|
.syncstatusbar {
|
|
-webkit-filter: grayscale(100%);
|
|
filter: grayscale(100%);
|
|
}
|
|
|
|
.tcenter {
|
|
text-align: center;
|
|
}
|
|
|
|
.sls-plugins-wrap {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
max-height: 50vh;
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
.sls-plugins-tbl {
|
|
border: 1px solid var(--background-modifier-border);
|
|
width: 100%;
|
|
max-height: 80%;
|
|
}
|
|
|
|
.divider th {
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
.sls-header-button {
|
|
margin-left: 2em;
|
|
}
|
|
|
|
.sls-hidden {
|
|
display: none;
|
|
}
|
|
|
|
:root {
|
|
--sls-log-text: "";
|
|
}
|
|
|
|
.sls-troubleshoot-preview {
|
|
max-width: max-content;
|
|
}
|
|
|
|
.sls-troubleshoot-preview img {
|
|
max-width: 100%;
|
|
}
|
|
|
|
.sls-setting-tab {
|
|
display: none;
|
|
}
|
|
|
|
div.sls-setting-menu-btn {
|
|
color: var(--text-normal);
|
|
background-color: var(--background-secondary-alt);
|
|
border-radius: 4px 4px 0 0;
|
|
padding: 6px 10px;
|
|
cursor: pointer;
|
|
margin-right: 12px;
|
|
font-family: "Inter", sans-serif;
|
|
outline: none;
|
|
user-select: none;
|
|
flex-grow: 1;
|
|
text-align: center;
|
|
flex-shrink: 1;
|
|
}
|
|
|
|
.sls-setting-label.selected {
|
|
/* order: 1; */
|
|
flex-grow: 1;
|
|
/* width: 100%; */
|
|
}
|
|
|
|
.sls-setting-tab:hover~div.sls-setting-menu-btn,
|
|
.sls-setting-label.selected .sls-setting-tab:checked~div.sls-setting-menu-btn {
|
|
background-color: var(--interactive-accent);
|
|
color: var(--text-on-accent);
|
|
}
|
|
|
|
.sls-setting-menu {
|
|
display: flex;
|
|
flex-direction: row;
|
|
/* flex-wrap: wrap; */
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.sls-setting-label {
|
|
flex-grow: 1;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.setting-collapsed {
|
|
display: none;
|
|
}
|
|
|
|
.sls-plugins-tbl-buttons {
|
|
text-align: right;
|
|
}
|
|
|
|
.sls-plugins-tbl-buttons button {
|
|
flex-grow: 0;
|
|
padding: 6px 10px;
|
|
}
|
|
|
|
.sls-plugins-tbl-device-head {
|
|
background-color: var(--background-secondary-alt);
|
|
color: var(--text-accent);
|
|
}
|
|
|
|
.op-flex {
|
|
display: flex;
|
|
}
|
|
|
|
.op-flex input {
|
|
display: inline-flex;
|
|
flex-grow: 1;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.op-info {
|
|
display: inline-flex;
|
|
flex-grow: 1;
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
width: 100%;
|
|
margin-bottom: 4px;
|
|
padding-bottom: 4px;
|
|
}
|
|
|
|
.history-added {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--text-accent);
|
|
}
|
|
|
|
.history-normal {
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.history-deleted {
|
|
color: var(--text-on-accent);
|
|
background-color: var(--text-muted);
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
.ob-btn-config-fix label {
|
|
margin-right: 40px;
|
|
}
|
|
|
|
.ob-btn-config-info {
|
|
border: 1px solid salmon;
|
|
padding: 2px;
|
|
margin: 1px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.ob-btn-config-head {
|
|
padding: 2px;
|
|
margin: 1px;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.isWizard .wizardHidden {
|
|
display: none;
|
|
}
|
|
|
|
.sls-setting:not(.isWizard) .wizardOnly {
|
|
display: none;
|
|
}
|
|
|
|
.sls-item-dirty::before {
|
|
content: "✏";
|
|
}
|
|
|
|
.sls-item-dirty-help::after {
|
|
content: " ❓";
|
|
}
|
|
|
|
.sls-item-invalid-value {
|
|
background-color: rgba(var(--background-modifier-error-rgb), 0.3) !important;
|
|
}
|
|
|
|
.sls-setting-disabled input[type=text],
|
|
.sls-setting-disabled input[type=number],
|
|
.sls-setting-disabled input[type=password] {
|
|
filter: brightness(80%);
|
|
color: var(--text-muted);
|
|
|
|
}
|
|
|
|
.sls-setting-hidden {
|
|
display: none;
|
|
}
|
|
|
|
.password-input>.setting-item-control>input {
|
|
-webkit-text-security: disc;
|
|
}
|
|
|
|
span.ls-mark-cr::after {
|
|
user-select: none;
|
|
content: "↲";
|
|
color: var(--text-muted);
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.deleted span.ls-mark-cr::after {
|
|
color: var(--text-on-accent);
|
|
}
|
|
|
|
.ls-imgdiff-wrap {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.ls-imgdiff-wrap .overlay {
|
|
position: relative;
|
|
}
|
|
|
|
.ls-imgdiff-wrap .overlay .img-base {
|
|
position: relative;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.ls-imgdiff-wrap .overlay .img-overlay {
|
|
-webkit-filter: invert(100%) opacity(50%);
|
|
filter: invert(100%) opacity(50%);
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
animation: ls-blink-diff 0.5s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
|
|
}
|
|
|
|
@keyframes ls-blink-diff {
|
|
0% {
|
|
opacity: 0;
|
|
}
|
|
|
|
50% {
|
|
opacity: 0;
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
|
|
.livesync-status {
|
|
user-select: none;
|
|
pointer-events: none;
|
|
height: auto;
|
|
min-height: 1em;
|
|
position: absolute;
|
|
background-color: transparent;
|
|
width: 100%;
|
|
padding: 10px;
|
|
padding-right: 16px;
|
|
top: var(--header-height);
|
|
z-index: calc(var(--layer-cover) + 1);
|
|
|
|
font-variant-numeric: tabular-nums;
|
|
font-variant-emoji: emoji;
|
|
tab-size: 4;
|
|
text-align: right;
|
|
white-space: pre-wrap;
|
|
display: inline-block;
|
|
color: var(--text-normal);
|
|
font-size: 80%;
|
|
}
|
|
|
|
.livesync-status div {
|
|
opacity: 0.6;
|
|
-webkit-filter: grayscale(100%);
|
|
filter: grayscale(100%);
|
|
}
|
|
|
|
.livesync-status .livesync-status-loghistory {
|
|
text-align: left;
|
|
opacity: 0.4;
|
|
|
|
}
|
|
|
|
.livesync-status div.livesync-status-messagearea {
|
|
opacity: 0.6;
|
|
color: var(--text-on-accent);
|
|
background: var(--background-modifier-error);
|
|
-webkit-filter: unset;
|
|
filter: unset;
|
|
} |