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

v2.12.0 #892

Merged
merged 488 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
488 commits
Select commit Hold shift + click to select a range
005798f
Merge branch 'dev' into supporters
mohnjiles Aug 8, 2024
e6773d3
Merge pull request #760 from ionite34/supporters
mohnjiles Aug 8, 2024
239dcec
Merge branch 'dev' into enhancements
ionite34 Aug 8, 2024
e4dcfab
Merge pull request #754 from ionite34/enhancements
ionite34 Aug 8, 2024
4d6dd9a
Add InstalledPackage, Options, and Cancellation support to BasePackag…
ionite34 Aug 9, 2024
a3fe497
actually pass the env vars to swarm
mohnjiles Aug 9, 2024
fe7c903
Merge branch 'dev' into fix-swarm-env-vars
mohnjiles Aug 9, 2024
6b36aef
Merge pull request #761 from ionite34/packages-improvements
ionite34 Aug 9, 2024
c4e0c7c
Merge branch 'dev' into fix-swarm-env-vars
mohnjiles Aug 9, 2024
b1b0624
Merge pull request #762 from ionite34/fix-swarm-env-vars
mohnjiles Aug 9, 2024
b66f511
Improved mac build script
ionite34 Aug 10, 2024
3655afe
Support uri handling on macos
ionite34 Aug 10, 2024
54c67a8
Add error dialogs for OAuth connection results
ionite34 Aug 10, 2024
c7d2927
Regenerate Resources.Designer.cs
ionite34 Aug 10, 2024
9dad1e0
Fix some warnings for Avalonia.Gif
ionite34 Aug 10, 2024
cff166f
Fix args creation in RunningPackageService
ionite34 Aug 10, 2024
b63d55b
Merge pull request #765 from ionite34/fix-some-warnings
ionite34 Aug 10, 2024
0ef897e
Merge branch 'dev' into macos-uri-handler
ionite34 Aug 11, 2024
82a9608
Add toggle for hide installed models & no longer pin comfy torch & ro…
mohnjiles Aug 11, 2024
5192482
Update CHANGELOG.md
ionite34 Aug 11, 2024
57379a4
Merge pull request #764 from ionite34/macos-uri-handler
ionite34 Aug 11, 2024
6e2f2a4
Merge branch 'dev' into hide-installed-models
mohnjiles Aug 11, 2024
2e22a4a
move the relayproperty
mohnjiles Aug 11, 2024
8ab6ed2
Merge branch 'hide-installed-models' of https://github.com/ionite34/S…
mohnjiles Aug 11, 2024
e931407
dispose stuff
mohnjiles Aug 11, 2024
9ab46a5
remove cache & fix sorting
mohnjiles Aug 11, 2024
f86f211
Update translations & add more stuff to English translation
mohnjiles Aug 11, 2024
8b163c5
Merge pull request #768 from ionite34/translations
mohnjiles Aug 11, 2024
86cfc19
Merge branch 'dev' into hide-installed-models
mohnjiles Aug 11, 2024
8cecdf9
Create OrderedValue.cs
ionite34 Aug 13, 2024
82cbad9
Fix CivitAiBrowser order changing with toggles
ionite34 Aug 13, 2024
1aef151
Merge pull request #766 from ionite34/hide-installed-models
mohnjiles Aug 13, 2024
22fe277
Fix GetRequiredValueAsNestedList deserializing
ionite34 Aug 14, 2024
7b72121
Update CHANGELOG.md
ionite34 Aug 14, 2024
3fbfad0
Add error logging for connection errors
ionite34 Aug 14, 2024
6afe2ef
Merge pull request #769 from ionite34/fix-inference-info-api
ionite34 Aug 14, 2024
293c7c3
Add supporters
ionite34 Aug 15, 2024
7125377
Update CHANGELOG.md
ionite34 Aug 15, 2024
f25fbb0
Merge pull request #771 from ionite34/patch-chagenlog
ionite34 Aug 15, 2024
6f472df
Update forge torch version to recommended & same with invokeai for rocm
mohnjiles Aug 15, 2024
10eaa00
Merge pull request #773 from ionite34/update-torch-version-stuff
mohnjiles Aug 15, 2024
2adae7b
Toggle showing NSFW images in the checkpoints page & fix ExtraLaunchA…
mohnjiles Aug 15, 2024
3e70f9e
Merge pull request #775 from ionite34/toggle-nsfw-images
mohnjiles Aug 15, 2024
63c9ed4
Fix model browser parsing shenanigans
mohnjiles Aug 15, 2024
e52fbcc
Fix CivitAi filter predicate no initial value
ionite34 Aug 15, 2024
197dc93
Move Checkpoints category filter to StartsWith
ionite34 Aug 15, 2024
777e6e9
Update CHANGELOG.md
ionite34 Aug 15, 2024
298c39c
Merge pull request #776 from ionite34/fix-model-browser
mohnjiles Aug 15, 2024
b164257
Merge branch 'dev' into fix-observables
ionite34 Aug 15, 2024
513658c
Merge pull request #777 from ionite34/fix-observables
ionite34 Aug 15, 2024
99274e6
Add numpy version for comfy install
ionite34 Aug 17, 2024
568860b
Merge pull request #779 from ionite34/comfy-fix
ionite34 Aug 17, 2024
3e59f92
Fix swarm settings being overwritten on launch
mohnjiles Aug 17, 2024
0ac2ce8
Merge branch 'dev' into fix-swarm-config
mohnjiles Aug 17, 2024
78476fc
Merge pull request #780 from ionite34/fix-swarm-config
mohnjiles Aug 17, 2024
699d48c
Merge branch 'dev' into downmerge
mohnjiles Aug 17, 2024
6fb7485
Merge pull request #783 from ionite34/downmerge
mohnjiles Aug 17, 2024
7cb96c7
Fix output path for latest forge output sharing
mohnjiles Aug 17, 2024
db05d8b
Merge pull request #784 from ionite34/fix-forge-output-sharing
mohnjiles Aug 17, 2024
7989f57
inference model loader selection & searchable comboboxes & stuff
mohnjiles Aug 18, 2024
373cc46
Merge branch 'dev' into fix-forge-output-sharing
mohnjiles Aug 18, 2024
a3eb320
fix enum parsing thingy
mohnjiles Aug 18, 2024
27234a6
Merge branch 'fix-forge-output-sharing' of https://github.com/ionite3…
mohnjiles Aug 18, 2024
a78e72d
change observe
mohnjiles Aug 18, 2024
5a3b5ba
disable model loader selection for img2vid
mohnjiles Aug 18, 2024
86ef358
Undo the ShortDisplayName changes & use SortKey instead
mohnjiles Aug 18, 2024
6b218d2
update avalonia & SortKey
mohnjiles Aug 18, 2024
bd2a420
Merge pull request #786 from ionite34/fix-forge-output-sharing
mohnjiles Aug 18, 2024
311a176
consolidate model import & remove invalid filename characters from pa…
mohnjiles Aug 19, 2024
b47b8f6
Merge pull request #787 from ionite34/fix-invalid-filenames
mohnjiles Aug 19, 2024
c8ab87a
Add Google OAuth for lykos login
ionite34 Aug 19, 2024
7713950
Merge branch 'dev' into oauth-google
ionite34 Aug 19, 2024
67c80c6
Improved challenge rng and check state
ionite34 Aug 19, 2024
936ca1d
Fix missing return for exception
ionite34 Aug 19, 2024
14638bc
Add config settable base url for debug builds
ionite34 Aug 19, 2024
5b00c9d
Move log to not print url
ionite34 Aug 19, 2024
bd395ff
Bring app to front on uri also
ionite34 Aug 19, 2024
5d28508
chagenlog
ionite34 Aug 20, 2024
4604265
Show error if callback has it
ionite34 Aug 20, 2024
287e4a2
Merge pull request #789 from ionite34/oauth-google
ionite34 Aug 20, 2024
d6279b1
Merge branch 'dev' into down-merge
mohnjiles Aug 20, 2024
044ccfa
Merge branch 'dev' into down-merge
mohnjiles Aug 20, 2024
24caf6f
Merge pull request #791 from ionite34/down-merge
mohnjiles Aug 20, 2024
279b65f
chagenlog
mohnjiles Aug 20, 2024
cacff8d
less chagenlog
mohnjiles Aug 20, 2024
aaa00b2
Merge pull request #792 from ionite34/chagenlog
mohnjiles Aug 20, 2024
7c0c0c2
Add IDownloadableResource, refactors
ionite34 Aug 20, 2024
7125810
Add BetterDownloadableComboBox
ionite34 Aug 20, 2024
8d38d71
Add IDownloadableResource for HybridModelFile
ionite34 Aug 20, 2024
820483b
Remove unused
ionite34 Aug 20, 2024
df66e2a
Remove empty ctor
ionite34 Aug 20, 2024
1253ec9
Use BetterDownloadableComboBox in ModelCard
ionite34 Aug 20, 2024
10284a1
Add FADownloadableComboBox
ionite34 Aug 20, 2024
1baa657
Add style key overrides
ionite34 Aug 20, 2024
96c38c9
Fix style key override
ionite34 Aug 20, 2024
b6dd3d7
Use FADownloadableComboBox in PromptExpansion
ionite34 Aug 20, 2024
8471c8f
Use FADownloadableComboBox in UpscalerCard
ionite34 Aug 20, 2024
e1a3635
Use FADownloadableComboBox in ControlNetCard
ionite34 Aug 20, 2024
1079ad8
Use BetterDownloadableComboBox in FaceDetailerCard
ionite34 Aug 20, 2024
6aba103
Use BetterDownloadableComboBox in UnetModelCard
ionite34 Aug 20, 2024
a6f840b
Merge pull request #794 from ionite34/combo-stuff
ionite34 Aug 20, 2024
a620d0b
Move InstalledPackage migration stuff to region
ionite34 Aug 20, 2024
9d79fd0
Move more migration properties
ionite34 Aug 20, 2024
2519ab4
Fix RuinedFooocus requirements parsing & add CLIP link for forge/a1111
mohnjiles Aug 21, 2024
83f6ded
Merge branch 'dev' into moar-fix
mohnjiles Aug 21, 2024
4cdc506
yolo
mohnjiles Aug 21, 2024
43ea362
Merge branch 'moar-fix' of https://github.com/ionite34/StabilityMatri…
mohnjiles Aug 21, 2024
3584b9f
Merge pull request #795 from ionite34/moar-fix
mohnjiles Aug 21, 2024
9cfec83
Merge branch 'dev' into package-stuff
ionite34 Aug 21, 2024
a939888
Fix civit scroll load model order
ionite34 Aug 23, 2024
a937310
Merge pull request #798 from ionite34/fix-civit-browser-count
ionite34 Aug 24, 2024
e139c86
Add UI for overriding pip package installs during package installs
mohnjiles Aug 25, 2024
09c6d09
Merge branch 'dev' into pip-overrides-ui
mohnjiles Aug 25, 2024
b801aa9
chagenlog
mohnjiles Aug 25, 2024
81416b9
Merge branch 'dev' into package-stuff
ionite34 Aug 25, 2024
ae45bb6
Migrate PreferredTorchVersion -> PreferredTorchIndex
mohnjiles Aug 25, 2024
8752071
Merge pull request #797 from ionite34/package-stuff
ionite34 Aug 25, 2024
f293d42
Add vcbuildtools & pin comfy torch on mac
mohnjiles Aug 25, 2024
1e243ec
fix build & undo main window dialog changes
mohnjiles Aug 25, 2024
133a788
Merge pull request #800 from ionite34/fix-fbgemm-thing
mohnjiles Aug 26, 2024
1885f45
Add Argument.IsQuoted support and tests
ionite34 Aug 26, 2024
67de756
Update override with remove
ionite34 Aug 26, 2024
6f6be3b
Merge branch 'dev' into pip-overrides-ui
ionite34 Aug 26, 2024
942e5d6
Fix missing base override
ionite34 Aug 26, 2024
f2c0300
Merge branch 'pip-overrides-ui' of https://github.com/ionite34/Stabil…
ionite34 Aug 26, 2024
a573fe9
Add quoted support for requirements parsing
ionite34 Aug 26, 2024
8d6f1ba
Fix TorchIndex merge
ionite34 Aug 26, 2024
ca87baa
Fix user override key finding
ionite34 Aug 26, 2024
26eeefd
Made the regular/unet model loaders separate comboboxes instead of de…
mohnjiles Aug 27, 2024
7792265
Merge pull request #806 from ionite34/undo-softsteer
mohnjiles Aug 27, 2024
14c5b52
do the parse better
mohnjiles Aug 27, 2024
1240d13
remove stopwatch
mohnjiles Aug 27, 2024
67d0e87
remove byte search
mohnjiles Aug 27, 2024
e353ffc
chagenlog
mohnjiles Aug 27, 2024
56a95f3
Merge pull request #807 from ionite34/fix-cutoff-images
mohnjiles Aug 27, 2024
18b97fb
Merge branch 'dev' into pip-overrides-ui
ionite34 Aug 27, 2024
83d8816
Add EnumValuesExtension
ionite34 Aug 27, 2024
ac6aec3
Add PythonPackageSpecifiersDialog, use in install
ionite34 Aug 29, 2024
6ad1f20
Add existing package edit override option
ionite34 Aug 29, 2024
dcdd017
Merge pull request #799 from ionite34/pip-overrides-ui
ionite34 Sep 2, 2024
1de72f8
Update FluentAvalonia to 2.1.0
ionite34 Sep 2, 2024
0381952
Fix BetterContentDialog for FA changes
ionite34 Sep 2, 2024
e397e91
Fix buttons for FABorder changes
ionite34 Sep 3, 2024
ee3d957
Fix split button styles
ionite34 Sep 3, 2024
f21fdfb
Fix ToggleButton styles
ionite34 Sep 3, 2024
523fea3
Fix BetterComboBox ContentPresenter
ionite34 Sep 3, 2024
28cb897
Disable default trace logging for TextEditorCompletionBehavior
ionite34 Sep 3, 2024
6f8c948
Fix HyperLinkButton for FA
ionite34 Sep 3, 2024
91587f7
Fix FABorder usage
ionite34 Sep 3, 2024
5e6c4d2
Fix ItemsRepeater usage
ionite34 Sep 3, 2024
26eefe0
Merge pull request #809 from ionite34/fa-update
ionite34 Sep 3, 2024
279158b
Start logging some more analytics stuff
mohnjiles Sep 4, 2024
7379e8a
Merge branch 'dev' into analytics
mohnjiles Sep 4, 2024
4c6d9be
Fix ctor for MainWindow
ionite34 Sep 4, 2024
72a1405
Fix hyperlinkbutton for fa
ionite34 Sep 4, 2024
fb0a4c2
add some padding to privacy policy link
mohnjiles Sep 7, 2024
96cf189
Check if VcBuildTools is installed before installing & update comfy t…
mohnjiles Sep 7, 2024
7230e08
dont show download speed n stuff when completed
mohnjiles Sep 7, 2024
9f45a08
Merge pull request #812 from ionite34/check-vcbuildtools
mohnjiles Sep 7, 2024
3e73056
Update xamlstyler
ionite34 Sep 7, 2024
66991ff
Fix DesignData Types index resolver
ionite34 Sep 7, 2024
eeb788f
Update Analytics dialog & add localized
ionite34 Sep 7, 2024
4bb893c
Add links and localization
ionite34 Sep 7, 2024
453915d
More localization
ionite34 Sep 8, 2024
7c2f883
Fix expression transaction overload not working with nested properties
ionite34 Sep 8, 2024
8581294
Move settings
ionite34 Sep 8, 2024
28ffe2c
Add settings usage in helper
ionite34 Sep 8, 2024
da8de11
Add error handling for account refresh in settings
ionite34 Sep 8, 2024
a0b95cb
only count selected recommended models & don't track exception messag…
mohnjiles Sep 11, 2024
e9825ab
Merge branch 'dev' into analytics
mohnjiles Sep 11, 2024
82be209
Add track async
ionite34 Sep 11, 2024
8a131e1
Fix debug thing
ionite34 Sep 11, 2024
7b6e05e
Add launch stats
ionite34 Sep 11, 2024
f0673e4
remove platform
ionite34 Sep 11, 2024
258c7cc
Fix platform
ionite34 Sep 11, 2024
1095335
Update last sent time
ionite34 Sep 11, 2024
4f2c3f2
Add AnalyticsRequestConverter & track skipped first time setups & giv…
mohnjiles Sep 11, 2024
fac1429
invert if
mohnjiles Sep 11, 2024
1c074ab
Change to OsDescription
ionite34 Sep 11, 2024
2348512
Merge pull request #811 from ionite34/analytics
mohnjiles Sep 11, 2024
fcfc87b
Merge branch 'dev' into fix-accounts
ionite34 Sep 11, 2024
71f34f0
Merge pull request #813 from ionite34/fix-accounts
ionite34 Sep 11, 2024
281dc5e
Update CHANGELOG.md
ionite34 Sep 12, 2024
efdfd47
Clarify updates
ionite34 Sep 12, 2024
e5e6694
Update CHANGELOG.md
ionite34 Sep 12, 2024
66bb023
Merge pull request #814 from ionite34/changelog
ionite34 Sep 12, 2024
fdcbd38
update a1111 on mac, better error for early access models, dont index…
mohnjiles Sep 12, 2024
d7f640d
Merge branch 'dev' into misc-stuff
mohnjiles Sep 12, 2024
70e7ffa
fix chagenlog
mohnjiles Sep 12, 2024
a5d8ea2
enumeration options everywhere
mohnjiles Sep 12, 2024
d0ae776
Merge branch 'misc-stuff' of https://github.com/ionite34/StabilityMat…
mohnjiles Sep 12, 2024
eb1fa1c
chagenlog
mohnjiles Sep 12, 2024
5180616
Merge pull request #815 from ionite34/misc-stuff
mohnjiles Sep 12, 2024
32588b0
Added Korean translations thanks to maakcode & updated Russian & Turk…
mohnjiles Sep 13, 2024
ab7b454
no snakes in this chagenlog
mohnjiles Sep 13, 2024
4f3c7b1
Merge pull request #816 from ionite34/add-korean
mohnjiles Sep 13, 2024
c04fd6d
Upgrade upload-artifact action
ionite34 Sep 13, 2024
a4bd839
Merge pull request #817 from ionite34/fix-ci
ionite34 Sep 13, 2024
bff1245
Merge pull request #817 from ionite34/fix-ci
ionite34 Sep 13, 2024
9774adc
Merge pull request #818 from ionite34/backport/main/pr-817
ionite34 Sep 13, 2024
9d94984
Fix download-artifacts, add some options for upload
ionite34 Sep 13, 2024
644576c
Merge pull request #819 from ionite34/fix-ci-2
ionite34 Sep 13, 2024
d1b3cfb
Merge pull request #819 from ionite34/fix-ci-2
ionite34 Sep 13, 2024
cc2e50c
Merge pull request #820 from ionite34/backport/main/pr-819
ionite34 Sep 13, 2024
414213e
Add zoom control for outputs, checkpoints, and civitai browser pages
mohnjiles Sep 15, 2024
712a87b
Merge pull request #821 from ionite34/zooooom
mohnjiles Sep 15, 2024
4b40ba3
update korean translation
mohnjiles Sep 15, 2024
c1718bf
Merge pull request #822 from ionite34/update-kr-translation
mohnjiles Sep 15, 2024
ddae100
Add ResizeBehavior
ionite34 Sep 16, 2024
d186f28
Use ResizeBehavior
ionite34 Sep 16, 2024
31c539d
add smallchange
ionite34 Sep 16, 2024
c326297
Move behavior to scrollviewer to work on blank spaces
ionite34 Sep 16, 2024
6f18185
Add PointerWheelTargetObject & fix scroll arrange
ionite34 Sep 16, 2024
d93fa16
Merge pull request #823 from ionite34/idk
ionite34 Sep 16, 2024
0b5cc9f
Add toggle to hide early access models in civitai browser & fix check…
mohnjiles Sep 16, 2024
852182a
Merge pull request #824 from ionite34/hide-early-access-models
mohnjiles Sep 16, 2024
51ab162
Add trigger words to lora selector in Inference & fix zoom slider not…
mohnjiles Sep 16, 2024
aa31bbf
fix preview
mohnjiles Sep 16, 2024
1acb0cd
add copy button
mohnjiles Sep 16, 2024
c5302a6
Fix property grid
ionite34 Sep 16, 2024
75afb1a
Merge pull request #825 from ionite34/add-trigger-words
mohnjiles Sep 16, 2024
c24689f
Merge branch 'dev' into fix-property-grid
ionite34 Sep 16, 2024
64bd08b
Merge pull request #826 from ionite34/fix-property-grid
ionite34 Sep 16, 2024
c4919da
Fix kohya git long paths issue & add to git dropdown menu in settings
mohnjiles Sep 17, 2024
2ff7c2b
only do the thing on windows
mohnjiles Sep 17, 2024
be03b00
fix chagenlog
mohnjiles Sep 17, 2024
b60b6c1
Merge pull request #827 from ionite34/git-long-paths
mohnjiles Sep 17, 2024
e3de542
Add SetRegistryValue
ionite34 Sep 17, 2024
910344f
Add long paths toggle in settings
ionite34 Sep 17, 2024
33b07f4
Add restart prompt and handle cancel errors
ionite34 Sep 17, 2024
e6749b6
Fix comments
ionite34 Sep 17, 2024
40405c4
Add changelog
ionite34 Sep 17, 2024
924d4cd
Disable on non windows
ionite34 Sep 17, 2024
a26e9f2
Merge pull request #828 from ionite34/settings-long-paths
ionite34 Sep 17, 2024
6075dcb
allow custom commit during install also
mohnjiles Sep 17, 2024
675471e
Merge branch 'dev' into custom-commit
mohnjiles Sep 17, 2024
e614e92
also add custom if commits are null for some reason i guess
mohnjiles Sep 17, 2024
1ab2e3d
Merge branch 'custom-commit' of https://github.com/ionite34/Stability…
mohnjiles Sep 17, 2024
27f8036
chagenlog
mohnjiles Sep 17, 2024
db9c010
Revert to previous commit if cancel dialog
mohnjiles Sep 17, 2024
47f616f
fix the other return
mohnjiles Sep 17, 2024
4e9670f
Merge pull request #829 from ionite34/custom-commit
mohnjiles Sep 17, 2024
f5cba4a
Full chagenlog for 2.12.0
mohnjiles Sep 17, 2024
68ad9dc
Merge pull request #830 from ionite34/mega-chagenlog
mohnjiles Sep 17, 2024
8b733b3
Merge branch 'main' into v2.12.0
mohnjiles Sep 17, 2024
ba0ce9d
Merge pull request #831 from ionite34/v2.12.0
mohnjiles Sep 17, 2024
8c75006
Jenkins fix maybe?
mohnjiles Sep 18, 2024
153c97c
do readme too
mohnjiles Sep 18, 2024
65f7392
Merge pull request #833 from ionite34/fix-jenkins-maybe
mohnjiles Sep 18, 2024
4563d3f
Merge branch 'LykosAI:main' into main
mohnjiles Sep 18, 2024
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
  •  
  •  
  •  
11 changes: 7 additions & 4 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,22 @@
"version": "0.6.0",
"commands": [
"husky"
]
],
"rollForward": false
},
"xamlstyler.console": {
"version": "3.2206.4",
"version": "3.2404.2",
"commands": [
"xstyler"
]
],
"rollForward": false
},
"csharpier": {
"version": "0.26.7",
"commands": [
"dotnet-csharpier"
]
],
"rollForward": false
}
}
}
4 changes: 2 additions & 2 deletions .github/workflows/backport.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ jobs:
"commitConflicts": "true",
"prTitle": "[{{sourceBranch}} to {{targetBranch}}] backport: {{sourcePullRequest.title}} ({{sourcePullRequest.number}})"
}

- name: Backport Action
uses: sorenlouv/backport-github-action@v9.3.0
uses: sorenlouv/backport-github-action@v9.5.1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
auto_backport_label_prefix: backport-to-
Expand Down
24 changes: 16 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,13 @@ jobs:
run: mv ./Release/linux-x64/StabilityMatrix.x86_64.AppImage ${{ env.out-name }}

- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: StabilityMatrix-${{ env.platform-id }}
path: ${{ env.out-name }}

retention-days: 1
if-no-files-found: error

- name: Create Sentry release
if: ${{ github.event.inputs.sentry-release == 'true' }}
uses: getsentry/action-release@v1
Expand Down Expand Up @@ -166,10 +168,12 @@ jobs:
run: mv ./out/StabilityMatrix.Avalonia.exe ./out/${{ env.out-name }}

- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: StabilityMatrix-${{ env.platform-id }}
path: ./out/${{ env.out-name }}
retention-days: 1
if-no-files-found: error

release-macos:
name: Release (macos-arm64)
Expand Down Expand Up @@ -250,10 +254,12 @@ jobs:
run: zip -r -y "../StabilityMatrix-${{ env.platform-id }}-app.zip" "${{ env.app-name }}"

- name: Upload Artifact (App)
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: StabilityMatrix-${{ env.platform-id }}-app
path: StabilityMatrix-${{ env.platform-id }}-app.zip
retention-days: 1
if-no-files-found: error

- uses: actions/setup-node@v4
with:
Expand All @@ -276,10 +282,12 @@ jobs:
run: zip -r -y "../StabilityMatrix-${{ env.platform-id }}-dmg.zip" "${{ env.out-name }}"

- name: Upload Artifact (dmg)
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: StabilityMatrix-${{ env.platform-id }}-dmg
path: StabilityMatrix-${{ env.platform-id }}-dmg.zip
retention-days: 1
if-no-files-found: error

publish-release:
name: Publish GitHub Release
Expand All @@ -300,7 +308,7 @@ jobs:

# Downloads all previous artifacts to the current working directory
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4

# Zip each build (except macos which is already dmg)
- name: Zip Artifacts
Expand Down Expand Up @@ -346,7 +354,7 @@ jobs:

# Downloads all previous artifacts to the current working directory
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4

# Zip each build (except macos which is already dmg)
- name: Zip Artifacts
Expand Down Expand Up @@ -428,7 +436,7 @@ jobs:

# Downloads all previous artifacts to the current working directory
- name: Download Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4

# Zip each build (except macos which is already dmg)
- name: Zip Artifacts
Expand Down
Empty file modified .husky/pre-commit
100644 → 100755
Empty file.
8 changes: 7 additions & 1 deletion Avalonia.Gif/Avalonia.Gif.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
</PropertyGroup>

<PropertyGroup>
<!-- Ignore nullable / unused warnings since this was vendored -->
<NoWarn>$(NoWarn);CS8765;CS8618;CS8625;CS0169</NoWarn>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" />
<PackageReference Include="SkiaSharp" Version="2.88.7" />
<PackageReference Include="SkiaSharp" Version="3.0.0-preview.4.1" />
<PackageReference Include="DotNet.Bundle" Version="0.9.13" />
</ItemGroup>

Expand Down
29 changes: 24 additions & 5 deletions Avalonia.Gif/Decoding/GifDecoder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System;
using System.Buffers;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
Expand Down Expand Up @@ -190,7 +191,9 @@
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void DrawFrame(GifFrame curFrame, Memory<byte> frameIndexSpan)
{
var activeColorTable = curFrame.IsLocalColorTableUsed ? curFrame.LocalColorTable : Header.GlobarColorTable;
var activeColorTable = curFrame.IsLocalColorTableUsed
? curFrame.LocalColorTable
: Header.GlobarColorTable;

var cX = curFrame.Dimensions.X;
var cY = curFrame.Dimensions.Y;
Expand Down Expand Up @@ -232,7 +235,11 @@
{
var indexColor = frameIndexSpan.Span[indexOffset + i];

if (activeColorTable == null || targetOffset >= len || indexColor > activeColorTable.Length)
if (
activeColorTable == null
|| targetOffset >= len
|| indexColor > activeColorTable.Length
)
return;

if (!(hT & indexColor == tC))
Expand Down Expand Up @@ -419,15 +426,21 @@

unsafe
{
fixed (void* src = &_bitmapBackBuffer[0])

Check warning on line 429 in Avalonia.Gif/Decoding/GifDecoder.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.

Check warning on line 429 in Avalonia.Gif/Decoding/GifDecoder.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.
Buffer.MemoryCopy(src, targetPointer.ToPointer(), (uint)_backBufferBytes, (uint)_backBufferBytes);
Buffer.MemoryCopy(
src,
targetPointer.ToPointer(),
(uint)_backBufferBytes,
(uint)_backBufferBytes
);
_hasNewFrame = false;
}
}

/// <summary>
/// Processes GIF Header.
/// </summary>
[MemberNotNull(nameof(Header))]
private void ProcessHeaderData()
{
var str = _fileStream;
Expand Down Expand Up @@ -549,7 +562,9 @@

// Break the loop when the stream is not valid anymore.
if (_fileStream.Position >= _fileStream.Length & terminate == false)
throw new InvalidProgramException("Reach the end of the filestream without trailer block.");
throw new InvalidProgramException(
"Reach the end of the filestream without trailer block."
);
} while (!terminate);

ArrayPool<byte>.Shared.Return(tempBuf);
Expand Down Expand Up @@ -581,7 +596,11 @@
currentFrame.LocalColorTableSize = (int)Math.Pow(2, (packed & 0x07) + 1);

if (currentFrame.IsLocalColorTableUsed)
currentFrame.LocalColorTable = ProcessColorTable(ref str, tempBuf, currentFrame.LocalColorTableSize);
currentFrame.LocalColorTable = ProcessColorTable(
ref str,
tempBuf,
currentFrame.LocalColorTableSize
);

currentFrame.LzwMinCodeSize = str.ReadByteS(tempBuf);
currentFrame.LzwStreamPosition = str.Position;
Expand Down
6 changes: 0 additions & 6 deletions Avalonia.Gif/Decoding/InvalidGifStreamException.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// Licensed under the MIT License.
// Copyright (C) 2018 Jumar A. Macato, All Rights Reserved.

using System;
using System.Runtime.Serialization;

namespace Avalonia.Gif.Decoding
{
[Serializable]
Expand All @@ -16,8 +13,5 @@ public InvalidGifStreamException(string message)

public InvalidGifStreamException(string message, Exception innerException)
: base(message, innerException) { }

protected InvalidGifStreamException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}
6 changes: 0 additions & 6 deletions Avalonia.Gif/Decoding/LzwDecompressionException.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// Licensed under the MIT License.
// Copyright (C) 2018 Jumar A. Macato, All Rights Reserved.

using System;
using System.Runtime.Serialization;

namespace Avalonia.Gif.Decoding
{
[Serializable]
Expand All @@ -16,8 +13,5 @@ public LzwDecompressionException(string message)

public LzwDecompressionException(string message, Exception innerException)
: base(message, innerException) { }

protected LzwDecompressionException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}
21 changes: 14 additions & 7 deletions Avalonia.Gif/GifInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,23 @@ public GifInstance(Stream currentStream)
CurrentCts = new CancellationTokenSource();

_gifDecoder = new GifDecoder(currentStream, CurrentCts.Token);
var pixSize = new PixelSize(_gifDecoder.Header.Dimensions.Width, _gifDecoder.Header.Dimensions.Height);

_targetBitmap = new WriteableBitmap(pixSize, new Vector(96, 96), PixelFormat.Bgra8888, AlphaFormat.Opaque);
var pixSize = new PixelSize(
_gifDecoder.Header.Dimensions.Width,
_gifDecoder.Header.Dimensions.Height
);

_targetBitmap = new WriteableBitmap(
pixSize,
new Vector(96, 96),
PixelFormat.Bgra8888,
AlphaFormat.Opaque
);
GifPixelSize = pixSize;

_totalTime = TimeSpan.Zero;

_frameTimes = _gifDecoder
.Frames
.Select(frame =>
.Frames.Select(frame =>
{
_totalTime = _totalTime.Add(frame.FrameDelay);
return _totalTime;
Expand Down Expand Up @@ -138,10 +145,10 @@ public void Dispose()

internal WriteableBitmap ProcessFrameIndex(int frameIndex)
{
_gifDecoder.RenderFrame(frameIndex, _targetBitmap);
_gifDecoder.RenderFrame(frameIndex, _targetBitmap!);
_currentFrameIndex = frameIndex;

return _targetBitmap;
return _targetBitmap!;
}
}
}
6 changes: 0 additions & 6 deletions Avalonia.Gif/InvalidGifStreamException.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
using System;
using System.Runtime.Serialization;

namespace Avalonia.Gif
{
[Serializable]
Expand All @@ -13,8 +10,5 @@ public InvalidGifStreamException(string message)

public InvalidGifStreamException(string message, Exception innerException)
: base(message, innerException) { }

protected InvalidGifStreamException(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
}
9 changes: 9 additions & 0 deletions Build/_utils.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

print_hyperlink() {
local url="$1"
local text="$2"

# macOS Terminal supports clickable links in the following format
printf "\033]8;;%s\a%s\033]8;;\a" "$url" "$text"
}
45 changes: 39 additions & 6 deletions Build/build_macos_app.sh
Original file line number Diff line number Diff line change
@@ -1,26 +1,59 @@
#!/bin/sh
#!/bin/bash

output_dir="$(pwd)/out/osx-arm64/"
app_name="Stability Matrix.app"

. "./_utils.sh" > /dev/null 2>&1 || . "${BASH_SOURCE%/*}/_utils.sh"

# Parse args
while getopts v: flag
do
case "${flag}" in
v) version=${OPTARG};;
*) echo "Invalid option";;
v)
version=${OPTARG}
;;
*)
echo "Invalid option: -$OPTARG" >&2
exit 2
;;
esac
done

shift $((OPTIND - 1))
echo $"Passing extra args to msbuild: $@"

set -e

# Build the app
dotnet \
msbuild \
StabilityMatrix.Avalonia \
-t:BundleApp \
-p:RuntimeIdentifier=osx-arm64 \
-p:UseAppHost=true \
-p:Configuration=Release \
-p:CFBundleShortVersionString="$version" \
-p:SelfContained=true \
-p:CFBundleName="Stability Matrix" \
-p:CFBundleDisplayName="Stability Matrix" \
-p:CFBundleVersion="$version" \
-p:PublishDir="$(pwd)/out/osx-arm64/bin" \
-p:CFBundleShortVersionString="$version" \
-p:PublishDir="${output_dir:?}/bin" \
"$@"

target_plist_path="${output_dir:?}/bin/${app_name:?}/Contents/Info.plist"

echo "> Checking Info.plist..."
file "${target_plist_path:?}"
plutil -lint "${target_plist_path:?}"

echo "> Copying app to output..."
# Delete existing file
rm -rf "${output_dir:?}/${app_name:?}"
# Copy the app out of bin
cp -r ./out/osx-arm64/bin/Stability\ Matrix.app ./out/osx-arm64/Stability\ Matrix.app
cp -r "${output_dir:?}/bin/${app_name:?}" "${output_dir:?}/${app_name:?}"

# Print output location
echo "[App Build Completed]"
print_hyperlink "file:///${output_dir:?}" "${output_dir:?}"
print_hyperlink "file:///${output_dir:?}/${app_name:?}" "${app_name:?}"
echo ""
Loading
Loading