Compare commits

...

38 Commits

Author SHA1 Message Date
Neeraj Gupta
4e3448d97e Add release 4.4.4 to appdata.xml 2025-08-09 00:49:25 +05:30
Neeraj Gupta
6ac99e6e97 Bump version code 2025-08-09 00:48:32 +05:30
Neeraj Gupta
b57b012840 Bump version 2025-08-09 00:24:48 +05:30
Aman Raj Singh Mourya
8c2cb6dcad [auth] add AvistaZ network icons (#6789)
## Description
Add custom icons for AvistaZ.to network (Private Torrent tracker).
Including:
- [AvistaZ](https://avistaz.to/)
- [AnimeZ](https://animez.to/)
- [CinemaZ](https://cinemaz.to/)
- [ExoticaZ](https://exoticaz.to/)
- [PrivateHD](https://privatehd.to/)
## Tests
2025-08-08 17:33:28 +05:30
Aman Raj Singh Mourya
692f77c9bc [auth] add icon for capcom (#6790)
- added an icon for capcom
- added a json entry for capcom
2025-08-08 17:32:25 +05:30
Brook
dd2a5d6191 [auth] add icon for capcom 2025-08-08 11:37:06 +03:00
Hieu Pham
e66045dc74 [auth] add AvistaZ network icons
Add custom icons for AvistaZ.to network (Private Torrent tracker)
2025-08-08 15:08:08 +07:00
Neeraj
d9e860466c [auth] Auto hide dock icon macos (#6772)
## Description
After closing app or hidding the window on macos the dock icon still
appears even when the app is in tray which shouldn't happen this fixes
it
2025-08-07 20:54:30 +05:30
Manav Rathi
1633c478e3 [photos] [web] Handle XMP files interspersed with live photos (#6778) 2025-08-07 15:55:09 +05:30
Manav Rathi
5eb7cadc4d Fix multi-file scenarios 2025-08-07 15:49:50 +05:30
Manav Rathi
af5de77880 [photos] [web] Handle XMP files interspersed with live photos 2025-08-07 15:30:32 +05:30
Neeraj
58279b668b [mob][photos] Reduce logs on startup (#6775)
## Description

## Tests
2025-08-07 14:08:28 +05:30
Ashil
7537614fc2 [mob][photos] More gallery scroll improvements (#6776) 2025-08-07 14:00:10 +05:30
Ashil
0db2385dbd Merge branch 'main' into gallery_scroll_improvement 2025-08-07 13:59:59 +05:30
Neeraj
fbb5397217 [auth] Add monochrome icon style for macos tray (#6771)
## Description
This fixes this issue https://github.com/ente-io/ente/issues/5173
2025-08-07 13:34:38 +05:30
ashilkn
f4605f86a4 Bump up build number 2025-08-07 13:18:27 +05:30
ashilkn
1f1cad181f Reduce galleryThumbnailDiskLoadDeferDuration 2025-08-07 13:14:21 +05:30
Aman Raj Singh Mourya
7942c4d642 Added logos for meesman.nl, isc2.org, scouting.nl, zivver.com (#6770)
Fixed linting error in custom_icons.json (line 1733, superfluous comma)
and added the aforementioned logos.
2025-08-07 12:15:17 +05:30
Aman Raj Singh Mourya
625410852b [auth] add icon for Dresden University of Technology (#6774)
## Description

Add custom SVG icon for Dresden University of Technology.

Icon optimized with SVGOMG.
2025-08-07 12:10:54 +05:30
Neeraj Gupta
970ca59077 Clean up localSettings log 2025-08-07 11:13:18 +05:30
Neeraj Gupta
3ee021c9de Reduce heartbeat logs 2025-08-07 11:08:58 +05:30
ashilkn
0f8a8a7579 Perf: Skip recreation/modification of ImageProvider of Image used in thumbnail 2025-08-07 11:02:18 +05:30
ashilkn
33703072eb remove todo 2025-08-07 10:56:32 +05:30
Muhammad Talal Anwar
83395641ef chore: add TU Dresden icon 2025-08-07 04:49:40 +00:00
Ashil
8cbdd4cc98 Gallery perf tweaks (#6754) 2025-08-07 10:00:10 +05:30
eYdr1en
df5a7d6c19 auto hide dock icon macos 2025-08-06 15:24:57 +02:00
eYdr1en
95347022e8 add isTemplate for correct macos look on wallpaper 2025-08-06 15:20:44 +02:00
eYdr1en
4f224e7eba add monochrome icon style for macos tray 2025-08-06 15:10:42 +02:00
Ashil
1c2f8a74c4 Merge branch 'main' into gallery_perf_tweks 2025-08-06 14:46:33 +05:30
ashilkn
d86f9d2ffa refactor 2025-08-06 14:45:03 +05:30
Manav Rathi
ffdc21d15c [rust] Make CI fail on warnings (#6763)
https://doc.rust-lang.org/stable/clippy/continuous_integration/github_actions.html
2025-08-06 10:55:37 +05:30
peterv99
abe5548202 Added logos for meesman.nl, isc2.org, scouting.nl, zivver.com
Fixed linting error in custom_icons.json (line 1733, superfluous comma) and added the aforementioned logos.
2025-08-05 19:52:36 +02:00
ashilkn
769adb75c5 Different cache extents for different photoGridSizes 2025-08-05 20:31:10 +05:30
ashilkn
1648f62da6 Add repaint boundary over each gird item in gallery 2025-08-05 16:49:48 +05:30
Manav Rathi
97d66a3afa [rust] Make CI fail on warnings
https://doc.rust-lang.org/stable/clippy/continuous_integration/github_actions.html
2025-08-05 14:39:01 +05:30
Neeraj
d7fdca78f7 Update pubspec.yaml 2025-08-05 10:20:49 +05:30
ashilkn
63f24966ce Incrase cacheExtent of gallery 2025-08-05 06:53:54 +05:30
ashilkn
1c14896fd6 bump up build number 2025-07-31 22:36:49 +05:30
30 changed files with 441 additions and 114 deletions

View File

@@ -15,6 +15,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
RUSTFLAGS: -D warnings
jobs:
lint:
runs-on: ubuntu-latest
@@ -33,9 +36,9 @@ jobs:
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- run: cargo fmt --check
- run: cargo clippy
- run: cargo clippy --all-targets --all-features
- run: cargo build

View File

@@ -69,6 +69,10 @@
"BellTree Forums"
]
},
{
"title": "AnimeZ.to",
"slug": "animez"
},
{
"title": "Ankama",
"slug": "ankama"
@@ -122,6 +126,10 @@
{
"title": "availity"
},
{
"title": "AvistaZ.to",
"slug": "avistaz"
},
{
"title": "AzurHosts",
"slug": "azurhosts",
@@ -322,6 +330,14 @@
{
"title": "Capacities"
},
{
"title": "Capcom",
"slug": "capcom",
"hex": "0D4DA2",
"altNames": [
"Capcom Co., Ltd."
]
},
{
"title": "Carta",
"altNames": [
@@ -360,6 +376,10 @@
{
"title": "Chucklefish"
},
{
"title": "CinemaZ.to",
"slug": "cinemaz"
},
{
"title": "Clipper",
"slug": "clippercard",
@@ -612,6 +632,10 @@
],
"hex": "17AB17"
},
{
"title": "ExoticaZ.to",
"slug": "exoticaz"
},
{
"title": "Experian",
"slug": "experian",
@@ -1331,6 +1355,10 @@
"title": "Privacy.com",
"slug": "privacy"
},
{
"title": "PrivateHD.to",
"slug": "privatehd"
},
{
"title": "Proton"
},
@@ -1713,6 +1741,15 @@
"T Rowe Price Group, Inc"
]
},
{
"title": "TU Dresden",
"slug": "tu_dresden",
"altNames": [
"Technische Universität Dresden",
"Dresden University of Technology"
],
"hex": "00305d"
},
{
"title": "Tweakers"
},
@@ -1730,7 +1767,7 @@
{
"title": "Twitter",
"altNames": [
"X",
"X"
]
},
{
@@ -1798,7 +1835,7 @@
"title": "Warner Bros.",
"slug": "warner_bros",
"altNames": [
"Warner Brothers"
"Warner Brothers"
]
},
{
@@ -1811,7 +1848,7 @@
"title": "WEB.DE",
"slug": "web_de"
},
{
{
"title": "WeMod",
"slug": "wemod",
"altNames": [
@@ -1940,6 +1977,22 @@
{
"title": "Co-Wheels",
"slug": "cowheels"
},
{
"title": "Zivver",
"slug": "zivver"
},
{
"title": "Meesman Indexbeleggen",
"slug": "meesman"
},
{
"title": "Scouting Nederland",
"slug": "scoutingnederland"
},
{
"title": "ISC2",
"slug": "isc2"
}
]
}
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="926.65619"
height="958.5625"
id="svg2"
inkscape:version="0.48.1 "
sodipodi:docname="Capcom icon.svg">
<metadata
id="metadata3015">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1835"
inkscape:window-height="1058"
id="namedview3013"
showgrid="false"
inkscape:zoom="0.32"
inkscape:cx="1623.239"
inkscape:cy="170.71783"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<defs
id="defs4" />
<g
transform="translate(2426,-55.799683)"
id="layer1">
<path
d="m -1552.0877,1007.6508 4.1189,-358.25737 -199.9062,0 c -15.7424,43.40396 -59.9402,72.71875 -113.25,72.71875 -28.0932,0 -58.13,-6.62565 -82.4688,-21.25 -31.7176,-19.0581 -55.4185,-41.69206 -74.9375,-81.90625 -15.3567,-37.21359 -27.109,-82.77963 -28.4687,-123.09375 4.6791,-79.72921 28.9019,-108.14789 73.25,-141.03125 9.8313,-7.28971 37.2996,-13.1189 45.2187,-13.15625 17.4221,-0.0822 31.9427,10.48615 39.8125,26.0625 11.4471,22.65651 -5.3079,50.1006 -21.875,69.625 l 161.625,111.34375 249.625,-261.1875 c -87.0859,-138.79748 -246.2201,-231.718747 -428.0937,-231.718747 -275.3534,0 -498.5625,212.989027 -498.5625,475.718747 0,262.72972 216.0662,461.41517 498.5625,482.84377 l 376.5933,-1.6875 c 0.2227,-314.9224 -12.7573,-290.91079 -1.2435,-5.0239 z"
id="path3840"
style="fill:#0c4da2;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccssccssscccssccc" />
<path
d="m -1927.7708,145.18332 c -226.9823,1.42857 -412.3662,166.7661 -412.3662,383.05133 0,216.28523 204.6469,402.07109 452.3662,396.47808 l 240.7127,0.6783 0,-189.50724 -45.4634,0 c -14.2837,35.73115 -80.9968,70.68064 -129.3669,70.68064 -25.4902,0 -89.6606,-3.46506 -113.3988,-11.7792 -41.9106,-14.67892 -101.712,-35.75045 -153.7082,-123.14142 -13.9338,-30.6351 -53.1686,-105.28898 -44.4023,-214.19078 4.2456,-65.63495 45.9366,-147.56776 120.7486,-184.67165 32.6212,-16.17886 65.4607,-18.83348 123.1208,-13.60101 41.3957,3.75653 82.5276,32.86328 96.8886,67.79717 11.107,27.01833 7.9153,59.94169 -5.16,78.69532 -0.9328,1.33796 -0.9528,2.52293 -0.7595,3.80017 0.1471,0.97218 1.408,2.592 1.408,2.592 l 22.7845,17.79932 c 0,0 6.4866,4.50696 14.0636,4.30516 4.4004,-0.11719 12.2667,-4.89104 12.2667,-4.89104 l 130.1212,-136.55317 c -80.4452,-108.54703 -223.4056,-147.54198 -309.8556,-147.54198 z"
id="path3950"
style="fill:#ffcb08;fill-opacity:1;stroke:none"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 438 438" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><rect id="Artboard1" x="0" y="0" width="437.5" height="437.5" style="fill:none;"/><g id="layer101"><path d="M80.861,420.364c-4.353,-1.171 -8.1,-4.433 -10.133,-8.799l-1.102,-2.397l0.27,-99.121c0.291,-94.079 0.36,-100.573 1.396,-103.303c0.216,-0.469 -1.105,-1.372 -5.198,-3.524c-25.794,-13.562 -44.713,-37.051 -52.206,-64.809c-2.864,-10.522 -3.359,-14.797 -3.306,-28.127c0.096,-13.244 0.362,-15.721 3.139,-26.22c4.859,-18.438 14.538,-34.891 28.434,-48.251c15.784,-15.189 35.348,-24.767 57.621,-28.224c6.712,-1.041 23.289,-0.974 30.121,0.164c17.719,2.848 33.842,9.706 47.898,20.401c5.197,3.951 12.219,10.687 16.429,15.746c1.786,2.143 3.359,3.944 3.53,4.03c0.17,0.043 1.457,-1.276 2.831,-2.98c1.374,-1.703 4.464,-5.023 6.823,-7.364c16,-15.872 36.506,-26.044 59.249,-29.328c6.883,-0.998 22.306,-0.936 29.095,0.117c24.21,3.771 45.357,14.964 61.863,32.804c14.591,15.824 23.698,35.557 26.684,57.999c0.705,5.216 0.645,20.34 -0.103,25.635c-3.387,24.211 -13.551,44.465 -30.708,61.272c-8.322,8.17 -17.577,14.713 -27.465,19.501c-1.841,0.89 -2.398,1.358 -2.187,1.871c1.355,3.125 1.433,5.048 1.331,30.426c-0.056,14.056 -0.017,25.549 0.111,25.55c0.128,0 18.029,-10.353 39.741,-22.998c21.712,-12.602 40.555,-23.464 41.839,-24.057c1.969,-0.932 2.952,-1.099 6.199,-1.086c3.29,0.013 4.229,0.188 6.276,1.178c3.241,1.509 6.433,4.598 7.874,7.594l1.186,2.398l-0.204,83.099c-0.171,63.745 -0.335,83.526 -0.726,84.977c-1.733,6.188 -8.375,11.117 -14.998,11.091c-4.742,-0.019 -4.742,-0.019 -46.94,-25.012l-40.62,-24.046l-0.32,26.574c-0.309,23.754 -0.407,26.83 -1.054,28.451c-1.899,4.649 -5.458,7.967 -10.164,9.444c-2.695,0.843 -3.763,0.839 -116.64,0.344c-88.824,-0.356 -114.33,-0.586 -115.866,-1.02Zm140.434,-223.059c-0.256,-0.215 -1.661,-1.331 -3.195,-2.448c-6.858,-5.197 -12.604,-10.732 -18.726,-18.148c-1.021,-1.243 -2,-2.187 -2.128,-2.145c-0.171,0.085 -1.759,1.873 -3.562,4.002c-4.25,5.067 -10.769,11.151 -16.426,15.444l-4.585,3.442l24.524,0.098c13.458,0.054 24.31,-0.073 24.098,-0.245Zm-94.961,-25.46c25.4,-5.495 44.191,-24.646 49.163,-50.005c1.571,-8.239 1.017,-19.307 -1.512,-27.991c-5.519,-19.291 -20.708,-35.245 -39.61,-41.602c-7.594,-2.551 -10.669,-3.033 -19.726,-3.069c-8.673,-0.035 -11.751,0.38 -18.767,2.573c-19.293,5.99 -35.166,22.119 -40.926,41.621c-2.598,8.663 -3.241,19.726 -1.736,27.978c2.552,13.511 8.999,25.415 18.788,34.683c9.024,8.495 19.726,13.836 32.534,16.194c4.355,0.787 17.43,0.583 21.792,-0.382Zm167.009,0.498c5.987,-1.343 8.683,-2.315 14.804,-5.324c17.081,-8.391 28.977,-23.639 33.369,-42.847c0.87,-3.756 1.006,-5.636 1.033,-12.344c0.026,-6.707 -0.094,-8.588 -0.934,-12.351c-5.454,-24.845 -23.837,-43.29 -48.596,-48.773c-5.165,-1.174 -18.751,-1.228 -23.925,-0.096c-25.999,5.536 -45.305,25.454 -49.553,51.114c-0.831,4.91 -0.869,14.31 -0.077,19.226c4.125,26.164 24.251,46.796 50.422,51.686c6.233,1.178 17.642,1.01 23.457,-0.291Z" style="fill:#fff;fill-rule:nonzero;"/></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,4 @@
<svg width="76" height="28" viewBox="0 0 76 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.6137 0.263554V24.2528C3.6137 24.3057 3.59223 24.3565 3.55413 24.3932L0.140163 27.6896C0.0876965 27.7404 0 27.703 0 27.6301V0.263554C0 0.217915 0.0370442 0.180891 0.0827069 0.180891H3.53099C3.57666 0.180891 3.6137 0.217915 3.6137 0.263554ZM12.9151 7.14572C12.9151 4.77676 14.8577 3.33976 17.4613 3.33976C19.7149 3.33976 21.3857 4.27186 23.173 5.94205C23.445 6.21361 23.5321 6.36292 23.8042 6.05236L25.4188 4.31055C25.6908 4 25.5433 3.92232 25.2713 3.65076C23.3283 1.39816 20.4529 0 17.4223 0C12.9538 0 9.41785 2.91284 9.41785 7.10703C9.41785 15.8838 22.9397 14.0583 22.9397 20.1554C22.9397 22.6408 20.764 24.5827 17.5388 24.5827C14.4361 24.5827 12.8017 23.1551 11.0921 21.524C10.8201 21.2522 10.7614 21.1884 10.5283 21.4216L8.68301 23.1634C8.411 23.3966 8.43746 23.4164 8.63175 23.7269C10.3993 26.1087 13.6923 27.9612 17.539 27.9612C22.3572 27.9612 26.5147 24.7768 26.5147 20.3107C26.5147 11.0679 12.9153 13.1263 12.9153 7.14557L12.9151 7.14572ZM44.5835 3.53395C47.3423 3.53395 49.596 4.58257 51.4999 6.17492C51.5444 6.213 51.6963 6.33632 51.743 6.37576C51.9289 6.53262 51.9644 6.53973 52.1883 6.30851C52.2428 6.25229 52.4023 6.08032 52.4023 6.08032L54.0336 4.29771C54.2087 4.09279 54.1792 4.07768 54.0528 3.94545C54.0011 3.89134 53.9102 3.80702 53.8311 3.72813C51.3835 1.55367 48.2361 0 44.5835 0C36.8514 0 30.8288 6.21361 30.8288 14.0196C30.8288 21.8255 36.8514 28 44.5835 28C48.2361 28 51.3906 26.3504 53.8384 24.1369C54.1104 23.9037 54.2128 23.8197 53.9409 23.5477L52.278 21.729C52.006 21.4571 51.9349 21.5213 51.6629 21.7545C49.759 23.3466 47.3422 24.4659 44.5834 24.4659C39.0271 24.4659 34.5199 19.9612 34.5199 14.0194C34.5199 8.03869 39.0272 3.53395 44.5835 3.53395ZM66.7904 0.0562167C63.2934 0.0562167 60.5212 1.59885 58.8115 3.73463C58.7651 3.78873 58.6609 3.93985 58.6299 3.98821C58.505 4.18286 58.541 4.19736 58.7175 4.39382C59.1585 4.88481 60.5292 6.43666 60.5292 6.43666C60.5868 6.49756 60.6405 6.49998 60.6904 6.45585C60.7448 6.4078 60.863 6.29536 60.9279 6.23174C62.0159 5.10544 63.8762 3.24107 66.7514 3.24107C69.9763 3.24107 71.9191 5.26049 71.9191 8.21187C71.9191 12.3999 69.5179 14.3919 64.1713 18.8858C62.6162 20.1928 59.7455 22.7114 59.029 23.3411C58.9234 23.4338 58.8637 23.5669 58.8637 23.7071V27.4699C58.8637 27.6378 59.0612 27.7277 59.1874 27.6169C60.6628 26.3236 66.7627 20.9799 68.7448 19.2968C73.8769 14.9387 75.2608 11.9788 75.2608 8.17288C75.2608 3.55163 71.9193 0.0563678 66.7902 0.0563678L66.7904 0.0562167Z" fill="black"/>
<path d="M75.4003 24.6003H66.7791C66.6688 24.6003 66.5794 24.6896 66.5794 24.7999V27.3522C66.5794 27.4624 66.6688 27.5518 66.7791 27.5518H75.4003C75.5106 27.5518 75.6 27.4624 75.6 27.3522V24.7999C75.6 24.6896 75.5106 24.6003 75.4003 24.6003Z" fill="#468145"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 557 557" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><rect id="Artboard1" x="0" y="0" width="556.25" height="556.25" style="fill:none;"/><g><path d="M45.455,412.973c-8.755,-1.966 -14.046,-4.401 -21.21,-9.692c-9.88,-7.304 -16.341,-17.418 -19.9,-31.231c-0.655,-2.481 -0.749,-13.157 -0.889,-90.601c-0.141,-62.086 -0.047,-89.102 0.328,-92.333c2.013,-17.746 12.969,-33.384 28.795,-41.251c8.896,-4.401 14.609,-5.478 29.545,-5.478l10.956,0l0,109.096l121.27,0l0,-109.189l12.97,0.187c12.267,0.187 13.297,0.281 17.699,1.451c18.682,4.964 32.963,19.432 37.832,38.348l1.498,5.759l0,180.266l-1.451,5.618c-3.886,14.984 -12.642,26.408 -25.893,33.712c-4.495,2.482 -8.849,4.074 -14.702,5.338c-3.933,0.843 -6.087,0.983 -16.247,0.983l-11.706,0l0,-107.223l-121.27,0l0,107.223l-11.799,-0.046c-9.879,-0.047 -12.501,-0.188 -15.826,-0.937Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/><path d="M272.625,413.956l0,-271.569l118.226,0.094l118.226,0.14l4.449,1.218c8.943,2.481 16.668,6.883 23.177,13.11c8.053,7.726 12.829,16.294 15.17,27.204c0.983,4.541 0.983,4.963 0.983,94.112l0,89.571l-1.123,4.917c-2.342,10.254 -6.275,17.558 -13.485,25.097c-7.679,8.006 -16.294,12.782 -27.157,15.123l-4.589,0.983l-233.877,0Zm215.148,-61.805l0,-147.958l-150.767,0l0,147.958l150.767,0Z" style="fill:url(#_Linear2);fill-rule:nonzero;"/></g><defs><linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.66288e-14,271.569,-271.569,1.66288e-14,269.5,142.387)"><stop offset="0" style="stop-color:#decc84;stop-opacity:1"/><stop offset="0.49" style="stop-color:#e1b821;stop-opacity:1"/><stop offset="1" style="stop-color:#e2b201;stop-opacity:1"/></linearGradient><linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.66288e-14,271.569,-271.569,1.66288e-14,272.625,142.387)"><stop offset="0" style="stop-color:#decc84;stop-opacity:1"/><stop offset="0.49" style="stop-color:#e1b821;stop-opacity:1"/><stop offset="1" style="stop-color:#e2b201;stop-opacity:1"/></linearGradient></defs></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1"
width="351.54666"
height="329.84"
viewBox="0 0 351.54666 329.84"
sodipodi:docname="SN_logo_CMYK.eps"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1">
<inkscape:page
x="0"
y="0"
inkscape:label="1"
id="page1"
width="351.54666"
height="329.84"
margin="0"
bleed="0" />
</sodipodi:namedview>
<g
id="g1"
inkscape:groupmode="layer"
inkscape:label="1">
<g
id="group-R5">
<path
id="path2"
d="m 1090.05,2469.06 c -24.19,-7.15 -103.737,-35.43 -111.945,-99.52 -0.417,-3.28 -0.664,-6.75 -0.664,-10.38 0,-1.78 0.235,-3.7 0.364,-5.56 -10.262,0.29 -19.739,0.6 -26.133,0.81 l -65.332,1.34 -23.559,-4.16 c -28.023,-4.55 -103.66,-16.9 -105.203,-94.63 -0.223,-5.16 -1.117,-25.66 -1.117,-25.66 0,-46.17 9.445,-96.59 26.602,-141.96 5.046,-13.56 12.753,-23.97 18.382,-31.57 0.071,-0.11 3.368,-4.86 4.36,-6.29 9.855,-38.77 26.3,-70.63 45.929,-98.74 -53.027,-6.36 -106.531,-15 -159.277,-30.85 l 10.656,1.99 c -28.793,-2.16 -56.379,-17.47 -84.343,-46.81 l -2.582,-2.71 -2.157,-3.07 c -9.359,-13.34 -16.133,-26.39 -20.597,-39.33 -108.993,-32.27 -198.711,-59.86 -271.504,-83.66 -64.18,-21.16 -191.942,-75.53 -197.344,-77.84 l -3.488,-1.48 c 0,0 -0.75,-0.5 -0.969,-0.64 -0.926,-0.38 -1.899,-0.79 -1.899,-0.79 C 20.5117,1627.77 0,1560.47 0,1511.02 c 0,-77.67 60.293,-99.23 89.2734,-109.59 6.5352,-2.34 13.3046,-4.76 16.7896,-6.72 39.054,-21.38 76.554,-14 103.933,-8.62 l 18.535,3.23 c 13.426,1.65 28.203,6.02 42.918,10.64 13.539,-28.39 38.336,-54.64 77.246,-62.14 33.27,-6.51 55.453,-0.36 73.301,6.07 0.996,-10.01 3.031,-19.97 7.145,-29.66 6.875,-16.22 18.355,-31.11 32.617,-43.77 -23.574,-18.45 -57.028,-51.65 -57.028,-91.97 0,-3.61 0.274,-7.28 0.844,-11 -0.008,0.04 0.399,-2.76 0.399,-2.76 3.066,-21.52 11.211,-78.7 89.461,-110.76 30.101,-12.33 64.925,-15.82 103.968,-10.82 3.43,-11.8 8.594,-22.92 15.438,-33.02 -21.535,-10.618 -26.383,-14.302 -29.688,-16.97 l -1.097,-0.91 c -14.344,-12.238 -35.231,-31.379 -50.989,-55.961 -6.539,-9.769 -26.257,-42.648 -26.257,-80.109 0,-6.758 0.64,-13.668 2.121,-20.629 4.996,-23.449 18.433,-42.66 38.859,-55.539 28.457,-17.571 59.524,-19.403 83.496,-17.114 3.903,-25.226 22.399,-54.019 79.567,-70.777 l 3.652,-1.082 c 18.387,-5.598 43.184,-4.641 95.445,-0.18 l 21.008,1.61 c 6.332,0.222 16.938,1.801 29.336,4.019 0.02,-25.679 7.574,-48.519 21.941,-65.519 l 1.036,-1.188 c 32.378,-35.941 81.164,-45.679 100.636,-48.211 21.704,-3.019 49.384,6.219 103.054,28.078 l 13.14,5.274 c 2.61,1.027 9.13,2.937 16.79,5.066 2.08,-2.797 3.56,-5.718 6.13,-8.359 11.57,-11.93 32.27,-25.891 65.17,-24.75 30.02,0.793 80.65,12.051 86.31,13.332 l 3.03,0.68 2.91,1.05 c 62.56,22.559 268.81,97.289 296.36,112.11 l 1.04,0.57 c 22.84,11.539 205.84,69.93 283.99,94.859 l 56.19,18 c 82.34,25.911 157.95,84.43 179.73,107.129 l 0.8,0.852 c 18.25,19.91 30.13,47.211 35.35,81.149 0.57,3.61 0.85,7.19 0.85,10.73 0,17.83 -6.96,34.73 -16.23,50.72 42.8,19.11 84.58,37.78 85.78,38.31 15.35,5.69 54.79,23.33 71.3,59.78 3.85,8.53 5.57,16.91 6.1,25.08 45.66,11.71 96.03,24.63 96.03,24.63 0.05,0.01 1.58,0.37 1.58,0.37 28.95,6.86 105.87,25.09 177.5,60.59 66.98,32.41 79.83,70.82 79.83,103.21 0,4.38 -0.23,8.66 -0.6,12.8 l -0.24,2.95 -0.24,-3.74 c 0.31,2.41 0.46,4.85 0.46,7.29 0,33.59 -27.8,69.46 -53.31,88.19 -0.41,1.45 -0.69,2.46 -0.69,2.46 -16.17,19.47 -40.32,20.74 -51.92,21.36 l 1.3,-0.09 -14.24,2.33 c -18.43,3.88 -38.47,6.86 -81.29,5.91 -1.01,12.89 -3.02,25.28 -7.03,36.8 -25.36,76.06 -92.5,130.37 -170.88,137.82 -49.09,6.17 -87.12,3.96 -128.02,0.48 35.15,41.09 71.23,87.59 80.71,115.32 8.24,23.4 23.39,130.23 24.13,140.16 l 0.1,1.48 0.21,13.73 c 0,29.46 -2.97,49.47 -5.44,65.61 -0.18,1.62 -3.11,28.05 -3.39,30.67 -2.34,70.84 -14.17,133.75 -16.55,145.76 l -23.69,117.63 -70.81,-96.45 c -9.23,-12.78 -20.6,-28.08 -25.51,-34.26 -14.11,-10.83 -79.29,-55.93 -128.62,-86.83 -11.04,44.47 -37.4,83.58 -79.17,113.49 l -1.87,1.35 -1.99,1.16 c -52.54,30.73 -110.3,59.29 -176.56,60.18 -66.4,2.28 -128.22,-11.25 -183.74,-40.23 -33.75,-18.23 -58.71,-44.83 -80.73,-68.3 -13.84,-14.71 -26.65,-28.35 -40.27,-39.12 l 2.63,1.94 c -12.03,-8.28 -23.19,-17.08 -33.97,-26 -8.34,43.79 -18.04,92.87 -39.65,140.64 -26.22,56.12 -61.23,104.55 -110.28,152.92 -23.83,24.47 -67.53,43.26 -91.52,52.28 l -2.9,1.03 -14.98,5.04 -16.03,-4.73"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path3"
d="m 473.715,1191.47 c -2.852,17.82 20.695,43.53 44.914,60.65 24.98,17.09 64.922,34.93 89.207,43.49 24.219,7.87 41.348,13.57 54.894,17.87 78.485,27.09 255.391,89.13 262.52,91.97 7.832,3.61 409.42,134.83 443.68,142.01 33.48,7.13 177.58,71.27 192.62,84.14 9.92,8.56 301.68,42.09 339.51,23.53 37.06,-18.53 -12.12,-145.54 55.66,-126.98 66.96,18.53 275.99,51.36 313.07,-8.52 37.09,-59.97 7.18,-89.93 -19.21,-101.31 -25.71,-10.75 -511.44,-131.98 -511.44,-131.98 0,0 -691.94,-186.88 -718.33,-191.14 -20.68,-3.61 -163.326,-47.83 -217.564,-65.61 -14.961,-5 2.149,0.69 -26.355,-7.88 -36.418,-10.65 -29.981,-5 -46.399,-2.12 -36.367,7.12 -64.199,32.12 -67.07,66.3 -2.84,33.53 53.527,52.79 49.269,52.79 -4.289,0 -106.289,-52.09 -179.757,-22.13 -54.942,22.13 -56.375,56.4 -59.219,74.92"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path4"
d="m 728.52,1007.06 c 0,0 369.52,114.79 409.46,129.84 39.93,14.95 473.58,134.1 503.58,140.49 29.22,6.43 334.55,100.61 369.43,109.88 34.96,9.26 265.42,70.62 265.42,70.62 0,0 73.48,17.78 147.66,21.34 74.18,2.88 76.27,-5.69 103.4,-7.83 27.13,-1.42 10.69,-7.13 19.31,-10 7.82,-2.13 41.31,-36.35 39.22,-52.78 -2.18,-16.4 16.34,-44.22 -51.4,-77 -67.74,-33.58 -141.23,-50.67 -168.36,-57.1 -27.05,-6.39 -158.37,-40.62 -158.37,-40.62 0,0 32.18,-15 22.18,-37.13 -10,-22.09 -44.96,-34.22 -44.96,-34.22 l -166.19,-74.22 c 0,0 41.39,-12.08 47.05,-20.66 5.74,-8.56 20.7,-29.96 18.52,-43.47 -2.09,-13.62 -7.13,-37.88 -22.78,-54.97 -15.74,-16.39 -84.18,-70.609 -159.06,-94.191 -74.88,-24.211 -323.16,-101.957 -349.51,-116.957 -26.44,-14.223 -289.63,-109.102 -289.63,-109.102 0,0 -50.62,-11.441 -77.03,-12.128 -41.35,-1.43 -38.51,42.789 -38.51,42.789 0,0 -53.48,-12.871 -67.07,-18.571 -13.53,-5 -74.88,-32.09 -90.552,-29.91 -16.437,2.129 -49.961,9.949 -69.902,32.09 -19.289,22.82 -6.418,68.441 0.691,73.48 6.418,5 21.379,28.481 21.379,28.481 0,0 -94.121,-22.09 -113.41,-22.781 -18.516,-0.7 -83.438,-8.621 -99.871,-3.61 -16.367,5.039 -54.895,13.571 -47.766,43.52 7.129,30.699 26.387,53.488 47.071,62.051 20.695,8.609 -74.903,-26.352 -74.903,-26.352 0,0 -45.633,-16.43 -79.16,4.262 -32.832,20.699 -12.129,67.789 0.703,87.008 12.824,20 31.387,36.402 41.367,44.921 10.676,8.61 111.993,52.83 111.993,52.83"
style="fill:#1c63b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path5"
d="m 144.184,1624.47 c 0,0 130.488,55.6 193.277,76.31 144.078,47.09 321.703,98.43 380.211,115.57 55.613,17.09 227.519,69.18 373.038,113.4 115.6,34.96 215.41,64.93 226.15,67.75 24.94,5.7 524.24,162.66 540.68,143.4 16.4,-18.52 67.78,-64.92 64.92,-132.01 -2.87,-67.74 -126.97,-232.5 -148.37,-243.89 -22.13,-10.73 -391.6,-83.49 -391.6,-83.49 0,0 191.15,75.62 199.68,-2.86 7.91,-78.45 -148.36,-106.28 -156.19,-110.54 -7.83,-5 -310.29,-99.87 -537.097,-172.63 -150.559,-48.47 -247.531,-85.56 -256.828,-87 -24.219,-2.14 -66.309,-34.96 -108.426,-18.56 -28.508,11.38 -64.875,43.47 -48.488,83.44 16.418,40.7 51.379,48.52 51.379,48.52 0,0 -22.844,-7.82 -71.329,-16.43 -48.527,-7.84 -57.089,-26.35 -97.031,-18.53 -40.637,7.83 -51.379,56.36 -49.246,69.92 2.848,13.53 -57.023,-14.27 -86.293,-17.87 -29.957,-3.56 -62.07,-17.09 -92.031,-0.69 -29.195,16.43 -80.59,16.43 -80.59,72.74 0,87.05 87.77,108.49 94.184,113.45"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path6"
d="m 1933.07,2015.15 c 0,0.04 -5.39,22.36 -5.39,22.36 -4.7,18.3 -10.48,41.04 -10.96,50.74 -4.61,40.61 -26.09,74.92 -63.92,102 -46.75,27.35 -97.36,52.66 -152.11,53.36 -57.99,2.13 -111.74,-9.48 -159.79,-34.57 -26,-14.04 -47.04,-36.48 -67.44,-58.22 -14.31,-15.22 -29.08,-30.96 -45.7,-44.09 -20.05,-13.84 -38.66,-30.05 -56.66,-45.7 l -31.8,-27.05 c -0.72,-0.18 -4.38,-1.78 -5.48,-1.26 l -0.72,1.26 c -6.5,24.43 -11.26,49.57 -15.89,73.88 -8.42,44.27 -17.09,90.05 -37,134.05 -23.51,50.31 -55.42,94.32 -100.45,138.58 -20.18,20.83 -71.6,39.74 -73.76,40.57 l -0.9,0.3 -0.89,-0.25 c -2.96,-0.88 -71.84,-21.48 -76.51,-57.93 -2.35,-18.43 12.11,-37.17 43.03,-55.7 -0.05,0 0.7,-0.6 1.37,-1.13 -8.55,-5.69 -79.213,-3.35 -122.104,-1.91 l -59.785,1.22 c -0.547,-0.09 -18.703,-3.3 -18.703,-3.3 -29.695,-4.84 -63.379,-10.22 -63.985,-46.58 -0.71,-7.95 -1.062,-16.09 -1.062,-24.48 0,-40.04 8.191,-84.14 23.367,-124.27 2.637,-7.08 7.305,-13.44 11.809,-19.52 4.433,-6.09 8.672,-11.83 11.023,-18.22 15.195,-66.48 54.719,-109.79 96.594,-155.71 0,0 0.476,-0.56 0.691,-0.78 -2.468,-0.23 -5.019,-0.48 -5.019,-0.48 -78.934,-7.39 -160.645,-15.05 -238.086,-38.31 -15.672,-1.17 -32.852,-11.47 -51.875,-31.44 -12.324,-17.56 -17.891,-32.35 -17.891,-46.96 -0.633,-4.26 -0.886,-8.56 -0.886,-12.92 0,-24.47 9.433,-49.61 29.218,-77.83 26.043,-41 54.942,-74.09 88.289,-101.18 42.285,-31.87 88.555,-54.04 150.059,-71.88 27.148,-8.39 49.328,7.18 70.832,22.27 10.242,7.18 20.918,13.95 31.964,18.65 -15.987,-28.7 -28.362,-64 -28.362,-98.22 0,-25.97 6.984,-51.06 24.812,-71.62 20.02,-21.57 48.7,-32.36 73.99,-40.78 15,-2.79 29.26,-2.48 44.35,-2.09 l 28.42,-0.18 c 31.61,2 64.33,18.92 83.75,43.13 56.2,83.31 84.5,172.06 84.5,264.42 0,10.65 -0.39,21.39 -1.15,32.14 0.4,0.87 3.15,7 3.15,7 0,0 1.06,2.3 2.11,4.52 3.59,-3.26 25.67,-23.13 25.67,-23.13 27.53,-21.57 28.79,-24.4 44.32,-58.66 l 31.3,-66.01 c 7.92,-15.48 11.61,-37.96 11.61,-65.26 0,-123.88 -76.31,-346.73 -183.8,-465.79 -23.87,-26.48 -35.65,-45.479 -35.65,-57.569 0,-3.082 0.76,-5.699 2.26,-7.91 12.61,-18.09 71.96,4.738 78.68,7.437 l 0.84,0.301 0.48,0.781 c 1.53,2.391 151.32,240.16 199.37,429.52 7.92,31.17 12.79,66.31 12.79,102.49 0,74.31 -20.44,153.15 -76.97,211.23 -0.61,0.48 -11.65,9.7 -11.65,9.7 -4.61,4.35 -9.91,9.13 -16.05,12.82 1.31,2.62 3.74,7.8 5.05,10.53 28,-7.34 53.83,-18.74 78.74,-29.88 30,-13.43 58.27,-26.08 90.4,-32.21 11.35,-2.79 19.36,-7.44 27.09,-11.96 11.74,-6.83 22.78,-13.22 43.49,-12.34 l 31.91,3.38 c 14.4,2.13 23.87,3.56 33.83,-0.99 3.56,-1.62 8.44,-0.79 14.79,2.69 27.56,15 77.74,76.52 81.92,105.79 0.17,1.65 0.17,3.61 0.17,5.7 0,24.92 -9.39,77.96 -37.57,99.66 -14.09,11.04 -43.22,25.78 -68.88,38.74 -20.43,10.31 -45.22,22.88 -49.74,27.92 75.44,40.96 143.45,9.44 144.14,9.12 70.75,-45.56 93.75,-60.35 101.88,-64.43 0.35,-0.26 0.14,-0.83 0.53,-1.04 0,0 0.34,0.47 0.43,0.56 3.13,-1.48 3.74,-1.09 4.3,-0.35 l 1.61,2.48 -3.26,2.13 c -2.57,1.65 2.66,12.61 7.22,22.27 10.74,22.6 26.91,56.73 19.7,96.39"
style="fill:#00a650;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path7"
d="m 1775.14,1881.4 v -0.04 0.04"
style="fill:#00a650;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path8"
d="m 2381.63,1549.8 c -19.35,58.06 -69.83,99.1 -128.66,104.58 -50.74,6.52 -87.62,3.26 -134.32,-0.87 l -31.66,-2.69 c -7.73,0 -42.09,-13.79 -89.83,-33.23 -11.31,-4.64 -22.13,-9.04 -31.31,-12.69 26.09,21.52 67.58,64.78 102.79,105.45 40.62,45.56 86.8,102.61 94.71,125.74 5.87,16.7 20.78,117.1 21.56,127.67 0.09,4.04 0.18,7.87 0.18,11.52 0,26.18 -2.65,43.61 -5.04,59.23 l -3.65,33.04 c -2.18,73.53 -15.66,139.58 -15.78,140.27 l -1.27,6.31 -3.83,-5.22 c -0.26,-0.35 -24.26,-33.52 -30.48,-40.44 -6.3,-6.31 -104.57,-74.44 -159.83,-107.13 -87.37,-52.18 -126.85,-119.76 -139.81,-141.98 l -3.09,-5.22 c -8.12,-13.3 -17.43,-33.96 -26.38,-53.91 -8.4,-18.66 -16.31,-36.31 -22.09,-45.18 -8.18,-12.05 -17.87,-38.87 -24.96,-58.53 -3.14,-8.65 -6.14,-16.88 -7.22,-18.56 -5.74,-6.14 -8.05,-18.71 -10.26,-30.83 -1.26,-6.96 -2.7,-13.4 -4.7,-18.18 -0.91,1.74 -1.91,3.92 -2.7,6.3 -0.26,0.92 -7.74,26.13 -55.13,113.89 -43.83,81.75 -50.53,81.18 -132.49,73.96 l -30.75,-2.57 c -90.52,-6.61 -157.61,-53.31 -193.62,-78.39 l -16.61,-11.19 c -18.61,-11.47 -55.14,-62.95 -97.33,-122.56 l -47.75,-66.71 6.37,0.65 c 11.18,1.31 21.61,-0.22 32.74,-1.83 11.58,-1.65 23.6,-3.08 36.38,-1.29 -0.72,-3.44 -1.52,-6.92 -1.52,-10.41 0,-17.38 9.08,-34.64 25.87,-47.91 20.93,-20.91 41.13,-33.3 67.29,-41.13 3.28,-0.13 5.2,-4.53 6.97,-8.83 2.01,-4.66 4.05,-9.52 7.94,-12.17 l 1.46,-1.05 1.91,0.92 c 3.26,1.83 4.67,9.43 6.87,82.87 0.39,14.61 0.85,29.75 1.24,31.61 15.78,49.92 54.74,81.71 106.66,86.96 19.22,2.09 74.44,-4.86 82.53,-45.47 0.22,-0.75 10.95,-24.74 17.31,-31.26 0.08,-0.32 18,-51.75 18,-51.75 11.04,-32.75 19.74,-58.61 39.09,-98.84 2.65,-4.78 2.91,-9.82 3.21,-15.09 l 0.83,-8.43 c 0.87,-4.26 1.3,-8.78 1.3,-13.43 0,-16.27 -5.08,-34.71 -14.56,-52.49 -7.78,-13.52 -24.35,-33.78 -36.57,-36.35 -31.65,-6 -39.7,-0.78 -59.13,11.91 l -18.01,11.26 c -13.12,7.7 -25.6,64.01 -29.34,85.06 4.38,42.96 10.56,117.18 3.3,123.05 -4.39,3.91 -12.74,-2.61 -63.44,-49.7 -30.74,-28.56 -68.98,-64.09 -100.56,-87.96 -45.07,-33.66 -67.46,-75.7 -83.84,-106.44 -7.11,-13.35 -13.27,-24.88 -19.27,-31.58 -8.53,-9.09 -5.27,-21.34 -2.15,-33.13 l 2.84,-12.04 c 5.53,-28.18 22.73,-49.4 39.34,-69.92 l 3.37,-4.17 c 11.22,-15.49 44.61,-56.01 44.93,-56.41 0.81,-0.73 56.85,-53.65 102.47,-14.61 64.27,20.79 94.79,40.35 96,41.18 22.88,11.31 47.88,22.87 60.19,27.48 -20.7,-20.05 -62.1,-74.3 -76.53,-118.36 -14.4,-45.26 -44.27,-117.611 -51.92,-133.002 l -7.83,-15.269 c -15.09,-29.688 -50.35,-99.227 -59.46,-108.868 -11.5,-11.492 -15.96,-19.402 -8.11,-30.711 1.65,-2.429 3.53,-3.691 5.7,-3.91 3.86,-0.308 7.12,2.918 11.22,6.961 3.86,3.828 8.7,8.598 15.17,11.688 9.26,4.832 59.84,51.711 113.31,101.32 42.71,39.57 86.84,80.492 101.19,91.57 29.53,23.012 51.87,45.401 80.14,73.701 l 7.91,7.87 c 0,0 73.97,75.23 85.4,86.84 9.13,-5.74 56.18,-34.52 92.88,-46.18 26.53,-5.22 57.83,-9.22 90.78,0 58.71,17.35 147.76,82.4 212.11,133.88 l 3.74,3 -4.34,1.87 c -11.92,5.13 -25.57,0.65 -42.87,-5 -21.49,-6.96 -48.28,-15.7 -83.32,-9.78 -50.75,7.43 -69.05,14.7 -82.4,20 l -9.22,3.44 c -0.04,0 -5.47,1.74 -5.47,1.74 -34.22,10.6 -69.62,21.7 -90.05,51.34 -0.18,0.53 -0.27,1.05 -0.27,1.65 0,2.36 1,5.75 2.09,9.49 l 2.17,8.91 c 4.66,17.61 18.09,29.57 31.05,41.14 l 11.66,10.83 c 23.99,29.13 46.61,47.92 71.22,59.34 20.48,10.49 52.53,23.61 89.66,26.88 l 22.35,0.21 c 24.34,0.35 47.3,0.7 71.13,-3.08 17.83,-2.35 22.57,-21.23 27.14,-39.49 l 1.21,-4.77 c 0.62,-12.05 -1.95,-27.23 -7.08,-41.1 -4.44,-3.82 -57.1,-9.25 -88.49,-12.52 -43.75,-4.48 -43.78,-4.65 -44.44,-7.65 l -0.26,-1.13 0.83,-1.22 c 12.3,-18.87 53.01,-27.22 76.22,-30.48 65.05,-9.13 153.67,-3.05 183.41,22.78 38.96,35.74 67.83,74.32 83.53,111.58 18.05,47.96 22.04,84.96 12.13,113.35"
style="fill:#fddd04;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path9"
d="m 712.691,1138.68 c -4.218,-0.13 -106.554,-52.31 -179.718,-22.31 -54.871,22.53 -56.582,56.49 -59.414,74.88 -1.864,12.31 8.027,28.09 22.16,42.35 -22.903,-17.22 -43.379,-41.22 -40.723,-58.53 2.801,-18.35 4.52,-52.35 59.395,-74.83 56.238,-23.05 129.707,2.39 162.578,15.53 15.547,14.96 38.465,23 35.722,22.91"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path10"
d="m 789.223,1026.02 c -18.789,-4.34 -46.356,-8.56 -58.817,-6.22 -36.328,6.83 -64.043,31.83 -66.965,66.22 -0.781,9.18 2.872,17.22 8.418,24.13 -13.757,-8.95 -28.476,-22.56 -26.98,-40.3 2.891,-34.36 30.633,-59.36 66.961,-66.18 2.305,-0.43 4.133,-0.91 5.703,-1.39 6.758,2.95 10.977,4.78 10.977,4.78 0,0 24.152,7.56 60.703,18.96"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path11"
d="m 51.7539,239.469 112.6801,7.051 c 2.437,-18.29 7.402,-32.239 14.898,-41.829 12.195,-15.5 29.629,-23.261 52.289,-23.261 16.899,0 29.934,3.961 39.082,11.902 9.152,7.93 13.727,17.117 13.727,27.566 0,9.942 -4.364,18.821 -13.075,26.672 -8.714,7.852 -28.933,15.25 -60.652,22.219 -51.937,11.68 -88.973,27.191 -111.1092,46.531 -22.3086,19.352 -33.461,44.012 -33.461,73.989 0,19.703 5.707,38.3 17.125,55.82 11.4102,17.512 28.5822,31.281 51.5042,41.301 22.914,10.031 54.332,15.039 94.242,15.039 48.976,0 86.312,-9.11 112.019,-27.328 25.711,-18.211 41.004,-47.18 45.887,-86.922 l -111.633,-6.528 c -2.964,17.25 -9.191,29.797 -18.691,37.641 -9.5,7.84 -22.617,11.758 -39.344,11.758 -13.769,0 -24.14,-2.918 -31.113,-8.75 -6.973,-5.852 -10.453,-12.949 -10.453,-21.309 0,-6.101 2.875,-11.59 8.625,-16.472 5.578,-5.059 18.824,-9.758 39.738,-14.11 51.762,-11.168 88.844,-22.449 111.238,-33.859 22.395,-11.418 38.692,-25.578 48.887,-42.481 10.195,-16.918 15.293,-35.82 15.293,-56.73 0,-24.578 -6.797,-47.238 -20.391,-67.981 -13.593,-20.738 -32.589,-36.457 -56.992,-47.187 -24.402,-10.711 -55.16,-16.07 -92.285,-16.07 -65.184,0 -110.32,12.55 -135.4179,37.648 -25.0977,25.09 -39.3086,56.992 -42.6172,95.68"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path12"
d="m 659.059,221.43 101.171,-11.5 c -5.578,-21.098 -14.726,-39.348 -27.453,-54.782 -12.722,-15.418 -28.972,-27.41 -48.75,-35.937 -19.785,-8.539 -44.929,-12.813 -75.422,-12.813 -29.46,0 -53.992,2.75 -73.593,8.223 -19.614,5.481 -36.473,14.367 -50.586,26.649 -14.121,12.269 -25.192,26.679 -33.203,43.222 -8.02,16.539 -12.028,38.477 -12.028,65.828 0,28.551 4.875,52.321 14.637,71.309 7.145,13.922 16.906,26.41 29.281,37.48 12.375,11.051 25.102,19.27 38.172,24.68 20.735,8.531 47.32,12.801 79.735,12.801 45.312,0 79.863,-8.11 103.652,-24.32 23.801,-16.211 40.48,-39.911 50.07,-71.098 l -100.129,-13.34 c -3.133,11.848 -8.847,20.777 -17.129,26.789 -8.281,6.02 -19.382,9.027 -33.328,9.027 -17.601,0 -31.851,-6.308 -42.746,-18.929 -10.89,-12.598 -16.336,-31.699 -16.336,-57.27 0,-22.801 5.399,-40.109 16.211,-51.937 10.801,-11.821 24.57,-17.742 41.305,-17.742 13.937,0 25.656,3.562 35.16,10.71 9.5,7.149 16.602,18.129 21.309,32.95"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path13"
d="m 902.711,250.969 c 0,-24.75 5,-43.047 15.027,-54.899 10.02,-11.859 22.617,-17.781 37.774,-17.781 15.332,0 27.929,5.84 37.785,17.52 9.843,11.671 14.763,30.41 14.763,56.211 0,24.05 -4.97,41.949 -14.9,53.722 -9.933,11.77 -22.219,17.637 -36.855,17.637 -15.52,0 -28.332,-5.969 -38.438,-17.91 -10.109,-11.93 -15.156,-30.098 -15.156,-54.5 z m -106.672,-0.258 c 0,42.348 14.289,77.25 42.883,104.699 28.574,27.449 67.187,41.18 115.808,41.18 55.6,0 97.6,-16.129 126.01,-48.371 22.83,-25.969 34.25,-57.949 34.25,-95.949 0,-42.688 -14.16,-77.68 -42.49,-104.961 -28.32,-27.27 -67.49,-40.911 -117.504,-40.911 -44.621,0 -80.703,11.321 -108.234,33.993 -33.817,28.05 -50.723,64.828 -50.723,110.32"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path14"
d="m 1458.77,112.672 h -99.36 v 44.969 c -14.8,-18.469 -29.76,-31.641 -44.83,-39.481 -15.07,-7.84 -33.59,-11.762 -55.55,-11.762 -29.28,0 -52.25,8.75 -68.89,26.274 -16.64,17.519 -24.96,44.476 -24.96,80.91 v 176.727 h 106.92 v -152.68 c 0,-17.43 3.23,-29.797 9.67,-37.117 6.45,-7.321 15.52,-10.973 27.19,-10.973 12.72,0 23.14,4.871 31.25,14.641 8.09,9.75 12.15,27.269 12.15,52.539 v 133.59 h 106.41 V 112.672"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path15"
d="M 1651.7,495.93 V 390.309 h 58.55 V 312.41 h -58.55 v -98.371 c 0,-11.828 1.13,-19.66 3.4,-23.48 3.47,-5.918 9.57,-8.868 18.3,-8.868 7.83,0 18.81,2.258 32.93,6.778 l 7.85,-73.438 c -26.33,-5.761 -50.9,-8.633 -73.73,-8.633 -26.49,0 -46.02,3.391 -58.56,10.184 -12.55,6.789 -21.83,17.098 -27.85,30.938 -5.99,13.839 -9,36.25 -9,67.23 v 97.66 h -39.22 v 77.899 h 39.22 v 50.98 l 106.66,54.641"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path16"
d="m 1764.88,390.309 h 106.41 V 112.672 h -106.41 z m 0,105.621 h 106.41 v -72.418 h -106.41 v 72.418"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path17"
d="m 1939.26,390.309 h 99.08 v -45.227 c 14.8,18.469 29.8,31.668 44.96,39.609 15.18,7.93 33.63,11.899 55.43,11.899 29.45,0 52.5,-8.758 69.14,-26.281 16.66,-17.508 24.98,-44.567 24.98,-81.168 V 112.672 h -106.93 v 152.68 c 0,17.418 -3.22,29.75 -9.67,36.988 -6.45,7.23 -15.51,10.851 -27.19,10.851 -12.91,0 -23.36,-4.882 -31.36,-14.64 -8.03,-9.762 -12.04,-27.281 -12.04,-52.551 V 112.672 h -106.4 v 277.637"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
<path
id="path18"
d="m 2389.43,255.672 c 0,-20.043 4.28,-34.891 12.82,-44.57 8.53,-9.672 19.78,-14.512 33.73,-14.512 13.24,0 24.35,5.012 33.32,15.039 8.98,10.019 13.47,25.133 13.47,45.351 0,20.211 -4.7,35.68 -14.12,46.399 -9.41,10.73 -20.92,16.082 -34.51,16.082 -13.59,0 -24.43,-4.922 -32.54,-14.77 -8.1,-9.851 -12.17,-26.191 -12.17,-49.019 z m 100.14,134.637 h 99.61 V 128.09 l 0.25,-12.281 c 0,-17.4301 -3.71,-34.0277 -11.11,-49.809 -7.4,-15.7695 -17.25,-28.5312 -29.53,-38.2891 C 2536.48,17.9492 2520.9,10.8906 2501.99,6.53125 2483.07,2.17188 2461.43,0 2437.01,0 c -55.76,0 -94.06,8.37109 -114.88,25.0898 -20.84,16.7305 -31.25,39.129 -31.25,67.1915 0,3.4882 0.17,8.1877 0.53,14.1167 l 103.26,-11.7691 c 2.62,-9.5781 6.62,-16.207 12.03,-19.8672 7.83,-5.4023 17.68,-8.1015 29.53,-8.1015 15.33,0 26.8,4.1015 34.38,12.289 7.59,8.1914 11.38,22.4808 11.38,42.8708 v 42.09 c -10.47,-12.371 -20.92,-21.351 -31.38,-26.918 -16.37,-8.722 -34.07,-13.082 -53.07,-13.082 -37.11,0 -67.09,16.211 -89.92,48.629 -16.21,23 -24.32,53.41 -24.32,91.242 0,43.219 10.45,76.16 31.37,98.821 20.92,22.648 48.28,33.988 82.09,33.988 21.6,0 39.43,-3.66 53.45,-10.988 14.05,-7.313 27.15,-19.43 39.36,-36.34 v 41.047"
style="fill:#ed1c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0.13333333,0,0,-0.13333333,0,329.84)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="240.000000pt" height="240.000000pt" viewBox="0 0 240.000000 240.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,240.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M765 2069 c-179 -12 -224 -23 -273 -65 -74 -63 -73 -55 -70 -619 l3
-500 34 -70 c61 -125 213 -256 420 -362 110 -56 289 -126 321 -125 14 0 77 21
140 47 313 126 514 275 597 442 l38 77 3 483 c2 341 0 495 -9 525 -7 28 -27
59 -58 89 -56 56 -85 64 -309 79 -178 12 -648 11 -837 -1z m850 -403 c39 -1
99 2 135 7 l65 7 -100 -34 c-95 -33 -103 -38 -167 -105 l-68 -71 0 -73 c0
-100 -22 -138 -128 -222 -116 -93 -137 -142 -167 -390 -9 -71 -18 -141 -21
-154 l-5 -24 -21 20 c-11 12 -27 45 -35 74 -21 80 -27 325 -10 434 9 55 11 97
5 107 -4 10 -36 36 -69 58 -33 23 -92 71 -132 106 -55 51 -102 80 -202 129
l-130 64 183 0 182 1 122 -45 c66 -24 136 -47 154 -51 31 -6 35 -3 63 42 71
118 103 137 211 127 36 -3 97 -6 135 -7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -87,9 +87,9 @@ PODS:
- qr_code_scanner (0.2.0):
- Flutter
- MTBBarcodeScanner
- SDWebImage (5.21.0):
- SDWebImage/Core (= 5.21.0)
- SDWebImage/Core (5.21.0)
- SDWebImage (5.21.1):
- SDWebImage/Core (= 5.21.1)
- SDWebImage/Core (5.21.1)
- Sentry/HybridSDK (8.46.0)
- sentry_flutter (8.14.2):
- Flutter
@@ -258,7 +258,7 @@ SPEC CHECKSUMS:
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
privacy_screen: 1a131c052ceb3c3659934b003b0d397c2381a24e
qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e
SDWebImage: f84b0feeb08d2d11e6a9b843cb06d75ebf5b8868
SDWebImage: f29024626962457f3470184232766516dee8dfea
Sentry: da60d980b197a46db0b35ea12cb8f39af48d8854
sentry_flutter: 2df8b0aab7e4aba81261c230cbea31c82a62dd1b
share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad

View File

@@ -199,9 +199,11 @@ class _AppState extends State<App>
switch (menuItem.key) {
case 'hide_window':
windowManager.hide();
windowManager.setSkipTaskbar(true);
break;
case 'show_window':
windowManager.show();
windowManager.setSkipTaskbar(false);
break;
case 'exit_app':
windowManager.destroy();

View File

@@ -40,8 +40,10 @@ Future<void> initSystemTray() async {
if (PlatformUtil.isMobile()) return;
String path = Platform.isWindows
? 'assets/icons/auth-icon.ico'
: 'assets/icons/auth-icon.png';
await trayManager.setIcon(path);
: Platform.isMacOS
? 'assets/icons/auth-icon-monochrome.png'
: 'assets/icons/auth-icon.png';
await trayManager.setIcon(path, isTemplate: true);
Menu menu = Menu(
items: [
MenuItem(

View File

@@ -18,6 +18,7 @@
</screenshot>
</screenshots>
<releases>
<release version="4.4.4" date="2025-08-09" />
<release version="4.4.3" date="2025-06-21" />
<release version="4.4.2" date="2025-06-21" />
<release version="4.4.0" date="2025-05-31" />

View File

@@ -157,33 +157,33 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos
SPEC CHECKSUMS:
app_links: 9028728e32c83a0831d9db8cf91c526d16cc5468
connectivity_plus: 3f6c9057f4cd64198dc826edfb0542892f825343
cupertino_http: 94ac07f5ff090b8effa6c5e2c47871d48ab7c86c
device_info_plus: b0fafc687fb901e2af612763340f1b0d4352f8e5
file_saver: e35bd97de451dde55ff8c38862ed7ad0f3418d0f
flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d
flutter_local_authentication: 2f9a2682f498abcc12d7e9729b5007a947170fdc
flutter_local_notifications: 453432cd6399a07d072885bc7828fb2307868856
flutter_secure_storage_macos: b2d62a774c23b060f0b99d0173b0b36abb4a8632
app_links: 10e0a0ab602ffaf34d142cd4862f29d34b303b2a
connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db
cupertino_http: 947a233f40cfea55167a49f2facc18434ea117ba
device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
file_saver: 44e6fbf666677faf097302460e214e977fdd977b
flutter_inappwebview_macos: bdf207b8f4ebd58e86ae06cd96b147de99a67c9b
flutter_local_authentication: 85674893931e1c9cfa7c9e4f5973cb8c56b018b0
flutter_local_notifications: 3805ca215b2fb7f397d78b66db91f6a747af52e4
flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
local_auth_darwin: 553ce4f9b16d3fdfeafce9cf042e7c9f77c1c391
objective_c: ec13431e45ba099cb734eb2829a5c1cd37986cba
local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3
objective_c: e5f8194456e8fc943e034d1af00510a1bc29c067
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
package_info_plus: a8a591e70e87ce97ce5d21b2594f69cea9e0312f
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
screen_retriever: 4f97c103641aab8ce183fa5af3b87029df167936
package_info_plus: fa739dd842b393193c5ca93c26798dff6e3d0e0c
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38
Sentry: da60d980b197a46db0b35ea12cb8f39af48d8854
sentry_flutter: 27892878729f42701297c628eb90e7c6529f3684
share_plus: 11c7b7fa7020465584eca3ff6392c5bc1e399d6e
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
sodium_libs: b9459e5bfc1185349f43472e79fc5d8e526b2bda
sqflite: c35dad70033b8862124f8337cc994a809fcd9fa3
sentry_flutter: 2df8b0aab7e4aba81261c230cbea31c82a62dd1b
share_plus: 36537c04ce0c3e3f5bd297ce4318b6d5ee5fd6cf
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
sodium_libs: d39bd76697736cb11ce4a0be73b9b4bc64466d6f
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
sqlite3: 0bb0e6389d824e40296f531b858a2a0b71c0d2fb
sqlite3_flutter_libs: 03311aede9d32fb2d24e32bebb8cd01c3b2e6239
tray_manager: a104b5c81b578d83f3c3d0f40a997c8b10810166
url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673
window_manager: 1d01fa7ac65a6e6f83b965471b1a7fdd3f06166c
sqlite3_flutter_libs: 5ca46c1a04eddfbeeb5b16566164aa7ad1616e7b
tray_manager: 9064e219c56d75c476e46b9a21182087930baf90
url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8
PODFILE CHECKSUM: 6ff827273ace187339fc5d3684072a26ad85c298

View File

@@ -11,6 +11,7 @@ class AppDelegate: FlutterAppDelegate {
}
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
NSApp.setActivationPolicy(.accessory)
return false
}
}

View File

@@ -1,7 +1,7 @@
name: ente_auth
description: ente two-factor authenticator
version: 4.4.3+443
version: 4.4.4+448
publish_to: none
environment:

View File

@@ -27,7 +27,7 @@ const subGalleryMultiplier = 10;
// used to identify which ente file are available in app cache
const String sharedMediaIdentifier = 'ente-shared-media://';
const galleryThumbnailDiskLoadDeferDuration = Duration(milliseconds: 500);
const galleryThumbnailDiskLoadDeferDuration = Duration(milliseconds: 80);
const galleryThumbnailServerLoadDeferDuration = Duration(milliseconds: 80);
// 256 bit key maps to 24 words

View File

@@ -61,6 +61,7 @@ const kBGTaskTimeout = Duration(seconds: 28);
const kBGPushTimeout = Duration(seconds: 28);
const kFGTaskDeathTimeoutInMicroseconds = 5000000;
bool isProcessBg = true;
bool _stopHearBeat = false;
void main() async {
debugRepaintRainbowEnabled = false;
@@ -291,6 +292,7 @@ Future<void> _init(bool isBackground, {String via = ''}) async {
EnteWakeLockService.instance.init(preferences);
logLocalSettings();
initComplete = true;
_stopHearBeat = true;
_logger.info("Initialization done $tlog");
} catch (e, s) {
_logger.severe("Error in init ", e, s);
@@ -299,25 +301,29 @@ Future<void> _init(bool isBackground, {String via = ''}) async {
}
void logLocalSettings() {
_logger.info("Show memories: ${memoriesCacheService.showAnyMemories}");
_logger
.info("Smart memories enabled: ${localSettings.isSmartMemoriesEnabled}");
_logger.info("Ml is enabled: ${flagService.hasGrantedMLConsent}");
_logger.info(
"ML local indexing is enabled: ${localSettings.isMLLocalIndexingEnabled}",
);
_logger.info(
"Multipart upload is enabled: ${localSettings.userEnabledMultiplePart}",
);
_logger.info("Gallery grid size: ${localSettings.getPhotoGridSize()}");
_logger.info(
"Video streaming is enalbed: ${VideoPreviewService.instance.isVideoStreamingEnabled}",
);
final settings = {
'Show memories': memoriesCacheService.showAnyMemories,
'Smart memories enabled': localSettings.isSmartMemoriesEnabled,
'ML enabled': flagService.hasGrantedMLConsent,
'ML local indexing enabled': localSettings.isMLLocalIndexingEnabled,
'Multipart upload enabled': localSettings.userEnabledMultiplePart,
'Gallery grid size': localSettings.getPhotoGridSize(),
'Video streaming enabled':
VideoPreviewService.instance.isVideoStreamingEnabled,
};
final formattedSettings =
settings.entries.map((e) => '${e.key}: ${e.value}').join(', ');
_logger.info('Local settings - $formattedSettings');
}
void _heartBeatOnInit(int i) {
if (i <= 15) {
if (i <= 15 && !_stopHearBeat) {
Future.delayed(const Duration(seconds: 1), () {
if (_stopHearBeat) {
_logger.info("Stopping Heartbeat check at $i");
return;
}
_logger.info("init Heartbeat $i");
_heartBeatOnInit(i + 1);
});

View File

@@ -224,18 +224,20 @@ class GalleryGroups {
int i = 0;
while (!endOfListReached) {
gridRowChildren.add(
GalleryFileWidget(
RepaintBoundary(
key: ValueKey(
tagPrefix +
filesInGroup[firstIndexOfRowWrtFilesInGroup + i]
.tag,
),
file: filesInGroup[firstIndexOfRowWrtFilesInGroup + i],
selectedFiles: selectedFiles,
limitSelectionToOne: limitSelectionToOne,
tag: tagPrefix,
photoGridSize: crossAxisCount,
currentUserID: currentUserID,
child: GalleryFileWidget(
file: filesInGroup[firstIndexOfRowWrtFilesInGroup + i],
selectedFiles: selectedFiles,
limitSelectionToOne: limitSelectionToOne,
tag: tagPrefix,
photoGridSize: crossAxisCount,
currentUserID: currentUserID,
),
),
);
@@ -247,18 +249,20 @@ class GalleryGroups {
} else {
for (int i = 0; i < crossAxisCount; i++) {
gridRowChildren.add(
GalleryFileWidget(
RepaintBoundary(
key: ValueKey(
tagPrefix +
filesInGroup[firstIndexOfRowWrtFilesInGroup + i]
.tag,
),
file: filesInGroup[firstIndexOfRowWrtFilesInGroup + i],
selectedFiles: selectedFiles,
limitSelectionToOne: limitSelectionToOne,
tag: tagPrefix,
photoGridSize: crossAxisCount,
currentUserID: currentUserID,
child: GalleryFileWidget(
file: filesInGroup[firstIndexOfRowWrtFilesInGroup + i],
selectedFiles: selectedFiles,
limitSelectionToOne: limitSelectionToOne,
tag: tagPrefix,
photoGridSize: crossAxisCount,
currentUserID: currentUserID,
),
),
);
}

View File

@@ -151,13 +151,7 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
Widget? image;
if (_imageProvider != null) {
image = Image(
image: optimizedImageHeight != null || optimizedImageWidth != null
? ResizeImage(
_imageProvider!,
width: optimizedImageWidth,
height: optimizedImageHeight,
)
: _imageProvider!,
image: _imageProvider!,
fit: widget.fit,
);
}
@@ -251,7 +245,11 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
final cachedSmallThumbnail =
ThumbnailInMemoryLruCache.get(widget.file, thumbnailSmallSize);
if (cachedSmallThumbnail != null) {
_imageProvider = Image.memory(cachedSmallThumbnail).image;
_imageProvider = Image.memory(
cachedSmallThumbnail,
cacheHeight: optimizedImageHeight,
cacheWidth: optimizedImageWidth,
).image;
_hasLoadedThumbnail = true;
} else {
if (widget.diskLoadDeferDuration != null) {
@@ -296,7 +294,11 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
}
if (mounted) {
final imageProvider = Image.memory(thumbData).image;
final imageProvider = Image.memory(
thumbData,
cacheHeight: optimizedImageHeight,
cacheWidth: optimizedImageWidth,
).image;
_cacheAndRender(imageProvider);
}
ThumbnailInMemoryLruCache.put(
@@ -381,10 +383,15 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
_isLoadingRemoteThumbnail = true;
final cachedThumbnail = ThumbnailInMemoryLruCache.get(widget.file);
if (cachedThumbnail != null) {
_imageProvider = Image.memory(cachedThumbnail).image;
_imageProvider = Image.memory(
cachedThumbnail,
cacheHeight: optimizedImageHeight,
cacheWidth: optimizedImageWidth,
).image;
_hasLoadedThumbnail = true;
return;
}
if (widget.serverLoadDeferDuration != null) {
Future.delayed(widget.serverLoadDeferDuration!, () {
if (mounted) {
@@ -401,7 +408,11 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
try {
final thumbnail = await getThumbnailFromServer(widget.file);
if (mounted) {
final imageProvider = Image.memory(thumbnail).image;
final imageProvider = Image.memory(
thumbnail,
cacheHeight: optimizedImageHeight,
cacheWidth: optimizedImageWidth,
).image;
_cacheAndRender(imageProvider);
}
} catch (e) {

View File

@@ -42,12 +42,6 @@ class SectionedListSliver<T> extends StatelessWidget {
sectionLayouts: sectionLayouts,
delegate: SliverChildBuilderDelegate(
(context, index) {
//TODO:
// This could be optimized by using a combination of
//linear search and binary search depending on the index (use linear
//if index is small) or keep track on lastIndex of section and
//go to next section after the last index.
// Check if the optimization is required.
if (index >= childCount) return null;
final sectionLayout = sectionLayouts
.firstWhereOrNull((section) => section.hasChild(index));

View File

@@ -600,6 +600,7 @@ class GalleryState extends State<Gallery> {
? const NeverScrollableScrollPhysics()
: const ExponentialBouncingScrollPhysics(),
controller: _scrollController,
cacheExtent: galleryCacheExtent,
slivers: [
SliverToBoxAdapter(
child: SizeChangedLayoutNotifier(
@@ -637,6 +638,25 @@ class GalleryState extends State<Gallery> {
),
);
}
double get galleryCacheExtent {
final int photoGridSize = localSettings.getPhotoGridSize();
switch (photoGridSize) {
case 2:
case 3:
return 1000;
case 4:
return 850;
case 5:
return 600;
case 6:
return 300;
default:
throw StateError(
'Invalid photo grid size configuration: $photoGridSize',
);
}
}
}
class PinnedGroupHeader extends StatefulWidget {

View File

@@ -12,7 +12,7 @@ description: ente photos application
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.2.0+1200
version: 1.2.0+1203
publish_to: none
environment:

View File

@@ -705,56 +705,54 @@ const splitMetadataAndMediaItems = (
* single live photo when appropriate.
*/
const clusterLivePhotos = async (
items: UploadItemWithCollectionIDAndName[],
_items: UploadItemWithCollectionIDAndName[],
parsedMetadataJSONMap: Map<string, ParsedMetadataJSON>,
) => {
const result: ClusteredUploadItem[] = [];
type ItemAsset = PotentialLivePhotoAsset & {
localID: number;
isLivePhoto?: boolean;
};
const items: ItemAsset[] = _items.map((item) => ({
localID: item.localID,
isLivePhoto: item.isLivePhoto,
fileName: item.fileName,
fileType: potentialFileTypeFromExtension(item.fileName) ?? -1,
collectionID: item.collectionID,
uploadItem: item.uploadItem!,
pathPrefix: item.pathPrefix,
}));
items
.sort((f, g) =>
nameAndExtension(f.fileName)[0].localeCompare(
.sort((f, g) => {
const cmp = nameAndExtension(f.fileName)[0].localeCompare(
nameAndExtension(g.fileName)[0],
),
)
);
return cmp == 0 ? f.fileType - g.fileType : cmp;
})
.sort((f, g) => f.collectionID - g.collectionID);
let index = 0;
while (index < items.length - 1) {
const f = items[index]!;
const g = items[index + 1]!;
const fFileType = potentialFileTypeFromExtension(f.fileName)!;
const gFileType = potentialFileTypeFromExtension(g.fileName)!;
const fa: PotentialLivePhotoAsset = {
fileName: f.fileName,
fileType: fFileType,
collectionID: f.collectionID,
uploadItem: f.uploadItem!,
pathPrefix: f.pathPrefix,
};
const ga: PotentialLivePhotoAsset = {
fileName: g.fileName,
fileType: gFileType,
collectionID: g.collectionID,
uploadItem: g.uploadItem!,
pathPrefix: g.pathPrefix,
};
const fa = items[index]!;
const ga = items[index + 1]!;
if (await areLivePhotoAssets(fa, ga, parsedMetadataJSONMap)) {
const [image, video] =
fFileType == FileType.image ? [f, g] : [g, f];
fa.fileType == FileType.image ? [fa, ga] : [ga, fa];
result.push({
localID: f.localID,
collectionID: f.collectionID,
localID: fa.localID,
collectionID: fa.collectionID,
fileName: image.fileName,
isLivePhoto: true,
pathPrefix: image.pathPrefix,
livePhotoAssets: {
image: image.uploadItem!,
video: video.uploadItem!,
image: image.uploadItem,
video: video.uploadItem,
},
});
index += 2;
} else {
// They may already be a live photo (we might be retrying a
// previously failed upload).
result.push({ ...f, isLivePhoto: f.isLivePhoto ?? false });
result.push({ ...fa, isLivePhoto: fa.isLivePhoto ?? false });
index += 1;
}
}

View File

@@ -327,7 +327,7 @@ interface EncryptedFilePieces {
export interface PotentialLivePhotoAsset {
fileName: string;
fileType: number /* FileType */;
fileType: number /* FileType | -1 */;
collectionID: number;
uploadItem: UploadItem;
pathPrefix: UploadPathPrefix | undefined;