Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ba12e56
SF-3532 Dispose realtime docs when no longer in use
Nateowami Aug 6, 2025
28be502
SF-3532 Clean up rebase artifacts
marksvc Apr 17, 2026
2eda9d3
SF-3532 Dispose queries and add DocSubscription to remaining service …
marksvc Apr 17, 2026
a7588ad
diagnostics: fix blank-page link and checking-overview test
marksvc Apr 21, 2026
e6f52f1
Dispose TextDocReader subscriptions on project switch
marksvc Apr 22, 2026
10f013d
Adjust syntax
marksvc Apr 24, 2026
5e58994
Do not re-create lots of TextDocReader when going back and forth from…
marksvc Apr 24, 2026
e55e0f5
Prevent building up ActivatedProjectService's subs on project profiles
marksvc Apr 24, 2026
c8fa444
dispose of ProjectRouterGuard's subs
marksvc Apr 24, 2026
e4cc2a3
Comments
marksvc Apr 24, 2026
165e688
dispose of ActivatedProjectUserConfigService's subs
marksvc Apr 24, 2026
71c2aaa
activated-project: delay old doc unsubscribe until new emit
marksvc Apr 27, 2026
a1ecc01
Finish a rearranging that had left offlineStore.delete never happening
marksvc Apr 27, 2026
3a7d45d
Use non-colliding key
marksvc Apr 27, 2026
b906e2d
realtime-query: reorder dispose notifications
marksvc Apr 28, 2026
c4884ed
SF-3532 Align doc subscription cleanup after rebase
marksvc Apr 28, 2026
ef47ae3
docs: add class comment to DraftHistoryEntryComponent
marksvc Jun 2, 2026
96e7801
Add class comment
marksvc Jun 2, 2026
f09f542
SF-3532 Retain offline doc snapshots on dispose
marksvc Jun 2, 2026
86eee3b
Clean up app lifetime disposal in draft sources
marksvc Jun 2, 2026
94a4674
rebase: apply doc disposal strategy to master changes
marksvc Jun 23, 2026
79ce345
onboarding-export: safely read values before unsubscribe
marksvc Jun 23, 2026
e3f0058
Fix how was followed up from rebase
marksvc Jun 23, 2026
27a3d7e
More fixes from how was followed up from rebase
marksvc Jun 25, 2026
b1583b8
checking: add query subscription lifecycle support
marksvc Jun 29, 2026
4f6c047
draft: use absolute xforge-common imports in specs
marksvc Jul 8, 2026
ea6c2bf
Fix formatting
marksvc Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ async function joinAsChecker(
// Give time for the last answer to be saved
await page.waitForTimeout(500);
} catch (e) {
if (preset.pauseOnFailure) await page.pause();
console.error('Error running tests for checker ' + userNumber);
console.error(e);
await screenshot(
Expand Down
186 changes: 108 additions & 78 deletions src/SIL.XForge.Scripture/ClientApp/src/app/app.component.spec.ts

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions src/SIL.XForge.Scripture/ClientApp/src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Routes } from '@angular/router';
import { AuthGuard } from 'xforge-common/auth.guard';
import { SystemAdminAuthGuard } from 'xforge-common/system-admin-auth.guard';
import { SystemAdministrationComponent } from 'xforge-common/system-administration/system-administration.component';
import { BlankPageComponent } from './shared/blank-page/blank-page.component';
import { CheckingOverviewComponent } from './checking/checking-overview/checking-overview.component';
import { CheckingComponent } from './checking/checking/checking.component';
import { ConnectProjectComponent } from './connect-project/connect-project.component';
Expand Down Expand Up @@ -36,6 +37,7 @@ import { TranslateOverviewComponent } from './translate/translate-overview/trans
import { UsersComponent } from './users/users.component';

export const APP_ROUTES: Routes = [
{ path: 'blank-page', component: BlankPageComponent },
{ path: 'callback/auth0', component: MyProjectsComponent, canActivate: [AuthGuard] },
{ path: 'connect-project', component: ConnectProjectComponent, canActivate: [AuthGuard] },
{ path: 'login', redirectTo: 'projects', pathMatch: 'full' },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,18 +369,18 @@ describe('ChapterAudioDialogComponent', () => {
expect(result.timingData[1].to).toEqual(1.296);
}));

it('will not save or upload if there is no audio', fakeAsync(() => {
it('will not save or upload if there is no audio', fakeAsync(async () => {
env.component.prepareTimingFileUpload(env.timingFile);
env.component.save();
await env.component.save();
env.fixture.detectChanges();

expect(env.numberOfTimesDialogClosed).toEqual(0);
expect(env.wrapperAudio.classList.contains('invalid')).toBe(true);
}));

it('will not save or upload if there is no timing data', fakeAsync(() => {
it('will not save or upload if there is no timing data', fakeAsync(async () => {
env.component.audioUpdate(env.audioFile);
env.component.save();
await env.component.save();
env.fixture.detectChanges();

expect(env.numberOfTimesDialogClosed).toEqual(0);
Expand Down Expand Up @@ -479,15 +479,15 @@ describe('ChapterAudioDialogComponent', () => {
expect(env.wrapperTiming.classList.contains('valid')).toBe(true);
}));

it('will not try to save dialog if offline', fakeAsync(() => {
it('will not try to save dialog if offline', fakeAsync(async () => {
env.onlineStatus = false;
env.component.audioUpdate(env.audioFile);
tick();
env.component.prepareTimingFileUpload(env.timingFile);
tick();

// SUT
env.component.save();
await env.component.save();
tick();
env.fixture.detectChanges();
flush();
Expand Down
Loading
Loading