Repository navigation
[v3] Add starlight website - #3917
Conversation
WalkthroughThis pull request introduces several changes to the documentation and configuration files of the Wails project. Key modifications include the addition of support for Changes
Possibly related PRs
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 47
🧹 Outside diff range and nitpick comments (154)
docs/src/content/docs/development/changes_logging.md (2)
7-8: Consider adding a comma for clarity.Adding a comma after "logs" improves the readability of the sentence.
Apply this diff to enhance clarity:
-Logging in v2 was confusing as both application logs and system (internal) logs +Logging in v2 was confusing, as both application logs and system (internal) logs🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Possible missing comma found.
Context: ...ar: order: 140 --- Logging in v2 was confusing as both application logs and system (in...(AI_HYDRA_LEO_MISSING_COMMA)
13-14: Consider adding a comma for clarity.Inserting a comma after "plugin" improves the sentence flow.
Apply this diff to enhance readability:
-Application logs can now be achieved through the new `log` plugin which +Application logs can now be achieved through the new `log` plugin, which🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: Possible missing comma found.
Context: ...n now be achieved through the newlogplugin which utilisesslogunder the hood....(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/development/changes.md (1)
10-10: Grammar improvement: Use plural form "formats".The word "format" should be in plural form to match the context.
Apply this diff to correct the grammar:
-more readable format soon. +more readable formats soon.🧰 Tools
🪛 LanguageTool
[grammar] ~10-~10: Context suggests that you should use the plural form of ‘format’.
Context: ... will be organized into a more readable format soon. ::: ### [Events](/development/c...(MORE_NN)
docs/README.md (2)
14-14: Consider reducing the use of exclamation marks for a professional toneThe use of multiple exclamation marks might seem excessive. Consider limiting them to maintain a professional tone.
🧰 Tools
🪛 LanguageTool
[style] ~14-~14: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1825 characters long)
Context: ... astronaut?** Delete this file. Have fun! ## 🚀 Project Structure Inside of you...(EN_EXCESSIVE_EXCLAMATION)
17-17: Simplify phrasing for clarityYou can remove the word "of" for a more concise sentence:
-Inside of your Astro + Starlight project, you'll see the following folders and +Inside your Astro + Starlight project, you'll see the following folders and🧰 Tools
🪛 LanguageTool
[style] ~17-~17: This phrase is redundant. Consider using “Inside”.
Context: ...le. Have fun! ## 🚀 Project Structure Inside of your Astro + Starlight project, you'll ...(OUTSIDE_OF)
docs/src/content/docs/index.mdx (2)
2-2: Adjust the title for better readabilityConsider changing the title from "Welcome to the Wails" to "Welcome to Wails" for smoother phrasing.
70-70: Improve wording for readabilityConsider rephrasing the sentence for clarity:
-Your feedback is vital to making Wails better. +Your feedback is vital for improving Wails.🧰 Tools
🪛 LanguageTool
[style] ~70-~70: The wording of this phrase can be improved.
Context: ..."open-book"> Your feedback is vital to making Wails better. If you encounter any issues or have su...(MAKE_STYLE_BETTER)
docs/src/content/docs/guides/packaging.md (1)
71-71: Remove 'v' prefix from the version stringIn the nfpm configuration, the
versionfield should not include the 'v' prefix. Update it as follows:-version: "v1.0.0" +version: "1.0.0"docs/src/content/docs/development/changes_bindings.md (1)
7-7: Use 'similarly to' instead of 'in a similar way to' for concisenessConsider rephrasing the sentence to improve readability.
Apply this diff to enhance clarity:
-Bindings work in a similar way to v2, by providing a means to bind struct methods to the frontend. +Bindings work similarly to v2, providing a means to bind struct methods to the frontend.🧰 Tools
🪛 LanguageTool
[style] ~7-~7: Consider replacing this phrase with the adverb “similarly” to avoid wordiness.
Context: ...sidebar: order: 70 --- Bindings work in a similar way to v2, by providing a means to bind str...(IN_A_X_MANNER)
docs/src/content/docs/getting-started/feedback.mdx (1)
70-86: Improve punctuation and variety in the feedback questions.There are several instances where a comma is needed before questions in a list to improve readability. Additionally, multiple consecutive questions start with "Is it," which can be rephrased for variety.
Consider applying the following changes:
68 ## Things we are looking for feedback on 69 70 - The API 71 - - Is it easy to use? + - Is the API easy to use? 72 - - Does it do what you expect? + - Does the API function as expected? 73 - - Is it missing anything? + - Are any features missing? 74 - - Is there anything that should be removed? + - Should any features be removed? 75 - - Is it consistent between Go and JS? + - Is the API consistent between Go and JS? 76 - The build system 77 - - Is it easy to use? + - Is the build system easy to use? 78 - - Can we improve it? + - Can the build system be improved? 79 - The examples 80 - - Are they clear? + - Are the examples clear? 81 - - Do they cover the basics? + - Do the examples cover the basics? 82 - Features 83 - - What features are missing? + - Are any features missing? 84 - - What features are not needed? + - Are there unnecessary features? 85 - Documentation 86 - - What could be clearer? + - Which parts of the documentation could be clearer?🧰 Tools
🪛 LanguageTool
[typographical] ~70-~70: It appears that a comma is missing.
Context: ...e are looking for feedback on - The API - Is it easy to use? - Does it do what you...(COMMA_BEFORE_QUESTION_WITH_MD)
[style] ~75-~75: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...re anything that should be removed? - Is it consistent between Go and JS? - The ...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[typographical] ~76-~76: It appears that a comma is missing.
Context: ...nt between Go and JS? - The build system - Is it easy to use? - Can we improve it? ...(COMMA_BEFORE_QUESTION_WITH_MD)
[typographical] ~79-~79: It appears that a comma is missing.
Context: ...e? - Can we improve it? - The examples - Are they clear? - Do they cover the basic...(COMMA_BEFORE_QUESTION_WITH_MD)
docs/astro.config.mjs (3)
12-18: Consider updating the site configuration and removing the TODO comment.The
siteURL is currently set to"https://wails.io", and there's a TODO comment indicating it needs updating. Ensure the site URL is correct, and remove the TODO comment once updated.Apply this change:
11 export default defineConfig({ 12 - // TODO: update this 13 - site: "https://wails.io", + site: "https://your-updated-url.com", 14 trailingSlash: "ignore",Replace
"https://your-updated-url.com"with the appropriate site URL.
35-35: Update theeditLink.baseUrlto point to the correct branch or repository.The
editLink.baseUrlcurrently contains a TODO comment. Ensure this URL points to the correct location for editing documentation.Apply this change:
34 editLink: { 35 - // TODO: update this - baseUrl: "https://github.com/wailsapp/wails/edit/v3-alpha/docs", + baseUrl: "https://github.com/wailsapp/wails/edit/main/docs", 36 },Replace
"https://github.com/wailsapp/wails/edit/main/docs"with the appropriate URL.
40-40: Replace deprecated social media key"x.com"with"twitter".The key
"x.com"in thesocialobject may not be recognized by plugins expecting"twitter".Apply this change:
37 social: { 38 github: "https://github.com/wailsapp/wails", 39 discord: "https://discord.gg/JDdSxwjhGf", 40 - "x.com": "https://x.com/wailsapp", + twitter: "https://twitter.com/wailsapp", 41 },docs/src/content/docs/getting-started/installation.mdx (3)
15-16: Correct the spelling of "MacOS" to "macOS".The official spelling for Apple's operating system is "macOS".
Apply this change:
14 - Windows 10/11 AMD64/ARM64 15 - - MacOS 10.13+ AMD64 + - macOS 10.13+ AMD64 16 - - MacOS 11.0+ ARM64 + - macOS 11.0+ ARM64 17 - Ubuntu 22.04 AMD64/ARM64 (other Linux may work too!)🧰 Tools
🪛 LanguageTool
[grammar] ~15-~15: The operating system from Apple is written “macOS”.
Context: ...latforms - Windows 10/11 AMD64/ARM64 - MacOS 10.13+ AMD64 - MacOS 11.0+ ARM64 - Ubun...(MAC_OS)
[grammar] ~16-~16: The operating system from Apple is written “macOS”.
Context: ...0/11 AMD64/ARM64 - MacOS 10.13+ AMD64 - MacOS 11.0+ ARM64 - Ubuntu 22.04 AMD64/ARM64 ...(MAC_OS)
58-58: Add a hyphen in "platform-specific" for correct compound adjective usage.The term "platform specific dependencies" should be hyphenated when used as a modifier.
Apply this change:
57 ## Platform Specific Dependencies 58 -You will also need to install platform specific dependencies: +You will also need to install platform-specific dependencies:🧰 Tools
🪛 LanguageTool
[uncategorized] ~58-~58: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ndencies You will also need to install platform specific dependencies: <Tabs syncKey="platform"...(SPECIFIC_HYPHEN)
119-119: Clarify the instructions about thePATHvariable on Windows.Provide specific instructions for Windows users to verify the
go/bindirectory is in theirPATH.Consider adding:
118 - Make sure you have followed the above `Go installation guide` correctly and 119 that the `go/bin` directory is in the `PATH` environment variable. + - Windows: Check your `PATH` variable includes `%USERPROFILE%\go\bin` 120 - Close/Reopen current terminals to pick up the new `PATH` variable.docs/src/content/docs/api/events_custom.mdx (5)
14-16: Grammar correction: Use "can be emitted" instead of "are able to emitted"In line 14, to improve clarity and correct the grammar, change:
"Events are able to emitted at both the application and the window level."
to:
"Events can be emitted at both the application and the window level."
🧰 Tools
🪛 LanguageTool
[style] ~14-~14: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...n both the frontend and backend. Events are able to emitted at both the application and the...(BE_ABLE_TO)
76-77: Grammar correction: Add "of" after "couple" and comma before "with"In line 76, to enhance readability, consider adding "of" after "couple" and a comma before "with":
"Events can be received on the application instance and the frontend, with a couple of options of how you choose to receive them."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~76-~76: Possible missing comma found.
Context: ...ved on the application instance and the frontend with a couple options of how you chose ...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~76-~76: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ...cation instance and the frontend with a couple options of how you chose to receive them. You c...(PLENTY_OF_NOUNS)
91-92: Grammar correction: Add missing comma after "application instance"In line 91, add a comma after "application instance" to improve readability:
"Registers an event on the application instance, this will trigger every time the event is emitted up to the count specified."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~91-~91: Possible missing comma found.
Context: ... Registers an event on the application instance this will trigger every time the event ...(AI_HYDRA_LEO_MISSING_COMMA)
97-97: Formatting correction: Remove unnecessary commas after method headingsIn lines 97, 102, and 107, remove the commas at the end of the method headings to correct the markdown syntax:
Line 97:
Change:"####
wails.Events.On(name: string, callback: ()=>void),"to:
"####
wails.Events.On(name: string, callback: ()=>void)"Line 102:
Change:"####
wails.Events.Once(name: string, callback: ()=>void),"to:
"####
wails.Events.Once(name: string, callback: ()=>void)"Line 107:
Change:"####
wails.Events.OnMultiple(name: string, callback: ()=>void, count: number),"to:
"####
wails.Events.OnMultiple(name: string, callback: ()=>void, count: number)"Also applies to: 102-102, 107-107
🧰 Tools
🪛 LanguageTool
[uncategorized] ~97-~97: Loose punctuation mark.
Context: ...ts.On(name: string, callback: ()=>void)`, Registers an event on the frontend, th...(UNLIKELY_OPENING_PUNCTUATION)
118-121: Style suggestion: Remove "of" for concisenessIn line 118, consider removing "of" to make the sentence more concise:
"There are a few ways to remove events that are registered. All the registration functions return a function that can be called to remove the event listener in the frontend."
🧰 Tools
🪛 LanguageTool
[style] ~118-~118: Consider removing “of” to be more concise
Context: ...s to remove events that are registered. All of the registration functions return a functio...(ALL_OF_THE)
docs/src/content/docs/getting-started/your-first-app.mdx (1)
43-47: Formatting suggestion: Adjust bullet list for readabilityIn lines 43-47, to improve readability and prevent potential markdown rendering issues, consider reformatting the bullet list without colons after the filenames. For example:
buildcontains files used by the build process.frontendcontains your web frontend code.go.mod&go.sumare Go module files.main.gois the entry point for your Wails application.Taskfile.ymldefines all the tasks used by the build system.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Loose punctuation mark.
Context: ...al files and folders: -build: Contains files used by the build proces...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~44-~44: Loose punctuation mark.
Context: ...d by the build process. -frontend: Contains your web frontend code. - ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...o.sum: Go module files. -main.go`: The entry point for your Wails applicat...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~47-~47: Loose punctuation mark.
Context: ... Wails application. -Taskfile.yml: Defines all the tasks used by the build...(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md (8)
11-11: Consider removing "somewhat" to strengthen the statement.The word "somewhat" in "It is somewhat ironic..." can weaken the impact of the sentence. Removing it can make the statement more assertive.
🧰 Tools
🪛 LanguageTool
[style] ~11-~11: Qualifiers like “somewhat” can weaken your message and make your writing sound uncertain. Consider removing it or choosing an alternative to sound more confident.
Context: ...ails v2 is now in beta for Linux! It is somewhat ironic that the very first experiments ...(SOMEWHAT)
12-12: Add a comma after "yet" for clarity.In the sentence "...and yet it has ended up...", adding a comma after "yet" improves readability: "...and yet, it has ended up...".
🧰 Tools
🪛 LanguageTool
[typographical] ~12-~12: Consider adding a comma after the introductory adverb.
Context: ...st experiments with v2 was on Linux and yet it has ended up as the last release. Th...(YET_COMMA)
21-21: Replace "a lot of" with a more concise alternative.The phrase "a lot of" can be wordy. Consider using "many" or "numerous": "There were many requests for native menu support."
🧰 Tools
🪛 LanguageTool
[style] ~21-~21: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...ges/wails-menus-linux.webp) There were a lot of requests for native menu support. Wails...(A_LOT_OF)
27-27: Use a stronger adjective to enhance the tone.The phrase "I'm happy to announce" is commonly used. Consider alternatives like "I'm pleased to announce" or "I'm excited to announce" to strengthen the expression.
🧰 Tools
🪛 LanguageTool
[style] ~27-~27: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...(HAPPY_EXCITED)
35-35: Use a stronger adjective to enhance the tone.Consider replacing "I'm happy to announce" with "I'm pleased to announce" or "I'm excited to announce" for a more impactful statement.
🧰 Tools
🪛 LanguageTool
[style] ~35-~35: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...(HAPPY_EXCITED)
70-70: Use a stronger adjective to enhance the tone."Happy to announce" can be replaced with "pleased to announce" or "excited to announce" for stronger emphasis.
🧰 Tools
🪛 LanguageTool
[style] ~70-~70: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...(HAPPY_EXCITED)
88-88: Consider a more formal expression.The phrase "hard to keep on top of" is informal. Consider "difficult to stay current with" or "challenging to keep up with" for a more professional tone.
🧰 Tools
🪛 LanguageTool
[style] ~88-~88: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...(HARD_TO)
129-129: Reduce the number of exclamation marks for professionalism.Overusing exclamation marks can diminish their impact. Consider reducing the number used to maintain a professional tone.
🧰 Tools
🪛 LanguageTool
[style] ~129-~129: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 5233 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/blog/2021-11-08-v2-beta2-release-notes.md (9)
12-12: Add a comma before "and" to separate independent clauses.In the sentence "...to get to this point and I'm hoping...", adding a comma before "and" enhances readability: "...to get to this point, and I'm hoping...".
🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...taken quite a while to get to this point and I'm hoping that today's release will gi...(COMMA_COMPOUND_SENTENCE)
14-14: Add a comma before "and" to separate independent clauses.Adding a comma before "and" in "...to get to this point and I'm hoping..." improves the sentence structure: "...to get to this point, and I'm hoping...".
🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...of twists and turns to get to this point and I'm hoping, with your help, to iron out...(COMMA_COMPOUND_SENTENCE)
29-29: Replace "a lot of" with a more concise alternative.Consider using "many" or "numerous": "There were many requests for native menu support."
🧰 Tools
🪛 LanguageTool
[style] ~29-~29: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...mages/wails-menus-mac.webp) There were a lot of requests for native menu support. Wails...(A_LOT_OF)
35-35: Use a stronger adjective to enhance the tone.Replace "I'm happy to announce" with "I'm pleased to announce" or "I'm excited to announce" for a stronger impact.
🧰 Tools
🪛 LanguageTool
[style] ~35-~35: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...(HAPPY_EXCITED)
53-53: Use a stronger adjective to enhance the tone.Consider "pleased to announce" or "excited to announce" instead of "happy to announce" for stronger expression.
🧰 Tools
🪛 LanguageTool
[style] ~53-~53: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...(HAPPY_EXCITED)
88-88: Use a stronger adjective to enhance the tone.Replace "I'm happy to announce" with "I'm pleased to announce" or "I'm excited to announce" for greater impact.
🧰 Tools
🪛 LanguageTool
[style] ~88-~88: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...(HAPPY_EXCITED)
106-106: Consider a more formal expression."Hard to keep on top of" is informal. Consider "difficult to keep up with" or "challenging to stay current with" for a formal tone.
🧰 Tools
🪛 LanguageTool
[style] ~106-~106: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...(HARD_TO)
119-119: Use a more formal adjective to describe the support."Thanks to the amazing support of..." can be strengthened by using "exceptional" or "outstanding": "Thanks to the exceptional support of..."
🧰 Tools
🪛 LanguageTool
[style] ~119-~119: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...! ### Native M1 Support Thanks to the amazing support of [Mat Ryer](https://github.co...(AWESOME)
[misspelling] ~119-~119: Possible spelling mistake found.
Context: ...port Thanks to the amazing support of Mat Ryer, the Wail...(EN_MULTITOKEN_SPELLING_TWO)
166-166: Reduce the number of exclamation marks for professionalism.Limiting the use of exclamation marks maintains a professional tone. Consider reducing their number.
🧰 Tools
🪛 LanguageTool
[style] ~166-~166: Using many exclamation marks might seem excessive (in this case: 11 exclamation marks for a text that’s 6287 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/development/introduction.mdx (3)
63-63: Hyphenate "To-do" in the link text.In "[Alpha Todo List]", "Todo" should be hyphenated: "[Alpha To-do List]"
🧰 Tools
🪛 LanguageTool
[grammar] ~63-~63: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...ng known issues and tasks in the [Alpha Todo List](https://github.com/orgs/wailsapp/...(TO_DO_HYPHEN)
176-176: Add a comma after "incompatibilities" for clarity.In lines 176 and 215, add a comma after "incompatibilities": "If there are incompatibilities, then they should appear..."
Also applies to: 215-215
🧰 Tools
🪛 LanguageTool
[typographical] ~176-~176: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...(IF_THEN_COMMA)
178-178: Add a comma after "Usually" for clarity.In lines 178 and 217, add a comma after "Usually": "Usually, the best way to fix incompatibilities..."
Also applies to: 217-217
🧰 Tools
🪛 LanguageTool
[typographical] ~178-~178: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...ev3/internal/commands/task.gofile. Usually the best way to fix incompatibilities i...(RB_LY_COMMA)
docs/src/content/docs/learn/build.mdx (2)
155-155: Ensure Consistent Spelling of 'Customise' vs 'Customize'The document uses both "customise" and "customize". Please choose one variant (either American English "customize" or British English "customise") and use it consistently throughout the document to maintain uniformity.
Also applies to: 234-234, 237-237
🧰 Tools
🪛 LanguageTool
[uncategorized] ~155-~155: Do not mix variants of the same word (‘customise’ and ‘customize’) within a single text.
Context: ...d default configuration, you can easily customise it to fit your project's needs. By modi...(EN_WORD_COHERENCY)
258-258: Consider Using a Stronger Verb for ClarityIn line 258, consider replacing "gives you" with "provides you" to strengthen the sentence and enhance readability.
🧰 Tools
🪛 LanguageTool
[style] ~258-~258: Try using a synonym here to strengthen your writing.
Context: ...ttp://localhost:9245` in dev mode. This gives you access to powerful browser dev tools wh...(GIVE_PROVIDE)
docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md (6)
39-39: Use Correct Capitalization for 'macOS'Please update "MacOS" to "macOS" in lines 39 and 201 to reflect the correct branding and capitalization of Apple's operating system.
Also applies to: 201-201
🧰 Tools
🪛 LanguageTool
[grammar] ~39-~39: The operating system from Apple is written “macOS”.
Context: ...The thing about Windows is that, unlike MacOS and Linux, it doesn't come with a defau...(MAC_OS)
22-22: Add Commas Before 'But' in Compound SentencesIn lines 22 and 88, consider adding commas before "but" to correctly separate independent clauses:
- Line 22: "... experience**,** but there wasn't much that could have been ..."
- Line 88: "... supported**,** but we hope to support other IDEs such as Goland soon."
Also applies to: 88-88
🧰 Tools
🪛 LanguageTool
[uncategorized] ~22-~22: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...was a frustrating development experience but there wasn't much that could have been ...(COMMA_COMPOUND_SENTENCE_2)
87-87: Add Comma After 'Currently'In line 87, add a comma after "Currently" to improve readability:
- Line 87: "Currently**,** VSCode is supported but we hope to support other IDEs ..."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~87-~87: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...uilding and debugging your application. Currently VSCode is supported but we hope to supp...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
65-65: Simplify Phrase 'Are Able To' to 'Can'In line 65, consider replacing "we are able to bundle" with "we can bundle" for conciseness:
- Original: "we are able to bundle this dll inside the binary ..."
- Suggestion: "we can bundle this dll inside the binary ..."
🧰 Tools
🪛 LanguageTool
[style] ~65-~65: As a shorter alternative for ‘able to’, consider using “can”.
Context: ... Chadwick](https://github.com/jchv), we are able to bundle this dll inside the binary and g...(BE_ABLE_TO)
74-74: Replace 'A Lot Of' with 'Many' for ConcisenessIn line 74, consider replacing "a lot of requests" with "many requests" to make the sentence more concise:
- Original: "There were a lot of requests for native menu support."
- Suggestion: "There were many requests for native menu support."
🧰 Tools
🪛 LanguageTool
[style] ~74-~74: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...og-images/wails-menus.webp) There were a lot of requests for native menu support. Wails...(A_LOT_OF)
120-120: Hyphenate 'Auto Reload'In line 120, consider hyphenating "auto reload" to "auto-reload" to correctly form the compound adjective:
- Original: "will trigger and auto reload of the application frontend"
- Suggestion: "will trigger an auto-reload of the application frontend"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~120-~120: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...ges to frontend assets will trigger and auto reload of the application frontend - Auto re...(AUTO_HYPHEN)
docs/src/content/docs/blog/2022-09-22-v2-release-notes.md (7)
105-105: Add Comma After 'Cheers'In line 105, add a comma after "Cheers" to correctly format the closing:
- Original: "Cheers Mat!"
- Suggestion: "Cheers**,** Mat!"
🧰 Tools
🪛 LanguageTool
[formatting] ~105-~105: Insert a comma after ‘Cheers’.
Context: ...e flagship application for the project. Cheers Mat! # Lessons Learnt There are a num...(SENT_START_THANKS_COMMA)
129-129: Add Comma for ClarityIn line 129, consider adding a comma before "so" to improve readability:
- Original: "It would be good to get some tooling to help with this so if you have any suggestions ..."
- Suggestion: "It would be good to get some tooling to help with this**,** so if you have any suggestions ..."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~129-~129: Possible missing comma found.
Context: ...e good to get some tooling to help with this so if you have any suggestions, please ...(AI_HYDRA_LEO_MISSING_COMMA)
134-134: Use 'Who' Instead of 'That' for PeopleIn line 134, replace "people that engage" with "people who engage" for correct usage:
- Original: "The more people that engage with an Open Source project ..."
- Suggestion: "The more people who engage with an Open Source project ..."
🧰 Tools
🪛 LanguageTool
[style] ~134-~134: Consider using “who” when you are referring to people instead of objects.
Context: ... ## Learning to say No The more people that engage with an Open Source project, the...(THAT_WHO)
[uncategorized] ~134-~134: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...No The more people that engage with an Open Source project, the more requests there will b...(EN_COMPOUND_ADJECTIVE_INTERNAL)
137-137: Remove Redundant 'Myself'In line 137, consider removing "myself" for conciseness:
- Original: "I myself am the most guilty of this ..."
- Suggestion: "I am the most guilty of this ..."
🧰 Tools
🪛 LanguageTool
[style] ~137-~137: This phrase is often redundant. Consider writing “I” unless you want to emphasize that you and not someone else will do something.
Context: ...ng maintenance cost from that point on. I myself am the most guilty of this, often wanti...(I_MYSELF)
174-174: Consider a More Formal AdjectiveIn line 174, consider replacing "amazing" with a more formal adjective like "remarkable" or "impressive" to maintain a professional tone:
- Original: "It's amazing to see what people have already been able to build ..."
- Suggestion: "It's impressive to see what people have already been able to build ..."
🧰 Tools
🪛 LanguageTool
[style] ~174-~174: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...le to achieve with the V2 release. It's amazing to see what people have already been ab...(AWESOME)
183-183: Simplify 'Each and Every'In line 183, consider simplifying "each and every contributor" to "every contributor" or "all contributors" for conciseness:
- Original: "the time of each and every contributor ..."
- Suggestion: "the time of every contributor ..."
🧰 Tools
🪛 LanguageTool
[style] ~183-~183: ‘each and every’ might be wordy. Consider a shorter alternative.
Context: ...s not only been my time and the time of each and every contributor, but also the cost of absen...(EN_WORDINESS_PREMIUM_EACH_AND_EVERY)
190-190: Use a More Formal Term Than 'Awesome'In line 190, consider replacing "awesome" with "fantastic" or "great" to maintain a formal tone:
- Original: "It would be so awesome if you too were part of the story ..."
- Suggestion: "It would be so great if you too were part of the story ..."
🧰 Tools
🪛 LanguageTool
[style] ~190-~190: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...have such a huge impact! It would be so awesome if you too were part of the story in ge...(AWESOME)
docs/src/content/docs/blog/2023-01-17-v3-roadmap.md (9)
13-13: Simplify the phrase for clarityConsider rephrasing "simplifies the ability to write" to "simplifies writing" for conciseness and improved readability.
🧰 Tools
🪛 LanguageTool
[grammar] ~13-~13: Did you mean “are” or “were”?
Context: ...ultiwindow.webp) # Introduction Wails is a project that simplifies the ability t...(SENT_START_NNS_IS)
18-18: Replace 'a lot of' with a more precise termThe phrase "a lot of enhancements" can be made more precise by using "many enhancements" or "numerous enhancements".
🧰 Tools
🪛 LanguageTool
[style] ~18-~18: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...d of September 2022 and brought with it a lot of enhancements including: - Live develop...(A_LOT_OF)
27-27: Consider using 'Currently' instead of 'Right now'Replacing "Right now" with "Currently" can make the tone more formal and the sentence more concise.
🧰 Tools
🪛 LanguageTool
[style] ~27-~27: For conciseness, consider replacing this expression with an adverb.
Context: ... of NSIS Installer - Obfuscated builds Right now, Wails v2 provides powerful tooling for...(AT_THE_MOMENT)
83-83: Add a comma before 'and' connecting independent clausesIn the sentence, "the demand for multiple windows has grown and the API is not well suited to this," consider adding a comma before "and" to separate the independent clauses.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~83-~83: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...he demand for multiple windows has grown and the API is not well suited to this. ##...(COMMA_COMPOUND_SENTENCE_2)
139-139: Hyphenate 'chicken and egg'The expression "chicken and egg situation" should be hyphenated as "chicken-and-egg situation" to conform with standard usage.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~139-~139: It appears that there are hyphens missing.
Context: ...as been bound. This leads to a bit of a chicken and egg situation: You can't build the application withou...(CHICKEN_AND_EGG_HYPHEN)
157-157: Replace 'a lot of' with a more precise termThe phrase "does a lot of things" can be replaced with "performs many tasks" for clarity and conciseness.
🧰 Tools
🪛 LanguageTool
[style] ~157-~157: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...on. When you runwails build, it does a lot of things behind the scenes: - Builds the...(A_LOT_OF)
220-220: Hyphenate 'community driven'The adjective "community driven" should be hyphenated to "community-driven" to correctly form a compound adjective.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~220-~220: The adjective “community-driven” is spelled with a hyphen.
Context: ... this will lead to a new ecosystem of community driven build pipelines. - Better separation of...(DRIVEN_HYPHEN)
226-226: Add a comma before 'but' connecting independent clausesIn the sentence "There is no current timeline for this work but I'm hoping...," a comma before "but" improves readability.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...mentation for this has already been done and it's looking good. There is no current ...(COMMA_COMPOUND_SENTENCE)
256-256: Avoid repetition and enhance word choiceThe repeated use of "It's" at the beginning of successive sentences can be rephrased for better flow. Additionally, consider replacing "awesome" with a more formal term like "impressive."
🧰 Tools
🪛 LanguageTool
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...th Wails. It's not a mockup. It's real. It's awesome. It's coming soon.(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~256-~256: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ils. It's not a mockup. It's real. It's awesome. It's coming soon.(AWESOME)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... not a mockup. It's real. It's awesome. It's coming soon.(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/src/content/docs/whats-new.md (1)
225-225: Add a comma for clarityConsider adding a comma before "as you can now" to improve readability: "ease of use, as you can now customize the build process to your needs."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~225-~225: Possible missing comma found.
Context: ...mate balance of flexibility and ease of use as you can now customise the build proc...(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/learn/bindings.mdx (1)
81-81: Simplify 'is able to generate' to 'can generate'For conciseness, replace "is able to generate" with "can generate": "Wails can generate the necessary JavaScript or TypeScript code..."
🧰 Tools
🪛 LanguageTool
[style] ~81-~81: As a shorter alternative for ‘able to’, consider using “can”.
Context: ... Bindings By binding the struct, Wails is able to generate the necessary JavaScript or Ty...(BE_ABLE_TO)
docs/src/content/docs/changelog.md (8)
179-179: Format the bare URL as a Markdown linkThere's a bare URL in the changelog which should be formatted as a link for better readability.
Apply this change:
- (https://github.com/wailsapp/wails/pull/3580) + [#3580](https://github.com/wailsapp/wails/pull/3580)🧰 Tools
🪛 Markdownlint (0.35.0)
179-179: null
Bare URL used(MD034, no-bare-urls)
270-270: Capitalize operating system names correctlyThe term "MacOS" should be written as "macOS" to reflect the correct branding.
Apply this change:
- - Fix MacOS systray click handling when no attached window by + - Fix macOS systray click handling when no attached window by🧰 Tools
🪛 LanguageTool
[grammar] ~270-~270: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...(MAC_OS)
276-276: Capitalize "Windows" and hyphenate "left-clicking""Windows" should be capitalized, and "left-clicking" should be hyphenated.
Apply this change:
- - Fix crash on windows left clicking the systray icon when not having an + - Fix crash on Windows left-clicking the systray icon when not having an🧰 Tools
🪛 LanguageTool
[grammar] ~276-~276: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...(A_WINDOWS)
[grammar] ~276-~276: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...(CLICK_HYPHEN)
141-142: Add missing periods to improve readabilityThere are missing periods at the end of sentences which can affect readability.
Apply this change:
- ...always show the context menu The `--default-contextmenu: hide` style will always hide the context menu + ...always show the context menu. The `--default-contextmenu: hide` style will always hide the context menu.
202-202: Add a comma before 'but' in compound sentencesA comma should be used before 'but' as it connects two independent clauses.
Apply this change:
- | BackgroundType | | | | Acrylic seems to work but the others don't | + | BackgroundType | | | | Acrylic seems to work, but the others don't |
264-264: Hyphenate compound adjectives before nouns"Cross-platform" should be hyphenated when used as a compound adjective.
Apply this change:
- Mapping native events to cross-platform events. + Mapping native events to cross-platform events.Note: This change might seem redundant; ensure consistency in hyphenation throughout the document.
Line range hint
382-382: Avoid loose punctuation marksThere's a loose colon that should be corrected for proper punctuation.
Apply this change:
- located in the following files: + located in the following filesAlternatively, you can keep the colon if you directly list the files below.
🧰 Tools
🪛 Markdownlint (0.35.0)
179-179: null
Bare URL used(MD034, no-bare-urls)
🪛 LanguageTool
[grammar] ~270-~270: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...(MAC_OS)
[grammar] ~276-~276: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...(A_WINDOWS)
[grammar] ~276-~276: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...(CLICK_HYPHEN)
Line range hint
386-386: Add a comma after 'By default'Include a comma after introductory phrases like "By default" for clarity.
Apply this change:
- By default CGO is utilized to compile the Linux port. + By default, CGO is utilized to compile the Linux port.🧰 Tools
🪛 Markdownlint (0.35.0)
179-179: null
Bare URL used(MD034, no-bare-urls)
🪛 LanguageTool
[grammar] ~270-~270: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...(MAC_OS)
[grammar] ~276-~276: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...(A_WINDOWS)
[grammar] ~276-~276: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...(CLICK_HYPHEN)
docs/src/content/docs/development/status.md (7)
72-72: Remove spaces inside emphasis markersThere are unnecessary spaces inside the emphasis markers which can cause formatting issues.
Apply this change:
- | on(eventID uint) | ✅ | | ✅ | | + | on(eventID uint) | ✅ | | ✅ | |Note: Ensure that emphasis markers (like asterisks or underscores) do not have spaces inside them.
🧰 Tools
🪛 Markdownlint (0.35.0)
72-72: null
Spaces inside emphasis markers(MD037, no-space-in-emphasis)
177-177: Format the bare URL as a Markdown linkA bare URL is used; it should be formatted as a link for better readability.
Apply this change:
- https://github.com/MicrosoftEdge/WebView2Feedback/issues/1621#issuecomment-938234294 + [Issue Comment](https://github.com/MicrosoftEdge/WebView2Feedback/issues/1621#issuecomment-938234294)🧰 Tools
🪛 Markdownlint (0.35.0)
177-177: null
Bare URL used(MD034, no-bare-urls)
141-142: Add missing periods to end of sentencesThere are missing periods at the end of sentences which can improve readability.
Apply this change:
- ...always hide the context menu + ...always hide the context menu.And:
- ...the context menu unless it is explicitly set with + ...the context menu unless it is explicitly set with.🧰 Tools
🪛 LanguageTool
[uncategorized] ~141-~141: A period might be missing here.
Context: ...howstyle will always show the context menu The--default-contextmenu: hide` style...(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
[uncategorized] ~142-~142: A period might be missing here.
Context: ...idestyle will always hide the context menu Anything nested under a tag with--de...(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
264-264: Hyphenate compound adjectives before nouns"Cross-platform" should be hyphenated when used as a compound adjective.
Apply this change:
- ## Cross Platform Events + ## Cross-Platform Events🧰 Tools
🪛 LanguageTool
[uncategorized] ~264-~264: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...arkmode isn't handled yet (linux) | ## Cross Platform Events Mapping native events to cross-...(EN_COMPOUND_ADJECTIVE_INTERNAL)
202-202: Add a comma before 'but' in compound sentencesA comma should be used before 'but' as it connects two independent clauses.
Apply this change:
- | BackgroundType | | | | Acrylic seems to work but the others don't | + | BackgroundType | | | | Acrylic seems to work, but the others don't |🧰 Tools
🪛 LanguageTool
[uncategorized] ~202-~202: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... | | | Acrylic seems to work but the others don't | | CSS ...(COMMA_COMPOUND_SENTENCE_2)
382-382: Avoid loose punctuation marksThere's a loose colon that should be corrected for proper punctuation.
Apply this change:
- located in the following files: + located in the following filesAlternatively, you can keep the colon if you directly list the files below.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~382-~382: Loose punctuation mark.
Context: ...n the following files: -linux_cgo.go: CGo implementation -linux_purego.go:...(UNLIKELY_OPENING_PUNCTUATION)
386-386: Add a comma after 'By default'Include a comma after introductory phrases like "By default" for clarity.
Apply this change:
- By default CGO is utilized to compile the Linux port. + By default, CGO is utilized to compile the Linux port.🧰 Tools
🪛 LanguageTool
[uncategorized] ~386-~386: Did you mean: “By default,”?
Context: ...go.go`: PureGo implementation ### CGO By default CGO is utilized to compile the Linux po...(BY_DEFAULT_COMMA)
docs/src/content/docs/api/application_screens.md (1)
19-21: Consider removing or improving the reference to internal documentation.The current note suggests users should refer to the Go code or internal documentation for more details. Documentation should be self-contained and comprehensive enough that users don't need to examine the source code.
Consider either:
- Removing these lines and ensuring the documentation above is complete, or
- Replacing with links to relevant sections of the documentation:
-This is a brief summary of the exported methods in the provided `App` struct. Do -note that for more detailed functionality or considerations, refer to the actual -Go code or further internal documentation. +## See Also +- [Window Management](../application_window) +- [Event Handling](../application_events) +- [Display Configuration](../application_display)docs/src/content/authors.ts (2)
9-9: Consider using CDN or relative paths for avatar images.Direct GitHub avatar URLs might:
- Expose unnecessary user information
- Be subject to rate limiting
- Break if GitHub's URL structure changes
Consider using a CDN or storing avatars locally:
- picture: "https://github.com/leaanthony.png", + picture: "/assets/authors/leaanthony.jpg",Also applies to: 15-15
4-17: Enhance documentation and maintainability.Consider adding:
- JSDoc comments to document the authors object
- Additional metadata fields (e.g., social links, bio)
- A schema validation to ensure consistent author data
Example enhancement:
+/** + * Authors information for the documentation site. + * @type {Authors} + */ export const authors: Authors = { leaanthony: { name: "Lea Anthony", title: "Maintainer of Wails", url: "https://github.com/leaanthony", picture: "https://github.com/leaanthony.png", + social: { + twitter: "leaanthony", + linkedin: "lea-anthony" + }, + bio: "Creator and maintainer of the Wails project" }, // ... rest of the authors };docs/src/content/config.ts (2)
1-3: LGTM! Consider adding type annotations.The imports are well-organized and follow common practices. For better type safety, consider adding explicit type annotations.
-import { defineCollection } from "astro:content"; +import type { CollectionEntry } from "astro:content"; +import { defineCollection } from "astro:content";
5-10: LGTM! Consider adding documentation comments.The collections configuration is well-structured and correctly implements both i18n and docs with blog functionality.
Consider adding JSDoc comments to document the purpose of each collection:
+/** + * Content collections configuration for Starlight documentation. + * @property {Collection} i18n - Collection for internationalization data + * @property {Collection} docs - Collection for documentation pages with blog functionality + */ export const collections = { i18n: defineCollection({ type: "data", schema: i18nSchema() }), docs: defineCollection({ schema: docsSchema({ extend: (context) => blogSchema(context) }), }), };docs/src/content/docs/guides/file-associations.md (5)
14-18: Add clarification about Linux support status.The platform support section should explicitly mention whether Linux is supported or not, to avoid confusion for Linux users.
Consider adding a note about Linux support status, for example:
File association support in Wails v3 is currently available for: - Windows (NSIS installer packages) - macOS (application bundles) + Linux support is currently not available
65-81: Enhance the code example for better clarity.The current example ends with a comment "Create your window and run the app...", which might not provide enough guidance for beginners.
Consider expanding the example to show a complete minimal working implementation:
func main() { app := application.New(application.Options{ Name: "MyApp", FileAssociations: []string{".txt", ".md"}, // Specify supported extensions }) // Listen for files being used to open the application app.OnApplicationEvent(events.Common.ApplicationOpenedWithFile, func(event *application.ApplicationEvent) { associatedFile := event.Context().Filename() application.InfoDialog().SetMessage("Application opened with file: " + associatedFile).Show() }) - // Create your window and run the app... + // Create main window + app.NewWindowWithOptions(application.WindowOptions{ + Title: "MyApp", + Width: 800, + Height: 600, + }) + + app.Run() }
95-96: Fix markdown syntax for tip block.The tip block uses incorrect markdown syntax
!!!which should be:::to match the format used elsewhere in the document.-!!! tip You can use `wails3 generate icons` to generate the required icons for +::: tip +You can use `wails3 generate icons` to generate the required icons for🧰 Tools
🪛 LanguageTool
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...ation (e.g.,textFileIcon.png) !!! tip You can usewails3 generate iconsto ...(AI_HYDRA_LEO_MISSING_COMMA)
154-157: Enhance the additional notes section.The notes section could be more helpful with additional details about:
- Specific icon size requirements for each platform
- Step-by-step testing procedures
- Troubleshooting common issues
Consider expanding this section with more detailed guidance to help users avoid common pitfalls.
95-95: Minor grammar improvements.Consider these grammar enhancements:
- Add a comma after the parenthetical example
- Use "whether" instead of "if" in the formal documentation context
-!!! tip You can use `wails3 generate icons` to generate the required icons for +!!! tip You can use `wails3 generate icons` to generate the required icons for, -options to determine if the first argument is an associated file +options to determine whether the first argument is an associated fileAlso applies to: 138-139
🧰 Tools
🪛 LanguageTool
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...ation (e.g.,textFileIcon.png) !!! tip You can usewails3 generate iconsto ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/development/changes_plugins.md (2)
7-11: Enhance the introduction sectionThe introduction could be more comprehensive to help developers better understand the plugin system.
Consider expanding the introduction with:
-Plugins are a way to extend the functionality of your Wails application. +Plugins are a way to extend the functionality of your Wails application. They allow you to: +- Add reusable functionality across multiple Wails applications +- Integrate third-party services and libraries +- Extend the core capabilities of your application + +This guide explains how to create and implement plugins in your Wails applications.
13-21: Add version and stability informationThe interface definition should indicate its version compatibility and stability status.
Consider adding a note before the interface:
+> **Note**: This interface is available since Wails v3 and is considered stable. + ```go type Plugin interface {docs/src/content/docs/development/changes_window.md (3)
7-8: Improve sentence structure for better readability.The sentence with "however" should be restructured for better grammar.
-The Window API has largely remained the same, however the methods are now on an +The Window API has largely remained the same; however, the methods are now on an🧰 Tools
🪛 LanguageTool
[typographical] ~7-~7: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...Window API has largely remained the same, however the methods are now on an instance of a...(HOWEVER_SENTENCE)
24-27: Add comma and consider including code examples.Minor grammar fix needed and suggestion for improvement:
- Add a comma after "Now"
- Consider adding Go code examples demonstrating how to set each background type
-This flag has been removed. Now there is a `BackgroundType` flag that can be +This flag has been removed. Now, there is a `BackgroundType` flag that can be🧰 Tools
🪛 LanguageTool
[uncategorized] ~24-~24: Possible missing comma found.
Context: ...ranslucent This flag has been removed. Now there is aBackgroundTypeflag that c...(AI_HYDRA_LEO_MISSING_COMMA)
32-40: Consider adding Windows version requirements.The documentation would benefit from specifying which Windows versions support each backdrop type (e.g., Mica is only available on Windows 11).
docs/src/content/docs/api/application_window.md (5)
14-17: Consider enhancing the example with error handling.While the example is correct, it would be more helpful to show proper error handling:
// Create a new webview window window := app.NewWebviewWindow() +if window == nil { + // Handle window creation failure +}
28-36: Document all available window options.The example shows common options but doesn't cover all available fields in
WebviewWindowOptions. Consider adding a reference to the complete options structure or expanding the example to show more configuration possibilities.
45-50: Enhance example with practical window initialization.The current example could be more helpful by showing a practical use case:
// Register a callback to be called when a window is created app.OnWindowCreation(func(window *WebviewWindow) { - // Do something + // Initialize window properties + window.SetSize(1024, 768) + window.Center() + + // Set up window-specific event handlers + window.OnClose(func() { + // Cleanup when window is closed + }) })
58-61: Add null check to the example.The example should demonstrate proper null checking:
// Get a window by name window := app.GetWindowByName("Main") +if window == nil { + // Handle case where window doesn't exist +}
70-73: Add null check as mentioned in the description.Since the documentation mentions that the function can return nil, the example should demonstrate this:
// Get the current window window := app.CurrentWindow() +if window == nil { + // Handle case where no window is active +}docs/src/content/docs/development/changes_misc.md (4)
11-22: Consider enhancing the WndProcInterceptor documentation.While the technical explanation is accurate, the documentation could be more helpful by including:
- Common use cases for message interception
- A complete example showing how to implement the interceptor
- List of frequently intercepted Windows messages
Would you like me to help generate these additional documentation sections?
26-32: Add a code example for the ShouldClose callback.The explanation of the change from
HideWindowOnClosetoShouldCloseis clear, but would benefit from a practical example showing how to implement window hiding behavior using the new callback.Would you like me to help generate a code example demonstrating this functionality?
45-46: Fix grammatical issue with "however".The sentence structure needs improvement.
-We would have ideally liked to use `app-region`, however this is not supported +We would have ideally liked to use `app-region`. However, this is not supported by the `getComputedStyle` call on webkit on macOS.🧰 Tools
🪛 LanguageTool
[typographical] ~45-~45: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...d have ideally liked to useapp-region, however this is not supported by the `getComput...(HOWEVER_SENTENCE)
36-44: Add CSS examples for window dragging.The documentation would be more helpful with practical CSS examples showing how to apply the
--webkit-app-regionattribute in different scenarios.Would you like me to help generate CSS examples for common window dragging patterns?
docs/src/content/docs/development/changes_events.md (4)
1-5: Consider adding description metadataAdding a description field to the frontmatter would improve SEO and documentation navigation.
--- title: Changes (Events) sidebar: order: 40 +description: Comprehensive guide to the event system changes in Wails v3, covering Application, Window, and Custom events ---
13-17: Enhance Application Events documentationThe section would benefit from:
- A comprehensive list of common application events
- Examples for different platforms
- Code snippets showing how to handle these events
61-66: Consider adding a visual representation of event flowThe event dispatch flow would be clearer with:
- A flowchart showing event propagation
- Sequence diagram for Go-to-JS and JS-to-Go event flow
- Examples of common event dispatch patterns
1-66: Consider adding these document-wide improvementsTo enhance the documentation:
- Add a table of contents
- Include a "Breaking Changes" section highlighting critical v2 to v3 differences
- Add troubleshooting section for common issues
- Include links to related documentation (API reference, tutorials)
- Add version compatibility notes
docs/src/content/docs/api/mainthread.md (3)
7-8: Enhance the introduction with concrete use casesThe introduction could be more helpful by including specific examples of when developers need to run code on the UI thread (e.g., updating UI components, handling UI events, etc.).
-These methods are utility functions to run code on the main thread. This is -required when you want to run custom code on the UI thread. +These methods are utility functions to run code on the main thread. This is +required when you need to perform UI-related operations such as updating UI +components, handling UI events, or performing any operation that must be +executed on the UI thread to maintain thread safety.
23-24: Fix sentence structure with "however"The sentence structure needs improvement.
-This function works similarly to `InvokeSync(fn func())`, however, it yields a -result. Use this for calling any function with a single return. +This function works similarly to `InvokeSync(fn func())`; however, it yields a +result. Use this for calling any function with a single return.🧰 Tools
🪛 LanguageTool
[typographical] ~23-~23: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...rks similarly toInvokeSync(fn func()), however, it yields a result. Use this for callin...(HOWEVER_SENTENCE)
52-58: Expand tips section with best practicesConsider adding more tips covering common scenarios, best practices, and troubleshooting guidance.
:::tip These functions will block execution until `fn` has finished. It's critical to ensure that `fn` doesn't block. If you need to run a function that blocks, use `InvokeAsync` instead. ::: + +:::tip Best Practices + +1. Use `InvokeAsync` for long-running operations to avoid blocking the UI thread +2. Implement proper error handling in your `PanicHandler` +3. Consider using context with cancellation for operations that may need to be interrupted + +::: + +:::warning Common Pitfalls + +1. Avoid calling these functions recursively +2. Be careful with shared state access within these functions +3. Don't perform file I/O or network operations directly in `InvokeSync` + +:::docs/src/content/docs/api/application_events.md (3)
1-5: Consider enhancing the frontmatter metadata.The frontmatter could benefit from additional metadata fields to improve documentation organization and searchability:
- Add a
descriptionfield summarizing the page content- Add
tagsfor better categorization- Consider adding
langfor internationalization support--- title: Application Events sidebar: order: 50 +description: Documentation for Wails application event handling APIs +tags: [events, api, application] +lang: en ---
7-13: Enhance the OnEvent documentation with more details.The current documentation could be more comprehensive. Consider adding:
- Parameter descriptions for
nameandcallback- Description of the return value (function to remove the listener)
- Example usage showing how to register and unregister an event
### OnEvent API: `OnEvent(name string, callback func(event *CustomEvent)) func()` `OnEvent()` registers an event listener for specific application events. The callback function provided will be triggered when the corresponding event occurs. + +#### Parameters +- `name`: The event name to listen for +- `callback`: Function to be called when the event occurs. Receives a CustomEvent pointer. + +#### Returns +- `func()`: A function that when called will remove the event listener + +#### Example +```go +// Register event listener +cleanup := app.OnEvent("userLoggedIn", func(event *CustomEvent) { + // Handle event + fmt.Printf("User logged in: %v\n", event.Data) +}) + +// Later: Remove the listener +cleanup() +```
1-60: Add sections on thread safety and related documentation.Consider adding the following sections to make the documentation more complete:
- Thread safety considerations when working with events
- Links to related documentation (e.g., event types, custom events)
- Best practices for event handling
+### Thread Safety + +All event registration and handling methods are thread-safe. Callbacks are executed +in the main thread by default. If you need to perform long-running operations, +consider moving them to a separate goroutine. + +### Related Documentation + +- [Event Types](/api/event_types) +- [Custom Events](/api/custom_events) +- [Runtime Events](/api/runtime_events) + +### Best Practices + +1. Always clean up event listeners when they're no longer needed +2. Use appropriate event types for better type safety +3. Keep event callbacks lightweight +4. Handle errors appropriately in event callbacksdocs/src/content/docs/api/menu.md (3)
7-8: Enhance the introduction with specific menu types and use cases.Consider expanding the introduction to provide concrete examples of when to use each menu type (context menus, system tray menus, and application menus).
-Menus can be created and added to the application. They can be used to create -context menus, system tray menus and application menus. +Menus can be created and added to the application in three ways: +1. Context menus: For right-click actions in your application +2. System tray menus: For actions accessible from the system tray icon +3. Application menus: For the main application menu bar
21-24: Enhance method documentation with return type details.The
Addmethod documentation should specify what the returnedMenuItemrepresents and how to use it.-API: `Add(label string) *MenuItem` +API: `Add(label string) *MenuItem` + +Returns a `MenuItem` pointer that can be used to: +- Set click handlers +- Modify the menu item properties +- Enable/disable the item
1-73: Add section about menu best practices and platform-specific considerations.The documentation would benefit from a new section about menu implementation best practices and platform-specific considerations.
Consider adding a new section at the end:
## Best Practices and Platform Considerations ### Cross-Platform Compatibility - Menu shortcuts should use platform-agnostic modifiers - Some roles are platform-specific (e.g., AppMenu on macOS) - Consider using standard menu layouts for familiarity ### Performance - Avoid creating menus in tight loops - Use Update() sparingly, batch changes when possible - Consider lazy initialization for complex menus ### Accessibility - Provide keyboard shortcuts for common actions - Use clear, descriptive labels - Group related items logicallydocs/src/content/docs/api/application_dialogs.md (2)
7-7: Fix macOS spelling in caution block titleThe operating system name should be "macOS" instead of "MacOS" to align with Apple's branding guidelines.
-:::caution[MacOS Dialogs and Application Lifecycle] +:::caution[macOS Dialogs and Application Lifecycle]🧰 Tools
🪛 LanguageTool
[grammar] ~7-~7: The operating system from Apple is written “macOS”.
Context: ...gs sidebar: order: 40 --- :::caution[MacOS Dialogs and Application Lifecycle] If ...(MAC_OS)
54-84: Add code examples for Info, Question, Warning, and Error dialogsThese dialog sections would benefit from code examples demonstrating their usage, similar to the ShowAboutDialog section. This would help developers understand how to properly implement these dialogs.
Here's an example structure to follow:
// Example for InfoDialog app.InfoDialog(). SetTitle("Information"). SetMessage("This is an informational message"). Show()docs/src/content/docs/guides/customizing-windows.md (3)
43-56: Consider enhancing the example with error handling and comments.While the example is functional, it could be more educational with:
- Error handling for app creation
- Comments explaining why specific button states were chosen
func main() { - app := application.New(application.Options{ + // Create a new application instance + app, err := application.New(application.Options{ Name: "My Application", }) + if err != nil { + log.Fatal(err) + } + // Create a window with custom button states + // - Hide minimize for a more focused interface + // - Disable maximize to maintain a fixed window size + // - Keep close enabled for normal window management app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ MinimiseButtonState: application.ButtonHidden, MaximiseButtonState: application.ButtonDisabled, CloseButtonState: application.ButtonEnabled, })
77-86: Consider enhancing the platform differences documentation.The platform differences table could be more user-friendly with:
- Visual indicators (e.g., ✅, ❌,
⚠️ ) for supported/unsupported operations- A callout box for the Windows limitation instead of a regular note
| | Windows | Mac | | --------------------- | ---------------------- | ---------------------- | -| Disable Min/Max/Close | Disables Min/Max/Close | Disables Min/Max/Close | -| Hide Min | Disables Min | Hides Min button | -| Hide Max | Disables Max | Hides Max button | -| Hide Close | Hides all controls | Hides Close | +| Disable Min/Max/Close | ✅ Disables Min/Max/Close | ✅ Disables Min/Max/Close | +| Hide Min | ⚠️ Disables Min | ✅ Hides Min button | +| Hide Max | ⚠️ Disables Max | ✅ Hides Max button | +| Hide Close | ⚠️ Hides all controls | ✅ Hides Close | -Note: On Windows, it is not possible to hide the Min/Max buttons individually. -However, disabling both will hide both of the controls and only show the close -button. +:::warning[Windows Limitation] +It is not possible to hide the Min/Max buttons individually on Windows. +However, disabling both will hide both controls and only show the close button. +:::
121-124: Improve the formatting and documentation of overridden options.The list of overridden options should be properly formatted and include explanations.
-HiddenOnTaskbar -AlwaysOnTop -IgnoreMouseEvents -BackgroundType +- `HiddenOnTaskbar`: Controls window visibility in the taskbar +- `AlwaysOnTop`: Keeps the window above other windows +- `IgnoreMouseEvents`: Makes the window click-through +- `BackgroundType`: Determines window background rendering + +These options will be ignored if you set custom `ExStyle` flags that control the same behaviors.docs/src/content/docs/api/event_hooks.md (5)
9-10: Consider expanding the introduction with more context.The introduction could be enhanced by adding:
- The importance of event hooks in application lifecycle management
- Common use cases for event hooks
- Brief overview of the different types of events (Application vs Window)
12-44: Enhance code examples for completeness and consistency.Consider the following improvements:
- Make logging messages consistent (e.g., standardize the use of prefixes)
- Add error handling examples
- Include examples of how to unregister event hooks
Example improvement:
// Notification of window focus window.OnWindowEvent(events.Common.WindowFocus, func(e *application.WindowEvent) { - app.Logger.Info("[ApplicationEvent] Window focus!") + app.Logger.Info("Window focus event received") }) +// Example of event hook cleanup +cleanup := window.OnWindowEvent(events.Common.WindowFocus, handler) +defer cleanup()
46-61: Expand application events documentation.Consider enhancing this section with:
- Detailed descriptions of when each event is triggered
- Information about event payload/context
- Common usage patterns and best practices
🧰 Tools
🪛 LanguageTool
[grammar] ~60-~60: Did you mean “themes”?
Context: ...hangedTriggered when the application theme changes ### Window Events ####event...(WRB_DT_NN_VB)
62-147: Enhance window events documentation with more context.Consider adding:
- Event ordering information (e.g., which events typically occur together)
- Platform-specific behavior notes
- Event payload details and available properties
- Examples of common use cases for each event type
148-152: Fix hyphenation and enhance OS-specific events section.
- Change "OS Specific" to "OS-Specific" in the heading
- Consider adding a brief overview of what types of events are available on each platform
🧰 Tools
🪛 LanguageTool
[uncategorized] ~148-~148: When ‘OS-Specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...iggered when the window is resized ### OS Specific Events - Mac Events...(SPECIFIC_HYPHEN)
docs/src/content/docs/api/event_types.md (4)
13-21: Enhance ApplicationEvent documentationConsider adding more details about:
- The purpose and usage of the
ctxfield- The meaning of the
Idfield and its possible values- A note explaining that the empty
Cancel()implementation is for demonstration purposes onlytype ApplicationEvent struct { - Id uint - ctx *ApplicationEventContext - Cancelled bool + Id uint // Unique identifier for the application event + ctx *ApplicationEventContext // Context containing event-specific data + Cancelled bool // Indicates if the event has been cancelled } // Cancel the event -func (a *ApplicationEvent) Cancel() {} +// Note: This is a simplified example. The actual implementation handles event cancellation internally. +func (a *ApplicationEvent) Cancel() {}
29-36: Enhance WindowEvent documentationSimilar to ApplicationEvent, consider adding more details about:
- The purpose and usage of the
ctxfield- A note explaining that the empty
Cancel()implementation is for demonstration purposes onlytype WindowEvent struct { - ctx *WindowEventContext - Cancelled bool + ctx *WindowEventContext // Context containing window-specific event data + Cancelled bool // Indicates if the event has been cancelled } // Cancel the event -func (w *WindowEvent) Cancel() {} +// Note: This is a simplified example. The actual implementation handles event cancellation internally. +func (w *WindowEvent) Cancel() {}
40-43: Fix grammatical issue in descriptionThe sentence needs proper punctuation:
-CustomEvent is returned when an event is being received it includes the name of +CustomEvent is returned when an event is being received. It includes the name of🧰 Tools
🪛 LanguageTool
[uncategorized] ~40-~40: A punctuation mark might be missing here.
Context: ...returned when an event is being received it includes the name of the event, the dat...(AI_EN_LECTOR_MISSING_PUNCTUATION)
46-55: Enhance CustomEvent documentationConsider adding more details about:
- The
Datafield's typeanyand how to handle different data types- The possible values for the
Senderfield- A note explaining that the empty
Cancel()implementation is for demonstration purposes onlytype CustomEvent struct { - Name string `json:"name"` - Data any `json:"data"` - Sender string `json:"sender"` - Cancelled bool + Name string `json:"name"` // Name of the custom event + Data any `json:"data"` // Event payload of any type + Sender string `json:"sender"` // Origin of the event (e.g., "application", "window-1") + Cancelled bool // Indicates if the event has been cancelled } // Cancel the event -func (c *CustomEvent) Cancel() {} +// Note: This is a simplified example. The actual implementation handles event cancellation internally. +func (c *CustomEvent) Cancel() {}docs/src/content/docs/api/events_linux.md (1)
1-43: Consider restructuring the documentation for better maintainability.Suggestions for improving the documentation architecture:
- Add a brief overview section explaining Linux-specific event handling.
- Consider grouping related events (e.g., window focus events together).
- Add cross-references to the general events documentation.
- Include a troubleshooting section for common issues.
This will make the documentation more maintainable and user-friendly while following documentation best practices.
🧰 Tools
🪛 Markdownlint (0.35.0)
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
🪛 LanguageTool
[grammar] ~17-~17: Did you mean “themes”?
Context: ...hemeChangedTriggered when the system theme changes ### Window Events ####event...(WRB_DT_NN_VB)
[grammar] ~23-~23: Did you mean “loads”?
Context: ...LoadChangedTriggered when the window load changes ####events.Linux.WindowDelet...(WRB_DT_NN_VB)
docs/src/content/docs/api/events_mac.md (1)
9-500: Consider enhancing documentation with code examples.While the event documentation is comprehensive, it would be more helpful to include:
- Code examples demonstrating how to subscribe to these events
- Common use cases for key events
- Best practices for event handling
Example structure to consider adding:
#### `events.Mac.ApplicationDidBecomeActive` Triggered when the application becomes active. Example usage: ```javascript wails.Events.On('events.Mac.ApplicationDidBecomeActive', () => { console.log('Application is now active'); });<details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.35.0)</summary> 11-11: Expected: h3; Actual: h4 Heading levels should only increment by one level at a time (MD001, heading-increment) --- 477-477: Punctuation: ':' Trailing punctuation in heading (MD026, no-trailing-punctuation) </details> <details> <summary>🪛 LanguageTool</summary> [grammar] ~227-~227: Did you mean “screens”? Context: ...hangeScreen` Triggered when the window screen changes #### `events.Mac.WindowDidChan... (WRB_DT_NN_VB) --- [grammar] ~251-~251: Did you mean “spaces”? Context: ...ChangeSpace` Triggered when the window space changes #### `events.Mac.WindowDidChan... (WRB_DT_NN_VB) --- [grammar] ~259-~259: Did you mean “titles”? Context: ...ChangeTitle` Triggered when the window title changes #### `events.Mac.WindowDidChan... (WRB_DT_NN_VB) --- [grammar] ~347-~347: Did you mean “shadows”? Context: ...pdateShadow` Triggered when the window shadow updates #### `events.Mac.WindowDidUpda... (WRB_DT_NN_VB) --- [grammar] ~351-~351: Did you mean “titles”? Context: ...UpdateTitle` Triggered when the window title updates #### `events.Mac.WindowDidUpda... (WRB_DT_NN_VB) --- [grammar] ~387-~387: Did you mean “wills”? Context: ...miniaturize` Triggered when the window will deminiaturize #### `events.Mac.WindowW... (WRB_DT_NN_VB) --- [uncategorized] ~477-~477: Loose punctuation mark. Context: ...eServerRedirectForProvisionalNavigation`: Triggered when the webview receives a ... (UNLIKELY_OPENING_PUNCTUATION) </details> </details> </blockquote></details> <details> <summary>docs/src/content/docs/api/events_windows.md (1)</summary><blockquote> `1-109`: **Consider enhancing the documentation with additional context and examples.** To make this documentation more valuable: 1. Add a brief introduction explaining Windows-specific events and their importance 2. Include code examples for common event usage patterns 3. Consider adding cross-references to related platform events (Linux/macOS) 4. Document any limitations or platform-specific behaviors This will help developers better understand the Windows event system and how it fits into the larger Wails framework. <details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.35.0)</summary> 11-11: Expected: h3; Actual: h4 Heading levels should only increment by one level at a time (MD001, heading-increment) --- 38-38: Expected: h3; Actual: h4 Heading levels should only increment by one level at a time (MD001, heading-increment) </details> <details> <summary>🪛 LanguageTool</summary> [grammar] ~17-~17: Did you mean “themes”? Context: ...hemeChanged` Triggered when the system theme changes #### `events.Windows.APMPowerS... (WRB_DT_NN_VB) --- [grammar] ~33-~33: The verb ‘suspend’ does not usually follow articles like ‘a’. Check that ‘suspend’ is spelled correctly; using ‘suspend’ as a noun may be non-standard. Context: ...Triggered when the system resumes after a suspend and resume was triggered by the user #... (A_INFINITIVE) --- [style] ~68-~68: This phrase is redundant. Consider writing “exited”. Context: ...llscreen` Triggered when the window is exited from fullscreene #### `events.Windows.Windo... (EXIT_FROM) </details> </details> </blockquote></details> <details> <summary>docs/src/content/docs/api/systray.md (4)</summary><blockquote> `7-9`: **Fix grammar in the introduction.** Change "houses notification area" to "houses the notification area" for better grammar. ```diff -The system tray houses notification area on a desktop environment, which can +The system tray houses the notification area on a desktop environment, which can🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Possible missing article found.
Context: ... order: 150 --- The system tray houses notification area on a desktop environment, which ca...(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~8-~8: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...onment, which can contain both icons of currently-running applications and specific system notifi...(HYPHENATED_LY_ADVERB_ADJECTIVE)
13-16: Add error handling to the code example.The example should demonstrate proper error handling as
NewSystemTray()might fail.```go // Create a new system tray -tray := app.NewSystemTray() +tray, err := app.NewSystemTray() +if err != nil { + log.Fatal(err) +}--- `32-37`: **Clarify the PositionWindow method description.** The current description only states that it calls other methods but doesn't explain its purpose or when to use it. Consider adding: - The purpose of positioning a window relative to the tray - Common use cases - Example showing the relationship between position and offset ```diff ### PositionWindow API: `PositionWindow(*WebviewWindow, offset int) error` -The `PositionWindow` method calls both `AttachWindow` and `WindowOffset` -methods. +The `PositionWindow` method positions a window relative to the system tray icon. +This is commonly used for creating popup menus or status windows that appear +near the tray icon. The offset parameter determines the pixel distance between +the tray icon and the window. + +Example: +```go +err := tray.PositionWindow(myWindow, 5) // Position with 5px offset +if err != nil { + log.Fatal(err) +} +```
39-56: Add method chaining example for icon and menu setup.Several methods return
*SystemTrayenabling method chaining, but this isn't demonstrated in the documentation.### SetIcon API: `SetIcon(icon []byte) *SystemTray` The `SetIcon` method sets the system tray's icon. + +Example of method chaining: +```go +tray, err := app.NewSystemTray() +if err != nil { + log.Fatal(err) +} + +// Chain multiple setup calls +tray.SetIcon(iconBytes). + SetDarkModeIcon(darkIconBytes). + SetMenu(menu) +```docs/src/content/docs/development/changes_dialogs.md (3)
1-5: Consider enhancing the frontmatter with additional metadata.The frontmatter could be enriched with metadata such as:
descriptionfor SEOtagsfor better categorizationlastUpdatedfor version tracking--- title: Changes (Dialogs) sidebar: order: 100 + description: Documentation for dialog functionality in JavaScript and Windows-specific behavior + tags: [dialogs, windows, javascript] + lastUpdated: 2024 ---
11-16: Fix grammar and enhance clarity of Windows dialog explanation.There's a grammar issue and the explanation could be more structured.
-Dialog buttons in Windows are not configurable and are constant depending on the +Dialog buttons on Windows are not configurable and are predetermined based on the type of dialog. To trigger a callback when a button is pressed, create a button with the same name as the button you wish to have the callback attached to. -Example: Create a button with the label `Ok` and use `OnClick()` to set the -callback method: +For example: +1. Create a button with the label `Ok` +2. Use `OnClick()` to set the callback method🧰 Tools
🪛 LanguageTool
[grammar] ~11-~11: The correct preposition appears to be “on”.
Context: ...avaScript! ### Windows Dialog buttons in Windows are not configurable and are co...(IN_WINDOWS)
1-32: Consider restructuring the documentation for better organization.The current documentation could benefit from a better structure:
- Overview section explaining the dialog system
- Platform-specific considerations (not just Windows)
- API reference section with both Go and JavaScript examples
- Best practices and common patterns
- Troubleshooting guide
Would you like assistance in reorganizing the documentation structure?
🧰 Tools
🪛 LanguageTool
[grammar] ~11-~11: The correct preposition appears to be “on”.
Context: ...avaScript! ### Windows Dialog buttons in Windows are not configurable and are co...(IN_WINDOWS)
docs/src/content/docs/development/changes_systray.md (2)
7-10: Enhance readability with more concise phrasingConsider restructuring the sentences to be more concise and improve word order.
-Wails 3 comes with a built-in systray. This is a fully featured systray that has -been designed to be as simple as possible to use. It is possible to set the -icon, tooltip and menu of the systray. It is possible to also "attach" a window -to the systray. Doing this will provide the following functionality: +Wails 3 comes with a built-in systray that is fully featured and designed for simplicity. +You can set the systray's icon, tooltip, and menu, and also "attach" a window to it. +When a window is attached, the following functionality is provided:🧰 Tools
🪛 LanguageTool
[uncategorized] ~9-~9: A different word order might sound more natural.
Context: ... tooltip and menu of the systray. It is possible to also "attach" a window to the systray. Doing...(AI_HYDRA_LEO_WORD_ORDER)
15-17: Consider enhancing platform-specific documentation structureThe macOS-specific behavior could be better highlighted using a dedicated section or callout block.
-On macOS, if there is no attached window, the systray will use the default -method of displaying the menu (any button). If there is an attached window but -no menu, the systray will toggle the window regardless of the button pressed. +### Platform-Specific Behavior + +:::note[macOS Behavior] +- Without an attached window: Uses the default method of displaying the menu (responds to any button click) +- With an attached window but no menu: Toggles window visibility regardless of which button is pressed +:::docs/src/content/docs/learn/services.md (4)
7-16: Consider adding service scope and limitationsThe introduction effectively explains what services are, but consider adding:
- Service scope (e.g., per-application vs. global)
- Any limitations or constraints developers should be aware of
- Best practices for when to use services vs. other patterns
23-35: Enhance the service example with best practicesConsider improving the example to demonstrate:
- Error handling in the constructor
- Field validation
- Documentation comments for exported types and methods
- Interface definition if the service is meant to be implemented by users
Example enhancement:
// MyService provides greeting functionality type MyService struct { // Add example fields prefix string } // NewMyService creates a new MyService instance func NewMyService(prefix string) (*MyService, error) { if prefix == "" { return nil, fmt.Errorf("prefix cannot be empty") } return &MyService{ prefix: prefix, }, nil } // Greet returns a personalized greeting func (s *MyService) Greet(name string) (string, error) { if name == "" { return "", fmt.Errorf("name cannot be empty") } return fmt.Sprintf("%s, %s!", s.prefix, name), nil }
47-54: Clarify service registration error handling and dependenciesThe example should demonstrate:
- How to handle service initialization errors
- How to manage service dependencies
- Order of service registration if it matters
Example enhancement:
myService, err := NewMyService("Hello") if err != nil { log.Fatal(err) } app := application.New(application.Options{ Services: []application.Service{ application.NewService(myService), // Example of service with dependencies application.NewService(NewDependentService(myService)), }, })
163-163: Fix grammar: Add missing commaAdd a comma before "as well as" in the sentence.
-service is called as well as the context being cancelled. +service is called, as well as the context being cancelled.🧰 Tools
🪛 LanguageTool
[uncategorized] ~163-~163: Possible missing comma found.
Context: ...nShutdown` method of each service is called as well as the context being cancelled....(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/status.md (4)
1-3: Consider adding more front matter metadata.To improve documentation organization and searchability, consider adding metadata fields such as
description,sidebar_position, or relevant tags.--- title: Roadmap +description: Current project status and future development plans +sidebar_position: 1 +tags: [roadmap, status, development] ---
25-30: Remove redundant statements about document flexibility.The phrases "subject to change" and "living document" are repeated unnecessarily. Consider consolidating these statements for better clarity.
-This roadmap is subject to change based on community feedback and project -priorities. We'll update it regularly to reflect our progress and any changes in -direction. Your input is valuable in shaping the future of Wails! The roadmap is -a living document and is subject to change. If you have any suggestions, please -open an issue. Each milestone will have a set of goals that we are aiming to -achieve. These are subject to change. +This roadmap evolves based on community feedback and project priorities. We'll +update it regularly to reflect our progress and direction changes. Your input is +valuable in shaping the future of Wails! If you have any suggestions, please +open an issue. Each milestone will have a set of goals that we aim to achieve.🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Consider replacing this word to strengthen your wording.
Context: ...Wails! The roadmap is a living document and is subject to change. If you have any s...(AND_THAT)
32-35: Enhance status tracking with more details.Consider adding more detailed status information such as progress percentages, estimated completion dates, or links to relevant issues/PRs for better tracking.
## Alpha 8 Status -In Progress: Add support for File Associations -In Progress: Drag and Drop support for Linux +- [ ] File Associations Support (70% complete) + - Expected completion: Q1 2024 + - Related issue: #xxxx +- [ ] Linux Drag and Drop Support (40% complete) + - Expected completion: Q2 2024 + - Related issue: #yyyy
5-10: Add clear transition criteria between versions.The document would benefit from explicit success criteria for transitioning from Alpha 7 to Alpha 8, and ultimately to Beta status. Consider adding:
- Completed features in Alpha 7
- Required features/fixes for Alpha 8
- Clear criteria for Beta transition
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
⛔ Files ignored due to path filters (6)
docs/package-lock.jsonis excluded by!**/package-lock.jsondocs/public/favicon.svgis excluded by!**/*.svgdocs/src/assets/blog-images/devtools.pngis excluded by!**/*.pngdocs/src/assets/blog-images/montage.pngis excluded by!**/*.pngdocs/src/assets/wails-logo-horizontal-dark.svgis excluded by!**/*.svgdocs/src/assets/wails-logo-horizontal-light.svgis excluded by!**/*.svg
📒 Files selected for processing (66)
.prettierrc.yml(1 hunks)docs/.gitignore(1 hunks)docs/.vscode/extensions.json(1 hunks)docs/.vscode/launch.json(1 hunks)docs/README.md(1 hunks)docs/astro.config.mjs(1 hunks)docs/package.json(1 hunks)docs/src/content/authors.ts(1 hunks)docs/src/content/config.ts(1 hunks)docs/src/content/docs/api/application.mdx(1 hunks)docs/src/content/docs/api/application_dialogs.md(1 hunks)docs/src/content/docs/api/application_events.md(1 hunks)docs/src/content/docs/api/application_menu.md(1 hunks)docs/src/content/docs/api/application_options.mdx(1 hunks)docs/src/content/docs/api/application_screens.md(1 hunks)docs/src/content/docs/api/application_window.md(1 hunks)docs/src/content/docs/api/event_hooks.md(1 hunks)docs/src/content/docs/api/event_types.md(1 hunks)docs/src/content/docs/api/events_custom.mdx(1 hunks)docs/src/content/docs/api/events_linux.md(1 hunks)docs/src/content/docs/api/events_mac.md(1 hunks)docs/src/content/docs/api/events_windows.md(1 hunks)docs/src/content/docs/api/mainthread.md(1 hunks)docs/src/content/docs/api/menu.md(1 hunks)docs/src/content/docs/api/systray.md(1 hunks)docs/src/content/docs/api/window.md(1 hunks)docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md(1 hunks)docs/src/content/docs/blog/2021-11-08-v2-beta2-release-notes.md(1 hunks)docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md(1 hunks)docs/src/content/docs/blog/2022-09-22-v2-release-notes.md(1 hunks)docs/src/content/docs/blog/2023-01-17-v3-roadmap.md(1 hunks)docs/src/content/docs/changelog.md(1 hunks)docs/src/content/docs/development/changes.md(1 hunks)docs/src/content/docs/development/changes_bindings.md(1 hunks)docs/src/content/docs/development/changes_clipboard.md(1 hunks)docs/src/content/docs/development/changes_context_menus.md(1 hunks)docs/src/content/docs/development/changes_dialogs.md(1 hunks)docs/src/content/docs/development/changes_dragndrop.md(1 hunks)docs/src/content/docs/development/changes_enums.md(1 hunks)docs/src/content/docs/development/changes_events.md(1 hunks)docs/src/content/docs/development/changes_logging.md(1 hunks)docs/src/content/docs/development/changes_misc.md(1 hunks)docs/src/content/docs/development/changes_plugins.md(1 hunks)docs/src/content/docs/development/changes_systray.md(1 hunks)docs/src/content/docs/development/changes_window.md(1 hunks)docs/src/content/docs/development/changes_wml.md(1 hunks)docs/src/content/docs/development/introduction.mdx(1 hunks)docs/src/content/docs/development/status.md(1 hunks)docs/src/content/docs/getting-started/feedback.mdx(1 hunks)docs/src/content/docs/getting-started/installation.mdx(1 hunks)docs/src/content/docs/getting-started/next-steps.md(1 hunks)docs/src/content/docs/getting-started/your-first-app.mdx(1 hunks)docs/src/content/docs/gr/api/window.md(1 hunks)docs/src/content/docs/guides/customizing-windows.md(1 hunks)docs/src/content/docs/guides/file-associations.md(1 hunks)docs/src/content/docs/guides/packaging.md(1 hunks)docs/src/content/docs/index.mdx(1 hunks)docs/src/content/docs/learn/bindings.mdx(1 hunks)docs/src/content/docs/learn/build.mdx(1 hunks)docs/src/content/docs/learn/runtime.md(1 hunks)docs/src/content/docs/learn/services.md(1 hunks)docs/src/content/docs/status.md(1 hunks)docs/src/content/docs/whats-new.md(1 hunks)docs/src/env.d.ts(1 hunks)docs/src/stylesheets/extra.css(1 hunks)docs/tsconfig.json(1 hunks)
✅ Files skipped from review due to trivial changes (16)
- docs/src/content/docs/development/changes_clipboard.md
- docs/src/content/docs/api/application_options.mdx
- docs/.vscode/extensions.json
- docs/tsconfig.json
- docs/.gitignore
- docs/.vscode/launch.json
- docs/src/stylesheets/extra.css
- docs/src/content/docs/development/changes_dragndrop.md
- docs/src/env.d.ts
- docs/src/content/docs/getting-started/next-steps.md
- docs/src/content/docs/api/application_menu.md
- docs/src/content/docs/development/changes_context_menus.md
- docs/src/content/docs/development/changes_wml.md
- docs/src/content/docs/development/changes_enums.md
- docs/src/content/docs/learn/runtime.md
- docs/package.json
🧰 Additional context used
🪛 LanguageTool
docs/README.md
[style] ~14-~14: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1825 characters long)
Context: ... astronaut?** Delete this file. Have fun! ## 🚀 Project Structure Inside of you...
(EN_EXCESSIVE_EXCLAMATION)
[style] ~17-~17: This phrase is redundant. Consider using “Inside”.
Context: ...le. Have fun! ## 🚀 Project Structure Inside of your Astro + Starlight project, you'll ...
(OUTSIDE_OF)
docs/src/content/docs/guides/file-associations.md
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...ation (e.g., textFileIcon.png) !!! tip You can use wails3 generate icons to ...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~139-~139: In contexts where ‘if’ is followed by ‘or’, using ‘whether’ may be more appropriate (and formal).
Context: ...in the application options to determine if the first argument is an associated fil...
(IF_WHETHER)
docs/src/content/docs/getting-started/your-first-app.mdx
[uncategorized] ~43-~43: Loose punctuation mark.
Context: ...al files and folders: - build: Contains files used by the build proces...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~44-~44: Loose punctuation mark.
Context: ...d by the build process. - frontend: Contains your web frontend code. - ...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...o.sum: Go module files. - main.go`: The entry point for your Wails applicat...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~47-~47: Loose punctuation mark.
Context: ... Wails application. - Taskfile.yml: Defines all the tasks used by the build...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~107-~107: Consider shortening or rephrasing this to strengthen your wording.
Context: ...pment mode. This mode allows you to make changes to your frontend code and see the changes ...
(MAKE_CHANGES)
docs/src/content/docs/development/changes_window.md
[typographical] ~7-~7: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...Window API has largely remained the same, however the methods are now on an instance of a...
(HOWEVER_SENTENCE)
[uncategorized] ~24-~24: Possible missing comma found.
Context: ...ranslucent This flag has been removed. Now there is a BackgroundType flag that c...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/blog/2021-11-08-v2-beta2-release-notes.md
[uncategorized] ~12-~12: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...taken quite a while to get to this point and I'm hoping that today's release will gi...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~14-~14: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...of twists and turns to get to this point and I'm hoping, with your help, to iron out...
(COMMA_COMPOUND_SENTENCE)
[grammar] ~16-~16: It seems that an auxiliary verb is missing at the beginning of this question.
Context: ...ort polished for the final v2 release. You mean this isn't ready for production? F...
(PRP_VB_QUESTION)
[style] ~29-~29: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...mages/wails-menus-mac.webp) There were a lot of requests for native menu support. Wails...
(A_LOT_OF)
[style] ~35-~35: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...
(HAPPY_EXCITED)
[uncategorized] ~40-~40: When ‘Mac-Specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...o cater for all your dialog needs. ### Mac Specific Options In addition to the normal appl...
(SPECIFIC_HYPHEN)
[style] ~53-~53: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...
(HAPPY_EXCITED)
[uncategorized] ~76-~76: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...ges to frontend assets will trigger and auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
[style] ~88-~88: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
[style] ~106-~106: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...
(HARD_TO)
[style] ~119-~119: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...! ### Native M1 Support Thanks to the amazing support of [Mat Ryer](https://github.co...
(AWESOME)
[misspelling] ~119-~119: Possible spelling mistake found.
Context: ...port Thanks to the amazing support of Mat Ryer, the Wail...
(EN_MULTITOKEN_SPELLING_TWO)
[grammar] ~155-~155: Consider using third-person verb forms for singular and mass nouns.
Context: ...etbrains.com?from=Wails), whose support drive the project in many ways behind the sce...
(MASS_AGREEMENT)
[style] ~166-~166: Using many exclamation marks might seem excessive (in this case: 11 exclamation marks for a text that’s 6287 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!
(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/development/changes_misc.md
[typographical] ~45-~45: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...d have ideally liked to use app-region, however this is not supported by the `getComput...
(HOWEVER_SENTENCE)
docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md
[uncategorized] ~22-~22: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...was a frustrating development experience but there wasn't much that could have been ...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~33-~33: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is release, so grab a drink, take a seat and we'll begin... ### No CGO Dependency! ...
(COMMA_COMPOUND_SENTENCE)
[grammar] ~39-~39: The operating system from Apple is written “macOS”.
Context: ...The thing about Windows is that, unlike MacOS and Linux, it doesn't come with a defau...
(MAC_OS)
[style] ~56-~56: ‘On top of that’ might be wordy. Consider a shorter alternative.
Context: ... your frontend code to work on Windows. On top of that, you get a first-class developer tools ...
(EN_WORDINESS_PREMIUM_ON_TOP_OF_THAT)
[style] ~65-~65: As a shorter alternative for ‘able to’, consider using “can”.
Context: ... Chadwick](https://github.com/jchv), we are able to bundle this dll inside the binary and g...
(BE_ABLE_TO)
[style] ~74-~74: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...og-images/wails-menus.webp) There were a lot of requests for native menu support. Wails...
(A_LOT_OF)
[style] ~80-~80: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...
(HAPPY_EXCITED)
[uncategorized] ~87-~87: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...uilding and debugging your application. Currently VSCode is supported but we hope to supp...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
[uncategorized] ~88-~88: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...plication. Currently VSCode is supported but we hope to support other IDEs such as G...
(COMMA_COMPOUND_SENTENCE)
[style] ~95-~95: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...
(HAPPY_EXCITED)
[uncategorized] ~120-~120: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...ges to frontend assets will trigger and auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
[style] ~132-~132: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
[style] ~150-~150: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...
(HARD_TO)
[misspelling] ~188-~188: Possible spelling mistake found.
Context: ... down the path to a pure Go Wails. - Mat Ryer - His supp...
(EN_MULTITOKEN_SPELLING_TWO)
[grammar] ~193-~193: Consider using third-person verb forms for singular and mass nouns.
Context: ...etbrains.com?from=Wails), whose support drive the project in many ways behind the sce...
(MASS_AGREEMENT)
[grammar] ~201-~201: The operating system from Apple is written “macOS”.
Context: ...citing phase of the project! Lea. PS: MacOS and Linux users need not feel left out ...
(MAC_OS)
[style] ~206-~206: Using many exclamation marks might seem excessive (in this case: 15 exclamation marks for a text that’s 9425 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!
(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/learn/bindings.mdx
[style] ~35-~35: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... methods that operate on that state. 2. Services can be used similar to controllers in H...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~74-~74: A noun may be missing here.
Context: ...urns a greeting string. We then create a new Wails application using `application.Ne...
(DT_JJ_NO_NOUN)
[style] ~81-~81: As a shorter alternative for ‘able to’, consider using “can”.
Context: ... Bindings By binding the struct, Wails is able to generate the necessary JavaScript or Ty...
(BE_ABLE_TO)
docs/src/content/docs/development/status.md
[uncategorized] ~141-~141: A period might be missing here.
Context: ...howstyle will always show the context menu The--default-contextmenu: hide` style...
(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
[uncategorized] ~142-~142: A period might be missing here.
Context: ...idestyle will always hide the context menu Anything nested under a tag with--de...
(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
[uncategorized] ~202-~202: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... | | | Acrylic seems to work but the others don't | | CSS ...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~264-~264: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...arkmode isn't handled yet (linux) | ## Cross Platform Events Mapping native events to cross-...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~382-~382: Loose punctuation mark.
Context: ...n the following files: - linux_cgo.go: CGo implementation - linux_purego.go:...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~386-~386: Did you mean: “By default,”?
Context: ...go.go`: PureGo implementation ### CGO By default CGO is utilized to compile the Linux po...
(BY_DEFAULT_COMMA)
docs/src/content/docs/getting-started/feedback.mdx
[typographical] ~70-~70: It appears that a comma is missing.
Context: ...e are looking for feedback on - The API - Is it easy to use? - Does it do what you...
(COMMA_BEFORE_QUESTION_WITH_MD)
[style] ~75-~75: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...re anything that should be removed? - Is it consistent between Go and JS? - The ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[typographical] ~76-~76: It appears that a comma is missing.
Context: ...nt between Go and JS? - The build system - Is it easy to use? - Can we improve it? ...
(COMMA_BEFORE_QUESTION_WITH_MD)
[typographical] ~79-~79: It appears that a comma is missing.
Context: ...e? - Can we improve it? - The examples - Are they clear? - Do they cover the basic...
(COMMA_BEFORE_QUESTION_WITH_MD)
docs/src/content/docs/index.mdx
[style] ~70-~70: The wording of this phrase can be improved.
Context: ..."open-book"> Your feedback is vital to making Wails better. If you encounter any issues or have su...
(MAKE_STYLE_BETTER)
docs/src/content/docs/development/changes_bindings.md
[style] ~7-~7: Consider replacing this phrase with the adverb “similarly” to avoid wordiness.
Context: ...sidebar: order: 70 --- Bindings work in a similar way to v2, by providing a means to bind str...
(IN_A_X_MANNER)
docs/src/content/docs/blog/2023-01-17-v3-roadmap.md
[grammar] ~13-~13: Did you mean “are” or “were”?
Context: ...ultiwindow.webp) # Introduction Wails is a project that simplifies the ability t...
(SENT_START_NNS_IS)
[style] ~18-~18: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...d of September 2022 and brought with it a lot of enhancements including: - Live develop...
(A_LOT_OF)
[style] ~27-~27: For conciseness, consider replacing this expression with an adverb.
Context: ... of NSIS Installer - Obfuscated builds Right now, Wails v2 provides powerful tooling for...
(AT_THE_MOMENT)
[typographical] ~47-~47: To make your text more readable, consider placing this phrase between commas.
Context: ...I've identified the following areas that I feel are holding the project back: - The AP...
(WHICH_I_THOUGHT_COMMA)
[style] ~61-~61: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...e application will work. Whilst this is very simple to use, it is also very limiting. It is...
(EN_WEAK_ADJECTIVE)
[style] ~68-~68: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...iple windows. The Runtime API provides a lot of utility functions for the developer. Th...
(A_LOT_OF)
[uncategorized] ~83-~83: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...he demand for multiple windows has grown and the API is not well suited to this. ##...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~139-~139: It appears that there are hyphens missing.
Context: ...as been bound. This leads to a bit of a chicken and egg situation: You can't build the application withou...
(CHICKEN_AND_EGG_HYPHEN)
[uncategorized] ~140-~140: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ild the application without the bindings and you can't generate the bindings without...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~141-~141: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ication. There are many ways around this but the best one would be not to use this a...
(COMMA_COMPOUND_SENTENCE_2)
[grammar] ~143-~143: Consider using the plural verb form for the plural noun “attempts”.
Context: ...ld be not to use this approach at all. There was a number of attempts at writing a stati...
(THERE_IS_A_LOT_OF)
[uncategorized] ~144-~144: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ing a static analyser for Wails projects but they didn't get very far. In more recen...
(COMMA_COMPOUND_SENTENCE)
[style] ~157-~157: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...on. When you run wails build, it does a lot of things behind the scenes: - Builds the...
(A_LOT_OF)
[style] ~175-~175: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... builds it This entire process, whilst very powerful, is also very opaque. It is very diffic...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~176-~176: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ue. It is very difficult to customise it and it is very difficult to debug. To addr...
(COMMA_COMPOUND_SENTENCE)
[style] ~184-~184: Consider removing “of” to be more concise
Context: ...he supported templates. This would have all of the steps required to do all the current ta...
(ALL_OF_THE)
[uncategorized] ~220-~220: The adjective “community-driven” is spelled with a hyphen.
Context: ... this will lead to a new ecosystem of community driven build pipelines. - Better separation of...
(DRIVEN_HYPHEN)
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...mentation for this has already been done and it's looking good. There is no current ...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ere is no current timeline for this work but I'm hoping by the end of Q1 2023, there...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~241-~241: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...en a lot of work put into the guts of v2 and it's solid. It's now time to address th...
(COMMA_COMPOUND_SENTENCE)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...th Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~256-~256: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ils. It's not a mockup. It's real. It's awesome. It's coming soon.
(AWESOME)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/src/content/docs/blog/2022-09-22-v2-release-notes.md
[misspelling] ~100-~100: Possible spelling mistake found.
Context: ...ast, but not least, a huge thank you to Mat Ryer who has provided advice and support dur...
(EN_MULTITOKEN_SPELLING_TWO)
[style] ~103-~103: Consider using a different adjective to strengthen your wording.
Context: ...design flaws in the early releases. I'm happy to announce that as of today, we will s...
(HAPPY_EXCITED)
[formatting] ~105-~105: Insert a comma after ‘Cheers’.
Context: ...e flagship application for the project. Cheers Mat! # Lessons Learnt There are a num...
(SENT_START_THANKS_COMMA)
[uncategorized] ~129-~129: Possible missing comma found.
Context: ...e good to get some tooling to help with this so if you have any suggestions, please ...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~134-~134: Consider using “who” when you are referring to people instead of objects.
Context: ... ## Learning to say No The more people that engage with an Open Source project, the...
(THAT_WHO)
[uncategorized] ~134-~134: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...No The more people that engage with an Open Source project, the more requests there will b...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~137-~137: This phrase is often redundant. Consider writing “I” unless you want to emphasize that you and not someone else will do something.
Context: ...ng maintenance cost from that point on. I myself am the most guilty of this, often wanti...
(I_MYSELF)
[style] ~174-~174: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...le to achieve with the V2 release. It's amazing to see what people have already been ab...
(AWESOME)
[style] ~183-~183: ‘each and every’ might be wordy. Consider a shorter alternative.
Context: ...s not only been my time and the time of each and every contributor, but also the cost of absen...
(EN_WORDINESS_PREMIUM_EACH_AND_EVERY)
[style] ~190-~190: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...have such a huge impact! It would be so awesome if you too were part of the story in ge...
(AWESOME)
docs/src/content/docs/getting-started/installation.mdx
[grammar] ~15-~15: The operating system from Apple is written “macOS”.
Context: ...latforms - Windows 10/11 AMD64/ARM64 - MacOS 10.13+ AMD64 - MacOS 11.0+ ARM64 - Ubun...
(MAC_OS)
[grammar] ~16-~16: The operating system from Apple is written “macOS”.
Context: ...0/11 AMD64/ARM64 - MacOS 10.13+ AMD64 - MacOS 11.0+ ARM64 - Ubuntu 22.04 AMD64/ARM64 ...
(MAC_OS)
[uncategorized] ~58-~58: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ndencies You will also need to install platform specific dependencies: <Tabs syncKey="platform"...
(SPECIFIC_HYPHEN)
docs/src/content/docs/development/introduction.mdx
[grammar] ~20-~20: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...g Started - Git clone this repository. Checkout the v3-alpha branch. - Install the CL...
(SENT_START_NN_DT)
[uncategorized] ~23-~23: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...ils3 && go install` - Optional: If you are wanting to use the build system to build fronte...
(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)
[duplication] ~43-~43: Possible typo: you repeated a word
Context: ... - v3 - cmd/wails3 CLI - examples Examples of Wails apps - internal Internal pac...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~44-~44: Possible typo: you repeated a word
Context: ... - examples Examples of Wails apps - internal Internal packages - runtime The Wails JS run...
(ENGLISH_WORD_REPEAT_RULE)
[grammar] ~60-~60: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ... ## Development ### Alpha Todo List We are currently tracking known i...
(TO_DO_HYPHEN)
[grammar] ~63-~63: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...ng known issues and tasks in the [Alpha Todo List](https://github.com/orgs/wailsapp/...
(TO_DO_HYPHEN)
[uncategorized] ~71-~71: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...onality required for all platforms. Any platform specific code should be called via a `webviewWin...
(SPECIFIC_HYPHEN)
[uncategorized] ~82-~82: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...dow_linux.go` Most, if not all, of the platform specific code should be run on the main thread. ...
(SPECIFIC_HYPHEN)
[uncategorized] ~106-~106: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st common denominator". You can use the platform specific events if you need to. When adding a c...
(SPECIFIC_HYPHEN)
[uncategorized] ~108-~108: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ... adding a common event, ensure that the platform specific events are mapped. An example of this i...
(SPECIFIC_HYPHEN)
[typographical] ~176-~176: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...
(IF_THEN_COMMA)
[typographical] ~178-~178: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...e v3/internal/commands/task.go file. Usually the best way to fix incompatibilities i...
(RB_LY_COMMA)
[uncategorized] ~193-~193: The preposition “for” seems more likely in this position than the preposition “to”.
Context: ... associated with them providing context to the change. If there is no ticket, plea...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_TO_FOR)
[typographical] ~215-~215: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...
(IF_THEN_COMMA)
[typographical] ~217-~217: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...e v3/internal/commands/task.go file. Usually the best way to fix incompatibilities i...
(RB_LY_COMMA)
docs/src/content/docs/learn/build.mdx
[uncategorized] ~155-~155: Do not mix variants of the same word (‘customise’ and ‘customize’) within a single text.
Context: ...d default configuration, you can easily customise it to fit your project's needs. By modi...
(EN_WORD_COHERENCY)
[uncategorized] ~234-~234: Do not mix variants of the same word (‘customise’ and ‘customize’) within a single text.
Context: ...# Customising Development Mode You can customise the development mode experience by modi...
(EN_WORD_COHERENCY)
[uncategorized] ~237-~237: Do not mix variants of the same word (‘customise’ and ‘customize’) within a single text.
Context: ...evmode.config.yaml` file. Some ways to customise include: 1. Changing the watched direc...
(EN_WORD_COHERENCY)
[style] ~258-~258: Try using a synonym here to strengthen your writing.
Context: ...ttp://localhost:9245` in dev mode. This gives you access to powerful browser dev tools wh...
(GIVE_PROVIDE)
docs/src/content/docs/api/mainthread.md
[typographical] ~23-~23: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...rks similarly to InvokeSync(fn func()), however, it yields a result. Use this for callin...
(HOWEVER_SENTENCE)
docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md
[style] ~11-~11: Qualifiers like “somewhat” can weaken your message and make your writing sound uncertain. Consider removing it or choosing an alternative to sound more confident.
Context: ...ails v2 is now in beta for Linux! It is somewhat ironic that the very first experiments ...
(SOMEWHAT)
[typographical] ~12-~12: Consider adding a comma after the introductory adverb.
Context: ...st experiments with v2 was on Linux and yet it has ended up as the last release. Th...
(YET_COMMA)
[style] ~21-~21: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...ges/wails-menus-linux.webp) There were a lot of requests for native menu support. Wails...
(A_LOT_OF)
[style] ~27-~27: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...
(HAPPY_EXCITED)
[style] ~35-~35: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...
(HAPPY_EXCITED)
[uncategorized] ~58-~58: “and” (in addition to, following this) seems less likely than “an” (indefinite article before a vowel sound).
Context: ...changes to frontend assets will trigger and auto reload of the application fronte...
(AI_HYDRA_LEO_CP_AND_AN)
[uncategorized] ~58-~58: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...ges to frontend assets will trigger and auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
[style] ~70-~70: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
[style] ~88-~88: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...
(HARD_TO)
[grammar] ~118-~118: Consider using third-person verb forms for singular and mass nouns.
Context: ...nsors](/credits#sponsors) whose support drive the project in many ways behind the sce...
(MASS_AGREEMENT)
[style] ~129-~129: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 5233 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!
(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/api/application_dialogs.md
[grammar] ~7-~7: The operating system from Apple is written “macOS”.
Context: ...gs sidebar: order: 40 --- :::caution[MacOS Dialogs and Application Lifecycle] If ...
(MAC_OS)
docs/src/content/docs/whats-new.md
[uncategorized] ~225-~225: Possible missing comma found.
Context: ...mate balance of flexibility and ease of use as you can now customise the build proc...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/guides/customizing-windows.md
[uncategorized] ~25-~25: Loose punctuation mark.
Context: ...ButtonState = 2 ) ``` - ButtonEnabled: The button is enabled and visible. - `B...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~26-~26: Loose punctuation mark.
Context: ... enabled and visible. - ButtonDisabled: The button is visible but disabled (gra...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~27-~27: Loose punctuation mark.
Context: ... disabled (grayed out). - ButtonHidden: The button is hidden from the titlebar....
(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/changelog.md
[grammar] ~270-~270: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...
(MAC_OS)
[grammar] ~276-~276: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...
(A_WINDOWS)
[grammar] ~276-~276: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...
(CLICK_HYPHEN)
docs/src/content/docs/api/application.mdx
[uncategorized] ~149-~149: Loose punctuation mark.
Context: ...with the following values: - PathHome: Returns the user's home directory - `Pa...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~190-~190: Loose punctuation mark.
Context: ...the following values: - PathsDataDirs: Returns the list of data directories - ...
(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/api/events_custom.mdx
[style] ~14-~14: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...n both the frontend and backend. Events are able to emitted at both the application and the...
(BE_ABLE_TO)
[uncategorized] ~76-~76: Possible missing comma found.
Context: ...ved on the application instance and the frontend with a couple options of how you chose ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~76-~76: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ...cation instance and the frontend with a couple options of how you chose to receive them. You c...
(PLENTY_OF_NOUNS)
[uncategorized] ~78-~78: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... trigger every time the event is emitted or you can register an event listener that...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~91-~91: Possible missing comma found.
Context: ... Registers an event on the application instance this will trigger every time the event ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~97-~97: Loose punctuation mark.
Context: ...ts.On(name: string, callback: ()=>void)`, Registers an event on the frontend, th...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~102-~102: Loose punctuation mark.
Context: ....Once(name: string, callback: ()=>void)`, Registers an event on the frontend tha...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~107-~107: Loose punctuation mark.
Context: ...ing, callback: ()=>void, count: number)`, Registers an event on the frontend tha...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~118-~118: Consider removing “of” to be more concise
Context: ...s to remove events that are registered. All of the registration functions return a functio...
(ALL_OF_THE)
docs/src/content/docs/api/event_hooks.md
[grammar] ~60-~60: Did you mean “themes”?
Context: ...hanged Triggered when the application theme changes ### Window Events ####event...
(WRB_DT_NN_VB)
[uncategorized] ~148-~148: When ‘OS-Specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...iggered when the window is resized ### OS Specific Events - Mac Events...
(SPECIFIC_HYPHEN)
docs/src/content/docs/api/event_types.md
[uncategorized] ~40-~40: A punctuation mark might be missing here.
Context: ...returned when an event is being received it includes the name of the event, the dat...
(AI_EN_LECTOR_MISSING_PUNCTUATION)
docs/src/content/docs/api/events_linux.md
[grammar] ~17-~17: Did you mean “themes”?
Context: ...hemeChanged Triggered when the system theme changes ### Window Events ####event...
(WRB_DT_NN_VB)
[grammar] ~23-~23: Did you mean “loads”?
Context: ...LoadChanged Triggered when the window load changes ####events.Linux.WindowDelet...
(WRB_DT_NN_VB)
docs/src/content/docs/api/events_mac.md
[grammar] ~227-~227: Did you mean “screens”?
Context: ...hangeScreen Triggered when the window screen changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~251-~251: Did you mean “spaces”?
Context: ...ChangeSpace Triggered when the window space changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~259-~259: Did you mean “titles”?
Context: ...ChangeTitle Triggered when the window title changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~347-~347: Did you mean “shadows”?
Context: ...pdateShadow Triggered when the window shadow updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~351-~351: Did you mean “titles”?
Context: ...UpdateTitle Triggered when the window title updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~387-~387: Did you mean “wills”?
Context: ...miniaturize Triggered when the window will deminiaturize ####events.Mac.WindowW...
(WRB_DT_NN_VB)
[uncategorized] ~477-~477: Loose punctuation mark.
Context: ...eServerRedirectForProvisionalNavigation`: Triggered when the webview receives a ...
(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/api/events_windows.md
[grammar] ~17-~17: Did you mean “themes”?
Context: ...hemeChanged Triggered when the system theme changes ####events.Windows.APMPowerS...
(WRB_DT_NN_VB)
[grammar] ~33-~33: The verb ‘suspend’ does not usually follow articles like ‘a’. Check that ‘suspend’ is spelled correctly; using ‘suspend’ as a noun may be non-standard.
Context: ...Triggered when the system resumes after a suspend and resume was triggered by the user #...
(A_INFINITIVE)
[style] ~68-~68: This phrase is redundant. Consider writing “exited”.
Context: ...llscreen Triggered when the window is exited from fullscreene ####events.Windows.Windo...
(EXIT_FROM)
docs/src/content/docs/api/systray.md
[uncategorized] ~7-~7: Possible missing article found.
Context: ... order: 150 --- The system tray houses notification area on a desktop environment, which ca...
(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~8-~8: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...onment, which can contain both icons of currently-running applications and specific system notifi...
(HYPHENATED_LY_ADVERB_ADJECTIVE)
docs/src/content/docs/development/changes.md
[grammar] ~10-~10: Context suggests that you should use the plural form of ‘format’.
Context: ... will be organized into a more readable format soon. ::: ### [Events](/development/c...
(MORE_NN)
docs/src/content/docs/development/changes_dialogs.md
[grammar] ~11-~11: The correct preposition appears to be “on”.
Context: ...avaScript! ### Windows Dialog buttons in Windows are not configurable and are co...
(IN_WINDOWS)
docs/src/content/docs/development/changes_logging.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: ...ar: order: 140 --- Logging in v2 was confusing as both application logs and system (in...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~13-~13: Possible missing comma found.
Context: ...n now be achieved through the new log plugin which utilises slog under the hood....
(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/development/changes_systray.md
[uncategorized] ~9-~9: A different word order might sound more natural.
Context: ... tooltip and menu of the systray. It is possible to also "attach" a window to the systray. Doing...
(AI_HYDRA_LEO_WORD_ORDER)
docs/src/content/docs/learn/services.md
[uncategorized] ~163-~163: Possible missing comma found.
Context: ...nShutdown` method of each service is called as well as the context being cancelled....
(AI_HYDRA_LEO_MISSING_COMMA)
docs/src/content/docs/status.md
[style] ~28-~28: Consider replacing this word to strengthen your wording.
Context: ...Wails! The roadmap is a living document and is subject to change. If you have any s...
(AND_THAT)
🪛 Markdownlint (0.35.0)
docs/src/content/docs/development/status.md
177-177: null
Bare URL used
(MD034, no-bare-urls)
72-72: null
Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
docs/src/content/docs/changelog.md
179-179: null
Bare URL used
(MD034, no-bare-urls)
docs/src/content/docs/api/events_linux.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
docs/src/content/docs/api/events_mac.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
477-477: Punctuation: ':'
Trailing punctuation in heading
(MD026, no-trailing-punctuation)
docs/src/content/docs/api/events_windows.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
38-38: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
🔇 Additional comments (24)
.prettierrc.yml (1)
4-4: LGTM!
Adding the **/*.mdx pattern ensures that Prettier formats .mdx files consistently with .md files. This helps maintain consistent styling across all Markdown-based documentation.
docs/README.md (1)
50-50: Verify the development server's port number
The command mentions that the local development server starts at localhost:4321. The default port for Astro is typically 3000. Please verify if 4321 is the intended port.
docs/src/content/docs/gr/api/window.md (1)
1-116: Documentation is clear and comprehensive
The API methods are well-documented, and the explanations are thorough. Great job on providing detailed information.
docs/src/content/docs/api/window.md (2)
1-118: Documentation is thorough and well-structured
The Window API documentation provides clear explanations of each method. Nicely done.
46-47: Verify the method name referenced in the Show method description
The description mentions invoking the run method, but the actual method may be Run() based on Go naming conventions. Confirm that the method name is correctly capitalized in the codebase.
Run the following script to check the method name:
✅ Verification successful
The method name is correctly referenced in the documentation
The documentation accurately describes the behavior of the Show method. Looking at the implementation in v3/pkg/application/webview_window.go, the Show method does indeed invoke the Run method (using InvokeSync(w.Run)) if the window is not running, and then makes it visible through InvokeSync(w.impl.show). The method names and capitalization in the documentation match the actual implementation.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the correct capitalization of the method called within `Show()`
# Search for the `Show` method definition and the method it invokes
rg -A 5 'func (\*WebviewWindow\) Show\(\)' | rg '\.(Run|run)\('
Length of output: 154
Script:
#!/bin/bash
# Search for the Show method definition without regex grouping
rg -A 5 "func.*Show\(\)"
Length of output: 55904
Script:
#!/bin/bash
# Search for WebviewWindow struct and its methods
ast-grep --pattern 'type WebviewWindow struct {
$$$
}'
Length of output: 2502
Script:
#!/bin/bash
# Search for Show method implementation
ast-grep --pattern 'func ($_ *WebviewWindow) Show() {
$$$
}'
Length of output: 64
Script:
#!/bin/bash
# Search for Show method implementation with return type
ast-grep --pattern 'func ($_ *WebviewWindow) Show() Window {
$$$
}'
Length of output: 798
Script:
#!/bash/shell
# Search for Run method implementation
ast-grep --pattern 'func ($_ *WebviewWindow) Run() {
$$$
}'
Length of output: 467
Script:
#!/bin/bash
# Search for Run method with return type
ast-grep --pattern 'func ($_ *WebviewWindow) Run() Window {
$$$
}'
Length of output: 70
docs/src/content/docs/api/application_screens.md (1)
1-5: LGTM! Frontmatter is well-structured.
The frontmatter follows good documentation practices with a clear title and organized sidebar ordering.
docs/src/content/authors.ts (1)
1-3: LGTM! Well-structured type definition.
The type definition is robust and ensures type safety by using the NonNullable utility type.
docs/src/content/docs/guides/file-associations.md (1)
1-11: LGTM! Clear and well-structured introduction.
The frontmatter is properly formatted, and the introduction effectively explains the purpose and use cases of file associations.
docs/src/content/docs/development/changes_plugins.md (1)
1-5: Verify sidebar ordering consistency
The sidebar order (130) should be verified against other documentation files to ensure proper navigation flow.
✅ Verification successful
Sidebar order is consistent with documentation structure
The sidebar order of 130 for changes_plugins.md follows a clear pattern in the documentation structure:
- Each major section (api, development, getting-started, etc.) has its own sequence starting at 10 and incrementing by 10
- Within the
developmentsection, changes-related documents are ordered from 30-160 - This file's position at 130 is properly sequenced between
changes_wml.md(120) andchanges_logging.md(140)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check sidebar ordering across documentation files
# Expected: Sequential or logical grouping of order numbers
# Find all markdown files in the docs directory and extract their sidebar order numbers
fd -e md -e mdx . docs/src/content/docs/ --exec awk '
BEGIN { print "File\tOrder" }
/^sidebar:/ {
getline;
if ($1 == "order:") {
print FILENAME "\t" $2
}
}
' | sort -k2n
Length of output: 3039
docs/src/content/docs/development/changes_window.md (1)
17-21: LGTM!
Clear explanation of the API change regarding the RGBA struct.
docs/src/content/docs/development/changes_misc.md (1)
1-5: LGTM! Frontmatter is well-structured.
The metadata is properly formatted and includes appropriate sidebar ordering.
docs/src/content/docs/api/application_events.md (1)
45-60: 🛠️ Refactor suggestion
Clarify the differences and execution order of hook types.
The documentation should explain:
- The difference between
RegisterApplicationEventHookandRegisterHook - The execution order between these two types of hooks
- When to use one over the other
Let's verify if there are any existing examples or tests that demonstrate the execution order:
### RegisterApplicationHook
API:
`RegisterApplicationEventHook(eventType events.ApplicationEventType, callback func(event *ApplicationEvent)) func()`
`RegisterApplicationEventHook()` registers a callback to be triggered based on
specific application events.
+
+#### Execution Order
+Application hooks are executed in the following order:
+1. `RegisterHook` callbacks
+2. `RegisterApplicationEventHook` callbacks
+3. Event listeners registered with `OnEvent` or similar methods
+
+#### When to Use
+Use this when you need to handle application-specific events with access to
+ApplicationEvent data like window information.
### RegisterHook
API:
`RegisterHook(eventType events.ApplicationEventType, callback func(event *Event)) func()`
`RegisterHook()` registers a callback to be run as a hook during specific
events. These hooks are run before listeners attached with `On()`. The function
returns a function that can be called to remove the hook.
+
+#### When to Use
+Use this for general event handling when you don't need application-specific
+event data. These hooks run first in the event chain.
+
+#### Example
+```go
+// Register a hook for window close events
+cleanup := app.RegisterHook(events.WindowClose, func(event *Event) {
+ // Perform cleanup before window closes
+ fmt.Println("Window is about to close")
+})
+
+// Later: Remove the hook
+cleanup()
+```✅ Verification successful
Let me gather more information about the execution order by checking how events are processed:
Let me check how events are emitted to understand the execution order:
Based on the code analysis, I can now generate the final response:
Clarification of hook types and execution order verified
The documentation needs to be updated as the code shows clear differences between these hooks:
RegisterApplicationEventHookis specifically for application-wide events and receives*ApplicationEventwhich contains application-specific data.RegisterHookis for window-specific events and receives*Eventwith basic event data.
The execution order is confirmed in the code:
RegisterHookcallbacks are executed firstRegisterApplicationEventHookcallbacks are executed next- Regular event listeners (via
On()) are executed last
This is evidenced by:
- The comment in
v3/pkg/application/application.gostating hooks are called before event listeners - The implementation in
v3/examples/events/main.goshowing practical usage - The event processing implementation in the platform-specific files
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for tests or examples showing hook execution order
rg -A 10 "RegisterApplicationEventHook|RegisterHook" --type go
Length of output: 5687
Script:
#!/bin/bash
# Search for event processing implementation
rg -A 15 "func.*processApplicationEvent|func.*processWindowEvent" --type go
Length of output: 4313
Script:
#!/bin/bash
# Search for event emission implementation
rg -A 15 "func.*emit.*Event|func.*process.*Event" --type go
Length of output: 20494
docs/src/content/docs/api/application_dialogs.md (2)
9-38: LGTM! Well-structured caution block with clear examples.
The caution block effectively communicates important lifecycle considerations and provides both immediate and deferred dialog implementation approaches with clear code examples.
1-107: LGTM! Well-structured API documentation
The documentation provides a comprehensive overview of all dialog types with a consistent structure. The important platform-specific considerations are properly highlighted in the caution block. While some sections could benefit from additional code examples, the overall organization and content are solid.
🧰 Tools
🪛 LanguageTool
[grammar] ~7-~7: The operating system from Apple is written “macOS”.
Context: ...gs sidebar: order: 40 --- :::caution[MacOS Dialogs and Application Lifecycle] If ...
(MAC_OS)
docs/src/content/docs/guides/customizing-windows.md (2)
1-5: LGTM! Metadata is properly structured.
1-124: Verify documentation coverage of exported types and methods.
Let's ensure all exported types and methods related to window customization are documented.
✅ Verification successful
Let me try a different approach to gather the necessary information.
Let me try another search to find the button state related implementations:
Based on the search results, I can now provide a final response about the documentation coverage:
Documentation accurately covers window button customization APIs
The documentation in docs/src/content/docs/guides/customizing-windows.md comprehensively covers all the window button customization features:
- Correctly documents all three
ButtonStatevalues:ButtonEnabled,ButtonDisabled, andButtonHidden - Accurately describes both ways to set button states:
- During window creation via
WebviewWindowOptionsstruct - At runtime using
SetMinimiseButtonState,SetMaximiseButtonState, andSetCloseButtonStatemethods
- During window creation via
- Properly notes platform differences between Windows and macOS
- Correctly states that the functionality is not available on Linux (verified by the no-op implementations in
webview_window_linux.go)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all window customization types and methods are documented
# Search for exported types and methods in the codebase
echo "Searching for window-related exports in the codebase..."
ast-grep --pattern 'type $name struct {
$$$
}' | grep -E 'Window|Button'
echo "Searching for window-related methods..."
ast-grep --pattern 'func ($receiver $_) $name($$$) $$$'
Length of output: 344
Script:
#!/bin/bash
# Search for window customization related code in the repository
# Search for ButtonState type and its constants
echo "=== ButtonState definitions ==="
rg "type ButtonState" -A 5
# Search for window-related types and methods in application package
echo -e "\n=== Window-related types and methods ==="
rg "type.*Window" -A 5
rg "func.*Window.*Button" -A 2
# Search for actual implementation of button state methods
echo -e "\n=== Button state implementations ==="
rg "Set.*ButtonState" -A 2
Length of output: 148618
Script:
#!/bin/bash
# Search for button state related code
echo "=== Button state methods ==="
rg "Set.*Button.*State" -B 2 -A 2
echo -e "\n=== Window interface methods ==="
rg "type Window interface" -A 20
echo -e "\n=== WebviewWindow options ==="
rg "type WebviewWindowOptions struct" -A 20
Length of output: 14599
🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: Loose punctuation mark.
Context: ...ButtonState = 2 ) ``` - ButtonEnabled: The button is enabled and visible. - `B...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~26-~26: Loose punctuation mark.
Context: ... enabled and visible. - ButtonDisabled: The button is visible but disabled (gra...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~27-~27: Loose punctuation mark.
Context: ... disabled (grayed out). - ButtonHidden: The button is hidden from the titlebar....
(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/api/event_hooks.md (1)
150-152: Verify documentation links are valid.
Let's ensure the OS-specific event documentation links are valid and accessible.
✅ Verification successful
Documentation links are valid and accessible
All OS-specific event documentation files exist at the correct locations:
/api/events_mac→ docs/src/content/docs/api/events_mac.md/api/events_windows→ docs/src/content/docs/api/events_windows.md/api/events_linux→ docs/src/content/docs/api/events_linux.md
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if the linked documentation files exist
for file in "events_mac" "events_windows" "events_linux"; do
fd -t f "$file.md$" docs/
done
Length of output: 407
docs/src/content/docs/api/event_types.md (1)
1-5: LGTM!
The frontmatter is well-structured with appropriate title and sidebar ordering.
docs/src/content/docs/api/events_linux.md (2)
1-7: LGTM! Frontmatter is well-structured.
The configuration is appropriate for documentation organization and navigation.
19-43: 🛠️ Refactor suggestion
Enhance window events documentation and verify completeness.
- The heading hierarchy needs to be fixed (same issue as Application Events section).
- The documentation would benefit from more detailed information.
Apply this diff to fix the heading hierarchy and enhance the documentation structure:
### Window Events
-#### `events.Linux.WindowLoadChanged`
+### `events.Linux.WindowLoadChanged`
+
+Triggered when the window load changes.
+
+Example usage:
+```javascript
+// Add example code here
+```
// Apply similar changes to other window eventsLet's verify if all Linux window events are covered:
✅ Verification successful
Let me gather more information about the event types and their implementations to ensure completeness.
Documentation is complete but needs structural improvements
The code analysis confirms that all Linux window events are correctly documented in the API documentation. The linuxEvents struct in events.go defines exactly six window-related events that match the documented ones:
- WindowLoadChanged
- WindowDeleteEvent
- WindowDidMove
- WindowDidResize
- WindowFocusIn
- WindowFocusOut
The suggested improvements to fix heading hierarchy and enhance documentation structure remain valid, but there are no missing events to document.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for any additional Linux window events in the codebase
rg -i "linux.*window.*event|window.*event.*linux" --type go
# Search for event registration patterns
ast-grep --pattern 'runtime.EventsEmit($_, "linux:window", $$$)'
Length of output: 2195
Script:
#!/bin/bash
# Search for Linux window event type definitions
rg -A 1 "Linux = struct" --type go
# Look for any window-related event constants or types
ast-grep --pattern 'const (
$$$
Window$_ = $_
$$$
)'
# Check the event registration implementation
cat v3/pkg/events/events.go
Length of output: 27694
🧰 Tools
🪛 LanguageTool
[grammar] ~23-~23: Did you mean “loads”?
Context: ...LoadChanged Triggered when the window load changes ####events.Linux.WindowDelet...
(WRB_DT_NN_VB)
docs/src/content/docs/api/events_mac.md (1)
1-7: LGTM! Frontmatter configuration is well-structured.
The configuration properly sets up the documentation page with appropriate table of contents and sidebar ordering.
docs/src/content/docs/api/events_windows.md (1)
1-7: LGTM! Frontmatter configuration is well-structured.
The page configuration follows documentation best practices with appropriate title, TOC depth, and sidebar ordering.
docs/src/content/docs/development/changes_systray.md (2)
1-5: LGTM! Well-structured frontmatter
The frontmatter is properly formatted with clear title and appropriate sidebar configuration.
12-13: LGTM! Clear and concise functionality description
The bullet points effectively communicate the key interactions with the systray.
| Greet: function (name) { | ||
| wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0)); |
There was a problem hiding this comment.
Add missing return statements in Promise-returning functions
The functions Greet and GreetPerson are expected to return Promise<string>, but currently do not have return statements. Ensure that the result of wails.CallByID is returned.
Apply this diff to fix the issue:
Greet: function (name) {
- wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
+ return wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
},
GreetPerson: function (person) {
- wails.CallByID(4021313248, ...Array.prototype.slice.call(arguments, 0));
+ return wails.CallByID(4021313248, ...Array.prototype.slice.call(arguments, 0));
},Also applies to: 37-38
| Dialogs are now available in JavaScript! | ||
|
|
There was a problem hiding this comment.
🛠️ Refactor suggestion
Expand the introduction with more context.
The current introduction is too brief. Consider adding:
- What was the previous state
- What specific dialog features are now available
- Benefits of this change
- Any migration considerations
| ### ServeHTTP | ||
|
|
||
| ```go | ||
| func (s *Service) ServeHTTP(w http.ResponseWriter, r *http.Request) | ||
| ``` | ||
|
|
||
| If your service needs to handle HTTP requests, implement this method. It allows | ||
| your service to act as an HTTP handler. The route of the handler is defined in | ||
| the service options: | ||
|
|
||
| ```go | ||
| application.NewService(fileserver.New(&fileserver.Config{ | ||
| RootPath: rootPath, | ||
| }), application.ServiceOptions{ | ||
| Route: "/files", | ||
| }), | ||
| ``` |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Add security considerations for HTTP handlers
The ServeHTTP section should address:
- Request validation
- Rate limiting
- CORS configuration
- Security headers
- Error handling
Example enhancement:
func (s *Service) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Set security headers
w.Header().Set("X-Content-Type-Options", "nosniff")
w.Header().Set("X-Frame-Options", "DENY")
// Validate request
if !s.isValidRequest(r) {
http.Error(w, "Invalid request", http.StatusBadRequest)
return
}
// Handle the request
s.fs.ServeHTTP(w, r)
}| ```go | ||
| type Service struct { | ||
| config *Config | ||
| fs http.Handler | ||
| } | ||
|
|
||
| func New(config *Config) *Service { | ||
| return &Service{ | ||
| config: config, | ||
| fs: http.FileServer(http.Dir(config.RootPath)), | ||
| } | ||
| } | ||
|
|
||
| func (s *Service) Name() string { | ||
| return "github.com/wailsapp/wails/v3/services/fileserver" | ||
| } | ||
|
|
||
| func (s *Service) OnStartup(ctx context.Context, options application.ServiceOptions) error { | ||
| // Any initialization code here | ||
| return nil | ||
| } | ||
|
|
||
| func (s *Service) ServeHTTP(w http.ResponseWriter, r *http.Request) { | ||
| s.fs.ServeHTTP(w, r) | ||
| } | ||
| ``` |
There was a problem hiding this comment.
Enhance file server security and configuration
The file server example should demonstrate:
- Path traversal prevention
- File type restrictions
- Access control
- Logging of file access
Example enhancement:
type Config struct {
RootPath string
AllowedExtensions []string
MaxFileSize int64
}
type Service struct {
config *Config
fs http.Handler
logger *log.Logger
}
func (s *Service) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Validate file path
if containsPathTraversal(r.URL.Path) {
http.Error(w, "Invalid path", http.StatusBadRequest)
return
}
// Check file extension
if !s.isAllowedExtension(r.URL.Path) {
http.Error(w, "File type not allowed", http.StatusForbidden)
return
}
// Log access
s.logger.Printf("Serving file: %s", r.URL.Path)
s.fs.ServeHTTP(w, r)
}| 1. During application initialization, services are registered with the | ||
| application. | ||
| 2. When the application starts (`app.Run()`), the `OnStartup` method of each | ||
| service is called with the application context and service options. | ||
| 3. Throughout the application's lifetime, services can perform their specific | ||
| tasks. | ||
| 4. If a service implements `ServeHTTP`, it can handle HTTP requests at the | ||
| specified path. | ||
| 5. When the application is shutting down, the `OnShutdown` method of each | ||
| service is called as well as the context being cancelled. |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Clarify service lifecycle error handling
The lifecycle documentation should address:
- How errors from OnStartup affect application startup
- Order of shutdown operations
- Timeout handling during shutdown
- Handling of concurrent service shutdown
🧰 Tools
🪛 LanguageTool
[uncategorized] ~163-~163: Possible missing comma found.
Context: ...nShutdown` method of each service is called as well as the context being cancelled....
(AI_HYDRA_LEO_MISSING_COMMA)
There was a problem hiding this comment.
Actionable comments posted: 10
🧹 Outside diff range and nitpick comments (14)
docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md (1)
9-9: Consider using a more robust image path strategyThe relative path
../../../assetscould be fragile if the document structure changes. Consider using an absolute path from the content root or implementing a consistent asset reference strategy.docs/src/content/docs/changelog.md (3)
173-174: Use consistent markdown link format.Some PR links use bare URLs or inconsistent formats. Use the markdown link format consistently.
Apply these changes:
-[linux] WindowDidMove / WindowDidResize events in [#3580](https://github.com/wailsapp/wails/pull/3580) +[linux] WindowDidMove / WindowDidResize events in [#3580](https://github.com/wailsapp/wails/pull/3580) -Export `SetIcon` method by @almas1992 in [PR](https://github.com/wailsapp/wails/pull/3147) +Export `SetIcon` method by @almas1992 in [#3147](https://github.com/wailsapp/wails/pull/3147) -Improve `OnShutdown` by @almas1992 in [PR](https://github.com/wailsapp/wails/pull/3189) +Improve `OnShutdown` by @almas1992 in [#3189](https://github.com/wailsapp/wails/pull/3189)Also applies to: 191-192, 192-193
267-267: Fix grammar and spelling.
- "MacOS" should be "macOS"
- "windows" should be capitalized as "Windows"
- "left clicking" should be hyphenated as "left-clicking"
Apply these changes:
-Fix MacOS systray click handling when no attached window +Fix macOS systray click handling when no attached window -Fix crash on windows left clicking the systray icon +Fix crash on Windows left-clicking the systray iconAlso applies to: 273-273
🧰 Tools
🪛 LanguageTool
[grammar] ~267-~267: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...(MAC_OS)
231-233: Fix broken link syntax.The link has a syntax error with the closing parenthesis.
Apply this change:
-[#3515)(https://github.com/wailsapp/wails/pull/3515) +[#3515](https://github.com/wailsapp/wails/pull/3515)docs/src/content/docs/api/application.mdx (2)
7-8: Consider expanding the introduction.The introduction could be more helpful by including:
- When to use this API
- Common use cases
- How it fits into the overall Wails architecture
The application API assists in creating an application using the Wails -framework. +framework. It provides essential methods for initializing, configuring, and +managing your Wails application throughout its lifecycle. This API is the +foundation for creating desktop applications with Wails, handling everything from +window management to system integration.
24-37: Standardize code examples for consistency.The code examples should follow a consistent pattern for better readability:
- Error handling
- Variable naming
- Import statements
func main() { app := application.New(application.Options{ Name: "WebviewWindow Demo", - // Other options + // Add more options here... }) - // Rest of application + if err := app.Run(); err != nil { + log.Fatal(err) + } }Also applies to: 82-90
docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md (2)
9-10: Consider using absolute paths for images.Using relative paths (
../../../) can be brittle if the document structure changes. Consider using absolute paths from the root of the documentation.- +
128-129: Consider using relative links consistently.For consistency with other links in the document, consider using a relative path for the sponsorship link.
-[sponsoring the project](https://github.com/sponsors/leaanthony). Thanks! +[sponsoring the project](/sponsors). Thanks!🧰 Tools
🪛 LanguageTool
[style] ~129-~129: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 5233 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/development/introduction.mdx (2)
28-33: Consider adding example commands.The build instructions would be more helpful with concrete examples.
Consider adding examples like:
For simple programs, you can use the standard `go build` command. It's also -possible to use `go run`. +possible to use `go run`. For example: + +```bash +# Using go build +go build ./v3/cmd/wails3 + +# Using go run +go run ./v3/cmd/wails3 +```
1-228: Overall documentation quality is good.The documentation provides comprehensive coverage of development processes. Consider adding a table of contents at the beginning for better navigation, and ensure all command examples use consistent formatting in code blocks.
🧰 Tools
🪛 LanguageTool
[grammar] ~20-~20: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...g Started - Git clone this repository. Checkout thev3-alphabranch. - Install the CL...(SENT_START_NN_DT)
[duplication] ~43-~43: Possible typo: you repeated a word
Context: ... - v3 - cmd/wails3 CLI - examples Examples of Wails apps - internal Internal pac...(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~44-~44: Possible typo: you repeated a word
Context: ... - examples Examples of Wails apps - internal Internal packages - runtime The Wails JS run...(ENGLISH_WORD_REPEAT_RULE)
[grammar] ~63-~63: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...ng known issues and tasks in the [Alpha Todo List](https://github.com/orgs/wailsapp/...(TO_DO_HYPHEN)
[uncategorized] ~71-~71: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...onality required for all platforms. Any platform specific code should be called via a `webviewWin...(SPECIFIC_HYPHEN)
[uncategorized] ~82-~82: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...dow_linux.go` Most, if not all, of the platform specific code should be run on the main thread. ...(SPECIFIC_HYPHEN)
[uncategorized] ~106-~106: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st common denominator". You can use the platform specific events if you need to. When adding a c...(SPECIFIC_HYPHEN)
[uncategorized] ~108-~108: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ... adding a common event, ensure that the platform specific events are mapped. An example of this i...(SPECIFIC_HYPHEN)
[typographical] ~176-~176: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...(IF_THEN_COMMA)
[typographical] ~178-~178: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...ev3/internal/commands/task.gofile. Usually the best way to fix incompatibilities i...(RB_LY_COMMA)
[typographical] ~215-~215: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...(IF_THEN_COMMA)
[typographical] ~217-~217: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...ev3/internal/commands/task.gofile. Usually the best way to fix incompatibilities i...(RB_LY_COMMA)
docs/src/content/docs/blog/2023-01-17-v3-roadmap.md (3)
9-9: Consider using a more robust image path.The relative path
../../../assets/blog-images/multiwindow.webpmight break if the blog post structure changes. Consider using an absolute path from the content root or implementing a custom image component that handles path resolution.- +
89-99: Enhance code examples with explanatory comments.The code examples would be more educational with inline comments explaining key concepts and design decisions.
func main() { + // Create a new application instance with default options app := wails.NewApplication(options.App{}) + // Create and configure the main window myWindow := app.NewWindow(options.Window{}) myWindow.SetTitle("My Window") + // Set up window close handler to quit the application myWindow.On(events.Window.Close, func() { app.Quit() }) app.Run() }Also applies to: 116-131
183-187: Consider adding a sample Taskfile.yml.To help developers understand the proposed build system changes, consider adding a sample
Taskfile.ymlconfiguration that demonstrates common build tasks.Add a code block showing a basic Taskfile.yml example:
version: '3' tasks: build: desc: Build the application cmds: - wails generate bindings - npm install - npm run build - go build🧰 Tools
🪛 LanguageTool
[uncategorized] ~183-~183: Possible missing comma found.
Context: ...ld be configured using aTaskfile.ymlfile which would be generated by default wit...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~184-~184: Consider removing “of” to be more concise
Context: ...he supported templates. This would have all of the steps required to do all the current ta...(ALL_OF_THE)
docs/src/content/docs/learn/services.md (1)
23-35: Enhance the service example with error handling and initialization.The basic service example could be more comprehensive to demonstrate best practices.
Consider expanding the example:
type MyService struct { - // Your service fields + name string + logger *log.Logger } -func NewMyService() *MyService { - // Initialize and return your service +func NewMyService(name string) (*MyService, error) { + if name == "" { + return nil, errors.New("name cannot be empty") + } + return &MyService{ + name: name, + logger: log.New(os.Stdout, "[MyService] ", log.LstdFlags), + }, nil } func (s *MyService) Greet(name string) string { + s.logger.Printf("Greeting %s", name) return fmt.Sprintf("Hello, %s!", name) }
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (7)
docs/src/content/docs/api/application.mdx(1 hunks)docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md(1 hunks)docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md(1 hunks)docs/src/content/docs/blog/2023-01-17-v3-roadmap.md(1 hunks)docs/src/content/docs/changelog.md(1 hunks)docs/src/content/docs/development/introduction.mdx(1 hunks)docs/src/content/docs/learn/services.md(1 hunks)
🧰 Additional context used
📓 Learnings (1)
docs/src/content/docs/development/introduction.mdx (1)
Learnt from: stavros-k
PR: wailsapp/wails#3917
File: docs/src/content/docs/development/introduction.mdx:43-44
Timestamp: 2024-12-02T22:08:55.625Z
Learning: When using the `<FileTree>` component in `docs/src/content/docs/development/introduction.mdx`, repeating words like `examples Examples` and `internal Internal` is intentional to achieve the desired formatting.
🪛 LanguageTool
docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md
[uncategorized] ~22-~22: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...was a frustrating development experience but there wasn't much that could have been ...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~33-~33: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...is release, so grab a drink, take a seat and we'll begin... ### No CGO Dependency! ...
(COMMA_COMPOUND_SENTENCE)
[grammar] ~39-~39: The operating system from Apple is written “macOS”.
Context: ...The thing about Windows is that, unlike MacOS and Linux, it doesn't come with a defau...
(MAC_OS)
[style] ~56-~56: ‘On top of that’ might be wordy. Consider a shorter alternative.
Context: ... your frontend code to work on Windows. On top of that, you get a first-class developer tools ...
(EN_WORDINESS_PREMIUM_ON_TOP_OF_THAT)
[style] ~65-~65: As a shorter alternative for ‘able to’, consider using “can”.
Context: ... Chadwick](https://github.com/jchv), we are able to bundle this dll inside the binary and g...
(BE_ABLE_TO)
[style] ~74-~74: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...og-images/wails-menus.webp) There were a lot of requests for native menu support. Wails...
(A_LOT_OF)
[style] ~80-~80: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...
(HAPPY_EXCITED)
[uncategorized] ~87-~87: A comma may be missing after the conjunctive/linking adverb ‘Currently’.
Context: ...uilding and debugging your application. Currently VSCode is supported but we hope to supp...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
[uncategorized] ~88-~88: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...plication. Currently VSCode is supported but we hope to support other IDEs such as G...
(COMMA_COMPOUND_SENTENCE)
[style] ~95-~95: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...
(HAPPY_EXCITED)
[uncategorized] ~120-~120: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...ges to frontend assets will trigger and auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
[style] ~132-~132: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
[style] ~150-~150: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...
(HARD_TO)
[misspelling] ~188-~188: Possible spelling mistake found.
Context: ... down the path to a pure Go Wails. - Mat Ryer - His supp...
(EN_MULTITOKEN_SPELLING_TWO)
[grammar] ~201-~201: The operating system from Apple is written “macOS”.
Context: ...citing phase of the project! Lea. PS: MacOS and Linux users need not feel left out ...
(MAC_OS)
[style] ~206-~206: Using many exclamation marks might seem excessive (in this case: 15 exclamation marks for a text that’s 9426 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!
(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/blog/2023-01-17-v3-roadmap.md
[grammar] ~13-~13: Did you mean “are” or “were”?
Context: ...ultiwindow.webp) # Introduction Wails is a project that simplifies the ability t...
(SENT_START_NNS_IS)
[style] ~18-~18: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...d of September 2022 and brought with it a lot of enhancements including: - Live develop...
(A_LOT_OF)
[style] ~27-~27: For conciseness, consider replacing this expression with an adverb.
Context: ... of NSIS Installer - Obfuscated builds Right now, Wails v2 provides powerful tooling for...
(AT_THE_MOMENT)
[typographical] ~47-~47: To make your text more readable, consider placing this phrase between commas.
Context: ...I've identified the following areas that I feel are holding the project back: - The AP...
(WHICH_I_THOUGHT_COMMA)
[style] ~61-~61: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...e application will work. Whilst this is very simple to use, it is also very limiting. It is...
(EN_WEAK_ADJECTIVE)
[style] ~68-~68: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...iple windows. The Runtime API provides a lot of utility functions for the developer. Th...
(A_LOT_OF)
[uncategorized] ~83-~83: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...he demand for multiple windows has grown and the API is not well suited to this. ##...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~138-~138: Possible missing comma found.
Context: ...ial flag and then running the resultant binary which uses reflection to determine what...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~139-~139: It appears that there are hyphens missing.
Context: ...as been bound. This leads to a bit of a chicken and egg situation: You can't build the application withou...
(CHICKEN_AND_EGG_HYPHEN)
[uncategorized] ~140-~140: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ild the application without the bindings and you can't generate the bindings without...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~141-~141: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ication. There are many ways around this but the best one would be not to use this a...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~144-~144: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ing a static analyser for Wails projects but they didn't get very far. In more recen...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~148-~148: Possible missing comma found.
Context: ...to reflection, the AST approach is much faster however it is significantly more compli...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~157-~157: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...on. When you run wails build, it does a lot of things behind the scenes: - Builds the...
(A_LOT_OF)
[style] ~175-~175: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... builds it This entire process, whilst very powerful, is also very opaque. It is very diffic...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~176-~176: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ue. It is very difficult to customise it and it is very difficult to debug. To addr...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~183-~183: Possible missing comma found.
Context: ...ld be configured using a Taskfile.yml file which would be generated by default wit...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~184-~184: Consider removing “of” to be more concise
Context: ...he supported templates. This would have all of the steps required to do all the current ta...
(ALL_OF_THE)
[uncategorized] ~188-~188: Possible missing comma found.
Context: ...ill be no external requirement for this tooling as it would form part of the Wails CLI....
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~201-~201: Possible missing comma found.
Context: ...s will be a much more transparent build system which will allow for easier customisati...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~220-~220: The adjective “community-driven” is spelled with a hyphen.
Context: ... this will lead to a new ecosystem of community driven build pipelines. - Better separation of...
(DRIVEN_HYPHEN)
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...mentation for this has already been done and it's looking good. There is no current ...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ere is no current timeline for this work but I'm hoping by the end of Q1 2023, there...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~233-~233: Possible missing comma found.
Context: ...PI is declarative, hides a lot from the developer and not suitable for features such as...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~236-~236: Possible missing comma found.
Context: ...build system is opaque and difficult to customise so we will move to an external build ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~238-~238: Possible missing comma found.
Context: .... - The bindings generation is slow and complex so we will move to static analysis wh...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~241-~241: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...en a lot of work put into the guts of v2 and it's solid. It's now time to address th...
(COMMA_COMPOUND_SENTENCE)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...th Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~256-~256: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ils. It's not a mockup. It's real. It's awesome. It's coming soon.
(AWESOME)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/src/content/docs/development/introduction.mdx
[grammar] ~20-~20: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...g Started - Git clone this repository. Checkout the v3-alpha branch. - Install the CL...
(SENT_START_NN_DT)
[duplication] ~43-~43: Possible typo: you repeated a word
Context: ... - v3 - cmd/wails3 CLI - examples Examples of Wails apps - internal Internal pac...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~44-~44: Possible typo: you repeated a word
Context: ... - examples Examples of Wails apps - internal Internal packages - runtime The Wails JS run...
(ENGLISH_WORD_REPEAT_RULE)
[grammar] ~63-~63: It appears that a hyphen is missing in the noun “To-do” (= task) or did you mean the verb “to do”?
Context: ...ng known issues and tasks in the [Alpha Todo List](https://github.com/orgs/wailsapp/...
(TO_DO_HYPHEN)
[uncategorized] ~71-~71: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...onality required for all platforms. Any platform specific code should be called via a `webviewWin...
(SPECIFIC_HYPHEN)
[uncategorized] ~82-~82: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...dow_linux.go` Most, if not all, of the platform specific code should be run on the main thread. ...
(SPECIFIC_HYPHEN)
[uncategorized] ~106-~106: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st common denominator". You can use the platform specific events if you need to. When adding a c...
(SPECIFIC_HYPHEN)
[uncategorized] ~108-~108: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ... adding a common event, ensure that the platform specific events are mapped. An example of this i...
(SPECIFIC_HYPHEN)
[typographical] ~176-~176: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...
(IF_THEN_COMMA)
[typographical] ~178-~178: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...e v3/internal/commands/task.go file. Usually the best way to fix incompatibilities i...
(RB_LY_COMMA)
[typographical] ~215-~215: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...
(IF_THEN_COMMA)
[typographical] ~217-~217: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...e v3/internal/commands/task.go file. Usually the best way to fix incompatibilities i...
(RB_LY_COMMA)
docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md
[style] ~11-~11: Qualifiers like “somewhat” can weaken your message and make your writing sound uncertain. Consider removing it or choosing an alternative to sound more confident.
Context: ...ails v2 is now in beta for Linux! It is somewhat ironic that the very first experiments ...
(SOMEWHAT)
[typographical] ~12-~12: Consider adding a comma after the introductory adverb.
Context: ...st experiments with v2 was on Linux and yet it has ended up as the last release. Th...
(YET_COMMA)
[style] ~21-~21: The phrase ‘a lot of’ might be wordy and overused. Consider using an alternative.
Context: ...ges/wails-menus-linux.webp) There were a lot of requests for native menu support. Wails...
(A_LOT_OF)
[style] ~27-~27: Consider using a different adjective to strengthen your wording.
Context: ...eater control of the window itself. I'm happy to announce that there's new runtime AP...
(HAPPY_EXCITED)
[style] ~35-~35: Consider using a different adjective to strengthen your wording.
Context: ...tion down to single JS & CSS files. I'm happy to announce that for v2, there is no re...
(HAPPY_EXCITED)
[uncategorized] ~58-~58: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...nges to frontend assets will trigger an auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
[style] ~70-~70: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
[style] ~88-~88: To elevate your writing, try using a synonym here.
Context: ...nt is very opinionated, fast moving and hard to keep on top of! As a result, we foun...
(HARD_TO)
[style] ~129-~129: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 5233 characters long)
Context: .../github.com/sponsors/leaanthony). Thanks!
(EN_EXCESSIVE_EXCLAMATION)
docs/src/content/docs/api/application.mdx
[uncategorized] ~149-~149: Loose punctuation mark.
Context: ...with the following values: - PathHome: Returns the user's home directory - `Pa...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~190-~190: Loose punctuation mark.
Context: ...the following values: - PathsDataDirs: Returns the list of data directories - ...
(UNLIKELY_OPENING_PUNCTUATION)
docs/src/content/docs/changelog.md
[grammar] ~267-~267: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...
(MAC_OS)
[grammar] ~273-~273: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...
(A_WINDOWS)
[grammar] ~273-~273: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...
(CLICK_HYPHEN)
🔇 Additional comments (17)
docs/src/content/docs/blog/2021-09-27-v2-beta1-release-notes.md (1)
193-193:
Fix subject-verb agreement
Change "whose support drive the project" to "whose support drives the project" to maintain proper subject-verb agreement.
docs/src/content/docs/changelog.md (2)
1-18: LGTM! Well-structured changelog format.
The file follows the Keep a Changelog format and includes clear guidelines for categorizing changes.
149-154: Remove duplicate entries in the Unreleased section.
The following entries appear twice:
docs/src/content/docs/api/application.mdx (1)
1-5: LGTM: Frontmatter is well-structured.
The metadata provides clear title and sidebar organization.
docs/src/content/docs/blog/2022-02-22-v2-beta3-release-notes.md (3)
1-7: LGTM! Frontmatter is well-structured.
The metadata follows standard markdown frontmatter conventions with all necessary fields properly formatted.
58-59: Fix hyphenation in "auto-reload".
The term should be hyphenated for clarity.
-Hot reload - Any changes to frontend assets will trigger an auto reload of the
+Hot reload - Any changes to frontend assets will trigger an auto-reload of the🧰 Tools
🪛 LanguageTool
[uncategorized] ~58-~58: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...nges to frontend assets will trigger an auto reload of the application frontend - Auto re...
(AUTO_HYPHEN)
118-119: Fix verb agreement with "support".
The singular noun "support" requires the singular verb form "drives".
-[project sponsors](/credits#sponsors) whose support drive the project in many
+[project sponsors](/credits#sponsors) whose support drives the project in manydocs/src/content/docs/development/introduction.mdx (3)
1-8: LGTM!
The frontmatter and imports are properly structured.
39-56: LGTM!
The project layout is well-structured using the FileTree component. The repeated words (e.g., "examples Examples") are intentional for the desired formatting.
🧰 Tools
🪛 LanguageTool
[duplication] ~43-~43: Possible typo: you repeated a word
Context: ... - v3 - cmd/wails3 CLI - examples Examples of Wails apps - internal Internal pac...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~44-~44: Possible typo: you repeated a word
Context: ... - examples Examples of Wails apps - internal Internal packages - runtime The Wails JS run...
(ENGLISH_WORD_REPEAT_RULE)
71-82: 🛠️ Refactor suggestion
Maintain consistent hyphenation.
For better readability and correct grammar, "platform specific" should be hyphenated when used as a modifier.
Apply these changes throughout the file:
-Any platform specific code should be called via a `webviewWindowImpl`
+Any platform-specific code should be called via a `webviewWindowImpl`
-Most, if not all, of the platform specific code should be run on the main
+Most, if not all, of the platform-specific code should be run on the mainLikely invalid or redundant comment.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~71-~71: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...onality required for all platforms. Any platform specific code should be called via a `webviewWin...
(SPECIFIC_HYPHEN)
[uncategorized] ~82-~82: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...dow_linux.go` Most, if not all, of the platform specific code should be run on the main thread. ...
(SPECIFIC_HYPHEN)
docs/src/content/docs/blog/2023-01-17-v3-roadmap.md (4)
1-7: LGTM! Frontmatter is well-structured.
The metadata is complete and follows standard conventions.
143-144: Fix grammatical issue in the sentence.
The phrase "There was a number of attempts" should be "There were a number of attempts" as "a number of" takes a plural verb.
-There was a number of attempts at writing a static analyser for Wails projects
+There were a number of attempts at writing a static analyser for Wails projects🧰 Tools
🪛 LanguageTool
[uncategorized] ~144-~144: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ing a static analyser for Wails projects but they didn't get very far. In more recen...
(COMMA_COMPOUND_SENTENCE)
204-256: LGTM! Strong conclusion with clear benefits and community engagement.
The conclusion effectively summarizes the proposed changes and includes important elements like sponsorship opportunities and proof of progress (screenshot reference).
🧰 Tools
🪛 LanguageTool
[uncategorized] ~220-~220: The adjective “community-driven” is spelled with a hyphen.
Context: ... this will lead to a new ecosystem of community driven build pipelines. - Better separation of...
(DRIVEN_HYPHEN)
[uncategorized] ~226-~226: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...mentation for this has already been done and it's looking good. There is no current ...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~227-~227: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ere is no current timeline for this work but I'm hoping by the end of Q1 2023, there...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~233-~233: Possible missing comma found.
Context: ...PI is declarative, hides a lot from the developer and not suitable for features such as...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~236-~236: Possible missing comma found.
Context: ...build system is opaque and difficult to customise so we will move to an external build ...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~238-~238: Possible missing comma found.
Context: .... - The bindings generation is slow and complex so we will move to static analysis wh...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~241-~241: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...en a lot of work put into the guts of v2 and it's solid. It's now time to address th...
(COMMA_COMPOUND_SENTENCE)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...th Wails. It's not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~256-~256: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ils. It's not a mockup. It's real. It's awesome. It's coming soon.
(AWESOME)
[style] ~256-~256: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... not a mockup. It's real. It's awesome. It's coming soon.
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
149-151: Consider elaborating on binding constraints.
The text mentions "certain constraints on how to specify bindings in the code" but doesn't provide examples. Consider adding specific examples of these constraints to help developers understand what to expect.
✅ Verification successful
Based on the search results, I can now provide a comprehensive response about the binding constraints mentioned in the roadmap document:
The constraints refer to static analysis limitations for method bindings
The roadmap is discussing moving from a reflection-based approach to static analysis for generating bindings. From the codebase context, some key constraints would be:
- Only public methods (starting with uppercase) can be bound
- Methods must be defined on struct instances, not standalone functions
- Bound methods must follow specific parameter and return value patterns that can be statically analyzed
- Complex type definitions and interfaces may have limited support initially
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for existing binding specifications in the codebase
rg -A 5 "wails\.Bind"
Length of output: 23
Script:
#!/bin/bash
# Search for binding-related content in documentation and code
rg -i "bind.*method|method.*bind" -A 5
# Search for binding examples in markdown files
fd -e md -x rg -i "bind.*example|example.*bind" -A 5 {}
# Search for binding-related code patterns
ast-grep --pattern 'Bind($$$)'
Length of output: 66967
docs/src/content/docs/learn/services.md (3)
90-97:
Add security considerations for HTTP handlers
The ServeHTTP documentation should include security best practices.
Add a security section explaining:
- Input validation
- Rate limiting
- CORS configuration
- Security headers
- Error handling
110-135:
Enhance file server security and configuration
The file server example should demonstrate security best practices.
The example needs to show:
- Path traversal prevention
- File type restrictions
- Access control
- Logging of file access
155-164: 🛠️ Refactor suggestion
Clarify service lifecycle error handling
The lifecycle documentation needs more detail about error handling and shutdown procedures.
Add information about:
- How errors from OnStartup affect application startup
- Order of shutdown operations
- Timeout handling during shutdown
- Handling of concurrent service shutdown
| You just pass a single `embed.FS` that contains all your assets into your | ||
| application configuration. They don't even need to be in the top directory - | ||
| Wails will just work it out for you. |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Add code example for embed.FS configuration
This section would benefit from a concrete code example showing how to configure the embed.FS for assets. Consider adding:
//go:embed frontend/dist/*
var assets embed.FS
func main() {
app := wails.NewApplication(wails.Options{
Assets: assets,
// ... other options
})
}| In Go, we are used to dealing with structs in our applications. It's often | ||
| useful to send structs to our frontend and use them as state in our application. | ||
| In v1, this was a very manual process and a bit of a burden on the developer. | ||
| I'm happy to announce that in v2, any application run in dev mode will | ||
| automatically generate TypeScript models for all structs that are input or | ||
| output parameters to bound methods. This enables seamless interchange of data | ||
| models between the two worlds. |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Add TypeScript model generation example
To better illustrate the TypeScript model generation feature, consider adding an example showing:
// Go struct
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
// Generated TypeScript
interface User {
name: string;
age: number;
}🧰 Tools
🪛 LanguageTool
[style] ~132-~132: Consider using a different adjective to strengthen your wording.
Context: ...a bit of a burden on the developer. I'm happy to announce that in v2, any application...
(HAPPY_EXCITED)
| With v2, I wanted to empower the community by giving you the ability to create | ||
| and host templates yourselves, rather than rely on the Wails project. So now you | ||
| can create projects using community supported templates! I hope this will | ||
| inspire developers to create a vibrant ecosystem of project templates. I'm | ||
| really quite excited about what our developer community can create! |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Add template creation guidelines
Consider adding a section explaining:
- How to create a custom template
- Steps to publish and share templates
- Best practices for template maintenance
| API: `Paths(selector Paths) []string` `Paths(selector Path)` returns a list of | ||
| paths for the given path type. It provides a cross-platform way to query common | ||
| directory paths. | ||
|
|
||
| The `Paths` type is an enum with the following values: | ||
|
|
||
| - `PathsDataDirs`: Returns the list of data directories | ||
| - `PathsConfigDirs`: Returns the list of configuration directories | ||
| - `PathsCacheDirs`: Returns the list of cache directories | ||
| - `PathsRuntimeDirs`: Returns the list of runtime directories |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Fix formatting and clarify Paths API documentation.
The API signature and description have formatting issues and unclear syntax.
-API: `Paths(selector Paths) []string` `Paths(selector Path)` returns a list of
-paths for the given path type. It provides a cross-platform way to query common
-directory paths.
+API: `Paths(selector Paths) []string`
+
+`Paths(selector Paths)` returns a list of paths for the given path type. It provides
+a cross-platform way to query common directory paths.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| API: `Paths(selector Paths) []string` `Paths(selector Path)` returns a list of | |
| paths for the given path type. It provides a cross-platform way to query common | |
| directory paths. | |
| The `Paths` type is an enum with the following values: | |
| - `PathsDataDirs`: Returns the list of data directories | |
| - `PathsConfigDirs`: Returns the list of configuration directories | |
| - `PathsCacheDirs`: Returns the list of cache directories | |
| - `PathsRuntimeDirs`: Returns the list of runtime directories | |
| API: `Paths(selector Paths) []string` | |
| `Paths(selector Paths)` returns a list of paths for the given path type. It provides | |
| a cross-platform way to query common directory paths. | |
| The `Paths` type is an enum with the following values: | |
| - `PathsDataDirs`: Returns the list of data directories | |
| - `PathsConfigDirs`: Returns the list of configuration directories | |
| - `PathsCacheDirs`: Returns the list of cache directories | |
| - `PathsRuntimeDirs`: Returns the list of runtime directories |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~190-~190: Loose punctuation mark.
Context: ...the following values: - PathsDataDirs: Returns the list of data directories - ...
(UNLIKELY_OPENING_PUNCTUATION)
| image? Use an `<../../../assets/blog-images>` tag with a local src path. Want to | ||
| use a cool font? Copy it in and add the path to it in your CSS. |
There was a problem hiding this comment.
Fix malformed HTML tag in documentation.
The path is incorrectly wrapped in HTML tags, which could confuse readers.
-image? Use an `<../../../assets/blog-images>` tag with a local src path. Want to
+image? Use an `../../../assets/blog-images` path. Want to📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| image? Use an `<../../../assets/blog-images>` tag with a local src path. Want to | |
| use a cool font? Copy it in and add the path to it in your CSS. | |
| image? Use an `../../../assets/blog-images` path. Want to | |
| use a cool font? Copy it in and add the path to it in your CSS. |
| somewhat ironic that the very first experiments with v2 was on Linux and yet it | ||
| has ended up as the last release. That being said, the v2 we have today is very |
There was a problem hiding this comment.
Fix subject-verb agreement.
The plural subject "experiments" should use "were" instead of "was".
-somewhat ironic that the very first experiments with v2 was on Linux and yet it
+somewhat ironic that the very first experiments with v2 were on Linux and yet it📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| somewhat ironic that the very first experiments with v2 was on Linux and yet it | |
| has ended up as the last release. That being said, the v2 we have today is very | |
| somewhat ironic that the very first experiments with v2 were on Linux and yet it | |
| has ended up as the last release. That being said, the v2 we have today is very |
🧰 Tools
🪛 LanguageTool
[typographical] ~12-~12: Consider adding a comma after the introductory adverb.
Context: ...st experiments with v2 was on Linux and yet it has ended up as the last release. Th...
(YET_COMMA)
| - Git clone this repository. Checkout the `v3-alpha` branch. | ||
| - Install the CLI: `cd v3/cmd/wails3 && go install` | ||
|
|
||
| - Optional: If you want to use the build system to build frontend code, you will | ||
| need to install [npm](https://nodejs.org/en/download). |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Improve clarity of installation instructions.
The installation steps could be more precise and follow better command formatting.
Apply this diff:
-- Git clone this repository. Checkout the `v3-alpha` branch.
-- Install the CLI: `cd v3/cmd/wails3 && go install`
+1. Clone this repository and check out the `v3-alpha` branch:
+ ```bash
+ git clone https://github.com/wailsapp/wails
+ cd wails
+ git checkout v3-alpha
+ ```
+2. Install the CLI:
+ ```bash
+ cd v3/cmd/wails3 && go install
+ ```
+3. Optional: If you want to use the build system to build frontend code,
+ install [npm](https://nodejs.org/en/download).🧰 Tools
🪛 LanguageTool
[grammar] ~20-~20: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...g Started - Git clone this repository. Checkout the v3-alpha branch. - Install the CL...
(SENT_START_NN_DT)
| ### Upgrading Taskfile | ||
|
|
||
| The Wails CLI uses the [Task](https://taskfile.dev) build system. It is imported | ||
| as a library and used to run the tasks defined in `Taskfile.yaml`. The main | ||
| interfacing with Task happens in `v3/internal/commands/task.go`. | ||
|
|
||
| To check if there's an upgrade for Taskfile, run `wails3 task -version` and | ||
| check against the Task website. | ||
|
|
||
| To upgrade the version of Taskfile used, run: | ||
|
|
||
| ```shell | ||
| wails3 task taskfile:upgrade | ||
| ``` | ||
|
|
||
| If there are incompatibilities then they should appear in the | ||
| `v3/internal/commands/task.go` file. | ||
|
|
||
| Usually the best way to fix incompatibilities is to clone the task repo at | ||
| `https://github.com/go-task/task` and look at the git history to determine what | ||
| has changed and why. | ||
|
|
||
| To check all changes have worked correctly, re-install the CLI and check the | ||
| version again: | ||
|
|
||
| ```shell | ||
| wails3 task cli:install | ||
| wails3 task -version | ||
| ``` |
There was a problem hiding this comment.
Remove duplicated content.
The "Upgrading Taskfile" section is duplicated. The same content appears earlier in lines 165-189.
Remove the entire duplicated section from lines 200-228.
🧰 Tools
🪛 LanguageTool
[typographical] ~215-~215: Consider adding a comma.
Context: ... ``` If there are incompatibilities then they should appear in the `v3/internal/...
(IF_THEN_COMMA)
[typographical] ~217-~217: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...e v3/internal/commands/task.go file. Usually the best way to fix incompatibilities i...
(RB_LY_COMMA)
| func (s *Service) OnStartup(ctx context.Context, options application.ServiceOptions) error | ||
| ``` | ||
|
|
||
| This method is called when the application is starting up. You can use it to | ||
| initialize resources, set up connections, or perform any necessary setup tasks. | ||
| The context is the application context, and the `options` parameter provides | ||
| additional information about the service. |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Clarify error handling in OnStartup.
The documentation should explain how errors from OnStartup affect the application startup process.
Add the following clarification:
"If OnStartup returns an error, the application startup will be aborted, and the error will be propagated to app.Run(). Ensure proper error handling and resource cleanup in case of startup failures."
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (4)
docs/src/content/docs/api/events_mac.md (4)
1-7: Consider enhancing frontmatter metadata for better documentation organization.Consider adding these helpful frontmatter fields:
description: Brief overview of macOS eventssidebar.label: Shorter label for navigation (if needed)tags: ['macos', 'events', 'api']
9-182: Enhance Application Events documentation with additional details.Consider adding for each event:
- Parameters passed to event handlers (if any)
- Simple usage example
- Common use cases or scenarios
- Related events that might be triggered in sequence
Example format:
#### `events.Mac.ApplicationDidBecomeActive` Triggered when the application becomes active. **Parameters:** - `event`: The event object containing... **Example:** ```javascript window.runtime.EventsOn('events.Mac.ApplicationDidBecomeActive', (event) => { console.log('Application became active') })Common scenarios:
- Application regaining focus
- Switching back from another application
<details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.35.0)</summary> 11-11: Expected: h3; Actual: h4 Heading levels should only increment by one level at a time (MD001, heading-increment) </details> </details> --- `479-480`: **Maintain consistent description formatting.** Multi-line descriptions should be on a single line for consistency with other event descriptions. ```diff -Triggered when the webview receives a server redirect for a provisional -navigation +Triggered when the webview receives a server redirect for a provisional navigation
1-500: Consider grouping related events for better organization.The documentation could be more maintainable by grouping related events under subsections. For example:
- Window Lifecycle Events (create, close)
- Window State Events (minimize, maximize, fullscreen)
- Window Property Events (alpha, title, toolbar)
- Window Navigation Events (focus, ordering)
- Drag and Drop Events
- Webview Events
This would make it easier for developers to find related events and understand their relationships.
🧰 Tools
🪛 LanguageTool
[grammar] ~227-~227: Did you mean “screens”?
Context: ...hangeScreenTriggered when the window screen changes ####events.Mac.WindowDidChan...(WRB_DT_NN_VB)
[grammar] ~251-~251: Did you mean “spaces”?
Context: ...ChangeSpaceTriggered when the window space changes ####events.Mac.WindowDidChan...(WRB_DT_NN_VB)
[grammar] ~259-~259: Did you mean “titles”?
Context: ...ChangeTitleTriggered when the window title changes ####events.Mac.WindowDidChan...(WRB_DT_NN_VB)
[grammar] ~347-~347: Did you mean “shadows”?
Context: ...pdateShadowTriggered when the window shadow updates ####events.Mac.WindowDidUpda...(WRB_DT_NN_VB)
[grammar] ~351-~351: Did you mean “titles”?
Context: ...UpdateTitleTriggered when the window title updates ####events.Mac.WindowDidUpda...(WRB_DT_NN_VB)
[grammar] ~387-~387: Did you mean “wills”?
Context: ...miniaturizeTriggered when the window will deminiaturize ####events.Mac.WindowW...(WRB_DT_NN_VB)
🪛 Markdownlint (0.35.0)
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (1)
docs/src/content/docs/api/events_mac.md(1 hunks)
🧰 Additional context used
📓 Learnings (1)
docs/src/content/docs/api/events_mac.md (1)
Learnt from: stavros-k
PR: wailsapp/wails#3917
File: docs/src/content/docs/api/events_mac.md:9-9
Timestamp: 2024-12-02T22:13:32.421Z
Learning: In `docs/src/content/docs/api/events_mac.md`, the heading levels are intentionally adjusted to improve sizing on the browser, to avoid manually customizing the styling of the doc generator.
🪛 LanguageTool
docs/src/content/docs/api/events_mac.md
[grammar] ~227-~227: Did you mean “screens”?
Context: ...hangeScreen Triggered when the window screen changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~251-~251: Did you mean “spaces”?
Context: ...ChangeSpace Triggered when the window space changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~259-~259: Did you mean “titles”?
Context: ...ChangeTitle Triggered when the window title changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~347-~347: Did you mean “shadows”?
Context: ...pdateShadow Triggered when the window shadow updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~351-~351: Did you mean “titles”?
Context: ...UpdateTitle Triggered when the window title updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~387-~387: Did you mean “wills”?
Context: ...miniaturize Triggered when the window will deminiaturize ####events.Mac.WindowW...
(WRB_DT_NN_VB)
🪛 Markdownlint (0.35.0)
docs/src/content/docs/api/events_mac.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (4)
docs/src/content/docs/api/events_windows.md (2)
33-34: Improve readability by combining split lines.The description is unnecessarily split across two lines.
-Triggered when the system resumes after a suspend and resume was triggered by -the user +Triggered when the system resumes after a suspend and resume was triggered by the user🧰 Tools
🪛 LanguageTool
[grammar] ~33-~33: The verb ‘suspend’ does not usually follow articles like ‘a’. Check that ‘suspend’ is spelled correctly; using ‘suspend’ as a noun may be non-standard.
Context: ...Triggered when the system resumes after a suspend and resume was triggered by the user #...(A_INFINITIVE)
9-112: Consider enhancing documentation with examples and payload information.The events are well-documented but could be more helpful with:
- Example usage for each event
- Event payload information (if any)
- Common use cases or scenarios
Example enhancement:
#### `events.Windows.WindowDragDrop` -Triggered when files are dropped on the window +Triggered when files are dropped on the window + +Payload: +```ts +interface WindowDragDropPayload { + files: string[]; // Array of file paths +} +``` + +Example usage: +```javascript +window.runtime.EventsOn('windows:WindowDragDrop', (payload) => { + console.log('Files dropped:', payload.files); +}); +```🧰 Tools
🪛 LanguageTool
[grammar] ~17-~17: Did you mean “themes”?
Context: ...hemeChangedTriggered when the system theme changes ####events.Windows.APMPowerS...(WRB_DT_NN_VB)
[grammar] ~33-~33: The verb ‘suspend’ does not usually follow articles like ‘a’. Check that ‘suspend’ is spelled correctly; using ‘suspend’ as a noun may be non-standard.
Context: ...Triggered when the system resumes after a suspend and resume was triggered by the user #...(A_INFINITIVE)
🪛 Markdownlint (0.35.0)
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
38-38: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
docs/src/content/docs/api/events_mac.md (2)
479-480: Improve readability by combining split lines.The description is unnecessarily split across two lines.
-Triggered when the webview receives a server redirect for a provisional -navigation +Triggered when the webview receives a server redirect for a provisional navigation
91-182: Consider grouping menu-related events into a separate section.The menu-related events (MenuWillOpen, MenuDidOpen, etc.) would be more discoverable in their own section, similar to how Window Events are separated.
Suggested structure:
## Application Events + +## Menu Events + +#### `events.Mac.MenuWillOpen` ... + ## Window Events
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (2)
docs/src/content/docs/api/events_mac.md(1 hunks)docs/src/content/docs/api/events_windows.md(1 hunks)
🧰 Additional context used
📓 Learnings (1)
docs/src/content/docs/api/events_mac.md (1)
Learnt from: stavros-k
PR: wailsapp/wails#3917
File: docs/src/content/docs/api/events_mac.md:9-9
Timestamp: 2024-12-02T22:13:32.421Z
Learning: In `docs/src/content/docs/api/events_mac.md`, the heading levels are intentionally adjusted to improve sizing on the browser, to avoid manually customizing the styling of the doc generator.
🪛 LanguageTool
docs/src/content/docs/api/events_windows.md
[grammar] ~17-~17: Did you mean “themes”?
Context: ...hemeChanged Triggered when the system theme changes ####events.Windows.APMPowerS...
(WRB_DT_NN_VB)
[grammar] ~33-~33: The verb ‘suspend’ does not usually follow articles like ‘a’. Check that ‘suspend’ is spelled correctly; using ‘suspend’ as a noun may be non-standard.
Context: ...Triggered when the system resumes after a suspend and resume was triggered by the user #...
(A_INFINITIVE)
docs/src/content/docs/api/events_mac.md
[grammar] ~227-~227: Did you mean “screens”?
Context: ...hangeScreen Triggered when the window screen changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~251-~251: Did you mean “spaces”?
Context: ...ChangeSpace Triggered when the window space changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~259-~259: Did you mean “titles”?
Context: ...ChangeTitle Triggered when the window title changes ####events.Mac.WindowDidChan...
(WRB_DT_NN_VB)
[grammar] ~347-~347: Did you mean “shadows”?
Context: ...pdateShadow Triggered when the window shadow updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~351-~351: Did you mean “titles”?
Context: ...UpdateTitle Triggered when the window title updates ####events.Mac.WindowDidUpda...
(WRB_DT_NN_VB)
[grammar] ~387-~387: Did you mean “wills”?
Context: ...miniaturize Triggered when the window will deminiaturize ####events.Mac.WindowW...
(WRB_DT_NN_VB)
🪛 Markdownlint (0.35.0)
docs/src/content/docs/api/events_windows.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
38-38: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
docs/src/content/docs/api/events_mac.md
11-11: Expected: h3; Actual: h4
Heading levels should only increment by one level at a time
(MD001, heading-increment)
🔇 Additional comments (2)
docs/src/content/docs/api/events_windows.md (2)
1-7: LGTM! Well-structured frontmatter configuration.
The document is properly configured with appropriate title, table of contents depth, and sidebar ordering.
80-81:
Fix incorrect event description.
The description for WindowUnminimise event incorrectly states it's triggered when the window is minimised, which contradicts the event name.
-Triggered when the window is minimised
+Triggered when the window is unminimisedLikely invalid or redundant comment.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (14)
docs/src/content/docs/index.mdx (3)
22-24: Consider making the sponsor link configurableThe sponsor link is currently hardcoded. Consider moving it to a configuration file to make it more maintainable and reusable across the documentation.
This would allow easier updates if the sponsorship details change in the future.
75-77: Improve the language in the feedback sectionConsider rephrasing to be more direct and engaging:
-Your feedback is vital to making Wails better. If you encounter any issues or -have suggestions, please use our [Feedback process](/getting-started/feedback). -Contributions to the project are also welcome! +We value your feedback in making Wails better! Please share any issues or +suggestions through our [Feedback process](/getting-started/feedback). +We welcome contributions to the project!🧰 Tools
🪛 LanguageTool
[style] ~75-~75: The wording of this phrase can be improved.
Context: ..."open-book"> Your feedback is vital to making Wails better. If you encounter any issues or have su...(MAKE_STYLE_BETTER)
50-54: Consider adding version numbers for new featuresTo help users track when features were introduced, consider adding version numbers or dates for each new feature:
-Multiple Windows -System Trays -Improved bindings generation -Improved build system -Improved events system +Multiple Windows (v3.0.0-alpha.1) +System Trays (v3.0.0-alpha.2) +Improved bindings generation (v3.0.0-alpha.3) +Improved build system (v3.0.0-alpha.4) +Improved events system (v3.0.0-alpha.5)docs/src/content/docs/blog/2022-09-22-v2-release-notes.md (3)
9-9: Consider using root-relative paths for images.Using multiple parent directory references (
../../../) can be fragile if the directory structure changes. Consider using a root-relative path from the docs directory.- +
100-105: Consider improving the writing style in the credits section.A few style suggestions:
- Add a comma after "Cheers" in "Cheers Mat!"
- Consider rephrasing "I'm happy to announce" to something more impactful like "I'm excited to announce" or "I'm delighted to announce"
🧰 Tools
🪛 LanguageTool
[misspelling] ~100-~100: Possible spelling mistake found.
Context: ...ast, but not least, a huge thank you to Mat Ryer who has provided advice and support dur...(EN_MULTITOKEN_SPELLING_TWO)
[style] ~103-~103: Consider using a different adjective to strengthen your wording.
Context: ...design flaws in the early releases. I'm happy to announce that as of today, we will s...(HAPPY_EXCITED)
[formatting] ~105-~105: Insert a comma after ‘Cheers’.
Context: ...e flagship application for the project. Cheers Mat! # Lessons Learnt There are a num...(SENT_START_THANKS_COMMA)
134-134: Consider hyphenating compound adjectives.For technical accuracy in writing, consider hyphenating "Open Source" when used as a compound adjective:
-The more people that engage with an Open Source project +The more people that engage with an open-source project🧰 Tools
🪛 LanguageTool
[style] ~134-~134: Consider using “who” when you are referring to people instead of objects.
Context: ... ## Learning to say No The more people that engage with an Open Source project, the...(THAT_WHO)
[uncategorized] ~134-~134: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...No The more people that engage with an Open Source project, the more requests there will b...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/src/content/docs/getting-started/installation.mdx (6)
12-18: Consider clarifying Linux distribution support.The line "other Linux may work too!" is vague. Consider:
- Listing other officially tested Linux distributions
- Specifying minimum requirements for other distributions
-Ubuntu 24.04 AMD64/ARM64 (other Linux may work too!) +Ubuntu 24.04 AMD64/ARM64 (other Linux distributions with equivalent dependencies may work)
41-41: Specify recommended npm version range.Instead of suggesting "latest release", consider specifying a minimum supported version range for better clarity.
-Download the latest node installer from the [Node Downloads Page](https://nodejs.org/en/download/). It is best to use the latest release as that is what we generally test against. +Download the node installer from the [Node Downloads Page](https://nodejs.org/en/download/). We recommend using version 18.x (LTS) or newer.
58-58: Fix hyphenation in heading.The term "platform specific" should be hyphenated when used as a modifier.
-You will also need to install platform specific dependencies: +You will also need to install platform-specific dependencies:🧰 Tools
🪛 LanguageTool
[uncategorized] ~58-~58: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ndencies You will also need to install platform specific dependencies: <Tabs syncKey="platform"...(SPECIFIC_HYPHEN)
73-73: Consider specifying WebView2 Runtime version requirements.Add information about the minimum required WebView2 Runtime version for better clarity.
-Wails requires that the [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) is installed. Almost all Windows installations will already have this installed. You can check using the `wails doctor` command. +Wails requires the [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) (version 89.0.774.44 or later). Almost all Windows installations will already have this installed. You can check the installed version using the `wails doctor` command.
92-101: Add a warning about using the development version.Consider adding a note about potential instability when using the development version.
Add this warning after the development version installation steps:
go install + +:::caution[Development Version] +The development version may contain experimental features and breaking changes. Use it only if you're comfortable with potential instability. +:::
115-120: Enhance troubleshooting steps.Consider adding more specific troubleshooting steps and common solutions.
If your system is reporting that the `wails3` command is missing, check the following: - Make sure you have followed the above `Go installation guide` correctly and that the `go/bin` directory is in the `PATH` environment variable. -Close/Reopen current terminals to pick up the new `PATH` variable. +- Close/Reopen current terminals to pick up the new `PATH` variable. +- Verify the installation by running: `which wails3` (Unix) or `where wails3` (Windows) +- Try reinstalling the CLI: `go install -v github.com/wailsapp/wails/v3/cmd/wails3@latest` +- Check Go environment: `go env GOPATH GOBIN`docs/src/content/docs/getting-started/your-first-app.mdx (2)
15-23: Consider enhancing the prerequisites section.While the prerequisites are clear, consider:
- Specifying the minimum Node.js LTS version required.
- Adding a note about Wails v3's alpha status and potential instability.
Before you begin, ensure you have the following installed: - Go (version 1.21 or later) -- Node.js (LTS version) +- Node.js (version 18 LTS or later) - Wails v3 Alpha (see the [installation guide](/getting-started/installation) for instructions) + +:::note[Alpha Status] +Wails v3 is currently in alpha. Features and APIs may change between releases. +:::
109-112: Consider rephrasing for clarity.The current wording could be more concise.
- We can also run the application in development mode. This mode allows you to - make changes to your frontend code and see the changes reflected in the - running application without having to rebuild the entire application. + We can also run the application in development mode. This mode enables real-time + updates to your frontend code without requiring a full application rebuild.🧰 Tools
🪛 LanguageTool
[style] ~110-~110: Consider shortening or rephrasing this to strengthen your wording.
Context: ...pment mode. This mode allows you to make changes to your frontend code and see the changes ...(MAKE_CHANGES)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
⛔ Files ignored due to path filters (2)
docs/src/assets/wails-logo-dark.svgis excluded by!**/*.svgdocs/src/assets/wails-logo-light.svgis excluded by!**/*.svg
📒 Files selected for processing (6)
docs/astro.config.mjs(1 hunks)docs/src/content/authors.ts(1 hunks)docs/src/content/docs/blog/2022-09-22-v2-release-notes.md(1 hunks)docs/src/content/docs/getting-started/installation.mdx(1 hunks)docs/src/content/docs/getting-started/your-first-app.mdx(1 hunks)docs/src/content/docs/index.mdx(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/src/content/authors.ts
- docs/astro.config.mjs
🧰 Additional context used
📓 Learnings (1)
docs/src/content/docs/index.mdx (1)
Learnt from: stavros-k
PR: wailsapp/wails#3917
File: docs/src/content/docs/index.mdx:13-18
Timestamp: 2024-12-02T22:14:41.158Z
Learning: The documentation page `/learn/services` exists in `docs/src/content/docs/learn/services.md`.
🪛 LanguageTool
docs/src/content/docs/index.mdx
[style] ~75-~75: The wording of this phrase can be improved.
Context: ..."open-book"> Your feedback is vital to making Wails better. If you encounter any issues or have su...
(MAKE_STYLE_BETTER)
docs/src/content/docs/blog/2022-09-22-v2-release-notes.md
[misspelling] ~100-~100: Possible spelling mistake found.
Context: ...ast, but not least, a huge thank you to Mat Ryer who has provided advice and support dur...
(EN_MULTITOKEN_SPELLING_TWO)
[style] ~103-~103: Consider using a different adjective to strengthen your wording.
Context: ...design flaws in the early releases. I'm happy to announce that as of today, we will s...
(HAPPY_EXCITED)
[formatting] ~105-~105: Insert a comma after ‘Cheers’.
Context: ...e flagship application for the project. Cheers Mat! # Lessons Learnt There are a num...
(SENT_START_THANKS_COMMA)
[style] ~134-~134: Consider using “who” when you are referring to people instead of objects.
Context: ... ## Learning to say No The more people that engage with an Open Source project, the...
(THAT_WHO)
[uncategorized] ~134-~134: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...No The more people that engage with an Open Source project, the more requests there will b...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~137-~137: This phrase is often redundant. Consider writing “I” unless you want to emphasize that you and not someone else will do something.
Context: ...ng maintenance cost from that point on. I myself am the most guilty of this, often wanti...
(I_MYSELF)
[style] ~174-~174: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...le to achieve with the V2 release. It's amazing to see what people have already been ab...
(AWESOME)
[style] ~183-~183: ‘each and every’ might be wordy. Consider a shorter alternative.
Context: ...s not only been my time and the time of each and every contributor, but also the cost of absen...
(EN_WORDINESS_PREMIUM_EACH_AND_EVERY)
[style] ~190-~190: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...have such a huge impact! It would be so awesome if you too were part of the story in ge...
(AWESOME)
docs/src/content/docs/getting-started/installation.mdx
[uncategorized] ~58-~58: When ‘platform-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ndencies You will also need to install platform specific dependencies: <Tabs syncKey="platform"...
(SPECIFIC_HYPHEN)
docs/src/content/docs/getting-started/your-first-app.mdx
[uncategorized] ~46-~46: Loose punctuation mark.
Context: ...al files and folders: - build: Contains files used by the build proces...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~47-~47: Loose punctuation mark.
Context: ...d by the build process. - frontend: Contains your web frontend code. - ...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...o.sum: Go module files. - main.go`: The entry point for your Wails applicat...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ... Wails application. - Taskfile.yml: Defines all the tasks used by the build...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~110-~110: Consider shortening or rephrasing this to strengthen your wording.
Context: ...pment mode. This mode allows you to make changes to your frontend code and see the changes ...
(MAKE_CHANGES)
🔇 Additional comments (11)
docs/src/content/docs/index.mdx (2)
30-30: LGTM!
Clean and specific import of required components.
1-90: Well-structured documentation landing page
The documentation is well-organized, comprehensive, and effectively guides users through the Wails v3 features and resources. The use of cards with icons makes the content visually appealing and easy to navigate.
🧰 Tools
🪛 LanguageTool
[style] ~75-~75: The wording of this phrase can be improved.
Context: ..."open-book"> Your feedback is vital to making Wails better. If you encounter any issues or have su...
(MAKE_STYLE_BETTER)
docs/src/content/docs/blog/2022-09-22-v2-release-notes.md (4)
1-7: LGTM! Frontmatter metadata is well-structured.
The metadata follows the standard frontmatter format with all required fields properly defined.
43-72: LGTM! Well-structured feature list with proper documentation links.
The feature list is comprehensive and each item is properly linked to its corresponding documentation.
147-170: LGTM! Clear roadmap and future plans.
The section effectively communicates future plans and API stability considerations.
174-198: LGTM! Strong conclusion with well-formatted links.
The conclusion effectively showcases example applications and includes a clear call to action for sponsorship.
🧰 Tools
🪛 LanguageTool
[style] ~174-~174: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...le to achieve with the V2 release. It's amazing to see what people have already been ab...
(AWESOME)
[style] ~183-~183: ‘each and every’ might be wordy. Consider a shorter alternative.
Context: ...s not only been my time and the time of each and every contributor, but also the cost of absen...
(EN_WORDINESS_PREMIUM_EACH_AND_EVERY)
[style] ~190-~190: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...have such a huge impact! It would be so awesome if you too were part of the story in ge...
(AWESOME)
docs/src/content/docs/getting-started/installation.mdx (2)
1-8: LGTM!
The frontmatter and imports are correctly structured.
104-104: Fix markdown link syntax for the Go replace directive.
There's a syntax error in the markdown link for the Go replace directive.
-[replace](https://go.dev/ref/mod#go-mod-file-replace)
+[`replace`](https://go.dev/ref/mod#go-mod-file-replace)docs/src/content/docs/getting-started/your-first-app.mdx (3)
1-9: LGTM! Frontmatter and imports are well-structured.
The frontmatter and component imports are correctly configured for the documentation page.
190-195: LGTM! Clear and encouraging conclusion.
The conclusion effectively wraps up the guide and encourages further exploration.
139-141: Verify Linux packaging commands and add prerequisites.
The Linux packaging section could benefit from:
- Prerequisites for each package type (e.g.,
rpmbuildfor RPM packages) - Verification of the task names in
Taskfile.yml
Also applies to: 168-179
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (3)
docs/src/content/docs/changelog.md (3)
20-20: Consider adding a link to the Unreleased section.Following the Keep a Changelog format, consider adding a link to compare the unreleased changes:
-## [Unreleased] +## [Unreleased](https://github.com/wailsapp/wails/compare/v3.0.0-alpha.8...HEAD)
196-198: Fix bare URL format.Use markdown link format instead of bare URLs:
-- [linux] WindowDidMove / WindowDidResize events in [#3580](https://github.com/wailsapp/wails/pull/3580) -- [windows] WindowDidResize event in [#3580](https://github.com/wailsapp/wails/pull/3580) +- [linux] WindowDidMove / WindowDidResize events ([#3580](https://github.com/wailsapp/wails/pull/3580)) +- [windows] WindowDidResize event ([#3580](https://github.com/wailsapp/wails/pull/3580))
290-290: Fix OS naming conventions.Ensure consistent and correct OS naming:
-- Fix MacOS systray click handling +- Fix macOS systray click handling -- Fix crash on windows left clicking +- Fix crash on Windows left-clickingAlso applies to: 296-296
🧰 Tools
🪛 LanguageTool
[grammar] ~290-~290: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...(MAC_OS)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (1)
docs/src/content/docs/changelog.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/src/content/docs/changelog.md
[grammar] ~290-~290: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...
(MAC_OS)
[grammar] ~296-~296: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...
(A_WINDOWS)
[grammar] ~296-~296: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...
(CLICK_HYPHEN)
🔇 Additional comments (2)
docs/src/content/docs/changelog.md (2)
1-19: LGTM!
The file follows the Keep a Changelog format and includes clear guidelines for categorizing changes.
166-177: Remove duplicate entries in the Fixed section.
The following entries appear twice in the v3.0.0-alpha.7 Fixed section:
- "Do not bind internal service methods" (PR #3720)
- "[windows] Fixed system tray startup panic" (Issue #3693)
Remove the duplicate entries to maintain changelog clarity.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (2)
docs/src/content/docs/changelog.md (2)
158-160: Fix "macOS" capitalization.The operating system name should be written as "macOS" instead of "MacOS".
Apply this diff:
-Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' +Fix error on building runnable .app on macOS when 'name' and 'outputfilename' -Fix MacOS systray click handling when no attached window +Fix macOS systray click handling when no attached windowAlso applies to: 327-329
🧰 Tools
🪛 LanguageTool
[grammar] ~158-~158: The operating system from Apple is written “macOS”.
Context: ... Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' are ...(MAC_OS)
333-335: Fix capitalization and hyphenation.The text needs proper capitalization for "Windows" and hyphenation for "left-clicking".
Apply this diff:
-Fix crash on windows left clicking the systray icon when not having an +Fix crash on Windows left-clicking the systray icon when not having an🧰 Tools
🪛 LanguageTool
[grammar] ~333-~333: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...(A_WINDOWS)
[grammar] ~333-~333: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...(CLICK_HYPHEN)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (1)
docs/src/content/docs/changelog.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/src/content/docs/changelog.md
[grammar] ~158-~158: The operating system from Apple is written “macOS”.
Context: ... Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' are ...
(MAC_OS)
[grammar] ~327-~327: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...
(MAC_OS)
[grammar] ~333-~333: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...
(A_WINDOWS)
[grammar] ~333-~333: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...
(CLICK_HYPHEN)
🔇 Additional comments (3)
docs/src/content/docs/changelog.md (3)
1-18: LGTM! Well-structured changelog header.
The changelog follows the Keep a Changelog format and includes clear categorization guidelines.
20-35: LGTM! Clear and well-organized unreleased section.
The unreleased section properly categorizes recent changes with clear attribution to contributors.
203-214:
Remove duplicate entries in v3.0.0-alpha.7 section.
The following entries appear twice:
Remove the duplicate entries to maintain changelog clarity.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (5)
docs/src/content/docs/changelog.md (5)
158-158: Fix inconsistent macOS namingReplace "MacOS" with "macOS" to maintain consistent naming conventions throughout the changelog.
-Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' +Fix error on building runnable .app on macOS when 'name' and 'outputfilename' -Fix MacOS systray click handling when no attached +Fix macOS systray click handling when no attachedAlso applies to: 327-327
🧰 Tools
🪛 LanguageTool
[grammar] ~158-~158: The operating system from Apple is written “macOS”.
Context: ... Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' are ...(MAC_OS)
333-333: Fix Windows capitalization and hyphenationCorrect the capitalization of "Windows" and add a hyphen to "left-clicking" for consistency and proper grammar.
-Fix crash on windows left clicking the systray icon +Fix crash on Windows left-clicking the systray icon🧰 Tools
🪛 LanguageTool
[grammar] ~333-~333: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...(A_WINDOWS)
[grammar] ~333-~333: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...(CLICK_HYPHEN)
61-61: Fix broken PR linkThe PR link for #3909 is malformed.
-[#3909](https://github.com/wailsapp/wails/3909) +[#3909](https://github.com/wailsapp/wails/pull/3909)
245-246: Fix malformed link formatThe link format in the changelog entry is incorrect.
-@[Atterpac](https://github.com/Atterpac) -in[#3022](https://github.com/wailsapp/wails/pull/3022]) +[@Atterpac](https://github.com/Atterpac) +in [#3022](https://github.com/wailsapp/wails/pull/3022)
251-253: Standardize PR link formatSome changelog entries use a generic "PR" text instead of the PR number format. Standardize these to match the rest of the changelog.
-[PR](https://github.com/wailsapp/wails/pull/3147) +[#3147](https://github.com/wailsapp/wails/pull/3147) -[PR](https://github.com/wailsapp/wails/pull/3189) +[#3189](https://github.com/wailsapp/wails/pull/3189) -[atterpac](https://github.com/atterac) +[atterpac](https://github.com/atterpac)Also applies to: 295-296
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
📒 Files selected for processing (1)
docs/src/content/docs/changelog.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/src/content/docs/changelog.md
[grammar] ~158-~158: The operating system from Apple is written “macOS”.
Context: ... Fix error on building runnable .app on MacOS when 'name' and 'outputfilename' are ...
(MAC_OS)
[grammar] ~327-~327: The operating system from Apple is written “macOS”.
Context: ...aths with spaces - @leaanthony. - Fix MacOS systray click handling when no attached...
(MAC_OS)
[grammar] ~333-~333: “Windows” (operating system by Microsoft) is a proper noun and needs to be capitalized.
Context: ...ailsapp/wails/pull/3208) - Fix crash on windows left clicking the systray icon when not...
(A_WINDOWS)
[grammar] ~333-~333: The verb “left-clicking” is spelled with a hyphen.
Context: ...wails/pull/3208) - Fix crash on windows left clicking the systray icon when not having an a...
(CLICK_HYPHEN)
🔇 Additional comments (2)
docs/src/content/docs/changelog.md (2)
1-18: LGTM! Well-structured changelog header
The file follows the Keep a Changelog format and clearly defines the different types of changes.
203-214:
Remove duplicate entries
The following entries appear twice in the changelog:
- "Do not bind internal service methods" (PR #3720)
- "[windows] Fixed system tray startup panic" (Issue #3693)
Please remove the duplicate entries to maintain changelog clarity.
|
Thanks for keeping this up to date. I'm ok merging this for now and seeing how it goes. There's still a lot to do. |
* init docs * add few categories * add more * update home * add blog * update favicon * fix few links and * untouch * untouch more * add some icons * add icons * move ggetting started at the top and collapse the rest * actually collapse * format * remove includes * more format * remove includes * move assets * add i18n * fix i18n * formatting * order * Prevent sidebar from making the page shake during load * Prevent sidebar from making the page shake during load * organize docs * fix link * expand a bit * add credits page * update all contributors file * remove underlines * add alternative * use html * lets get the first success build * add latest entry * remove example file * fix examples * more fixes * fix grammar * grammar * remove dupes * fix link * grammar * typo * typo * typo * Logo update. Minor changes. * update changelog * update changelog * rabbit is right --------- Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please select the option that is relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration using
wails doctor.If you checked Linux, please specify the distro and version.
Test Configuration
Please paste the output of
wails doctor. If you are unable to run this command, please describe your environment in as much detail as possible.Checklist:
website/src/pages/changelog.mdxwith details of this PRSummary by CodeRabbit
New Features
.mdxfile formatting in Prettier..gitignorefile for thedocsdirectory to manage ignored files.README.mdwith new sections for project structure and commands.package.jsonfile for project dependencies and scripts.tsconfig.jsonfile.Bug Fixes
Documentation
Style
Tests
Chores