diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index a4b76b9530..1b33c55baa 100644 Binary files a/android/gradle/wrapper/gradle-wrapper.jar and b/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index c1d5e01859..be2dc79a8a 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/android/gradlew b/android/gradlew index f5feea6d6b..23d15a9367 100755 --- a/android/gradlew +++ b/android/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -115,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -206,7 +205,7 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. @@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/android/gradlew.bat b/android/gradlew.bat index 9b42019c79..5eed7ee845 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/bun.lock b/bun.lock index aad92cc0ad..8668f7fa12 100644 --- a/bun.lock +++ b/bun.lock @@ -4,144 +4,144 @@ "": { "name": "capgo-app", "dependencies": { - "@aws-sdk/client-s3": "latest", - "@bradenmacdonald/s3-lite-client": "npm:@jsr/bradenmacdonald__s3-lite-client@latest", - "@capacitor-community/in-app-review": "latest", - "@capacitor-community/keep-awake": "latest", - "@capacitor/action-sheet": "latest", - "@capacitor/android": "latest", - "@capacitor/app": "latest", - "@capacitor/app-launcher": "latest", - "@capacitor/browser": "latest", - "@capacitor/camera": "latest", - "@capacitor/clipboard": "latest", - "@capacitor/device": "latest", - "@capacitor/dialog": "latest", - "@capacitor/filesystem": "latest", - "@capacitor/geolocation": "latest", - "@capacitor/haptics": "latest", - "@capacitor/ios": "latest", - "@capacitor/keyboard": "latest", - "@capacitor/local-notifications": "latest", - "@capacitor/motion": "latest", - "@capacitor/network": "latest", - "@capacitor/preferences": "latest", - "@capacitor/push-notifications": "latest", - "@capacitor/screen-reader": "latest", - "@capacitor/share": "latest", - "@capacitor/splash-screen": "latest", - "@capacitor/status-bar": "latest", - "@capacitor/text-zoom": "latest", - "@capacitor/toast": "latest", - "@capawesome/capacitor-file-picker": "latest", - "@capawesome/capacitor-screen-orientation": "latest", - "@capgo/capacitor-crisp": "latest", - "@capgo/capacitor-flash": "latest", - "@capgo/capacitor-mute": "latest", - "@capgo/capacitor-native-biometric": "latest", - "@capgo/capacitor-screen-recorder": "latest", - "@capgo/capacitor-updater": "latest", - "@capgo/inappbrowser": "latest", - "@capgo/native-audio": "latest", - "@capgo/native-market": "latest", - "@capgo/tailwind-capacitor": "latest", - "@formkit/auto-animate": "latest", - "@formkit/i18n": "latest", - "@formkit/themes": "latest", - "@formkit/vue": "latest", - "@hono/hono": "npm:@jsr/hono__hono@latest", - "@hono/sentry": "latest", - "@iconify-json/simple-icons": "latest", - "@intlify/unplugin-vue-i18n": "latest", - "@logsnag/node": "latest", - "@netlify/functions": "latest", - "@revenuecat/purchases-capacitor": "latest", - "@sentry/cli": "latest", - "@std/semver": "npm:@jsr/std__semver@latest", - "@supabase/supabase-js": "latest", - "@tailwindcss/forms": "latest", - "@types/semver": "latest", - "@vuepic/vue-datepicker": "latest", - "@vueuse/components": "latest", - "@vueuse/core": "latest", - "base64-arraybuffer": "latest", - "bun-types": "latest", - "capacitor-secure-storage-plugin": "latest", - "chart.js": "latest", - "country-code-to-flag-emoji": "latest", - "cron-schedule": "latest", - "crypto-random-string": "latest", - "daisyui": "latest", - "dayjs": "latest", - "dompurify": "latest", - "dotenv": "latest", - "drizzle-orm": "latest", - "firebase": "latest", - "ky": "latest", - "mime": "latest", - "petite-vue-i18n": "latest", - "pinia": "latest", - "plausible-tracker": "latest", - "postgres": "latest", - "posthog-js": "latest", - "semver": "latest", - "stripe": "latest", - "tailwind-capacitor": "latest", - "vite-plugin-devtools-json": "latest", - "vue": "latest", - "vue-chartjs": "latest", - "vue-demi": "latest", - "vue-router": "latest", - "vue-sonner": "latest", - "vue-turnstile": "latest", - "zod": "latest", + "@aws-sdk/client-s3": "^3.828.0", + "@bradenmacdonald/s3-lite-client": "npm:@jsr/bradenmacdonald__s3-lite-client@0.9.1", + "@capacitor-community/in-app-review": "^7.0.1", + "@capacitor-community/keep-awake": "^7.0.0", + "@capacitor/action-sheet": "^7.0.1", + "@capacitor/android": "^7.3.0", + "@capacitor/app": "^7.0.1", + "@capacitor/app-launcher": "^7.0.1", + "@capacitor/browser": "^7.0.1", + "@capacitor/camera": "^7.0.1", + "@capacitor/clipboard": "^7.0.1", + "@capacitor/device": "^7.0.1", + "@capacitor/dialog": "^7.0.1", + "@capacitor/filesystem": "^7.1.1", + "@capacitor/geolocation": "^7.1.2", + "@capacitor/haptics": "^7.0.1", + "@capacitor/ios": "^7.3.0", + "@capacitor/keyboard": "^7.0.1", + "@capacitor/local-notifications": "^7.0.1", + "@capacitor/motion": "^7.0.0", + "@capacitor/network": "^7.0.1", + "@capacitor/preferences": "^7.0.1", + "@capacitor/push-notifications": "^7.0.1", + "@capacitor/screen-reader": "^7.0.1", + "@capacitor/share": "^7.0.1", + "@capacitor/splash-screen": "^7.0.1", + "@capacitor/status-bar": "^7.0.1", + "@capacitor/text-zoom": "^7.0.1", + "@capacitor/toast": "^7.0.1", + "@capawesome/capacitor-file-picker": "^7.1.0", + "@capawesome/capacitor-screen-orientation": "^7.0.1", + "@capgo/capacitor-crisp": "^7.1.8", + "@capgo/capacitor-flash": "^7.0.6", + "@capgo/capacitor-mute": "^7.1.39", + "@capgo/capacitor-native-biometric": "^7.1.7", + "@capgo/capacitor-screen-recorder": "7.1.8", + "@capgo/capacitor-updater": "^7.2.6", + "@capgo/inappbrowser": "^7.10.0", + "@capgo/native-audio": "^7.3.32", + "@capgo/native-market": "^7.1.5", + "@capgo/tailwind-capacitor": "^1.0.10", + "@formkit/auto-animate": "0.8.2", + "@formkit/i18n": "^1.6.9", + "@formkit/themes": "1.6.9", + "@formkit/vue": "1.6.9", + "@hono/hono": "npm:@jsr/hono__hono@4.7.11", + "@hono/sentry": "^1.2.2", + "@iconify-json/simple-icons": "^1.2.38", + "@intlify/unplugin-vue-i18n": "^6.0.8", + "@logsnag/node": "1.0.1", + "@netlify/functions": "^4.1.5", + "@revenuecat/purchases-capacitor": "10.3.4", + "@sentry/cli": "^2.46.0", + "@std/semver": "npm:@jsr/std__semver@1.0.5", + "@supabase/supabase-js": "2.50.0", + "@tailwindcss/forms": "^0.5.10", + "@types/semver": "^7.7.0", + "@vuepic/vue-datepicker": "^11.0.2", + "@vueuse/components": "^13.3.0", + "@vueuse/core": "13.3.0", + "base64-arraybuffer": "1.0.2", + "bun-types": "^1.2.16", + "capacitor-secure-storage-plugin": "^0.11.0", + "chart.js": "^4.4.9", + "country-code-to-flag-emoji": "^2.0.0", + "cron-schedule": "^5.0.4", + "crypto-random-string": "^5.0.0", + "daisyui": "^5.0.43", + "dayjs": "1.11.13", + "dompurify": "^3.2.6", + "dotenv": "^16.5.0", + "drizzle-orm": "^0.44.2", + "firebase": "11.9.1", + "ky": "^1.8.1", + "mime": "^4.0.7", + "petite-vue-i18n": "^11.1.5", + "pinia": "3.0.3", + "plausible-tracker": "^0.3.9", + "postgres": "^3.4.7", + "posthog-js": "^1.252.0", + "semver": "^7.7.2", + "stripe": "^18.2.1", + "tailwind-capacitor": "1.0.9", + "vite-plugin-devtools-json": "^0.2.0", + "vue": "3.5.16", + "vue-chartjs": "^5.3.2", + "vue-demi": "0.14.10", + "vue-router": "4.5.1", + "vue-sonner": "^2.0.0", + "vue-turnstile": "^1.0.11", + "zod": "^3.25.64", }, "devDependencies": { - "@antfu/eslint-config": "latest", - "@capacitor/cli": "latest", - "@capacitor/core": "latest", - "@cloudflare/workers-types": "latest", - "@iconify-json/carbon": "latest", - "@iconify-json/heroicons": "latest", - "@iconify-json/ion": "latest", - "@iconify-json/ls": "latest", - "@iconify/json": "latest", - "@playwright/test": "latest", - "@tailwindcss/aspect-ratio": "latest", - "@tailwindcss/container-queries": "latest", - "@tailwindcss/typography": "latest", - "@tailwindcss/vite": "latest", - "@types/adm-zip": "latest", - "@types/dompurify": "latest", - "@vitejs/plugin-vue": "latest", - "@vitejs/plugin-vue-jsx": "latest", - "@vue/cli-service": "latest", - "@vue/compiler-sfc": "latest", - "@vue/server-renderer": "latest", - "adm-zip": "latest", - "cross-env": "latest", - "discord-api-types": "latest", - "eslint": "latest", - "husky": "latest", - "sass": "latest", - "tailwindcss": "latest", - "typescript": "latest", - "unplugin-auto-import": "latest", - "unplugin-formkit": "latest", - "unplugin-icons": "latest", - "unplugin-vue-components": "latest", - "unplugin-vue-macros": "latest", - "unplugin-vue-router": "latest", - "vite": "npm:rolldown-vite@latest", - "vite-plugin-environment": "latest", - "vite-plugin-inspect": "latest", - "vite-plugin-pwa": "latest", - "vite-plugin-vue-devtools": "latest", - "vite-plugin-vue-layouts": "latest", - "vite-plugin-webfont-dl": "latest", - "vitest": "latest", - "vue-tsc": "latest", - "wrangler": "latest", + "@antfu/eslint-config": "4.14.1", + "@capacitor/cli": "^7.3.0", + "@capacitor/core": "^7.3.0", + "@cloudflare/workers-types": "4.20250614.0", + "@iconify-json/carbon": "1.2.9", + "@iconify-json/heroicons": "^1.2.2", + "@iconify-json/ion": "1.2.3", + "@iconify-json/ls": "1.2.1", + "@iconify/json": "^2.2.348", + "@playwright/test": "1.53.0", + "@tailwindcss/aspect-ratio": "^0.4.2", + "@tailwindcss/container-queries": "^0.1.1", + "@tailwindcss/typography": "^0.5.16", + "@tailwindcss/vite": "^4.1.10", + "@types/adm-zip": "^0.5.7", + "@types/dompurify": "3.2.0", + "@vitejs/plugin-vue": "5.2.4", + "@vitejs/plugin-vue-jsx": "^4.2.0", + "@vue/cli-service": "5.0.8", + "@vue/compiler-sfc": "3.5.16", + "@vue/server-renderer": "3.5.16", + "adm-zip": "^0.5.16", + "cross-env": "^7.0.3", + "discord-api-types": "^0.38.11", + "eslint": "9.29.0", + "husky": "^9.1.7", + "sass": "1.89.2", + "tailwindcss": "^4.1.10", + "typescript": "5.8.3", + "unplugin-auto-import": "^19.3.0", + "unplugin-formkit": "^0.3.0", + "unplugin-icons": "22.1.0", + "unplugin-vue-components": "^28.7.0", + "unplugin-vue-macros": "^2.14.5", + "unplugin-vue-router": "^0.12.0", + "vite": "npm:rolldown-vite@^6.3.19", + "vite-plugin-environment": "1.1.3", + "vite-plugin-inspect": "^11.1.0", + "vite-plugin-pwa": "1.0.0", + "vite-plugin-vue-devtools": "^7.7.6", + "vite-plugin-vue-layouts": "0.11.0", + "vite-plugin-webfont-dl": "^3.10.5", + "vitest": "3.2.3", + "vue-tsc": "2.2.10", + "wrangler": "^4.20.0", }, }, }, diff --git a/src/components/Dialog.vue b/src/components/Dialog.vue index ee21d2ff39..3fb67102e2 100644 --- a/src/components/Dialog.vue +++ b/src/components/Dialog.vue @@ -6,6 +6,7 @@ import DOMPurify from 'dompurify' import { onMounted, watch } from 'vue' import { useDisplayStore } from '~/stores/display' import { useOrganizationStore } from '~/stores/organization' + /* * $targetEl: required * options: optional diff --git a/src/services/types.ts b/src/services/types.ts index 55de869c43..e0c07d7ae7 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -7,16 +7,16 @@ type OptionalKeys = { type RequiredKeys = { [K in keyof T]-?: T extends Record ? K : never; -}[keyof T] & -keyof T +}[keyof T] +& keyof T type RequiredMergeKeys = RequiredKeys & RequiredKeys -type OptionalMergeKeys = - | OptionalKeys - | OptionalKeys - | Exclude, RequiredKeys> - | Exclude, RequiredKeys> +type OptionalMergeKeys + = | OptionalKeys + | OptionalKeys + | Exclude, RequiredKeys> + | Exclude, RequiredKeys> type MergeNonUnionObjects = Expand< { @@ -65,13 +65,13 @@ type MergeObjects = [T] extends [never] : never : never -export type Merge = - | Extract - | MergeArrays, Extract> - | MergeObjects, Exclude> +export type Merge + = | Extract + | MergeArrays, Extract> + | MergeObjects, Exclude> -export type ArrayElement = - ArrayType extends readonly (infer ElementType)[] ? ElementType : never +export type ArrayElement + = ArrayType extends readonly (infer ElementType)[] ? ElementType : never export type Concrete = { [Property in keyof Type]-?: Type[Property];