Skip to content

Commit 138e385

Browse files
samuel100CopilotCopilotbaijumeswani
authored
fix: return promise from Model.download() to enable await with progre… (#467)
* fix: return promise from Model.download() to enable await with progress callback Model.download() was discarding the Promise returned by ModelVariant.download(), causing await to resolve immediately. This meant load() could run before the download completed, resulting in 'Model path does not exist' errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: return Promise from Model.download() to enable await with progress callback (#474) * Initial plan * Merge main into branch: resolve conflicts keeping Promise<void> fix Co-authored-by: baijumeswani <12852605+baijumeswani@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: baijumeswani <12852605+baijumeswani@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: baijumeswani <12852605+baijumeswani@users.noreply.github.com>
1 parent cb8d1a2 commit 138e385

3 files changed

Lines changed: 19 additions & 3 deletions

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2026-02-26 15:53:10.767 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
2+
2026-02-26 15:53:12.159 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
3+
2026-02-26 16:00:39.395 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
4+
2026-02-26 16:00:40.683 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
5+
2026-02-26 16:03:53.744 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
6+
2026-02-26 16:03:55.150 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
7+
2026-02-26 16:05:42.755 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
8+
2026-02-26 16:05:44.077 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
9+
2026-02-26 16:08:42.903 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
10+
2026-02-26 16:08:44.319 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
11+
2026-02-26 16:11:14.418 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
12+
2026-02-26 16:11:15.709 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
13+
2026-02-26 16:12:34.632 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
14+
2026-02-26 16:12:39.679 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
15+
2026-02-26 16:15:46.477 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}
16+
2026-02-26 16:15:47.873 -08:00 [WRN] {"Params":{"OpenAICreateRequest":"{\"Model\":\"openai-whisper-tiny-generic-cpu:2\",\"FileName\":\"C:\\\\foundry-local\\\\Foundry-Local\\\\sdk_v2\\\\testdata\\\\Recording.mp3\",\"Language\":\"en\",\"Temperature\":0,\"metadata\":{\"language\":\"en\",\"temperature\":\"0\"}}"}

sdk_v2/js/src/imodel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export interface IModel {
77
get isCached(): boolean;
88
isLoaded(): Promise<boolean>;
99

10-
download(progressCallback?: (progress: number) => void): void;
10+
download(progressCallback?: (progress: number) => void): Promise<void>;
1111
get path(): string;
1212
load(): Promise<void>;
1313
removeFromCache(): void;

sdk_v2/js/src/model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ export class Model implements IModel {
9696
* Downloads the currently selected variant.
9797
* @param progressCallback - Optional callback to report download progress.
9898
*/
99-
public download(progressCallback?: (progress: number) => void): void {
100-
this.selectedVariant.download(progressCallback);
99+
public download(progressCallback?: (progress: number) => void): Promise<void> {
100+
return this.selectedVariant.download(progressCallback);
101101
}
102102

103103
/**

0 commit comments

Comments
 (0)