0.3.2 final cleanup (#1782)

* bump version with stubbed release notes

* increase BE timeout

* 032 release notes

* hide developer menu for now

* remove unused sub/import

* remoce reconnect from disks res in setup wiz

* remove quirks

* flatten drives response

Co-authored-by: Matt Hill <matthewonthemoon@gmail.com>
This commit is contained in:
Aiden McClelland
2022-09-08 16:14:42 -06:00
committed by GitHub
parent 5442459b2d
commit b9ce2bf2dc
32 changed files with 154 additions and 395 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "embassy-os",
"version": "0.3.1.1",
"version": "0.3.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "embassy-os",
"version": "0.3.1.1",
"version": "0.3.2",
"dependencies": {
"@angular/animations": "^14.1.0",
"@angular/common": "^14.1.0",

View File

@@ -1,6 +1,6 @@
{
"name": "embassy-os",
"version": "0.3.1.1",
"version": "0.3.2",
"author": "Start9 Labs, Inc",
"homepage": "https://start9.com/",
"scripts": {

View File

@@ -49,7 +49,7 @@ export class EmbassyPage {
async getDrives() {
this.loading = true
try {
const { disks, reconnect } = await this.apiService.getDrives()
const disks = await this.apiService.getDrives()
this.storageDrives = disks.filter(
d =>
!d.partitions
@@ -59,15 +59,6 @@ export class EmbassyPage {
?.logicalname,
),
)
if (!this.storageDrives.length && reconnect.length) {
const list = `<ul>${reconnect.map(recon => `<li>${recon}</li>`)}</ul>`
const alert = await this.alertCtrl.create({
header: 'Warning',
message: `One or more devices you connected had to be reconfigured to support the current hardware platform. Please unplug and replug the following device(s), then refresh the page:<br> ${list}`,
buttons: ['OK'],
})
await alert.present()
}
} catch (e: any) {
this.errorToastService.present(e)
} finally {

View File

@@ -39,7 +39,7 @@ export class HomePage {
async ngOnInit() {
try {
this.encrypted.secret = await this.unencrypted.getSecret()
const { disks } = await this.unencrypted.getDrives()
const disks = await this.unencrypted.getDrives()
this.guid = disks.find(d => !!d.guid)?.guid
} catch (e: any) {
this.error = true

View File

@@ -1,5 +1,5 @@
import { Component, Input } from '@angular/core'
import { AlertController, ModalController, NavController } from '@ionic/angular'
import { ModalController, NavController } from '@ionic/angular'
import { CifsModal } from 'src/app/modals/cifs-modal/cifs-modal.page'
import { ApiService, DiskBackupTarget } from 'src/app/services/api/api.service'
import { ErrorToastService } from '@start9labs/shared'
@@ -20,7 +20,6 @@ export class RecoverPage {
private readonly navCtrl: NavController,
private readonly modalCtrl: ModalController,
private readonly modalController: ModalController,
private readonly alertCtrl: AlertController,
private readonly errToastService: ErrorToastService,
private readonly stateService: StateService,
) {}
@@ -41,7 +40,7 @@ export class RecoverPage {
async getDrives() {
this.mappedDrives = []
try {
const { disks, reconnect } = await this.apiService.getDrives()
const disks = await this.apiService.getDrives()
disks
.filter(d => d.partitions.length)
.forEach(d => {
@@ -62,21 +61,6 @@ export class RecoverPage {
})
})
})
if (!this.mappedDrives.length && reconnect.length) {
const list = `<ul>${reconnect.map(recon => `<li>${recon}</li>`)}</ul>`
const alert = await this.alertCtrl.create({
header: 'Warning',
message: `One or more devices you connected had to be reconfigured to support the current hardware platform. Please unplug and replug the following device(s), then refresh the page:<br> ${list}`,
buttons: [
{
role: 'cancel',
text: 'OK',
},
],
})
await alert.present()
}
} catch (e: any) {
this.errToastService.present(e)
} finally {

View File

@@ -42,10 +42,7 @@ export type EmbassyOSRecoveryInfo = {
'wrapped-key': string | null
}
export type DiskListResponse = {
disks: DiskInfo[]
reconnect: string[]
}
export type DiskListResponse = DiskInfo[]
export type DiskBackupTarget = {
vendor: string | null

View File

@@ -41,7 +41,7 @@ export class LiveApiService implements ApiService {
/**
* We want to update the secret, which means that we will call in clearnet the
* getSecret, and all the information is never in the clear, and only public
* information is sent across the network. We don't want to expose that we do
* information is sent across the network. We don't want to expose that we do
* this wil all public/private key, which means that there is no information loss
* through the network.
*/

View File

@@ -37,32 +37,29 @@ export class MockApiService implements ApiService {
async getDrives() {
await pauseFor(1000)
return {
disks: [
{
logicalname: 'abcd',
vendor: 'Samsung',
model: 'T5',
partitions: [
{
logicalname: 'pabcd',
label: null,
capacity: 73264762332,
used: null,
'embassy-os': {
version: '0.2.17',
full: true,
'password-hash': null,
'wrapped-key': null,
},
return [
{
logicalname: 'abcd',
vendor: 'Samsung',
model: 'T5',
partitions: [
{
logicalname: 'pabcd',
label: null,
capacity: 73264762332,
used: null,
'embassy-os': {
version: '0.2.17',
full: true,
'password-hash': null,
'wrapped-key': null,
},
],
capacity: 123456789123,
guid: 'uuid-uuid-uuid-uuid',
},
],
reconnect: [],
}
},
],
capacity: 123456789123,
guid: 'uuid-uuid-uuid-uuid',
},
]
}
async set02XDrive() {

View File

@@ -3,9 +3,8 @@
</a>
<div class="divider"></div>
<ion-item-group class="menu">
<ion-menu-toggle *ngFor="let page of pages; let i = index" auto-hide="false">
<ion-menu-toggle *ngFor="let page of pages" auto-hide="false">
<ion-item
*ngIf="page.url !== '/developer' || (showDevTools$ | async)"
button
class="link"
color="transparent"

View File

@@ -1,5 +1,4 @@
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'
import { LocalStorageService } from '../../services/local-storage.service'
import { EOSService } from '../../services/eos.service'
import { PatchDB } from 'patch-db-client'
import { Observable } from 'rxjs'
@@ -37,11 +36,6 @@ export class MenuComponent {
url: '/notifications',
icon: 'notifications-outline',
},
{
title: 'Developer Tools',
url: '/developer',
icon: 'hammer-outline',
},
]
readonly notificationCount$ = this.patch.watch$(
@@ -53,8 +47,6 @@ export class MenuComponent {
readonly showEOSUpdate$ = this.eosService.showUpdate$
readonly showDevTools$ = this.localStorageService.showDevTools$
readonly updateCount$: Observable<number> = this.marketplaceService
.getUpdates()
.pipe(map(pkgs => pkgs.length))
@@ -63,7 +55,6 @@ export class MenuComponent {
constructor(
private readonly patch: PatchDB<DataModel>,
private readonly localStorageService: LocalStorageService,
private readonly eosService: EOSService,
@Inject(AbstractMarketplaceService)
private readonly marketplaceService: MarketplaceService,

View File

@@ -11,11 +11,11 @@
<ion-content class="ion-padding">
<h2>This release</h2>
<h4>0.3.1~1</h4>
<h4>0.3.2</h4>
<p class="note-padding">
View the complete
<a
href="https://github.com/Start9Labs/embassy-os/releases/tag/v0.3.1.1"
href="https://github.com/Start9Labs/embassy-os/releases/tag/v0.3.2"
target="_blank"
noreferrer
>release notes</a
@@ -24,38 +24,12 @@
</p>
<h6>Highlights</h6>
<ul class="spaced-list">
<li>Multiple bug fixes.</li>
</ul>
<br />
<h2>Previous releases in this series</h2>
<h4>0.3.1</h4>
<p class="note-padding">
View the complete
<a
href="https://github.com/Start9Labs/embassy-os/releases/tag/v0.3.1"
target="_blank"
noreferrer
>release notes</a
>
for more details.
</p>
<h6>Highlights</h6>
<ul class="spaced-list">
<li>
Drag and drop installs. Install a service simply by dragging it into the
browser
</li>
<li>
Password reset flow. Requires physical access to the device for security
purposes
</li>
<li>Selective backups. Only back up the services you choose</li>
<li>New button to restart a service</li>
<li>New button to log out all sessions</li>
<li>New button to copy/paste service and OS logs</li>
<li>Significant speedup for service configuration and property viewing</li>
<li>Multiple bugfixes and performance improvements</li>
<li>Autoscrolling for logs</li>
<li>Improved connectivity between browser and Embassy</li>
<li>Switch to Postgres for EOS database for better performance</li>
<li>Multiple bug fixes and under-the-hood improvements</li>
<li>Various UI/UX enhancements</li>
<li>Removal of product keys</li>
</ul>
<div class="ion-text-center ion-padding">
<ion-button

View File

@@ -538,7 +538,7 @@ export class ServerShowPage {
this.clicks++
if (this.clicks >= 5) {
this.clicks = 0
const newVal = await this.localStorageService.toggleShowDiskRepair()
await this.localStorageService.toggleShowDiskRepair()
}
setTimeout(() => {
this.clicks = Math.max(this.clicks - 1, 0)

View File

@@ -338,7 +338,6 @@ export module Mock {
},
},
},
permissions: {},
dependencies: {},
}
@@ -472,7 +471,6 @@ export module Mock {
'input-spec': null,
},
},
permissions: {},
dependencies: {
bitcoind: {
version: '=0.21.0',
@@ -587,7 +585,6 @@ export module Mock {
},
migrations: null,
actions: {},
permissions: {},
dependencies: {
bitcoind: {
version: '>=0.20.0',

View File

@@ -27,7 +27,7 @@ export const mockPatchData: DataModel = {
},
'server-info': {
id: 'abcdefgh',
version: '0.3.1.1',
version: '0.3.2',
'last-backup': new Date(new Date().valueOf() - 604800001).toISOString(),
'lan-address': 'https://embassy-abcdefgh.local',
'tor-address': 'http://myveryownspecialtoraddress.onion',
@@ -381,7 +381,6 @@ export const mockPatchData: DataModel = {
},
},
},
permissions: {},
dependencies: {},
},
installed: {
@@ -578,7 +577,6 @@ export const mockPatchData: DataModel = {
'input-spec': null,
},
},
permissions: {},
dependencies: {
bitcoind: {
version: '=0.21.0',

View File

@@ -147,7 +147,6 @@ export interface Manifest extends MarketplaceManifest<DependencyConfig | null> {
backup: BackupActions
migrations: Migrations | null
actions: Record<string, Action>
permissions: any // @TODO 0.3.1
}
export interface DependencyConfig {