wails/v3
Lea Anthony 3f29158dfa ## Summary
I have successfully implemented the "Start At Login" feature for Wails v3, addressing all the major concerns raised in PR #3910. Here's what was accomplished:

###  **Core Implementation**

1. **Added StartAtLogin option** to `application.Options` struct
2. **Implemented platform-specific methods** for all three platforms:
   - **macOS**: Uses AppleScript with proper escaping to prevent injection attacks
   - **Windows**: Uses Windows Registry with restrictive permissions
   - **Linux**: Uses XDG autostart specification with .desktop files

3. **Added public API methods**:
   - `SetStartAtLogin(enabled bool) error` - Enable/disable start at login
   - `StartsAtLogin() (bool, error)` - Check current status

###  **Security Improvements** (addressing PR comments)

1. **Path validation and sanitization** across all platforms
2. **AppleScript injection protection** on macOS with proper escaping
3. **Registry permissions** restricted to necessary access on Windows  
4. **Executable path validation** with symlink resolution
5. **Input sanitization** for application names and paths

###  **Error Handling & Documentation**

1. **Comprehensive error handling** with descriptive error messages
2. **Complete API documentation** with platform-specific behavior notes
3. **macOS Info.plist requirement** documented (NSAppleEventsUsageDescription)
4. **Cross-platform compatibility** notes and troubleshooting

###  **Example & Testing**

1. **Working example application** demonstrating usage
2. **Comprehensive README** with platform-specific requirements
3. **Runtime toggling capability** implemented
4. **Compilation verified** - the implementation builds successfully

### 🔧 **Technical Details**

- **macOS**: Uses Bundle information and AppleScript with security hardening
- **Windows**: Uses HKEY_CURRENT_USER registry with KEY_SET_VALUE/KEY_QUERY_VALUE permissions
- **Linux**: Creates XDG-compliant .desktop files in ~/.config/autostart/

### 📋 **Key Features**

-  Cross-platform support (macOS, Windows, Linux)
-  Runtime configuration via public API
-  Application startup configuration via Options
-  Security hardening against injection attacks
-  Proper error handling and validation
-  Complete documentation and examples

The implementation is now ready for testing and can be integrated into Wails v3. All major security concerns from the original PR have been addressed, and the feature includes proper documentation for developers.
2025-08-04 20:58:31 +10:00
..
cmd/wails3 Add wails3 tool version command 2025-04-23 10:29:51 +10:00
examples ## Summary 2025-08-04 20:58:31 +10:00
internal v3.0.0-alpha.18 2025-08-03 02:53:39 +00:00
pkg ## Summary 2025-08-04 20:58:31 +10:00
scripts Add clean v3 changelog validation workflow with external Go script 2025-07-13 10:33:00 +10:00
tasks Fix pipelines compile error 2025-07-28 21:34:57 +10:00
test/docker feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
tests/window-visibility-test Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
wep [WEP] Customise Window Titlebars (#3508) 2024-06-08 13:42:27 +10:00
.gitignore Refactor Manager API to use singular naming convention (#4367) 2025-06-22 12:19:14 +10:00
.prettierignore chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
.prettierrc.yml chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
go.mod fix: Implement robust cross-platform window visibility fallback for issue #2861 2025-06-14 12:59:44 +10:00
go.sum fix: Implement robust cross-platform window visibility fallback for issue #2861 2025-06-14 12:59:44 +10:00
README.md Update doc dependencies 2023-09-08 10:57:47 +10:00
release-notes.txt v3.0.0-alpha.18 2025-08-03 02:53:39 +00:00
release_notes.md v3.0.0-alpha.18 2025-08-03 02:53:39 +00:00
Taskfile.yaml fix: remove conflicting dir setting in test:examples task 2025-07-02 19:47:29 +10:00
TESTING.md feat: Complete App API restructuring with organized manager pattern (#4359) 2025-06-21 19:51:14 +10:00
UNRELEASED_CHANGELOG.md v3.0.0-alpha.18 2025-08-03 02:53:39 +00:00

v3 Alpha

Thanks for wanting to help out with testing/developing Wails v3! This guide will help you get started.

Getting Started

All the instructions for getting started are in the v3 documentation directory: mkdocs-website. Please read the README.md file in that directory for more information.