1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2024-11-30 18:24:36 +01:00
Commit Graph

48 Commits

Author SHA1 Message Date
Amrsatrio
c89705e5e2 Fixed some function calls 2024-09-01 17:54:32 +07:00
Amrsatrio
57f63ad56f Work on ARM64 shell extension support 2024-07-13 20:50:37 +07:00
Amrsatrio
992b3a60cd All: Preliminary ARM64 support 2024-07-11 09:31:06 +07:00
Valentin Radu
57b44d2355 Weather: Fixed alignment 2024-05-15 12:47:36 +03:00
Valentin Radu
3a9fe99c95 Version: 22621.3527.65.4 2024-05-13 11:05:06 +03:00
Valentin Radu
a5e5287954 Weather: Fixed a bug that prevented the widget from displaying correctly 2023-03-18 22:31:17 +02:00
Valentin Radu
2a1aad2d03 Weather: Fixed widget icons when using Microsoft icon pack
This basically undoes commit a8c7fba and properly fixes the issue:
it seems Google moved the images in a separate child `img` tag, under
what I was previously looking for. Furthermore, the src is not a URL
anymore, but directly the image encoded in base64. Fortunately, we
can match the last characters against images obtained from their 48px
and 64px endpoints. More details here:
https://github.com/valinet/ExplorerPatcher/discussions/755#discussioncomment-5353030

It seems Google has introduced a bug, where they do not change the
main image when changing to another day in the widget. Hopefully they
will fix it in the future.
2023-03-18 16:00:39 +02:00
Valentin Radu
a8c7fbadaa Weather: Fixed a bug that could prevent the widget from properly loading
It seems that either the web page, either something in Microsoft's
WebView2 implementation changed so that when
`ICoreWebView2::NavigationCompleted` is fired, the elements of interest
on the page are not ready, which causes all this mess, as you can tell.

The solution for now was to delay the execution of my scripts, which
seemed to have gotten rid of the problem for now. I don't particularly
like the solution, I'd of course want something more robust, but I
guess these are the pitfalls when you do not control the entire
ecosystem...
2023-03-01 20:38:35 +02:00
Valentin Radu
50f3a709c0 Weather: Fixed wrong left padding of the widget
Google seems to have updated the web page and the widget is now 14px
more to the right, so the code had to account for this.
2022-09-28 14:36:27 +03:00
Valentin Radu
9ec44832dd Weather: Fixed a bug that could hang the host process and explorer
A nasty bug was sometime occurring where both explorer and the widget
host process could hang; this often happened when explorer was
restarted. The reason this happened was because the widget host
process could hang waiting for the "Lock_EPWeather_Instance" lock. This
was a global lock that made sure only one instance of the widget could
be created.

The idea of the global "Lock_EPWeather_Instance" lock was, of course,
pretty bad, but I chose it because I couldn't figure out/didn't want to
deal with passing an EPWeather "this" instance to WebView2 or
NetworkListManagerEvents functions. Bad decision.

This patch addresses this bug, by providing a generic object
which holds a reference to EPWeather "this" on which I build event
handlers for WebView2 and so on. Since these now contain this
reference, they cannot be static anymore, thus I switched to dynamically
allocating them and managing them throughout their lifetime using,
of course, reference counting. This is the proper solution.

Thus, this bug and any similar ones should now be fixed.
2022-08-05 15:31:36 +03:00
Valentin Radu
7c1cb3d560 Weather: Do not display error page when network connectivity is lost; instead, keep showing cached data from last refresh 2022-08-04 23:58:28 +03:00
Valentin Radu
da3fece8cd Weather: Wait a bit before refreshing when network connectivity is restored
This is so that we avoid a situation where the browser was looping on
trying to display the error page. Each navigation request was
erroring out, and the error said something along the lines of
"Your computer went to sleep". Indeed, this bug could be reproduced by
hibernating the computer and then waking it up - it seemed to occur
pretty frequently, especially on battery, when the power budget is more
constrained, and thus the speed of the PC as well. Hopefully, this
commit and the previous one addresses this issue.
2022-08-04 23:57:33 +03:00
Valentin Radu
aeb8e54b58 Weather: Detect and break infinite loops on navigating to the error page 2022-08-04 23:56:55 +03:00
Valentin Radu
961cc11dda Weather: Fixed a bug that prevented the widget from working when WebView2 Runtime >= 102.0.1245.33 2022-06-07 19:35:41 +03:00
Valentin Radu
dbdc1b80f8 Weather: Show "Reload" link when data fails to load 2022-05-28 13:43:54 +03:00
Valentin Radu
5093e7de37 Weather: Fix and free event registration tokens 2022-05-28 13:41:05 +03:00
Valentin Radu
13e1cc7a1b Symbols: Built-in support for OS build 22000.708 2022-05-26 11:09:37 +03:00
Valentin Radu
5e17f5a817 Weather: Fixed a bug that had "COM Surrogate" display as a running
app in Task Manager after the widget flyout was opened the first time
2022-04-30 03:35:13 +03:00
Valentin Radu
ff72f31b9b Weather: Display last time of update in Properties 2022-03-14 04:53:48 +02:00
Valentin Radu
25ef1b23e1 Weather: Implemented zoom levels (#1033) 2022-03-09 20:08:03 +02:00
Valentin Radu
d8d3221fd3 Weather: Icon pack applies to widget icons as well (#1015) 2022-03-07 03:43:38 +02:00
Valentin Radu
fea56b71cc Weather: Implemented icon pack with day/night support 2022-03-06 08:00:59 +02:00
Valentin Radu
67a6fc00aa All: Use global OS version query functions 2022-03-06 00:04:30 +02:00
Valentin Radu
38650ccab8 Weather: Fixed display issues in RTL layouts (#954) 2022-03-01 15:01:30 +02:00
Valentin Radu
44396b9db4 All: Fix windows in ancient 22000-based OS builds 2022-02-28 03:06:42 +02:00
Valentin Radu
d8269f1bbe Weather: Allow widget resize and move when using dev mode 2022-02-27 00:04:37 +02:00
Valentin Radu
7ab3ac2be9 Weather: Registry setting to toggle dev tools in the browser 2022-02-26 13:26:12 +02:00
Valentin Radu
2cc9b0ed7f All: Fixes for Windows 10 2022-02-21 02:42:35 +02:00
Valentin Radu
b7a1ced429 Weather: Rearchitected component lifetime 2022-02-17 23:42:13 +02:00
Valentin Radu
668c234207 Weather: Support for high contrast themes 2022-02-17 23:06:24 +02:00
Valentin Radu
dfc2057ec0 Weather: Widget properly respects text size accessibility setting 2022-02-17 02:48:17 +02:00
Valentin Radu
26ec0df728 Weather: Fixed ep_Weather_Initialize prototype 2022-02-17 02:36:58 +02:00
Valentin Radu
97e522cf34 Weather: Maintain handle to uxtheme for the lifetime of the instance 2022-02-17 02:36:20 +02:00
Valentin Radu
71656419f7 Weather: Fixed erroneous message check 2022-02-17 02:33:17 +02:00
Valentin Radu
09f5390a23 Weather: Increased refresh delay at first startup (given more time for dark mode cookie to set itself up) 2022-02-14 07:47:26 +02:00
Valentin Radu
6be380826a Weather: Increased refresh delay at first startup (given more time for dark mode cookie to set itself up) 2022-02-14 02:47:37 +02:00
Valentin Radu
7bc56f4191 Weather: Widget displays with rounded corner after logon; implemented option to change corner preference 2022-02-08 19:58:02 +02:00
Valentin Radu
8cec8a9892 Weather: Terminate host process when widget is disabled 2022-02-07 00:50:43 +02:00
Valentin Radu
905d5cdf12 Weather: Disable context menus and F12 dev tools 2022-02-06 23:26:00 +02:00
Valentin Radu
8f94546f1e Weather: Fixed bug that made the flyout open with a noticeable delay under certain circumstances 2022-02-06 20:12:30 +02:00
Valentin Radu
879ec09488 Weather: Refactored browser rebound procedure 2022-02-06 20:11:57 +02:00
Valentin Radu
26b6646da6 Weather: Made variable local, static compile runtime library in ep_weather_host_stub 2022-02-06 20:09:49 +02:00
Valentin Radu
74204c7e84 Weather: Widget supports dark mode (thanks @krlvm) (#755) 2022-01-31 02:30:34 +02:00
Valentin Radu
fd710a1544 Weather widget adjusts its size vertically to accommodate the entire contents 2022-01-30 03:26:19 +02:00
Valentin Radu
22a5a1e3c7 Implemented weather widget error screen 2022-01-29 23:55:06 +02:00
Valentin Radu
ef19e3d399 Disable weather flyout title bar if visual styles are not active 2022-01-28 04:46:04 +02:00
Valentin Radu
83042a6d68 Fixes for weather panel, implemented icon-less modes, implemented dynamic size to fit contents 2022-01-27 23:03:02 +02:00
Valentin Radu
5d4466147d Implemented weather taskbar widget 2022-01-27 04:35:27 +02:00