Reload when upgrade (#5942)

This commit is contained in:
Denis Bykhov 2024-06-28 20:11:35 +05:00 committed by GitHub
parent bb87db700c
commit 4fb5ca1d17
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 10 additions and 12 deletions

View File

@ -48,7 +48,6 @@ export interface Tx extends Doc {
*/ */
export enum WorkspaceEvent { export enum WorkspaceEvent {
UpgradeScheduled, UpgradeScheduled,
Upgrade,
IndexingUpdate, IndexingUpdate,
SecurityChange, SecurityChange,
MaintenanceNotification, MaintenanceNotification,

View File

@ -38,8 +38,6 @@ import core, {
TxApplyIf, TxApplyIf,
TxHandler, TxHandler,
TxResult, TxResult,
TxWorkspaceEvent,
WorkspaceEvent,
generateId, generateId,
toFindResult toFindResult
} from '@hcengineering/core' } from '@hcengineering/core'
@ -356,10 +354,7 @@ class Connection implements ClientConnection {
const txArr = Array.isArray(resp.result) ? (resp.result as Tx[]) : [resp.result as Tx] const txArr = Array.isArray(resp.result) ? (resp.result as Tx[]) : [resp.result as Tx]
for (const tx of txArr) { for (const tx of txArr) {
if ( if (tx?._class === core.class.TxModelUpgrade) {
(tx?._class === core.class.TxWorkspaceEvent && (tx as TxWorkspaceEvent).event === WorkspaceEvent.Upgrade) ||
tx?._class === core.class.TxModelUpgrade
) {
console.log('Processing upgrade', this.workspace, this.email) console.log('Processing upgrade', this.workspace, this.email)
this.onUpgrade?.() this.onUpgrade?.()
return return

View File

@ -94,11 +94,13 @@ export default async () => {
const upgradeHandler: TxHandler = (...txes: Tx[]) => { const upgradeHandler: TxHandler = (...txes: Tx[]) => {
for (const tx of txes) { for (const tx of txes) {
if (tx?._class === core.class.TxModelUpgrade) {
onUpgrade?.()
return
}
if (tx?._class === core.class.TxWorkspaceEvent) { if (tx?._class === core.class.TxWorkspaceEvent) {
const event = tx as TxWorkspaceEvent const event = tx as TxWorkspaceEvent
if (event.event === WorkspaceEvent.Upgrade) { if (event.event === WorkspaceEvent.MaintenanceNotification) {
onUpgrade?.()
} else if (event.event === WorkspaceEvent.MaintenanceNotification) {
void setPlatformStatus( void setPlatformStatus(
new Status(Severity.WARNING, platform.status.MaintenanceWarning, { new Status(Severity.WARNING, platform.status.MaintenanceWarning, {
time: event.params.timeMinutes time: event.params.timeMinutes

View File

@ -94,7 +94,7 @@ export async function connect (title: string): Promise<Client | undefined> {
if (currentVersionStr !== reconnectVersionStr) { if (currentVersionStr !== reconnectVersionStr) {
// It seems upgrade happened // It seems upgrade happened
// location.reload() location.reload()
versionError.set(`${currentVersionStr} != ${reconnectVersionStr}`) versionError.set(`${currentVersionStr} != ${reconnectVersionStr}`)
} }
const serverVersion: { version: string } = await ( const serverVersion: { version: string } = await (
@ -103,6 +103,7 @@ export async function connect (title: string): Promise<Client | undefined> {
console.log('Server version', serverVersion.version) console.log('Server version', serverVersion.version)
if (serverVersion.version !== '' && serverVersion.version !== currentVersionStr) { if (serverVersion.version !== '' && serverVersion.version !== currentVersionStr) {
location.reload()
versionError.set(`${currentVersionStr} => ${serverVersion.version}`) versionError.set(`${currentVersionStr} => ${serverVersion.version}`)
} }
} }

View File

@ -196,7 +196,7 @@ export async function connect (title: string): Promise<Client | undefined> {
if (currentVersionStr !== reconnectVersionStr) { if (currentVersionStr !== reconnectVersionStr) {
// It seems upgrade happened // It seems upgrade happened
// location.reload() location.reload()
versionError.set(`${currentVersionStr} != ${reconnectVersionStr}`) versionError.set(`${currentVersionStr} != ${reconnectVersionStr}`)
} }
const serverVersion: { version: string } = await ctx.with( const serverVersion: { version: string } = await ctx.with(
@ -211,6 +211,7 @@ export async function connect (title: string): Promise<Client | undefined> {
version !== undefined ? versionToString(version) : '' version !== undefined ? versionToString(version) : ''
) )
if (serverVersion.version !== '' && serverVersion.version !== currentVersionStr) { if (serverVersion.version !== '' && serverVersion.version !== currentVersionStr) {
location.reload()
versionError.set(`${currentVersionStr} => ${serverVersion.version}`) versionError.set(`${currentVersionStr} => ${serverVersion.version}`)
} else { } else {
versionError.set(undefined) versionError.set(undefined)