Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] development from desktop:development #455

Open
wants to merge 4,915 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4915 commits
Select commit Hold shift + click to select a range
16fb102
Finish on context menu wire up
tidy-dev Dec 10, 2024
14f242d
Add row keyboard function callback
tidy-dev Dec 10, 2024
0b199ea
Wire up on blur
tidy-dev Dec 10, 2024
9df0590
Wire up on key down on item
tidy-dev Dec 10, 2024
8010751
Add scroll callbacks
tidy-dev Dec 11, 2024
4ba30c6
Wire up ariaLabel
tidy-dev Dec 11, 2024
4193a0c
Handle CLI actions separately from url actions
niik Dec 11, 2024
effb8cd
Get rid of CLI dynamic commands lookup
niik Dec 11, 2024
3baa284
Use process.platform over compile time vars
niik Dec 11, 2024
9cbcc1b
Get rid of handlePossibleProtocolLauncherArgs
niik Dec 11, 2024
9bc426d
Let handleAppUrl take care of parsing problems
niik Dec 11, 2024
0201be7
Remove import
niik Dec 11, 2024
855a576
Always create a new instance or else open will just focus the app
niik Dec 11, 2024
0654277
First take on Windows CLI support
niik Dec 11, 2024
4409533
Merge pull request #19687 from desktop/some-checks-not-complete-contrast
tidy-dev Dec 11, 2024
cf2cff2
Merge pull request #19685 from desktop/about-links-size
tidy-dev Dec 11, 2024
1a8a45f
Merge pull request #19684 from desktop/ignore-text-area-aria-labelling
tidy-dev Dec 11, 2024
e0beb13
Close diff options on mouse down outside of popover
niik Dec 11, 2024
5d3446e
Get windows CLI working
niik Dec 11, 2024
35be3f7
Formatting
niik Dec 11, 2024
b33cbb4
Don't need this
niik Dec 11, 2024
c75546c
Release 3.4.10
tidy-dev Dec 11, 2024
b115199
Merge pull request #19694 from desktop/defer-validation
niik Dec 11, 2024
462e28b
:art: cleanup
niik Dec 11, 2024
07e3f67
Update changelog.json
tidy-dev Dec 11, 2024
16d644b
Track selectedRows..ish
tidy-dev Dec 11, 2024
8b2f514
Pass in and handle selected Items
tidy-dev Dec 11, 2024
42a20e4
Error handling
niik Dec 12, 2024
b28fc49
typo
niik Dec 12, 2024
0410d1f
Don't need this any more
niik Dec 12, 2024
eaeea3a
Merge pull request #19709 from desktop/close-diff-options-on-mousedown
niik Dec 12, 2024
7d89349
Merge pull request #19706 from desktop/releases/3.4.10
sergiou87 Dec 13, 2024
cda6daf
Cap output from git at string max length
niik Dec 16, 2024
af4cd4c
Merge pull request #19724 from desktop/string-theory
niik Dec 16, 2024
2e6f93a
Cap output from git at string max length
niik Dec 16, 2024
afc147e
Bump version
niik Dec 16, 2024
6f3fe37
Face, meet palm
niik Dec 16, 2024
bd65aa8
Merge pull request #19726 from desktop/palmface
niik Dec 16, 2024
9b7d2ed
Merge pull request #19692 from desktop/dependabot/npm_and_yarn/nanoid…
niik Dec 16, 2024
9db0c06
Face, meet palm
niik Dec 16, 2024
c6ea196
Added check to make sure a pull request exists
DylanDevelops Dec 16, 2024
26f068f
Merge pull request #19695 from desktop/filter-changes-feature-flag
tidy-dev Dec 17, 2024
a0e2cd5
Skip caching for now, worry about cache invalidation later
niik Dec 17, 2024
8c7782a
Merge pull request #19725 from desktop/releases/3.4.11
niik Dec 17, 2024
0c9aa8c
Merge pull request #19730 from desktop/cache-less
niik Dec 17, 2024
43d9031
Skip caching for now, worry about cache invalidation later
niik Dec 17, 2024
6d57135
Bump version
niik Dec 17, 2024
8e0ac16
Release 3.4.12-beta1
tidy-dev Dec 17, 2024
108dbfb
Update globals.d.ts
niik Dec 17, 2024
d5562bf
Remove unnecessary content wrapping
tidy-dev Dec 17, 2024
9e89be6
Remove status tooltip
tidy-dev Dec 17, 2024
229095e
Merge pull request #19731 from desktop/releases/3.4.12-beta1
tidy-dev Dec 17, 2024
361392f
Remove support for Atom
niik Dec 17, 2024
6b353c4
Launch VSCode and VSCodium via their .exe
niik Dec 17, 2024
980aef7
Enumerate JetBrains toolbox uninstall entries
niik Dec 17, 2024
b225cd2
Don't need this
niik Dec 17, 2024
3e60207
Don't need theese
niik Dec 17, 2024
edeb480
Whooops
niik Dec 17, 2024
0341e45
Remove usesShell property
niik Dec 17, 2024
f6b9116
Don't need these now that we've removed the use of shell
niik Dec 17, 2024
8aaddbb
Merge pull request #19728 from DylanDevelops/dylandev/context-menu-fix
niik Dec 18, 2024
c543b3d
Merge branch 'development' into releases/3.4.12
niik Dec 18, 2024
ed12264
Merge pull request #19734 from desktop/announce-thank-you-banner
tidy-dev Dec 18, 2024
86a419a
Go look in wow64 uninstall subkey as well
niik Dec 18, 2024
bb93261
Attempt to explain why we can't publish
niik Dec 18, 2024
6f3586c
Bubble up the filtered items
tidy-dev Dec 18, 2024
efc5fea
Add check for if all files to be committed are visible
tidy-dev Dec 18, 2024
f86de3d
Merge pull request #19744 from desktop/command-less
niik Dec 18, 2024
14223ba
Create confirm-commit-filtered-changes-dialog.tsx
tidy-dev Dec 18, 2024
c1f6433
Create prompt setting for committing filtered changes
tidy-dev Dec 18, 2024
0893f63
Add confirm filter changes popup model
tidy-dev Dec 18, 2024
0db1c85
Bubble create commit action on confirm
tidy-dev Dec 18, 2024
730c0b9
Dispatch popup
tidy-dev Dec 18, 2024
0685293
Merge pull request #19745 from desktop/to-publish-or-not-to-publish-t…
niik Dec 18, 2024
3abfaea
Finish wiring up askForConfirmationOnCommitFilteredChanges
tidy-dev Dec 18, 2024
62dd1bf
Clearer title
tidy-dev Dec 18, 2024
ad5db30
Clearer variable name
tidy-dev Dec 18, 2024
5b0a201
Remove flex row so clear filter link works
tidy-dev Dec 18, 2024
cefd0b0
Update confirm-commit-filtered-changes-dialog.tsx
tidy-dev Dec 18, 2024
34f3e5c
Update commit-message.tsx
tidy-dev Dec 18, 2024
38f215e
Put clear filter in the cancel button
tidy-dev Dec 18, 2024
c96a47b
Clear filter after commit
tidy-dev Dec 18, 2024
7817143
Use findFileIndexByID
tidy-dev Dec 19, 2024
56cb479
Bump cross-spawn from 6.0.5 to 6.0.6 in /app
dependabot[bot] Dec 19, 2024
f981711
Merge pull request #19698 from desktop/switch-to-filtered-list
tidy-dev Dec 19, 2024
2d5e47a
Merge pull request #19751 from desktop/dependabot/npm_and_yarn/app/cr…
niik Dec 19, 2024
6c1d9b0
Merge branch 'development' into Add-mutli-select-to-filtered-list
tidy-dev Dec 19, 2024
1c8c160
Merge pull request #19700 from desktop/add-missing-list-callbacks-to-…
tidy-dev Dec 19, 2024
6b2fd02
Doc xor
tidy-dev Dec 19, 2024
ded5c11
Use more efficient findFileIndexByID
tidy-dev Dec 19, 2024
af0ccc1
Merge branch 'development' into Add-mutli-select-to-filtered-list
tidy-dev Dec 19, 2024
bf33d02
Merge branch 'Add-mutli-select-to-filtered-list' into bubble-up-filte…
tidy-dev Dec 19, 2024
5a90c67
Better has same ids documentation
tidy-dev Dec 19, 2024
9c03051
Merge pull request #19708 from desktop/Add-mutli-select-to-filtered-list
tidy-dev Dec 19, 2024
987e811
Merge pull request #19732 from desktop/releases/3.4.12
niik Dec 19, 2024
247954b
Merge branch 'development' into bubble-up-filtered-rows
tidy-dev Dec 19, 2024
54d6de7
Change filtered items to a set for faster comparison to selected items
tidy-dev Dec 19, 2024
1262dae
Merge branch 'bubble-up-filtered-rows' into confirm-users-knows-about…
tidy-dev Dec 19, 2024
31b4d58
Merge pull request #19733 from desktop/cli-direct-invoke
niik Dec 19, 2024
b8bc5b8
Merge pull request #19747 from desktop/bubble-up-filtered-rows
tidy-dev Dec 19, 2024
1ef8592
Memomize isCommittingFileHiddenByFilter
tidy-dev Dec 19, 2024
47666e1
Merge pull request #19735 from desktop/remove-pr-badge-status-tooltip
tidy-dev Dec 19, 2024
d461538
Release 3.4.13-beta1
tidy-dev Dec 19, 2024
a8e12b6
Merge pull request #19748 from desktop/confirm-users-knows-about-all-…
tidy-dev Dec 19, 2024
2000827
Merge pull request #19752 from desktop/releases/3.4.13-beta1
tidy-dev Dec 19, 2024
0e06d12
Calculate the check all box based on filtered results
tidy-dev Dec 19, 2024
afca6ac
Add setting to allow users to turn on filtering changes
tidy-dev Dec 19, 2024
6528bc1
Toggle filtering changes by app settings
tidy-dev Dec 19, 2024
6cc0165
Commit summary button informs user how many files they are about to c…
tidy-dev Dec 20, 2024
a254da5
Fix formatting in setup.md
monteiro-renato Dec 22, 2024
b68e7da
Merge pull request #19761 from monteiro-renato/patch-1
tidy-dev Dec 22, 2024
a48d93e
Highlight matches in files list
tidy-dev Dec 23, 2024
5862ff0
Use branch/repo list style highlighting
tidy-dev Dec 23, 2024
0899554
Apply same mark styles in tooltip
tidy-dev Dec 23, 2024
241d58e
Done exclude the first match
tidy-dev Dec 23, 2024
bdf3747
Move filter input into top of changes list header
tidy-dev Dec 23, 2024
33bb05e
Update header to reflect filter results and no longer needed included…
tidy-dev Dec 23, 2024
45cc3e2
Use the #changes-list as the flex box
tidy-dev Dec 23, 2024
ec17e25
Send in current selection start/finish from order selected rows
tidy-dev Dec 23, 2024
65adbb0
Merge branch 'fix-filter-list-overlapping' into add-ability-to-filter…
tidy-dev Dec 23, 2024
9f06eaf
Merge branch 'change-list-filter-input-in-header' into add-ability-to…
tidy-dev Dec 23, 2024
8af27f1
Merge branch 'change-list-item-shows-filter-match' into add-ability-t…
tidy-dev Dec 23, 2024
0f8feaf
Merge branch 'update-commit-button-to-include-files-count' into add-a…
tidy-dev Dec 23, 2024
0d9b57a
Merge branch 'create-setting-toggle-filtering-changes' into add-abili…
tidy-dev Dec 23, 2024
eb590af
Merge branch 'check-all-box-only-toggles-filter-results' into add-abi…
tidy-dev Dec 23, 2024
25c5398
Update _changes-list.scss
tidy-dev Dec 24, 2024
68e01cc
Squashed commit of the following:
tidy-dev Dec 24, 2024
8b9ddf7
Add visual filter toggle
tidy-dev Dec 23, 2024
dcb13ae
Add ability to filter by a method in addition to filter input
tidy-dev Dec 23, 2024
f0c9224
Button hover styles like diff settings
tidy-dev Dec 24, 2024
c6774a2
Add tooltip
tidy-dev Dec 24, 2024
90bb8a1
Update confirmation dialog to filter to files to be committed
tidy-dev Dec 24, 2024
a584fce
Fix css regression of regular header/tidy css
tidy-dev Dec 24, 2024
3e58cc3
Linter
tidy-dev Dec 24, 2024
6ce9e22
Add Ghostty shell integration
aelew Dec 26, 2024
80ac47d
Merge pull request #19279 from GWDx/fix-gitignore-empty-line
tidy-dev Dec 30, 2024
5fcda0b
Add no filter results messaging
tidy-dev Dec 31, 2024
a6ea57a
Fixes moving maximized window in windows
ahrm Dec 31, 2024
36b6b66
Update screenreader message when filtering by included in commit toggle
tidy-dev Jan 2, 2025
fb8f72e
Update update-available.tsx
tidy-dev Jan 8, 2025
b5937be
Merge pull request #19777 from aelew/add-ghostty-shell-integration
tidy-dev Jan 8, 2025
ab7f1cd
Use each not map for non-mapping loop
tidy-dev Jan 13, 2025
073c1a9
Use has not get for just checking a map
tidy-dev Jan 13, 2025
ed678d6
Fix suggestion break
tidy-dev Jan 13, 2025
74a7c27
fix: handle empty rowcount array in section-list
sfadschm Jan 11, 2025
b9d79e8
dev-deps: bump electron-devtools-installer to 3.2.1
sfadschm Jan 11, 2025
49a8c5f
dev-deps: remove ChromeLens
sfadschm Jan 11, 2025
0f753b4
Bump dugite to 3.0.0-rc5
tidy-dev Jan 14, 2025
06aeca4
Don't parse kv lines using regex
tidy-dev Jan 14, 2025
d9f95af
Release 3.4.13
tidy-dev Jan 14, 2025
af09078
Bump dugite to 3.0.0-rc5
tidy-dev Jan 14, 2025
f9fe691
Don't parse kv lines using regex
tidy-dev Jan 14, 2025
cc50838
Release 3.4.13-beta2
tidy-dev Jan 14, 2025
c0949a1
Improved note
tidy-dev Jan 14, 2025
ff06056
Update changelog.json
tidy-dev Jan 14, 2025
df9384b
Don't forget about the newline
niik Jan 14, 2025
c968496
Don't forget about the newline
niik Jan 14, 2025
c534a50
Merge pull request #19836 from desktop/releases/3.4.13-beta2
tidy-dev Jan 15, 2025
f820357
Merge branch 'development' into releases/3.4.13
tidy-dev Jan 15, 2025
4c52078
Update changelog.json
tidy-dev Jan 15, 2025
1fe68e2
Update changelog.json
tidy-dev Jan 15, 2025
9b253ea
Merge pull request #19835 from desktop/releases/3.4.13
tidy-dev Jan 15, 2025
5a5a0b5
Merge pull request #19823 from sfadschm/fix-dev-array-reduce-empty
sergiou87 Jan 15, 2025
45b53ee
Merge pull request #19755 from desktop/create-setting-toggle-filterin…
tidy-dev Jan 15, 2025
46b7527
Merge pull request #19758 from desktop/update-commit-button-to-includ…
tidy-dev Jan 15, 2025
274593b
Merge pull request #19754 from desktop/check-all-box-only-toggles-fil…
tidy-dev Jan 15, 2025
476592c
Merge pull request #19763 from desktop/change-list-item-shows-filter-…
tidy-dev Jan 15, 2025
ee3ba1f
Merge pull request #19764 from desktop/change-list-filter-input-in-he…
tidy-dev Jan 15, 2025
ff7e030
Merge pull request #19765 from desktop/fix-filter-list-overlapping
tidy-dev Jan 15, 2025
eedccd6
Merge pull request #19766 from desktop/fix-shift-up-multi-selection-s…
tidy-dev Jan 15, 2025
110ff71
Merge pull request #19833 from sfadschm/dev-deps-remove-chromelens
tidy-dev Jan 15, 2025
3f94553
Merge branch 'development' into add-ability-to-filter-to-included-only
tidy-dev Jan 15, 2025
f49b24e
dev-deps: fix license overwrite for tslib-2.8.1
sfadschm Jan 15, 2025
7d67439
Hack showcase banner to announce
tidy-dev Jan 15, 2025
a7c946d
Hack make accessibility settings announce
tidy-dev Jan 15, 2025
4ac4259
Remove unreliable announcements for accessibility banner and make os-…
tidy-dev Jan 15, 2025
d6bbf35
Merge pull request #19832 from sfadschm/fix-dev-dependencies
sergiou87 Jan 16, 2025
ccb109e
Bump alive-client dep to v1.2.0
sergiou87 Jan 16, 2025
5ef4f07
Merge pull request #19806 from desktop/dismis-showcase-banner
tidy-dev Jan 17, 2025
0aba1ef
Merge pull request #19840 from desktop/banners-and-voiceover
tidy-dev Jan 17, 2025
68c32d5
Update to be committed filter words
tidy-dev Jan 17, 2025
f43f822
Merge pull request #19845 from desktop/bump-alive-client
sergiou87 Jan 20, 2025
eaabef1
Bump version and changelog
niik Jan 20, 2025
cbf8eb2
Merge pull request #19786 from ahrm/development
tidy-dev Jan 21, 2025
632856c
Merge pull request #19867 from desktop/releases/3.4.14
tidy-dev Jan 21, 2025
1029e47
Bump dugite to v3.0.0-rc7 which brings arm64 support for Windows
sergiou87 Jan 21, 2025
e2b4393
Bump dugite to v3.0.0-rc10 and update build script to use the right g…
sergiou87 Jan 21, 2025
c269188
Look through all arguments to find app url
niik Jan 21, 2025
6cd4ac7
Look through all arguments to find app url
niik Jan 21, 2025
3fea2a1
Bump version, add changelog
niik Jan 21, 2025
dcf754d
Merge pull request #19887 from desktop/url-in-a-haystack
niik Jan 22, 2025
a6c367b
Merge pull request #19889 from desktop/releases/3.4.15
niik Jan 22, 2025
ba23199
Merge pull request #19880 from desktop/git-for-windows-arm64
sergiou87 Jan 22, 2025
16d6e74
Bump version and changelog
niik Jan 22, 2025
3ef86c3
Update changelog.json
sergiou87 Jan 22, 2025
29a9cb4
Merge pull request #19767 from desktop/add-ability-to-filter-to-inclu…
tidy-dev Jan 22, 2025
1d632f5
Merge pull request #19892 from desktop/releases/3.4.16-beta1
niik Jan 23, 2025
64a60d1
update eslint-plugin-github to latest
tidy-dev Jan 23, 2025
a3bc435
Merge pull request #19900 from desktop/update-eslint-plugin-github
tidy-dev Jan 23, 2025
b6b5b1f
dev-deps: bump electron-devtools-installer to 4.0.0
sfadschm Jan 16, 2025
4b8c4f7
Merge pull request #19849 from sfadschm/bump-devtools-installer
tidy-dev Jan 27, 2025
d5cb9e6
CLI shouldn't wait for app to exit
niik Jan 27, 2025
89ffb2b
Upgrade to Electron 34.0.1
tidy-dev Jan 27, 2025
aac34f1
10.15 not supported in next electron upgrade message
tidy-dev Jan 27, 2025
6d4a981
Merge pull request #19918 from desktop/next-version-unsupported
tidy-dev Jan 27, 2025
7279fa4
Update .npmrc
tidy-dev Jan 27, 2025
0c270fa
Update .nvmrc
tidy-dev Jan 27, 2025
a6cebc7
Merge pull request #19789 from desktop/add-no-results-message
tidy-dev Jan 28, 2025
c13303d
Add files to be committed count to commit button always
tidy-dev Jan 29, 2025
ec6dad9
Make a LinkButton to show changes hidden from view.
tidy-dev Jan 29, 2025
07e9c9a
Prepare for not waiting on editor to exit
niik Jan 30, 2025
3cfd29c
Launch custom and regular editors alike and catch errors
niik Jan 30, 2025
724b56e
Don't log on each keystroke if the path just doesn't exist
niik Jan 30, 2025
c3708a9
Move conditional for using open out of launchEditor
niik Jan 30, 2025
14b1def
Ensure we're testing the editor path, not the open command
niik Jan 30, 2025
6a430d3
Merge branch 'development' into upgrade-electrion-to-34
tidy-dev Jan 30, 2025
adff243
Merge pull request #19919 from desktop/upgrade-electrion-to-34
tidy-dev Jan 31, 2025
8000a04
Merge pull request #19922 from desktop/dont-toggle-files-to-be-commit…
tidy-dev Jan 31, 2025
32b5d39
Clearer words/link
tidy-dev Jan 31, 2025
e2b9eea
Update confirm-commit-filtered-changes-dialog.tsx
tidy-dev Jan 31, 2025
532f2d5
Revert "Merge pull request #19919 from desktop/upgrade-electrion-to-34"
tidy-dev Jan 31, 2025
85ae1fd
Release 3.4.16-beta2
tidy-dev Jan 31, 2025
c391ef7
That one still flagged to development
tidy-dev Jan 31, 2025
cbbfec0
Update changelog.json
tidy-dev Jan 31, 2025
a837d09
Merge pull request #19923 from desktop/tertiary-dialog-option
tidy-dev Jan 31, 2025
736f4a9
Update changelog.json
tidy-dev Jan 31, 2025
5f60e75
Fix indentation in changelog
sergiou87 Jan 31, 2025
55a7cab
Merge pull request #19917 from desktop/dont-wait-for-me
sergiou87 Feb 3, 2025
519ca15
Merge pull request #19930 from desktop/errors-errors-everywhere
sergiou87 Feb 3, 2025
09a5539
Merge pull request #19918 from desktop/next-version-unsupported
tidy-dev Jan 27, 2025
ba99738
Release 3.4.16
tidy-dev Feb 3, 2025
7fd8d3e
Reapply "Merge pull request #19919 from desktop/upgrade-electrion-to-34"
tidy-dev Feb 3, 2025
b7046a0
Merge pull request #19934 from desktop/releases/3.4.16-beta2
tidy-dev Feb 3, 2025
7950938
Merge branch 'development' into releases/3.4.16
tidy-dev Feb 3, 2025
beb0904
Merge pull request #19949 from desktop/releases/3.4.16
tidy-dev Feb 3, 2025
8f7048c
Release 3.4.17-beta1
tidy-dev Feb 3, 2025
3f22408
Merge pull request #19950 from desktop/releases/3.4.17-beta1
tidy-dev Feb 3, 2025
c6449bf
Bugfix : modified shortened SHA length from 9 to 7 chars to unify style
molnarriso Feb 5, 2025
cdc0ec8
Merge pull request #19972 from molnarriso/bugfix/unify-short-hash
niik Feb 10, 2025
2d6accb
Replace `title` with `Tooltip` in `AuthorHandle`
sergiou87 Feb 10, 2025
ccc7046
Merge pull request #19992 from desktop/author-handle-tooltip
sergiou87 Feb 11, 2025
0693bdd
Move aria props to listbox element in SectionList
sergiou87 Feb 11, 2025
27a5bdb
Replace `aria-label` with `sr-only` `span` in `AccessText`
sergiou87 Feb 11, 2025
096419e
Update float-ui to fix resize observer error
tidy-dev Feb 11, 2025
a79a031
Merge pull request #19997 from desktop/fix-resize-observer
tidy-dev Feb 11, 2025
e8ff739
Release 3.4.17-beta2
tidy-dev Feb 11, 2025
bad8dd8
Remove unused onKeyDown event listener
tidy-dev Feb 11, 2025
27809de
Merge pull request #19995 from desktop/aria-props-rules
sergiou87 Feb 12, 2025
062641e
Merge pull request #19998 from desktop/releases/3.4.17-beta2
niik Feb 12, 2025
7cd91d0
Merge pull request #19999 from desktop/remove-unused-keydown-event-li…
tidy-dev Feb 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 24 additions & 1 deletion .eslintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ extends:
- prettier/react
- plugin:@typescript-eslint/recommended
- prettier/@typescript-eslint
- plugin:github/react

rules:
##########
Expand All @@ -29,6 +30,7 @@ rules:
###########
# PLUGINS #
###########

# TYPESCRIPT
'@typescript-eslint/naming-convention':
- error
Expand Down Expand Up @@ -111,6 +113,7 @@ rules:
react/jsx-uses-vars: error
react/jsx-uses-react: error
react/no-unused-state: error
# niik 2023-12-05: turning this off to not muddy up the TS5 upgrade.
react/no-unused-prop-types: error
react/prop-types:
- error
Expand All @@ -121,7 +124,10 @@ rules:
jsdoc/check-tag-names: error
jsdoc/check-types: error
jsdoc/implements-on-classes: error
jsdoc/newline-after-description: error
jsdoc/tag-lines:
- error
- any
- startLines: 1
jsdoc/no-undefined-types: error
jsdoc/valid-types: error

Expand Down Expand Up @@ -184,6 +190,20 @@ rules:
- selector: ExportDefaultDeclaration
message: Use of default exports is forbidden

###########
# jsx-a11y #
###########

# autofocus is fine when it is being used to set focus to something in a way
# that doesn't skip any context or inputs. For example, in a named dialog, if you had
# a close button, a heading reflecting the name, and a labelled text input,
# focusing the text input wouldn't disadvantage a user because they're not
# missing anything of importance before it. The problem is when it is used on
# larger web pages, e.g. to focus a form field in the main content, entirely
# skipping the header and often much else besides.
jsx-a11y/no-autofocus:
- off

overrides:
- files: '*.d.ts'
rules:
Expand All @@ -196,6 +216,9 @@ overrides:
- files: 'script/**/*'
rules:
'@typescript-eslint/no-non-null-assertion': off
- files: 'app/src/ui/octicons/octicons.generated.ts'
rules:
'@typescript-eslint/naming-convention': off

parserOptions:
sourceType: module
Expand Down
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ comment to the existing issue if there is extra information you can contribute.

Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=bug_report.md)
Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=bug_report.yaml)
and fill out the provided issue template.

The information we are interested in includes:
Expand All @@ -87,7 +87,7 @@ community understand your suggestion :pencil: and find related suggestions
Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion)
as you might find out that you don't need to create one. When you are creating
an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion).
Fill in [the template](ISSUE_TEMPLATE/problem-to-raise.md), including the steps
Fill in [the template](ISSUE_TEMPLATE/feature_request.yaml), including the steps
that you imagine you would take if the feature you're requesting existed.

#### Before Submitting An Enhancement Suggestion
Expand All @@ -101,7 +101,7 @@ information you would like to add.

Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=feature_request.md)
Simply create an issue on the [GitHub Desktop issue tracker](https://github.com/desktop/desktop/issues/new?template=feature_request.yaml)
and fill out the provided issue template.

Some additional advice:
Expand Down
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
# Disable version updates and keep only security updates
open-pull-requests-limit: 0
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<!--
What GitHub Desktop issue does this PR address? (for example, #1234)
What GitHub Desktop issue does this PR address (for example, #1234)?
If you have not created an issue for your PR, please search the issue tracker to see if there is an existing issue that aligns with your PR, or open a new issue for discussion.
-->

Closes #[issue number]
Expand Down
149 changes: 101 additions & 48 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,68 +4,102 @@ on:
push:
branches:
- development
- __release-*
pull_request:
workflow_call:
inputs:
repository:
default: desktop/desktop
required: false
type: string
ref:
required: true
type: string
upload-artifacts:
default: false
required: false
type: boolean
environment:
type: string
required: true
sign:
type: boolean
default: true
required: false
secrets:
AZURE_CODE_SIGNING_TENANT_ID:
AZURE_CODE_SIGNING_CLIENT_ID:
AZURE_CODE_SIGNING_CLIENT_SECRET:
DESKTOP_OAUTH_CLIENT_ID:
DESKTOP_OAUTH_CLIENT_SECRET:
APPLE_ID:
APPLE_ID_PASSWORD:
APPLE_TEAM_ID:
APPLE_APPLICATION_CERT:
APPLE_APPLICATION_CERT_PASSWORD:

env:
NODE_VERSION: 20.18.1

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
env:
RELEASE_CHANNEL: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- run: yarn
- run: yarn validate-electron-version
- run: yarn lint
- run: yarn validate-changelog
- name: Ensure a clean working directory
run: git diff --name-status --exit-code
build:
name: ${{ matrix.friendlyName }} ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
permissions: read-all
permissions:
contents: read
strategy:
fail-fast: false
matrix:
node: [16.13.0]
os: [macos-10.15, windows-2019]
os: [macos-13-xl-arm64, windows-2019]
arch: [x64, arm64]
include:
- os: macos-10.15
- os: macos-13-xl-arm64
friendlyName: macOS
- os: windows-2019
friendlyName: Windows
timeout-minutes: 60
environment: ${{ inputs.environment }}
env:
# Needed for macOS arm64 until hosted macos-11.0 runners become available
SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk
RELEASE_CHANNEL: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository || github.repository }}
ref: ${{ inputs.ref }}
submodules: recursive
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v1
- uses: actions/setup-python@v5
with:
node-version: ${{ matrix.node }}

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"

- uses: actions/cache@v2
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
python-version: '3.11'
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
${{ runner.os }}-yarn-

# This step can be removed as soon as official Windows arm64 builds are published:
# https://github.com/nodejs/build/issues/2450#issuecomment-705853342
- name: Get NodeJS node-gyp lib for Windows arm64
if: ${{ matrix.os == 'windows-2019' && matrix.arch == 'arm64' }}
run: .\script\download-nodejs-win-arm64.ps1 ${{ matrix.node }}

node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install and build dependencies
run: yarn
env:
npm_config_arch: ${{ matrix.arch }}
TARGET_ARCH: ${{ matrix.arch }}
- name: Lint
run: yarn lint
- name: Validate changelog
run: yarn validate-changelog
- name: Ensure a clean working directory
run: git diff --name-status --exit-code
- name: Build production app
run: yarn build:prod
env:
Expand All @@ -74,28 +108,47 @@ jobs:
${{ secrets.DESKTOP_OAUTH_CLIENT_SECRET }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
DESKTOPBOT_TOKEN: ${{ secrets.DESKTOPBOT_TOKEN }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APPLICATION_CERT: ${{ secrets.APPLE_APPLICATION_CERT }}
KEY_PASSWORD: ${{ secrets.APPLE_APPLICATION_CERT_PASSWORD }}
npm_config_arch: ${{ matrix.arch }}
TARGET_ARCH: ${{ matrix.arch }}
- name: Prepare testing environment
if: matrix.arch == 'x64'
run: yarn test:setup
env:
npm_config_arch: ${{ matrix.arch }}
- name: Run unit tests
if: matrix.arch == 'x64'
run: yarn test:unit
- name: Run script tests
if: matrix.arch == 'x64'
run: yarn test:script
- name: Publish production app
run: yarn run publish
- name: Install Azure Code Signing Client
if: ${{ runner.os == 'Windows' && inputs.sign }}
run: |
$acsZip = Join-Path $env:RUNNER_TEMP "acs.zip"
$acsDir = Join-Path $env:RUNNER_TEMP "acs"
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Trusted.Signing.Client/1.0.52 -OutFile $acsZip -Verbose
Expand-Archive $acsZip -Destination $acsDir -Force -Verbose
# Replace ancient signtool in electron-winstall with one that supports ACS
Copy-Item -Path "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\*" -Include signtool.exe,signtool.exe.manifest,Microsoft.Windows.Build.Signing.mssign32.dll.manifest,mssign32.dll,Microsoft.Windows.Build.Signing.wintrust.dll.manifest,wintrust.dll,Microsoft.Windows.Build.Appx.AppxSip.dll.manifest,AppxSip.dll,Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest,AppxPackaging.dll,Microsoft.Windows.Build.Appx.OpcServices.dll.manifest,OpcServices.dll -Destination "node_modules\electron-winstaller\vendor" -Verbose
- name: Package production app
run: yarn package
env:
npm_config_arch: ${{ matrix.arch }}
DESKTOPBOT_TOKEN: ${{ secrets.DESKTOPBOT_TOKEN }}
WINDOWS_CERT_PASSWORD: ${{ secrets.WINDOWS_CERT_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
DEPLOYMENT_SECRET: ${{ secrets.DEPLOYMENT_SECRET }}
AZURE_STORAGE_ACCOUNT: ${{ secrets.AZURE_STORAGE_ACCOUNT }}
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.AZURE_STORAGE_ACCESS_KEY }}
AZURE_BLOB_CONTAINER: ${{ secrets.AZURE_BLOB_CONTAINER }}
AZURE_STORAGE_URL: ${{ secrets.AZURE_STORAGE_URL }}
AZURE_TENANT_ID: ${{ secrets.AZURE_CODE_SIGNING_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CODE_SIGNING_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CODE_SIGNING_CLIENT_SECRET }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: ${{ inputs.upload-artifacts }}
with:
name: ${{matrix.friendlyName}}-${{matrix.arch}}
path: |
dist/GitHub Desktop-${{matrix.arch}}.zip
dist/GitHubDesktop-*.nupkg
dist/GitHubDesktopSetup-${{matrix.arch}}.exe
dist/GitHubDesktopSetup-${{matrix.arch}}.msi
dist/bundle-size.json
if-no-files-found: error
36 changes: 36 additions & 0 deletions .github/workflows/close-invalid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Close issue/PR on adding invalid label

# **What it does**: This action closes issues and PRs that are labeled as invalid in the Desktop repo.

on:
issues:
types: [labeled]
# Needed in lieu of `pull_request` so that PRs from a fork can be
# closed when marked as invalid.
pull_request_target:
types: [labeled]

permissions:
contents: read
issues: write
pull-requests: write

jobs:
close-on-adding-invalid-label:
if:
github.repository == 'desktop/desktop' && github.event.label.name ==
'invalid'
runs-on: ubuntu-latest

steps:
- name: Close issue
if: ${{ github.event_name == 'issues' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh issue close ${{ github.event.issue.html_url }}

- name: Close PR
if: ${{ github.event_name == 'pull_request_target' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh pr close ${{ github.event.pull_request.html_url }}
44 changes: 44 additions & 0 deletions .github/workflows/close-single-word-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Close Single-Word Issues

on:
issues:
types:
- opened

permissions:
issues: write

jobs:
close-issue:
runs-on: ubuntu-latest

steps:
- name: Close Single-Word Issue
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const issueTitle = context.payload.issue.title.trim();
const isSingleWord = /^\S+$/.test(issueTitle);

if (isSingleWord) {
const issueNumber = context.payload.issue.number;
const repo = context.repo.repo;

// Close the issue and add the invalid label
github.rest.issues.update({
owner: context.repo.owner,
repo: repo,
issue_number: issueNumber,
labels: ['invalid'],
state: 'closed'
});

// Comment on the issue
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: repo,
issue_number: issueNumber,
body: `This issue may have been opened accidentally. I'm going to close it now, but feel free to open a new issue with a more descriptive title.`
});
}
Loading