fix: get_logs returning folders as well

This commit is contained in:
LynithDev 2025-08-15 19:21:27 +02:00
parent 9db18e4d12
commit fdf74258a0
7 changed files with 19 additions and 17 deletions

View file

@ -228,13 +228,8 @@ export type VersionType =
*/
"old_beta"
const ARGS_MAP = { 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'oneclient':'{"getClustersGroupedByMajor":[],"openDevTools":[]}', 'events':'{"process":["event"],"ingress":["event"],"message":["event"]}', 'core':'{"openMsaLogin":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"getMultiplePackages":["provider","slugs"],"getGlobalProfile":[],"getLogByName":["id","name"],"getLogs":["id"],"getClusterById":["id"],"getLoadersForVersion":["mc_version"],"getDefaultUser":["fallback"],"getWorlds":["id"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"getUsersFromAuthor":["provider","author"],"getProfileOrDefault":["name"],"updateClusterProfile":["name","profile"],"getUser":["uuid"],"launchCluster":["id","uuid"],"getPackageBody":["provider","body"],"readSettings":[],"getGameVersions":[],"searchPackages":["provider","query"],"getUsers":[],"removeUser":["uuid"],"createCluster":["options"],"writeSettings":["setting"],"getPackage":["provider","slug"],"setDefaultUser":["uuid"],"getScreenshots":["id"],"updateClusterById":["id","request"],"getClusters":[],"removeCluster":["id"]}' }
export type Router = { 'oneclient': { openDevTools: () => Promise<void>,
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>> },
'events': { ingress: (event: IngressPayload) => Promise<void>,
message: (event: MessagePayload) => Promise<void>,
process: (event: ProcessPayload) => Promise<void> },
'core': { getClusters: () => Promise<ClusterModel[]>,
const ARGS_MAP = { 'oneclient':'{"openDevTools":[],"getClustersGroupedByMajor":[]}', 'core':'{"openMsaLogin":[],"readSettings":[],"getProfileOrDefault":["name"],"getLogByName":["id","name"],"getWorlds":["id"],"launchCluster":["id","uuid"],"getGameVersions":[],"getUser":["uuid"],"removeUser":["uuid"],"getUsersFromAuthor":["provider","author"],"getPackage":["provider","slug"],"setDefaultUser":["uuid"],"getMultiplePackages":["provider","slugs"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"updateClusterById":["id","request"],"getGlobalProfile":[],"getLoadersForVersion":["mc_version"],"getPackageBody":["provider","body"],"writeSettings":["setting"],"getScreenshots":["id"],"getLogs":["id"],"getDefaultUser":["fallback"],"getClusterById":["id"],"removeCluster":["id"],"updateClusterProfile":["name","profile"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"createCluster":["options"],"getClusters":[],"searchPackages":["provider","query"],"getUsers":[]}', 'events':'{"ingress":["event"],"process":["event"],"message":["event"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}' }
export type Router = { 'core': { getClusters: () => Promise<ClusterModel[]>,
getClusterById: (id: number) => Promise<ClusterModel | null>,
removeCluster: (id: number) => Promise<null>,
createCluster: (options: CreateCluster) => Promise<ClusterModel>,
@ -265,7 +260,12 @@ getPackageVersions: (provider: Provider, slug: string, mcVersion: string | null,
downloadPackage: (provider: Provider, packageId: string, versionId: string, clusterId: number, skipCompatibility: boolean | null) => Promise<PackageModel>,
getUsersFromAuthor: (provider: Provider, author: PackageAuthor) => Promise<ManagedUser[]> },
'folders': { fromCluster: (folderName: string) => Promise<string>,
openCluster: (folderName: string) => Promise<null> } };
openCluster: (folderName: string) => Promise<null> },
'oneclient': { openDevTools: () => Promise<void>,
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>> },
'events': { ingress: (event: IngressPayload) => Promise<void>,
message: (event: MessagePayload) => Promise<void>,
process: (event: ProcessPayload) => Promise<void> } };
export type { InferCommandOutput }

View file

@ -15,7 +15,7 @@ function RouteComponent() {
const { cluster } = Route.useRouteContext();
const { scrollContainerRef } = useSheetPageContext();
const { data: fileNames } = useCommandSuspense(['getLogs', cluster.id.toString()], () => bindings.core.getLogs(cluster.id));
const { data: fileNames } = useCommandSuspense(['getLogs', cluster.id], () => bindings.core.getLogs(cluster.id));
const [activeFileName, setActiveFileName] = useState<Key | undefined>(fileNames[0] || undefined);

View file

@ -5,8 +5,10 @@ import { createFileRoute } from '@tanstack/react-router';
export const Route = createFileRoute('/app/cluster/overview')({
component: RouteComponent,
async beforeLoad(ctx) {
const cluster = await bindings.core.getClusterById(ctx.search.clusterId as unknown as bigint);
return { cluster };
const cluster = await bindings.core.getClusterById(ctx.search.clusterId);
return {
cluster,
};
},
});

View file

@ -11,7 +11,6 @@ import { useRef, useState } from 'react';
export interface ClusterRouteSearchParams {
clusterId: number;
a: number;
}
export const Route = createFileRoute('/app/cluster')({
@ -19,7 +18,6 @@ export const Route = createFileRoute('/app/cluster')({
validateSearch: (search): ClusterRouteSearchParams => {
return {
clusterId: Number(search.clusterId),
a: 6,
};
},
async beforeLoad({ context, search }) {

View file

@ -24,7 +24,7 @@ function RouteComponent() {
const navigate = Route.useNavigate();
const { data: clusters } = useCommandSuspense('getClustersGroupedByMajor', bindings.oneclient.getClustersGroupedByMajor);
const { data: clusters } = useCommandSuspense(['getClustersGroupedByMajor'], bindings.oneclient.getClustersGroupedByMajor);
const loadMinorVersion = useCallback((major: number) => {
const existing = prevMinorVersions.find(v => v.major === major);
@ -194,7 +194,7 @@ function RouteComponent() {
navigate({
to: `/app/cluster/overview`,
search: {
clusterId: cluster.id as unknown as number,
clusterId: cluster.id,
},
});
}}

View file

@ -19,7 +19,7 @@ export const Route = createFileRoute('/app/')({
function RouteComponent() {
const { data: clusters } = useCommandSuspense(
'getClusters',
['getClusters'],
bindings.core.getClusters,
{
select(data) {

View file

@ -58,7 +58,9 @@ pub async fn get_logs(cluster: &clusters::Model) -> LauncherResult<Vec<String>>
let mut list = vec![];
let mut files = io::read_dir(path).await?;
while let Ok(Some(entry)) = files.next_entry().await {
list.push(entry.file_name().to_string_lossy().to_string());
if entry.file_type().await.is_ok_and(|ft| ft.is_file()) {
list.push(entry.file_name().to_string_lossy().to_string());
}
}
list.sort_by(|a, b| {