Switch to RustLS (#2169)

* Switch to RustLS

* Revert scroll change causing autoscroll to break

* App build remove
This commit is contained in:
Geometrically
2024-08-17 13:37:45 -07:00
committed by GitHub
parent 910e219c0e
commit c84e2e0537
9 changed files with 307 additions and 776 deletions

View File

@@ -3,7 +3,6 @@ on:
push:
branches:
- main
- 0.8.0-beta-fixes
tags:
- 'v*'
paths:

956
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,7 @@
"vue": "^3.4.21",
"vue-multiselect": "3.0.0",
"vue-router": "4.3.0",
"vue-typed-virtual-list": "^1.0.10"
"vue-virtual-scroller": "v2.0.0-beta.8"
},
"devDependencies": {
"@tauri-apps/cli": "^1.6.0",

View File

@@ -40,11 +40,11 @@ const handleSearchContent = async () => {
:options="[
{
id: 'search',
action: () => handleSearchContent,
action: handleSearchContent,
},
{
id: 'from_file',
action: () => handleAddContentFromFile,
action: handleAddContentFromFile,
},
]"
class="btn btn-primary btn-dropdown-animation icon-only"

View File

@@ -59,21 +59,22 @@
</div>
</div>
<div class="log-text">
<VirtualScroller
<RecycleScroller
v-slot="{ item }"
ref="logContainer"
class="scroller"
:default-size="20"
:items="displayProcessedLogs"
direction="vertical"
:item-size="20"
key-field="id"
>
<template #item="{ ref }">
<div class="user no-wrap">
<span :style="{ color: ref.prefixColor, 'font-weight': ref.weight }">{{
ref.prefix
}}</span>
<span :style="{ color: ref.textColor }">{{ ref.text }}</span>
</div>
</template>
</VirtualScroller>
<div class="user no-wrap">
<span :style="{ color: item.prefixColor, 'font-weight': item.weight }">{{
item.prefix
}}</span>
<span :style="{ color: item.textColor }">{{ item.text }}</span>
</div>
</RecycleScroller>
</div>
<ShareModal
ref="shareModal"
@@ -104,13 +105,12 @@ import { useRoute } from 'vue-router'
import { process_listener } from '@/helpers/events.js'
import { handleError } from '@/store/notifications.js'
import { ofetch } from 'ofetch'
import { createVirtualScroller } from 'vue-typed-virtual-list'
import { RecycleScroller } from 'vue-virtual-scroller'
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
dayjs.extend(isToday)
dayjs.extend(isYesterday)
const VirtualScroller = createVirtualScroller()
const route = useRoute()
const props = defineProps({
@@ -412,20 +412,15 @@ function handleUserScroll() {
interval.value = setInterval(async () => {
if (logs.value.length > 0) {
logs.value[0] = await getLiveStdLog()
const logContainerElement = logContainer.value.$el
const scroll =
logContainerElement.scrollHeight -
logContainerElement.scrollTop -
logContainerElement.clientHeight
// const scroll = logContainer.value.$el.scrollHeight - logContainer.value.$el.scrollTop - logContainer.value.$el.clientHeight
const scroll = logContainer.value.getScroll()
// Allow resetting of userScrolled if the user scrolls to the bottom
if (selectedLogIndex.value === 0) {
if (scroll <= 10) userScrolled.value = false
if (scroll.end >= logContainer.value.$el.scrollHeight - 10) userScrolled.value = false
if (!userScrolled.value) {
await nextTick()
isAutoScrolling.value = true
logContainer.value.scrollTo(displayProcessedLogs.value.length - 1)
logContainer.value.scrollToItem(displayProcessedLogs.value.length - 1)
setTimeout(() => (isAutoScrolling.value = false), 50)
}
}

View File

@@ -372,7 +372,6 @@ import { formatProjectType } from '@modrinth/utils'
import { computed, onUnmounted, ref, watch } from 'vue'
import {
add_project_from_path,
get,
get_projects,
remove_project,
toggle_disable_project,

View File

@@ -40,9 +40,6 @@ os_info = "3.7.0"
tracing = "0.1.37"
tracing-error = "0.2.0"
sentry = "0.32.2"
sentry-rust-minidump = "0.7.0"
lazy_static = "1"
once_cell = "1"

View File

@@ -41,9 +41,9 @@ paste = { version = "1.0" }
tauri = { version = "1.7.1", optional = true }
indicatif = { version = "0.17.3", optional = true }
async-tungstenite = { version = "0.25.1", features = ["tokio-runtime", "tokio-native-tls"] }
async-tungstenite = { version = "0.27.0", features = ["tokio-runtime", "tokio-rustls-webpki-roots"] }
futures = "0.3"
reqwest = { version = "0.12.3", features = ["json", "stream", "deflate", "gzip", "brotli"] }
reqwest = { version = "0.12.3", features = ["json", "stream", "deflate", "gzip", "brotli", "rustls-tls", "charset", "http2", "macos-system-configuration"], default-features = false }
tokio = { version = "1", features = ["full"] }
tokio-stream = { version = "0.1", features = ["fs"] }
async-recursion = "1.0.4"

73
pnpm-lock.yaml generated
View File

@@ -83,9 +83,9 @@ importers:
vue-router:
specifier: 4.3.0
version: 4.3.0(vue@3.4.31(typescript@5.5.3))
vue-typed-virtual-list:
specifier: ^1.0.10
version: 1.0.10(vue@3.4.31(typescript@5.5.3))
vue-virtual-scroller:
specifier: v2.0.0-beta.8
version: 2.0.0-beta.8(vue@3.4.31(typescript@5.5.3))
devDependencies:
'@tauri-apps/cli':
specifier: ^1.6.0
@@ -2019,9 +2019,6 @@ packages:
'@types/shimmer@1.0.5':
resolution: {integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==}
'@types/web-bluetooth@0.0.16':
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
'@typescript-eslint/eslint-plugin@6.21.0':
resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -2331,15 +2328,6 @@ packages:
'@vue/tsconfig@0.5.1':
resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
'@vueuse/core@9.13.0':
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
'@vueuse/metadata@9.13.0':
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
'@vueuse/shared@9.13.0':
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
'@webassemblyjs/ast@1.12.1':
resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
@@ -2923,9 +2911,6 @@ packages:
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
debounce@1.2.1:
resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -4232,6 +4217,9 @@ packages:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
engines: {node: '>= 8'}
mitt@2.1.0:
resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==}
mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
@@ -5808,6 +5796,11 @@ packages:
resolution: {integrity: sha512-uupKdINgz7j83lQToCL7KkgQQxvG43el++hsR39YT9pCe1DwzUGmKzPxjVP6rqskXed5P6DtUASYAlCliW740Q==}
engines: {node: '>= 14.18.1', npm: '>= 6.14.15'}
vue-observe-visibility@2.0.0-alpha.1:
resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==}
peerDependencies:
vue: ^3.0.0
vue-resize@2.0.0-alpha.1:
resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==}
peerDependencies:
@@ -5837,10 +5830,10 @@ packages:
peerDependencies:
typescript: '>=5.0.0'
vue-typed-virtual-list@1.0.10:
resolution: {integrity: sha512-StYs56ypKBY4Lu7Cz3Rnyywajxi3NgCxCcWuMJB2wfJ5qvicPw6YPV3sFUy1d1Cjm+AFCB0cZI7ymvgx8IvPIg==}
vue-virtual-scroller@2.0.0-beta.8:
resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==}
peerDependencies:
vue: ^3.2.45
vue: ^3.2.0
vue3-apexcharts@1.5.3:
resolution: {integrity: sha512-yaHTPoj0iVKAtEVg8wEwIwwvf0VG+lPYNufCf3txRzYQOqdKPoZaZ9P3Dj3X+2A1XY9O1kcTk9HVqvLo+rppvQ==}
@@ -7698,8 +7691,6 @@ snapshots:
'@types/shimmer@1.0.5': {}
'@types/web-bluetooth@0.0.16': {}
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)':
dependencies:
'@eslint-community/regexpp': 4.11.0
@@ -8211,25 +8202,6 @@ snapshots:
'@vue/tsconfig@0.5.1': {}
'@vueuse/core@9.13.0(vue@3.4.31(typescript@5.5.3))':
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.4.31(typescript@5.5.3))
vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/metadata@9.13.0': {}
'@vueuse/shared@9.13.0(vue@3.4.31(typescript@5.5.3))':
dependencies:
vue-demi: 0.14.8(vue@3.4.31(typescript@5.5.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@webassemblyjs/ast@1.12.1':
dependencies:
'@webassemblyjs/helper-numbers': 1.11.6
@@ -8877,8 +8849,6 @@ snapshots:
de-indent@1.0.2: {}
debounce@1.2.1: {}
debug@2.6.9:
dependencies:
ms: 2.0.0
@@ -10397,6 +10367,8 @@ snapshots:
minipass: 3.3.6
yallist: 4.0.0
mitt@2.1.0: {}
mitt@3.0.1: {}
mixpanel-browser@2.53.0:
@@ -12192,6 +12164,10 @@ snapshots:
vue-multiselect@3.0.0: {}
vue-observe-visibility@2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3)):
dependencies:
vue: 3.4.31(typescript@5.5.3)
vue-resize@2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3)):
dependencies:
vue: 3.4.31(typescript@5.5.3)
@@ -12222,13 +12198,12 @@ snapshots:
semver: 7.6.2
typescript: 5.5.3
vue-typed-virtual-list@1.0.10(vue@3.4.31(typescript@5.5.3)):
vue-virtual-scroller@2.0.0-beta.8(vue@3.4.31(typescript@5.5.3)):
dependencies:
'@vueuse/core': 9.13.0(vue@3.4.31(typescript@5.5.3))
debounce: 1.2.1
mitt: 2.1.0
vue: 3.4.31(typescript@5.5.3)
transitivePeerDependencies:
- '@vue/composition-api'
vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3))
vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3))
vue3-apexcharts@1.5.3(apexcharts@3.49.2)(vue@3.4.31(typescript@5.5.3)):
dependencies: