Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5f503b3
Initial work on challenge collections (admin side only)
sei-bstein Jul 22, 2025
524bf74
Dev on challenge collections
sei-bstein Jul 24, 2025
f828335
Add missing VMWare assets and fix base href for consoles
sei-bstein Jul 24, 2025
a7abf91
Add default cf config and add jquery assets for wmks
sei-bstein Jul 24, 2025
9ad9fac
Remove old wmks implementation, include vendor files directly as requ…
sei-bstein Jul 24, 2025
6f2b43d
Reload session timer on console page when auto extended
sei-bstein Jul 25, 2025
2478899
Fixed some markdown rendering issues
sei-bstein Jul 25, 2025
2bb513a
Add practice content in-dev warning. Try to fix console tile connect …
sei-bstein Jul 25, 2025
e7a7cfa
Move console forge defaults to settings service for now
sei-bstein Jul 25, 2025
62aacdf
Improved diagnostics on settings and fix default cf config
sei-bstein Jul 25, 2025
a792aa4
Ensure default cf config if settings.json is present but doesn't have…
sei-bstein Jul 25, 2025
daf5576
More CF defaults workaround
sei-bstein Jul 25, 2025
d64dd53
Update CF version
sei-bstein Jul 25, 2025
ac0e8ac
Update CF version
sei-bstein Jul 25, 2025
4ed0070
Update CF version
sei-bstein Jul 25, 2025
67acc82
Update CF version
sei-bstein Jul 25, 2025
3c8f2f6
Fix console tile clicks
sei-bstein Jul 25, 2025
421b7c5
Fix session expire time in log user activity call
sei-bstein Jul 25, 2025
44120b8
Minor clean up to game editor view
sei-bstein Jul 29, 2025
b9fa923
Work on challenge collections (user side)
sei-bstein Aug 6, 2025
5b0c085
Refactor of practice challenge group stuff
sei-bstein Aug 11, 2025
ffc06f2
MVP of challenge collections
sei-bstein Aug 12, 2025
05f4818
Rename practice challenge search function
sei-bstein Aug 13, 2025
8c0cd1d
Add challenge count to challenge-adder for practice collections
sei-bstein Aug 13, 2025
eaa2a47
Minor cleanup on collection stuff
sei-bstein Aug 13, 2025
145adcc
Add collections filter to practice area report
sei-bstein Aug 13, 2025
8da2bd3
Practice area report param ordering
sei-bstein Aug 13, 2025
e4241e9
Miscellaneous cleanup
sei-bstein Aug 14, 2025
9e63514
Improved ux for group user cards and refactoring
sei-bstein Aug 14, 2025
4720191
Minor cleanup
sei-bstein Aug 15, 2025
8a66dc9
Minor formatting
sei-bstein Aug 18, 2025
3259878
Add flexibility in adding challenges to groups. Minor cleanup
sei-bstein Aug 18, 2025
150e35f
Merge branch 'main' into next
sei-bstein Aug 19, 2025
1a73f7b
Bump console forge version, reduce logging verbosity
sei-bstein Aug 21, 2025
da38f91
Error handling for cert preview. Refresh consoles button in practice.
sei-bstein Aug 29, 2025
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
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"@angular/platform-browser": "^19.2.14",
"@angular/platform-browser-dynamic": "^19.2.14",
"@angular/router": "^19.2.14",
"@cmusei/console-forge": "^0.20.5",
"@cmusei/console-forge": "^0.20.6",
"@fortawesome/angular-fontawesome": "^1.0.0",
"@fortawesome/fontawesome-svg-core": "^6.7.2",
"@fortawesome/free-brands-svg-icons": "^6.7.2",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<app-error-div [errors]="errors"></app-error-div>

<div class="certificate-template-previewer-component">
<app-spinner *ngIf="isDownloading">
Loading your preview...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@ import { ActivatedRoute, Router } from '@angular/router';
import { CertificatesService } from '@/api/certificates.service';
import { SafeUrl } from '@angular/platform-browser';
import { SpinnerComponent } from '@/standalone/core/components/spinner/spinner.component';
import { ErrorDivComponent } from '@/standalone/core/components/error-div/error-div.component';

@Component({
selector: 'app-certificate-previewer',
imports: [
CommonModule,
SpinnerComponent
],
templateUrl: './certificate-previewer.component.html',
styleUrls: ['./certificate-previewer.component.scss']
selector: 'app-certificate-previewer',
imports: [
CommonModule,
ErrorDivComponent,
SpinnerComponent
],
templateUrl: './certificate-previewer.component.html',
styleUrls: ['./certificate-previewer.component.scss']
})
export class CertificatePreviewerComponent implements OnInit {
protected errors: any[] = [];
Expand Down
3 changes: 2 additions & 1 deletion projects/gameboard-ui/src/app/prac/prac.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,10 @@ import { PracticeTabsLayoutComponent } from './components/practice-tabs-layout/p
{ path: "", pathMatch: 'full', redirectTo: "challenges" }
]
},
// catch routes for :specId and :specId/:slug
{ path: "challenges/:specId/:slug", component: PracticeSessionComponent },
{ path: "challenges/:specId", component: PracticeSessionComponent },
{ path: ":specId/:slug", redirectTo: "challenges/:specId/:slug" },
{ path: ":specId", redirectTo: "challenges/:specId" }
]
}
]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,12 @@ <h2 [class.fs-12]="isStickyChallengePanelSelected">Solution Guide</h2>

<ng-container *ngIf="challenge && (deployState === 'deployed' || deployState === 'undeployed')">
<div class="vm-controls-container my-4">
@if (deployState === 'deployed')
{
<button type="button" class="btn btn-sm btn-warning mr-2" (click)="handleConsoleTileReconnectRequest()"
tooltip="Console preview disconnected? Click here to refresh it.">Refresh Consoles</button>
}

<app-confirm-button *ngIf="deployState === 'deployed'" btnClass="btn btn-sm btn-outline-warning mr-2"
(confirm)="undeployVms(challenge.id)">
<fa-icon [icon]="fa.trash"></fa-icon>
Expand All @@ -197,7 +203,7 @@ <h2 [class.fs-12]="isStickyChallengePanelSelected">Solution Guide</h2>
<a [href]="console.linkUrl" target="_blank">
<cf-console-tile [config]="console.config"
(reconnectRequest)="handleConsoleTileReconnectRequest()"></cf-console-tile>
<p class="console-label">{{ console.name }}</p>
<p class="console-label btn-link text-success" placement="bottom">{{ console.name }}</p>
</a>
</li>
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { ConsoleComponentConfig, ConsoleTileComponent } from '@cmusei/console-fo
import { VmLinkComponent } from '../vm-link/vm-link.component';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { ConfigService } from '@/utility/config.service';
import { TooltipDirective } from 'ngx-bootstrap/tooltip';

type PlayChallengeDeployState = "deployed" | "deploying" | "undeploying" | "undeployed";
interface PlayConsole {
Expand All @@ -44,6 +45,7 @@ interface PlayConsole {
SpinnerComponent,
ToSupportCodePipe,
ChallengeQuestionsComponent,
TooltipDirective,
UtilityModule,
FeedbackSubmissionFormComponent,
VmLinkComponent
Expand Down
2 changes: 1 addition & 1 deletion projects/gameboard-ui/src/app/utility/config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export class ConfigService {
public static defaultConsoleForgeConfig = {
consoleBackgroundStyle: "rgb(0, 0, 0)",
defaultConsoleClientType: "vmware" as ConsoleClientType,
logThreshold: LogLevel.DEBUG,
logThreshold: LogLevel.WARNING,
showBrowserNotificationsOnConsoleEvents: true
};

Expand Down
Empty file.