mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-20 23:32:14 +00:00
Reload when upgrade (#5942)
This commit is contained in:
parent
bb87db700c
commit
4fb5ca1d17
@ -48,7 +48,6 @@ export interface Tx extends Doc {
|
|||||||
*/
|
*/
|
||||||
export enum WorkspaceEvent {
|
export enum WorkspaceEvent {
|
||||||
UpgradeScheduled,
|
UpgradeScheduled,
|
||||||
Upgrade,
|
|
||||||
IndexingUpdate,
|
IndexingUpdate,
|
||||||
SecurityChange,
|
SecurityChange,
|
||||||
MaintenanceNotification,
|
MaintenanceNotification,
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user