Skip to content

Commit b1a2039

Browse files
author
CIS Guru
committed
Fixed theme flicker, fixed login issue, improved database recovery and installation.
1 parent 935e594 commit b1a2039

12 files changed

Lines changed: 157 additions & 77 deletions

4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<MigrationsDirectory>Data/Migrations</MigrationsDirectory>
99

1010
<!-- Semantic Versioning -->
11-
<Version>1.1.0</Version>
12-
<AssemblyVersion>1.1.0.0</AssemblyVersion>
13-
<FileVersion>1.1.0.0</FileVersion>
14-
<InformationalVersion>1.1.0</InformationalVersion>
11+
<Version>1.1.1</Version>
12+
<AssemblyVersion>1.1.1.0</AssemblyVersion>
13+
<FileVersion>1.1.1.0</FileVersion>
14+
<InformationalVersion>1.1.1</InformationalVersion>
1515
</PropertyGroup>
1616

1717
<ItemGroup>

4-Aquiis.SimpleStart/ElectronHostHook/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

4-Aquiis.SimpleStart/ElectronHostHook/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aquiis-simplestart-electron",
3-
"version": "1.0.0",
3+
"version": "1.1.1",
44
"description": "Aquiis SimpleStart Electron Host",
55
"main": "main.js",
66
"dependencies": {

4-Aquiis.SimpleStart/Program.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -745,9 +745,10 @@
745745
Height = 900,
746746
MinWidth = 800,
747747
MinHeight = 600,
748-
Show = false
748+
Show = false,
749+
AutoHideMenuBar = true
749750
});
750-
751+
window.RemoveMenu();
751752
window.OnReadyToShow += () => window.Show();
752753
window.SetTitle("Aquiis Property Management");
753754

4-Aquiis.SimpleStart/README.md

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Aquiis - Property Management System
22

3-
![.NET 9.0](https://img.shields.io/badge/.NET-9.0-blue)
4-
![ASP.NET Core](https://img.shields.io/badge/ASP.NET%20Core-9.0-blueviolet)
3+
![.NET 10.0](https://img.shields.io/badge/.NET-10.0-blue)
4+
![ASP.NET Core](https://img.shields.io/badge/ASP.NET%20Core-10.0-blueviolet)
55
![Blazor Server](https://img.shields.io/badge/Blazor-Server-orange)
6-
![Entity Framework](https://img.shields.io/badge/Entity%20Framework-9.0-green)
6+
![Entity Framework](https://img.shields.io/badge/Entity%20Framework-10.0-green)
77
![SQLite](https://img.shields.io/badge/Database-SQLite-lightblue)
88

9-
A comprehensive web-based property management system built with ASP.NET Core 9.0 and Blazor Server. Aquiis streamlines rental property management for property owners, managers, and tenants with an intuitive interface and robust feature set.
9+
A comprehensive web-based property management system built with ASP.NET Core 10.0 and Blazor Server. Aquiis streamlines rental property management for property owners and managers with an intuitive interface and robust feature set.
1010

1111
## 🏢 Overview
1212

13-
Aquiis is designed to simplify property management operations through a centralized platform that handles everything from property listings and tenant management to lease tracking and document storage. Built with modern web technologies, it provides a responsive, secure, and scalable solution for property management professionals.
13+
Aquiis is designed to simplify property management operations through a centralized platform that handles everything from property, tenant, and lease tracking to document storage and rental invoice and expense tracking. Built with modern web technologies including AI (GitHub Copilot and Claude Sonnet), it provides a responsive, secure, and scalable solution for DIY landlords and property managers.
1414

1515
## ✨ Key Features
1616

@@ -28,17 +28,15 @@ Aquiis is designed to simplify property management operations through a centrali
2828
- **Tenant Profiles** - Complete tenant information management
2929
- **Contact Management** - Phone, email, emergency contacts
3030
- **Tenant History** - Track tenant interactions and lease history
31-
- **Tenant Portal** - Dedicated tenant dashboard and self-service features
3231
- **Communication Tools** - Built-in messaging and notification system
33-
- **Tenant Screening** - Application and background check workflow
3432

3533
### 📄 Lease Management
3634

3735
- **Lease Creation** - Digital lease agreement generation
3836
- **Lease Tracking** - Active, pending, expired, and terminated lease monitoring
3937
- **Rent Tracking** - Monthly rent amounts and payment schedules
4038
- **Security Deposits** - Deposit tracking and management
41-
- **Lease Renewals** - Automated renewal notifications and processing
39+
- **Lease Renewals** - Manual lease renewal tracking
4240
- **Terms Management** - Flexible lease terms and conditions
4341

4442
### 💰 Financial Management
@@ -54,14 +52,10 @@ Aquiis is designed to simplify property management operations through a centrali
5452

5553
- **File Storage** - Secure document upload and storage
5654
- **Document Categories** - Organized by type (leases, receipts, photos, etc.)
57-
- **Version Control** - Document revision tracking
58-
- **Digital Signatures** - Electronic signature support
59-
- **Document Sharing** - Secure document sharing with tenants
60-
- **Bulk Operations** - Mass document upload and organization
6155

6256
### 🔐 User Management & Security
6357

64-
- **Role-Based Access** - Administrator, Property Manager, and Tenant roles
58+
- **Role-Based Access** - Administrator and Property Manager roles
6559
- **Authentication** - Secure login with ASP.NET Core Identity
6660
- **User Profiles** - Comprehensive user account management
6761
- **Permission Management** - Granular access control
@@ -80,9 +74,9 @@ Aquiis is designed to simplify property management operations through a centrali
8074

8175
### Backend
8276

83-
- **Backend**: ASP.NET Core 9.0
77+
- **Backend**: ASP.NET Core 10.0
8478
- **UI Framework**: Blazor Server
85-
- **Database**: SQLite with Entity Framework Core 9.0
79+
- **Database**: SQLite with Entity Framework Core 10.0
8680
- **Authentication**: ASP.NET Core Identity
8781
- **Architecture**: Clean Architecture with vertical slice organization
8882

@@ -101,10 +95,11 @@ Aquiis is designed to simplify property management operations through a centrali
10195
- **Version Control**: Git with GitHub integration
10296
- **Package Management**: NuGet
10397
- **Build System**: .NET SDK build system
98+
- **AI Assisted Coding**: GitHub Copilot, Claude Sonnet, GPT
10499

105100
## 📋 Prerequisites
106101

107-
- [.NET 9.0 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)
102+
- [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0)
108103
- [Git](https://git-scm.com/)
109104
- [Visual Studio Code](https://code.visualstudio.com/) (recommended) or Visual Studio 2022
110105
- [C# Dev Kit Extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) for VS Code
@@ -318,7 +313,7 @@ Shared → Core
318313

319314
## 🔑 Default User Roles
320315

321-
The system includes three primary user roles:
316+
The system includes two primary user roles:
322317

323318
### Administrator
324319

@@ -335,14 +330,6 @@ The system includes three primary user roles:
335330
- Financial tracking
336331
- Document management
337332

338-
### Tenant
339-
340-
- Personal dashboard
341-
- Lease information access
342-
- Payment history
343-
- Maintenance requests
344-
- Document viewing
345-
346333
## 🎯 Key Components
347334

348335
### Property Management Service
@@ -391,14 +378,6 @@ Core business logic service in the Application layer:
391378
- Administrative quick actions
392379
- Recent system activity
393380

394-
### Tenant Dashboard
395-
396-
- Personal lease information
397-
- Payment history
398-
- Maintenance requests
399-
- Document access
400-
- Communication center
401-
402381
## 🔧 Configuration
403382

404383
### Application Settings
@@ -422,7 +401,7 @@ Configuration is managed through:
422401

423402
### Prerequisites for Production
424403

425-
- Windows/Linux server with .NET 9.0 runtime
404+
- Windows/Linux server with .NET 10.0 runtime
426405
- IIS or reverse proxy (nginx/Apache)
427406
- SSL certificate for HTTPS
428407
- Database server (or SQLite for smaller deployments)
@@ -474,7 +453,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
474453
### Common Issues
475454

476455
1. **Database Connection Issues**: Verify SQLite file permissions and path
477-
2. **Build Errors**: Ensure .NET 9.0 SDK is installed
456+
2. **Build Errors**: Ensure .NET 10.0 SDK is installed
478457
3. **Authentication Problems**: Check Identity configuration and user roles
479458
4. **Performance Issues**: Review database indexing and query optimization
480459

@@ -487,14 +466,13 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
487466

488467
## 🏗️ Roadmap
489468

490-
### Upcoming Features
469+
### Upcoming Features via Aquiis Professional
491470

492471
- Mobile application support
493472
- Advanced reporting and analytics
494473
- Integration with accounting software
495474
- Automated rent collection
496475
- Multi-language support
497-
- Advanced tenant screening
498476
- IoT device integration
499477
- API for third-party integrations
500478

@@ -510,4 +488,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
510488

511489
**Aquiis** - Streamlining Property Management for the Modern World
512490

513-
Built with ❤️ using ASP.NET Core 9.0 and Blazor Server
491+
Built with ❤️ using ASP.NET Core 10.0, Blazor Server, and AI Tools (GitHub Copilot and Claude Sonnet)

4-Aquiis.SimpleStart/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"ApplicationSettings": {
1515
"AppName": "Aquiis",
1616
"ProductName": "Aquiis SimpleStart",
17-
"Version": "1.1.0",
17+
"Version": "1.1.1",
1818
"Author": "CIS Guru",
1919
"Email": "cisguru@outlook.com",
2020
"Repository": "https://github.com/xnodeoncode/Aquiis",

4-Aquiis.SimpleStart/electron.manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"appId": "com.aquiis.propertymanagement",
1818
"productName": "Aquiis",
1919
"copyright": "Copyright © 2026",
20-
"buildVersion": "1.1.0",
20+
"buildVersion": "1.1.1",
2121
"compression": "normal",
2222
"directories": {
2323
"output": "../../../bin/Desktop"

CHANGELOG.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,92 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
---
99

10+
## [1.1.1] - 2026-02-28
11+
12+
### 🐛 Bug Fix & Enhancement Release
13+
14+
**Aquiis SimpleStart v1.1.1** addresses critical UI bugs and completes Windows database encryption support. This is a patch release with no database schema changes.
15+
16+
### Added
17+
18+
#### Windows Enhancements
19+
20+
- **Windows database encryption implementation** using DPAPI (Data Protection API) for secure key storage
21+
- **Windows installer deployment** - switched from portable executable to proper installer with uninstall support, start menu shortcuts, and desktop icon
22+
23+
#### UI Improvements
24+
25+
- **Visual feedback during login** - spinner and "Logging in..." text displayed during authentication
26+
- **Login button disabled during authentication** to prevent double-submission
27+
- **Hidden Electron menu bar** - Auto-hide menu bar for cleaner, more native desktop experience
28+
29+
### Changed
30+
31+
#### Theme System Optimization
32+
33+
- **Optimized MutationObserver** to only watch theme attributes on `documentElement` instead of entire `document.body`
34+
- **Previous behavior:** Watched entire body with `childList: true, subtree: true` (triggered on every Blazor render)
35+
- **Current behavior:** Only watches `data-bs-theme` and `data-brand-theme` attributes
36+
- **Impact:** Prevents unnecessary reflow operations during navigation
37+
38+
#### Navigation Improvements
39+
40+
- **Added guard in OnLocationChanged** to skip processing when URL unchanged
41+
- **Prevents redundant theme re-application** on repeated same-link clicks
42+
43+
### Fixed
44+
45+
#### Theme Issues
46+
47+
- **Fixed brand theme flicker** when clicking same NavLink repeatedly
48+
- **Issue:** Clicking Dashboard (or any nav item) multiple times switched brand theme from Obsidian/Teal to Bootstrap light theme
49+
- **Root cause:** MutationObserver firing on every NavLink re-render, triggering DOM reflow operations (`document.documentElement.style.display = "none"`) that briefly reset CSS
50+
- **Solution:** Optimized observer scope to only watch specific theme attributes + added OnLocationChanged guard to prevent redundant processing
51+
52+
#### Authentication Issues
53+
54+
- **Fixed login double-submit** causing blank page redirect
55+
- **Issue:** Rapid login button clicks caused concurrent authentication attempts, resulting in navigation to blank page
56+
- **Root cause:** No submission guard preventing multiple `PasswordSignInAsync` calls
57+
- **Solution:** Added `isSubmitting` flag with early return guard, button disabled during login, `finally` block ensures flag reset even on exceptions
58+
59+
### Documentation
60+
61+
#### Cross-References
62+
63+
- Added cross-references between README and Quick Start Guide
64+
- Added cross-references between README and Database Management Guide
65+
- Added cross-references between Database Management Guide and Compatibility Matrix
66+
- Improved documentation navigation flow for new users
67+
68+
#### Table Formatting
69+
70+
- Fixed markdown table alignment in Database-Management-Guide.md for better readability
71+
72+
### Technical Details
73+
74+
- **Application Version:** 1.1.1
75+
- **Database Schema Version:** 1.1.0 (unchanged from v1.1.0)
76+
- **Assembly Version:** 1.1.1.0
77+
- **Electron Package:** 1.1.1
78+
- **Files Changed:** 5 (theme.js, Login.razor, NavMenu.razor, Database-Management-Guide.md, README.md)
79+
- **Lines Changed:** 79 insertions(+), 32 deletions(-)
80+
81+
### Upgrade Notes
82+
83+
- **From v1.1.0:** No database migration required (schema unchanged). Simply install new version.
84+
- **From v1.0.0:** Automatic migration to v1.1.0 schema will run first, then v1.1.1 application starts.
85+
- **Windows Users:** Uninstall portable version if present, then install new installer version.
86+
- **Database Location:** Unchanged - schema version remains 1.1.0.
87+
88+
### Compatibility
89+
90+
- **Compatible with:** Database schema v1.1.0
91+
- **Upgrade path:** v1.0.0 → v1.1.0 (auto-migration) → v1.1.1 (no migration)
92+
- **Downgrade:** Not recommended - use backup/restore instead
93+
94+
---
95+
1096
## [1.0.0] - 2026-01-29
1197

1298
### 🎉 Initial Production Release

Documentation/Compatibility-Matrix.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Aquiis Compatibility Matrix
22

3-
**Last Updated:** February 1, 2026
4-
**Current Release:** v1.0.1 (SimpleStart) | v0.3.0 (Professional)
5-
**Next Release:** v1.1.0 (SimpleStart) | v0.3.1 (Professional)
3+
**Last Updated:** February 28, 2026
4+
**Current Release:** v1.1.1 (SimpleStart) | v0.3.0 (Professional)
5+
**Next Release:** v1.2.0 (SimpleStart) | v0.3.1 (Professional)
66

77
---
88

@@ -24,8 +24,10 @@ This matrix tracks version compatibility across Aquiis releases, enabling you to
2424

2525
| Release Date | App Version | Database Schema | .NET SDK | ElectronNET | Bootstrap | QuestPDF | Migration Required | Breaking Changes | Status | Download |
2626
| ------------ | ----------- | --------------- | -------- | ----------- | --------- | --------- | ------------------ | ---------------- | ------------------ | -------------------------------------------------------------------- |
27-
| TBD | **1.1.0** | v1.1.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | Yes (v1.0.0→1.1.0) | New tables/cols | **In Development** | - |
28-
| 2026-01-29 | 1.0.1 | v1.0.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | No | No | **Current** | [Release](https://github.com/xnodeoncode/Aquiis/releases/tag/v1.0.1) |
27+
| TBD | **1.2.0** | v1.2.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | Yes (v1.1.0→1.2.0) | TBD | **In Development** | - |
28+
| 2026-02-28 | 1.1.1 | v1.1.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | No | No | **Current** | [Release](https://github.com/xnodeoncode/Aquiis/releases/tag/v1.1.1) |
29+
| 2026-02-18 | 1.1.0 | v1.1.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | Yes (v1.0.0→1.1.0) | New tables/cols | Superseded | [Release](https://github.com/xnodeoncode/Aquiis/releases/tag/v1.1.0) |
30+
| 2026-01-29 | 1.0.1 | v1.0.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | No | No | Superseded | [Release](https://github.com/xnodeoncode/Aquiis/releases/tag/v1.0.1) |
2931
| 2026-01-28 | 1.0.0 | v1.0.0 | 10.0.1 | 23.6.2 | 5.3.3 | 2025.12.1 | No | No | Superseded | [Release](https://github.com/xnodeoncode/Aquiis/releases/tag/v1.0.0) |
3032

3133
## Professional Version History
@@ -97,7 +99,7 @@ This matrix tracks version compatibility across Aquiis releases, enabling you to
9799

98100
**Current Schema:**
99101

100-
- **SimpleStart:** v1.1.0 (in development)
102+
- **SimpleStart:** v1.1.0 (current)
101103
- **Professional:** v0.0.0 (pre-release)
102104

103105
### Schema Version Strategy

Documentation/Database-Management-Guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Aquiis SimpleStart - Database Management Guide
22

3-
**Version:** 1.1.0
4-
**Last Updated:** February 18, 2026
3+
**Version:** 1.1.1
4+
**Last Updated:** February 28, 2026
55
**Audience:** Administrators and Power Users
66

77
---

0 commit comments

Comments
 (0)