Offer a way to provide preferred GPU in case of multi-GPU setups

Sample inxi output:
$ inxi -G
Graphics:
  Device-1: Intel HD Graphics 630 driver: i915 v: kernel
  Device-2: NVIDIA GP107 [GeForce GTX 1050 Ti] driver: nvidia v: 525.85.05
  Display: x11 server: X.Org v: 21.1.6 driver: X: loaded: modesetting,nvidia
    dri: iris gpu: i915 resolution: 1: 2560x1440~60Hz 2: 2560x1440~60Hz
  API: OpenGL v: 4.6 Mesa 22.3.4 renderer: Mesa Intel HD Graphics 630 (KBL
    GT2)

In this setup, NVIDIA is available but only Intel is used by Xorg. Some options:

--gpu=xorg: share device used by xorg
--gpu=intel: share intel device
--gpu=dri: share DRI devices

Reproduction:
Execute x11docker with --gpu flag.
Observed behavior:
NVIDIA devices are probed, attempted to be installed.
Expected behavior:
Ignore NVIDIA even though NVIDIA proprietary drivers are installed.

During some tests with sway, I found that containerized software can still query loaded kernel drivers. I ended up removing proprietary driver and blacklisting nouveau, but it could also work by masking /proc/driver/nvidia.

I switched Xorg to leverage nvidia with proprietary drivers again (no xorg.conf):
$ inxi -G
Graphics:
  Device-1: Intel HD Graphics 630 driver: i915 v: kernel
  Device-2: NVIDIA GP107 [GeForce GTX 1050 Ti] driver: nvidia v: 525.85.05
  Device-3: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo
  Display: x11 server: X.Org v: 21.1.6 driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1: 2560x1440~60Hz
    2: 2560x1440~60Hz
  API: OpenGL v: 4.6.0 NVIDIA 525.85.05 renderer: NVIDIA GeForce GTX 1050
    Ti/PCIe/SSE2

I have commented out paths in x11docker which attempt to prepare nvidia stuff and ran with --security-opt mask=/proc/driver but it doesn't seem to be enough.
Base command line:
x11docker --backend=podman --xc --cap-default --newprivileges=no --init=systemd --home --network --clipboard --webcam --pulseaudio=host --gpu --xorg -- --security-opt mask=/proc/driver -- awerlang/citrix

--xpra-xwayland fails
(xpra:141): Gdk-ERROR **: 13:22:31.608: The program 'xpra' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadContext'.
  (Details: serial 270 error_code 158 request_code 152 (GLX) minor_code 6)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap (core dumped)

xterm: fatal IO error 104 (Connection reset by peer) or KillClient on X server ":105"

--nxagent is able to launch xterm but firefox fails with a segmentation fault
--xorg fails
(EE) xf86OpenConsole: Cannot open virtual console 8 (Permission denied)

--hostdisplay fails
Invalid MIT-MAGIC-COOKIE-1 key
Authorization required, but no authorization protocol specified

In fact, only --nxagent works if I remove --gpu, other options fail to launch.
TLDR; I'd like to use i915 inside container independently of what Xorg's running.

Sorry for my late response and short answer. I'll look later at your suggestions.
As a general idea: You could run without --gpu, use option --weston-xwayland and share desired device files yourself.
Example free of NVIDIA:
x11docker --weston-xwayland --share=/dev/dri --group-add=video --group-add=render [...]

Hey, no worries! I'll try your suggestion and report. Also I am hopefully able to run Xorg on i915 again (troubleshooting freezes likely unrelated to GPUs but CPU overheating). I still have nvidia proprietary installed so I'll see if that interferes with anything.

Also I am hopefully able to run Xorg on i915 again

You might need a custom xorg.conf. x11docker has an undocumented and experimental option --xorgconf.
You could work with something like --xorg --xorgconf=FILE.

I need to reassess what's working and what's not. So far I got some things working trying to get container to use Intel GPU:

Run apps with --gpu (Xorg on host loads modesetting driver on Intel, while Nvidia is not loaded by xorg)

This is what I'd expect from my --gpu=xorg suggestion

GLX works (glxinfo, glxgears appear to use Intel/Mesa)

Couldn't make it work yet:

Run sway with --gpu, even masking /proc/modules.
Hardware acceleration for video decoding (maybe it's missing a package inside container?)
--xorg fails opening a tty, likely due to my system's configuration

Run apps with --gpu (Xorg on host loads modesetting driver on Intel, while Nvidia is not loaded by xorg)
This is what I'd expect from my --gpu=xorg suggestion

Do you use option --xorgconf?

GLX works (glxinfo, glxgears appear to use Intel/Mesa)

I provide an image x11docker/check on docker hub that offers a section to check the GPU. https://hub.docker.com/r/x11docker/check

Run sway with --gpu, even masking /proc/modules.

I have no idea. Any error messages?

Hardware acceleration for video decoding (maybe it's missing a package inside container?)

Video decoding needs additional drivers. Have a look at https://github.com/mviereck/x11docker/wiki/dependencies#dependencies-in-image
They might need to be the same version as on host.

--xorg fails opening a tty, likely due to my system's configuration

Run x11docker as root or check the setup described in https://github.com/mviereck/x11docker/wiki/Setup-for-option---xorg

No, I don't use a --xorgconf (I tried to but didn't fix the outstanding issues). Also, nothing stands out from running x11docker/check. I checked the wiki for missing packages but it's all there for an Ubuntu image. They are probably not the same versions as the host but close enough.
For sway this is what I get:
$ x11docker --backend=podman --xc --init=systemd --home --share /etc/machine-id --weston-xwayland --share=/dev/dri --group-add=video --group-add=render -- --privileged --security-opt mask=/proc/modules -- ${IMAGE}

00:00:00.052 [ERROR] [wlr] [types/wlr_drm_lease_v1.c:715] No DRM backend supplied, failed to create wlr_drm_lease_v1_manager
00:00:00.124 [ERROR] [wlr] [backend/x11/backend.c:695] X11 error: op ChangeProperty (no minor), code Atom (no extension), sequence 63, value 0
sway: backend/x11/output.c:682: handle_x11_present_event: Assertion `buffer->n_busy > 0' failed.
2023-02-20 21:54:01 - [main.c:582] wl_display_roundtrip failed
/x11docker/cmdrc: line 92:  1058 Aborted                 (core dumped) sway


improved performance metrics

The sensitive distance from the ML GW search paper is a good place to start. See Section C. If we adopt their injection distribution, we can compare directly to those algorithms, which includes pyCBC. They use 1 month of background which is very doable.
Longer term, we should move towards producing something like Figure 6 in the catalog paper. I need to sit down with someone to go over the details of that calculation.
@wbenoit26

Closing as I think we now have a solid handle on this


Add examples dir + c_compile rule example

This is to demonstrate how to use C++ toolchain API
RELNOTES: None.
GOOGLE:

Obsolete, closing.


SummernoteInplaceWidget: $summernote.summernote is not a function

If I set my widget to SummernoteWidget it works fine, but I'm using crispyforms and don't want an iframe, so trying to get SummernoteInplaceWidget to work.
When I change to SummernoteInplaceWidget, it doesn't render and I get this error:
$summernote.summernote is not a function
Here is what my <head> looks like after including jquery and loading {{form.media}}, and I've confirmed that all the js links work:
  <!-- required at top for django-summernote widgets -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <!-- form.media -->
  <link href="/static/django_summernote/summernote.css" type="text/css" media="all" rel="stylesheet" />
<link href="/static/django_summernote/django_summernote_inplace.css" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="/static/django_summernote/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/static/django_summernote/jquery.iframe-transport.js"></script>
<script type="text/javascript" src="/static/django_summernote/jquery.fileupload.js"></script>
<script type="text/javascript" src="/static/django_summernote/summernote.min.js"></script>
</head>

Thank you for reporting @tylerecouture,
As you know, django-summernote provides different js/css including options for each widget. See  https://github.com/summernote/django-summernote/blob/master/django_summernote/settings.py#L106-L131
SummernoteInplaceWidget assumes jquery and bootstrap stuffs are already loaded in the page.
And it could be caused by previous javascript errors, so please double check the console log.

This is the only message in the console.
On Tue, Nov 29, 2016, 10:52 AM Hyunwoo Park<EMAIL_ADDRESS>wrote:

Thank you for reporting @tylerecouture https://github.com/tylerecouture,
As you know, django-summernote provides different js/css including options
for each widget. See
https://github.com/summernote/django-summernote/blob/master/django_summernote/settings.py#L106-L131
SummernoteInplaceWidget assumes jquery and bootstrap stuffs are already
loaded in the page.
And it could be caused by previous javascript errors, so please double
check the console log.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/summernote/django-summernote/issues/171#issuecomment-263662276,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKHPZynEWLTev65f9JHzcL4tvRuzpDKYks5rDHSIgaJpZM4K-n4z
.

Im getting exactly the same problem with SummernoteInplaceWidget. @lqez , all the jquery and bootstrap stuff is loaded.
@tylerecouture did you manage to solve this?

Ok I solved this one! I forgot to add {{ form.media }} in the template :P Working fine now!

Thanks!


[Improvement] We should have a full version list for documents

What would you like to be improved?
Our project's documentation is version specific which is a general case for all open source projects.
For users who want to quickly access the specific version of document, there should be a place. Take Apache Spark for example: https://spark.apache.org/documentation.html, you can find historic versions of documents there. In our case (gravitino), the document link (https://gravitino.apache.org/docs/) will directly go to latest version.
I think we should have a full list there, given 0.6.1 is quickly out.
How should we improve?
As I mentioned above, we should have a full version list of documents that can route to specific version.

we already have the version list in the top left corner of the page, do we still need a separate page to list the historical versions?

It may not be enough - the users who click docs on website may not aware which version they are current using/deploying, so go directly to latest version may confuse them.
Also, we should define "current" & "latest" version in url later - for some project like hadoop, "latest" means the largest number we have, "current" means the latest stable version. i.e. assume we release in a sequence of 0.6.1 (stable), 0.7.0 (alpha), 0.6.2(stable). When 0.7.0 comes out, the current is still 0.6.1 as 0.7.0 is not stable. Also, although 0.6.2 is released after 0.7.0, then latest is still "0.7.0" when 0.6.2 is out.
I am not saying we have to follow Hadoop or some other project, but we do need to have a guideline for users who choose versions seriously for production case.
Have an additional doc page or somewhere else to let users easy to find this information seems important to me.


Add plugingetter to swarm node config.

This is necessary for swarmkit to support cluster wide plugins, such as
globally scoped network plugins.
Signed-off-by: Anusha Ragunathan<EMAIL_ADDRESS>cc @mavenugo @aaronlehmann

Companion docker PR https://github.com/docker/docker/pull/30145

Is this useful to merge in the current state? I'm wondering if we should wait for the code that uses PluginGetter before adding that field to the config.

@mavenugo will be opening a PR soon to update the networkallocator code to use this. He requested that this PR be open prior to that.

Current coverage is 54.89% (diff: 100%)

Merging #1867 into master will decrease coverage by 0.32%

@@             master      #1867   diff @@
==========================================
  Files           105        105
  Lines         17516      17526    +10
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           9673       9621    -52
- Misses         6683       6741    +58
- Partials       1160       1164     +4

Powered by Codecov. Last update d4e6e19...78f9836

thanks @anusha-ragunathan .
@aaronlehmann yes. I will be introducing the neccessary code and test-cases to fully validate e2e global network plugins with swarm-mode.
Since we have disabled the network plugins already, taking this PR without the above integration is fine.

@aaronlehmann @anusha-ragunathan I finished the rest of the implementation to make networkallocator to make use of plugin-v2 : https://github.com/mavenugo/swarmkit/commit/66d2d8a33d27bdc4c0b2d69db83abda6094dae43
@anusha-ragunathan you can pick this commit to address @aaronlehmann's comment.
I used the weave v2 plugin to test it e2e :
 $ sudo docker plugin install bboreham/weave2
Plugin "bboreham/weave2" is requesting the following privileges:
 - network: [host]
 - capabilities: [CAP_SYS_ADMIN CAP_NET_ADMIN]
Do you grant the above permissions? [y/N] y
latest: Pulling from bboreham/weave2
7718f575adf7: Download complete
Digest: sha256:2780330cc15644b60809637ee8bd68b4c85c893d973cb17f2981aabfadfb6d72
Status: Downloaded newer image for bboreham/weave2:latest
Installed plugin bboreham/weave2

 $ sudo docker network create --driver=bboreham/weave2:latest foo
gek8emqogme6dmdhjjqi9mchl

 $ sudo docker service create --network foo --name sw2 mrjana/simpleweb simpleweb
hjpzskl7zkkrgcaiykj31zmgj
 $ sudo docker service lsID            NAME  MODE        REPLICAS  IMAGE
hjpzskl7zkkr  sw2   replicated  1/1       mrjana/simpleweb:latest

 $ sudo docker service create --network foo --name sw3 mrjana/simpleweb simpleweb
q8mfk0e6h30vdid50g11rew5n
madhu@Ubuntu-vm swarmkit (plugin-v2) $ sudo docker service ls
ID            NAME  MODE        REPLICAS  IMAGE
hjpzskl7zkkr  sw2   replicated  1/1       mrjana/simpleweb:latest
q8mfk0e6h30v  sw3   replicated  1/1       mrjana/simpleweb:latest

madhu@Ubuntu-vm swarmkit (plugin-v2) $ sudo docker ps
CONTAINER ID        IMAGE                                                                                COMMAND             CREATED             STATUS              PORTS               NAMES
62c3d78b376a        mrjana/simpleweb@sha256:317d7f221d68c86d503119b0ea12c29de42af0a22ca087d522646ad1069a47a4   "simpleweb"         8 seconds ago       Up 7 seconds                            sw3.1.0i9skstty1jauf9sny4o566zs
cc4794f73672        mrjana/simpleweb@sha256:317d7f221d68c86d503119b0ea12c29de42af0a22ca087d522646ad1069a47a4   "simpleweb"         4 hours ago         Up 5 hours                              sw2.1.nc9jk48x21uykwabmnxal3oz2

madhu@Ubuntu-vm swarmkit (plugin-v2) $ sudo docker exec -it cc4794f73672 sh
/ # ping sw3
PING sw3 (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=0.066 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=64 time=0.145 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=64 time=0.099 ms
^C
--- sw3 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.066/0.103/0.145 ms
/ #

@mavenugo : Great! Given that your commit is complete, please open a new PR using that and I'll close this one.

Closing this because it has been superseded by #1876.


dbeaver/dbeaver#21779 Hana dialect enhancement with tests

You can check objects creation/modification/deleting for non-Latin symbol names

Verified


Does not work export array

Godot version:
3.1
OS/device including version:
Linux Mint
Issue description:
"export(Array) var values" does not appear in the inspector.

I'm working on it at the moment
On Sat, May 19, 2018 at 1:45 PM wmigor<EMAIL_ADDRESS>wrote:

Godot version:
3.1
OS/device including version:
Linux Mint
Issue description:
"export(Array) var values" does not appear in the inspector.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/19046, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z23Br5ybuadGOyVVndDfPenw1vMGEks5t0EwVgaJpZM4UFxeK
.


update to latest containerd/cri

Update to latest containerd/cri master, namely with fix for forcibly removing containers (per CRI spec) for RemoveContainer and RemovePodSandbox requests.

LGTM


Feature/buildr as3

buildr-as3 buildfile
Right now I am loading the build.properties which is not optimal and doesn't resolve completely,
but anyways this should be an "okay" starting point.

Awesome sauce, thanks!

When I run buildr I get this:
[BUG] cross-thread violation on rb_gc()
(null)
Abort trap
Probably because I'm using RVM. What's your setup?

This is a problem with RJB (ruby-java-bridge) with rvm/os x.
Uninstalling rjb and buildr gems and following the instructions here should work: http://buildr.apache.org/installing.html#osx

You should actually be fine by uninstalling the rjb-darwin gem and install the platform-indipendent version via gem install rjb -v 1.3.3 --platform ruby

Thanks, sorted. I now get this:
Downloading org.apache.ant:ant:jar:1.8.0
Buildr aborted!
RuntimeError : Unable to download org.apache.ant:ant:jar:1.8.0. No remote repositories defined.

This should fix it: https://github.com/robotlegs/robotlegs-framework/pull/40


Postprocessing: try/except in oemoflex_scalars getters doesn't work

Try/excepts of the type:
try:
    carrier_cost = oemoflex_scalars.loc[oemoflex_scalars['var_name'] == 'cost_carrier'].copy()
except KeyError:
    logging.info("No key 'cost_carrier' found to calculate 'cost_emission'.")
    return None

does not work! oemoflex_scalars.loc[oemoflex_scalars['var_name'] == 'cost_carrier'] just returns an empty DataFrame if there are no rows with 'cost_carrier' as var_name.
It occurs in several functions in postprocessing. (E.g. get_emission_cost)

Does this lead to wrong results? If not, let us approach this when cleaning up.

Closed with #99.


write part 4 of polyglot blog series, frameworks

done https://dzone.com/users/4571557/paulparkinson.html


Refresh Browser Section

Update some info in the browser section.

firefox and chrome are both now on a four week release schedule
fixed some typos
Firefox now support fingerprint randomization in the UI
Swap ublock origin for ublock origin lite using the more secure manifest v3, and chrome lets you control javascript per domain anyway
add disabling JIT for chrome
remove kablock since it hasn't been updated in multiple years and there are complaints of it breaking sites bc of outdated blocklists

Oh thanks, I don't have write access tho so I can't merge them.


Audit entries are not logged into console when set audit level >= INFO

Describe the bug
Default log4j.properties file has the  additivity = false on audit logs and because of this if you enable the audit logging without changing the additivity to true, by default the audit messages are not logged in the console.
To Reproduce
Steps to reproduce the behavior:
Deploy a broker with a custom logging and set the audit logging as INFO or higher level
Platform (please complete the following information):
N/A
Expected behavior
It is expected to have audit logging console.
Screenshots
N/A
Additional context
The need to also change the additivity = true can confuse the users and  additivity = false can be removed from the file as  additivity = true is the default log4j2 behavior.

resolved by PR https://github.com/artemiscloud/activemq-artemis-broker-kubernetes-image/pull/85


Increase unit test coverage

Some client libraries need to add unit tests. The coverage is low for some modules.
https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/test-coverage/index.html

@alzimmermsft Can you check why storage-blobs is so low? It looks like it is included in the /eng/jacoco-test-coverage project, but something must be configured incorrectly. Maybe related to Groovy/Spock tests?
@g2vinay Same goes for identity - I see lots of tests, but I don't see them registering in the report.

@JonathanGiles I suspect this is due to blobs not having playback records for unit tests so they can only be ran in live mode. Running the live tests shows that the coverage is almost inline with other libraries (and I think most that is missing is autogen models).

@g2vinay Same goes for identity - I see lots of tests, but I don't see them registering in the report.
@JonathanGiles , The issue with Identity is that its using Power Mock to run its tests and Power Mock doesn't work well with Jacoco with on the fly instrumentation.
One possible solution is to add offline instrumentation in jacoc plugin config in Identity pom.
I'll add that and open a PR with the fix, assuming it works.

@joshfree Do we want to continue leaving this issue open? It's fairly vague and I'm wondering if we could break this down into more targeted issues.

Issue split into targeted issues for each module, see the following:
#6473
#6474
#6475
#6476
#6477
#6478
#6479
#6480
#6481
#6482
#6483
#6484
#6485


Add CIDR next to the network name

Fixes #725
@rhtyd cc @svenvogel I completed this task. Please review it. Thanks.

@andrijapanicsb @davidjumani can you review this?
@blueorangutan package

@rhtyd a Jenkins job has been kicked to build primate packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark:centos :heavy_check_mark:debian :heavy_check_mark:archive.
QA: http://primate-qa.cloudstack.cloud:8080/client/pr/729 (JID-3493)


[CLOSED] bounty for v8Block stakers -> 2443.6 GRC (est. $105/0.022 BTC)

 Issue by Erkan-Yilmaz
Friday Sep 01, 2017 at 03:02 GMT
Originally opened as https://github.com/Erkan-Yilmaz/Gridcoin-tasks/issues/154

further info here

 Comment by Erkan-Yilmaz
Saturday Sep 09, 2017 at 09:37 GMT

paid out, see above link


[SPARK-40497][BUILD] Re-upgrade Scala to 2.13.11

What changes were proposed in this pull request?
This PR aims to re-upgrade Scala to 2.13.11, after SPARK-45144 was merged, the build issues mentioned in https://github.com/apache/spark/pull/41943 should no longer exist.

https://www.scala-lang.org/news/2.13.11

Additionally, this pr adds a new suppression rule for warning message: Implicit definition should have explicit type, this is a new compile check introduced by https://github.com/scala/scala/pull/10083, we must fix it when we upgrading to use Scala 3
Why are the changes needed?
This release improves collections, adds support for JDK 20 and 21, adds support for JDK 17 sealed:

https://github.com/scala/scala/pull/10363
https://github.com/scala/scala/pull/10184
https://github.com/scala/scala/pull/10397
https://github.com/scala/scala/pull/10348
https://github.com/scala/scala/pull/10105

There are 2 known issues in this version:

https://github.com/scala/bug/issues/12800
https://github.com/scala/bug/issues/12799

For the first one, there is no compilation warning messages related to match may not be exhaustive in Spark compile log, and for the second one, there is no case of method.isAnnotationPresent(Deprecated.class) in Spark code, there is just
https://github.com/apache/spark/blob/8c84d2c9349d7b607db949c2e114df781f23e438/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/JavaTypeInference.scala#L130
in Spark Code, and I checked @javax.annotation.Nonnull no this issue.
So I think These two issues will not affect Spark itself, but this doesn't mean it won't affect the code written by end users themselves
The full release notes as follows:

https://github.com/scala/scala/releases/tag/v2.13.11

Does this PR introduce any user-facing change?
Yes, this is a Scala version change.
How was this patch tested?

Existing Test

Was this patch authored or co-authored using generative AI tooling?
No

Only the org.apache.spark.sql.connect.execution.ReattachableExecuteSuite test failed, which is a known issue.

cc @dongjoon-hyun FYI
also cc @eejbyfeldt for double check

Thanks @dongjoon-hyun and @eejbyfeldt

2.13.12 has also been release https://github.com/scala/scala/releases/tag/v2.13.12 so we might want to look into that in the future.

We can test it once Ammonite releases a new version supporting Scala 2.13.12.

Could you re-trigger the failed pipelines?

Merged to master for Apache Spark 4.0.0. Thank you, @LuciferYang and all.


feat(): add morpho-compound and morpho-aave-v2 subgraph

New subgraph
Implement Morpho protocol subgraph, including morpho-compound and morpho-aave-v2 on mainnet.
About Morpho
Morpho is an on-chain peer-to-peer layer on top of lending pools. Rates are seamlessly improved for borrowers and lenders while preserving the same guarantees.
Test:

https://okgraph.xyz/?q=dmelotik%2Fmorpho-compound-ethereum
https://okgraph.xyz/?q=dmelotik%2Fmorpho-aave-v2-ethereum

Closes: #1511

@julien-devatom A few notes before I begin reviewing.

I ran the GH actions. For the linting, this should explain our linting which is failing rn
We will have to rethink the having 2 protocol entities. It makes sense, but it doesn't fit very nicely into our current BE infra.

There are 2 ways we could go:
- 1- we create 1 protocol and 1 subgraph. This downside of this is that there is little discernment between the 2 morpho deployments in our FE/the subgraph
- 2- (my preferred option), we create 2 separate subgraph deployments, 1 for each morpho deployment. That would create 2 morpho pages on https://messari.io/protocol-explorer/all-protocols (which gives more nuance)

The issue here is that on our protocol page we only discern by network and not deployments rn, this is subject to change though.

@julien-devatom A few notes before I begin reviewing.

I ran the GH actions. For the linting, this should explain our linting which is failing rn

We will have to rethink the having 2 protocol entities. It makes sense, but it doesn't fit very nicely into our current BE infra.

There are 2 ways we could go:

1- we create 1 protocol and 1 subgraph. This downside of this is that there is little discernment between the 2 morpho deployments in our FE/the subgraph
2- (my preferred option), we create 2 separate subgraph deployments, 1 for each morpho deployment. That would create 2 morpho pages on https://messari.io/protocol-explorer/all-protocols (which gives more nuance)

We also have a lending SDK that will alleviate a lot of the dips in the cumulative values on snapshots

The issue here is that on our protocol page we only discern by network and not deployments rn, this is subject to change though.

Hey @dmelotik, I'll check the lintinh today. for the 2 protocol entities I totally agree that the second option is more suited. This is what we have done in our first subgraphs. Imo the best way to do that is to not touche the code inside src and just create 2 deployments w 2 templates indexing morpho-aave and morpho-compound.
Is there a way for me to explore the subgraph in your app, with a kind of a sandbox? It will be easier for me to check how you are handling the rates etc, because on Morpho, there is 4 differents rates depending if you are matched or not (or partially matched sometime).
For the SDK, I found it after having coded the mappings. Do you think that this is a good time investment to move to the sdk now?

@julien-devatom

Agreed, splitting into 2 different manifest templates and 2 different deployments will be the best option for this!
Yes! You can see the one @jaimehgb deployed here. But when you look at your own deployments you can plug in the endpoint into okgraph > click "Messari Visualizer"
Rates will be interesting on the morpho subgraph. In our Aave subgraph we have 4 rates (stable/variable/ for lender/borrower). I think the way you are currently doing rates with P2P and Pooled is going to be good.
The thing about the SDK is that we know it works as long as you enter the right values so it makes debugging/maintenance much easier. On the flip side if debugging isn't too frustrating you already have everything done.
It seems like markets are missing outputToken and some cumulativeUniqueUsage metrics.

Does morpho track positions using a token??

One of the big things I notice is that cumulative values are dropping when they should be strictly increasing. I am not 100% sure the culprit of this here. 1- entities don't always save when expected if they are loaded somewhere while concurrently being saved.

Test deployment:

Aave V2: https://okgraph.xyz/?q=dmelotik%2Fmorpho-aave-v2-ethereum

Thank you @julien-devatom ! Those warnings are there to make sure we aren't missing anything for a protocol. Your explanation here makes sense.
I think given the subgraph is almost done it doesn't make sense to use the SDK at this point.
Would you mind if I made a commit to this PR to make some of the code more in line with the general code format of our other subgraphs? I think that will be the easiest thing to do going forward, and I will be able to do a more thorough review as I do that.

@julien-devatom when you say "morpho specific improvements", do you mean new fields to watch that are specific to morpho (and/or any fixes to these current fields?)
If it is only the new deployment, that should not be a big issue. But, if I understand the improvements you are talking about it may make it easier to know what to do/not to do on our end.

@julien-devatom when you say "morpho specific improvements", do you mean new fields to watch that are specific to morpho (and/or any fixes to these current fields?)

both but only for fields related to Morpho. For example, Ive added a field to the Market entity, p2pSupplyInterestsUSD, tracking the p2p interests earned by suppliers matched. I have other ideas in mind that can be interesting for a lending protocol like Morpho. Obviously this is going to be fully transparent on the Messari dashboard.

I can see how adding a new deployment would be weird if both subgraphs are different since each morpho deployment has a unique factory contract...

The interface exposed by the different Morpho deployments is mainly the same. For morpho aave v3, this is a bit different since the protocol is distinguish the collateral and the supply (only the supply can be matched p2p) but I've refactored the common mapping for morpho aave v3 and I can reuse 90% of the code for the 3 versions of the Morpho protocol. Morpho aave v3 is going to be live really soon and I'll submit a new PR for the subgraph day 1.

@julien-devatom this makes sense.
There are some things we will need to update in the subgraph before deploying (ie, fix build, fix lint, set versions correctly, reduce the uncaught exceptions/error handling).
Can we do this in a non-invasive way in order to make it easy to make upgrades here as you make updates on morpho?
Maybe I can make the changes, (not changing the schema or function at all), then you can just copy that over to your subgraph and we are in sync?

Yeah that's ok for me, i think this is the best way to do

Hey @dmelotik , any update? :)

Hey @julien-devatom I had to branch off into a separate branch in order to push commits: https://github.com/messari/subgraphs/pull/2029
But it is close to done, I just need to add rewards to the subgraph. If you have any insights on where to grab morpho rewards that would be great

@dmelotik morpho rewards distribution is fully offchain (with only a merkle tree on chain for the distribution) and based on ages that are defining rates periodically. You have more information in this repository

@julien-devatom I finished it up if you want to take a look #2029
It still needs to be reviewed and QA'd on our end

Closing now that #2199 is merged in. If you notice any issues in our subgraph data or logic please feel free to open an issue, thanks for the help to get this going!


Tweak gas estimation for EIP-1559 so gas prices (maxFeePerGas and maxPriorityFeePerGas) are higher for higher speeds

Closes #6698

@oa-s I've left the few lines that adds some logging in the PR and will clean it up before merge. I have hand-formatted the output a little. You can find the logged lines by looking for "hhh remove".
This PR fixes it so that the maxFeePerGas and maxPriorityFeePerGas are monotonically increasing as we go from slow to rapid, which is what we want. (Refer to the block of output starting from 0: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>6, maxPriorityFeePerGas: 414079230) rapid)
But if we compare the 2 big blocks below, the gas estimates that is displayed in the custom gas setting screen<PHONE_NUMBER>8 / 152289558 in the second block) isn't in the array of 16 elements first block of output. Do you know why? —
xxx using slow-rapid, the indices. slow: 15 standard: 10 fast: 5 rapid: 0
0: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>6, maxPriorityFeePerGas: 414079230) rapid
1: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>9, maxPriorityFeePerGas: 414079230)
2: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>0, maxPriorityFeePerGas: 414079230)
3: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>0, maxPriorityFeePerGas: 109914630)
4: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>3, maxPriorityFeePerGas: 109914630)
5: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>3, maxPriorityFeePerGas: 94000000) fast
6: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>2, maxPriorityFeePerGas: 94000000)
7: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>8, maxPriorityFeePerGas: 94000000)
8: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>3, maxPriorityFeePerGas: 94000000)
9: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>1, maxPriorityFeePerGas: 94000000)
10: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>6, maxPriorityFeePerGas: 94000000) standard
11: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>7, maxPriorityFeePerGas: 94000000)
12: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>8, maxPriorityFeePerGas: 94000000)
13: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>4, maxPriorityFeePerGas: 94000000)
14: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>5, maxPriorityFeePerGas: 94000000)
15: AlphaWalletFoundation.Eip1559FeeOracleResult(maxFeePerGas:<PHONE_NUMBER>3, maxPriorityFeePerGas: 94000000) slow

xxx ui speed: slow maxFeePerGas:<PHONE_NUMBER>3 maxPriorityFeePerGas: 94000000
xxx ui speed: standard maxFeePerGas:<PHONE_NUMBER>8 maxPriorityFeePerGas: 152289558
xxx ui speed: fast maxFeePerGas:<PHONE_NUMBER>3 maxPriorityFeePerGas: 94000000
xxx ui speed: rapid maxFeePerGas:<PHONE_NUMBER>6 maxPriorityFeePerGas: 414079230
xxx ui speed: custom maxFeePerGas:<PHONE_NUMBER>8 maxPriorityFeePerGas: 152289558

You ought to be able to observe this in the UI after displaying the custom gas screen and wait for it to refresh a few times.

@oa-s might as well help review the gas estimate changes too :)

editing maxGasPrice shpuld work in the next way,
in case if we just open editing mode and haven't changed values via slider, or manually entered value in text field, the value of maxGasPrice  should change according estimated value, but if we adjusted it, it become fixed, and could be validated according estimates

tooLow it seems non localized, shouldn't be like that, thought i localized it

(36373263048 / 152289558) checking why this happened

(36373263048 / 152289558) checking why this happened

this is because of this function
private func handle(estimates: Eip1559FeeEstimates) -> Eip1559FeeEstimates {
        var estimates = estimates
        let standard = estimates.estimates[.standard]

        if shouldUseEstimatedGasPrice(standard) {
            //no-op
        } else if let standard = estimatesSubject.value.estimates[.standard] {
            estimates.estimates[.standard] = standard
        }

        return estimates
    }

and this function
public func shouldUseEstimatedGasPrice(_ oracleResult: Eip1559FeeOracleResult?) -> Bool {
        guard let oracleResult = oracleResult, let specifiedMaxFee = initialMaxFeePerGas, let specifiedPriorityFee = initialMaxPriorityFeePerGas else { return false }
        //Gas price may be specified in the transaction object, and it will be if we are trying to speedup or cancel a transaction. The replacement transaction will be automatically assigned a slightly higher gas price. We don't want to override that with what we fetch back from gas price estimate if the estimate is lower
        if specifiedMaxFee > oracleResult.maxFeePerGas && specifiedPriorityFee > oracleResult.maxPriorityFeePerGas {
            return false
        } else {
            return true
        }
    }

guess this should return true
guard let oracleResult = oracleResult, let specifiedMaxFee = initialMaxFeePerGas, let specifiedPriorityFee = initialMaxPriorityFeePerGas else { return false }

@oa-s thanks. Can you help push a separate PR for the fix? So we’ll just have the gas estimation tweak here.

@hboon could u please drop my latest commit, made another pr

@oa-s will do. Thanks

Force-pushed, keeping only the original commit and removing the debug logs


chore(deps): update dependency webpack to v4

This Pull Request updates dependency webpack from v3.11.0 to v4.6.0

Release Notes
v4.0.0
Big changes

Environment

Node.js 4 is no longer supported. Source Code was upgraded to a higher ecmascript version.

Usage

You have to choose (mode or --mode) between two modes now: production or development

production enables all kind of optimizations to generate optimized bundles
development enables comments and hint for development and enables the eval devtool
production doesn't support watching, development is optimized for fast incremental rebuilds
production also enables module concatenating (Scope Hoisting)
You can configure this in detail with the flags in optimization.* (build your custom mode)
process.env.NODE_ENV are set to production or development (only in built code, not in config)
There is a hidden none mode which disables everything

Syntax

import() always returns a namespace object. CommonJS modules are wrapped into the default export

This probably breaks your code, if you used to import CommonJs with import()

Configuration

You no longer need to use these plugins:

NoEmitOnErrorsPlugin -> optimization.noEmitOnErrors (on by default in production mode)
ModuleConcatenationPlugin -> optimization.concatenateModules (on by default in production mode)
NamedModulesPlugin -> optimization.namedModules (on by default in develoment mode)

CommonsChunkPlugin was removed -> optimization.splitChunks, optimization.runtimeChunk

JSON

webpack now handles JSON natively

You may need to add type: "javascript/auto" when transforming JSON via loader to JS
Just using JSON without loader should still work

allows to import JSON via ESM syntax

unused exports elimination for JSON modules

Optimization

Upgrade uglifyjs-webpack-plugin to v1

ES15 support

Big features

Modules

webpack now supports these module types:

javascript/auto: (The default one in webpack 3) Javascript module with all module systems enabled: CommonJS, AMD, ESM
javascript/esm: EcmaScript modules, all other module system are not available
javascript/dynamic: Only CommonJS and, EcmaScript modules are not available
json: JSON data, it's available via require and import
webassembly/experimental: WebAssembly modules (currently experimental)

javascript/esm handles ESM more strictly compared to javascript/auto:

Imported names need to exist on imported module
Dynamic modules (non-esm, i. e. CommonJs) can only imported via default import, everything else (including namespace import) emit errors

In .mjs modules are javascript/esm by default
WebAssembly modules

can import other modules (JS and WASM)
Exports from WebAssembly modules are validated by ESM import

You'll get a warning/error when trying to import a non-existing export from WASM

can only be used in async chunks. They doesn't work in initial chunks (would be bad for web performance)

Import modules using WASM via import()

This is an experimental feature and subject of change

Optimization

sideEffects: false is now supported in package.json

sideEffects in package.json also supports glob expressions and arrays of glob expressions

Instead of a JSONP function a JSONP array is used -> async script tag support, order no longer matter
New optimization.splitChunks option was introduced
Details: https://gist.github.com/sokra/1522d586b8e5c0f5072d7565c2bee693
Dead branches are now removed by webpack itself

Before: Uglify removed the dead code
Now: webpack removes the dead code (in some cases)
This prevents crashing when import() occur in a dead branch

Syntax

webpackInclude and webpackExclude are supported by the magic comment for import(). They allow to filter files when using a dynamic expression.
Using System.import() now emits a warning

You can disable the warning with Rule.parser.system: true
You can disable System.import with Rule.parser.system: false

Configuration

Resolving can now be configured with module.rules[].resolve. It's merged with the global configuration.
optimization.minimize has been added to switch minimizing on/off

By default: on in production mode, off in development mode

optimization.minimizer has been added to configurate minimizers and options

Usage

Some Plugin options are now validated
CLI has been move to webpack-cli, you need to install webpack-cli to use the CLI
The ProgressPlugin (--progress) now displays plugin names

At least for plugins migrated to the new plugin system

Performance

UglifyJs now caches and parallizes by default
Multiple performance improvements, especially for faster incremental rebuilds
performance improvement for RemoveParentModulesPlugin

Stats

Stats can display modules nested in concatenated modules

Features

Configuration

Module type is automatically choosen for mjs, json and wasm extensions. Other extensions need to be configured via module.rules[].type
Incorrect options.dependencies configurations now throw error
sideEffects can be overriden via module.rules
output.hashFunction can now be a Constructor to a custom hash function

You can provide a non-cryto hash function for performance reasons

add output.globalObject config option to allow to choose the global object reference in runtime exitCode

Runtime

Error for chunk loading now includes more information and two new properties type and request.

Devtool

remove comment footer from SourceMaps and eval
add support for include test and exclude to the eval source map devtool plugin

Performance

webpacks AST can be passed directly from loader to webpack to avoid extra parsing
Unused modules are no longer unnecessarly concatenated
Add a ProfilingPlugin which write a (Chrome) profile file which includes timings of plugins
Migrate to using for of instead of forEach
Migrate to using Map and Set instead of Objects
Migrate to using includes instead of indexOf
Replaced some RegExp with string methods
Queue don't enqueues the same job twice
Use faster md4 hash for hashing by default

Optimization

When using more than 25 exports mangled export names are shorter.
script tags are no longer text/javascript and async as this are the default values (saves a few bytes)
The concatenated module now generates a bit less code
constant replacements now don't need __webpack_require__ and argument is omitted

Defaults

webpack now looks for the .wasm, .mjs, .js and .json extensions in this order
output.pathinfo is now on by default in develoment mode
in-memory caching is now off by default in production
entry defaults to ./src
output.path defaults to ./dist
Use production defaults when omiting the mode option

Usage

Add detailed progress reporting to SourceMapDevToolPlugin
removed plugins now give a useful error message

Stats

Sizes are now shown in kiB instead of kB in Stats
entrypoints are now shows by default in Stats
chunks now display <{parents}> >{children}< and ={siblings}= in Stats
add buildAt time to stats
stats json now includes the output path

Syntax

A resource query is supported in context
Referencing entry point name in import() now emits a error instead of a warning
Upgraded to acorn 5 and support ES 2018

Plugins

done is now an async hook

Bugfixes

Generated comments no longer break on */
webpack no longer modifies the passed options object
Compiler "watch-run" hook now has the Compiler as first parameter
add output.chunkCallbackName to the schema to allow configurating WebWorker template
Using module.id/loaded now correctly bails out of Module Concatentation (Scope Hoisting)
OccurenceOrderPlugin now sorts modules in correct order (instead of reversed)
timestamps for files are read from watcher when calling Watching.invalidate
fix incorrect -! behavior with post loaders
add run and watchRun hooks for MultiCompiler
this is now undefined in ESM
VariableDeclaration are correctly identified as var, const or let
Parser now parse the source code with the correct source type (module/script) when the module type javascript/dynamic or javascript/module is used.
don't crash on missing modules with buildMeta of null
add original-fs module for electron targets
HMRPlugin can be added to the Compiler outside of plugins

Internal changes

Replaced plugin calls with tap calls (new plugin system)
Migrated many deprecated plugins to new plugin system API
added buildMeta.exportsType: "default" for json modules
Remove unused methods from Parser (parserStringArray, parserCalculatedStringArray)
Remove ability to clear BasicEvaluatedExpression and to have multiple types
Buffer.from instead of new Buffer
Avoid using forEach and use for of instead
Use neo-async instead of async
Update tapable and enhanced-resolve dependencies to new major versions
Use prettier

Removed features

removed module.loaders
removed loaderContext.options
removed Compilation.notCacheable flag
removed NoErrorsPlugin
removed Dependency.isEqualResource
removed NewWatchingPlugin
removed CommonsChunkPlugin

Breaking changes for plugins/loaders

new plugin system

plugin method is backward-compatible
Plugins should use Compiler.hooks.xxx.tap(<plugin name>, fn) now

New major version of enhanced-resolve
Templates for chunks may now generate multiple assets
Chunk.chunks/parents/blocks are no longer Arrays. A Set is used internally and there are methods to access it.
Parser.scope.renames and Parser.scope.definitions are no longer Objects/Arrays, but Map/Sets.
Parser uses StackedSetMap (LevelDB-like datastructure) instead of Arrays
Compiler.options is no longer set while applying plugins
Harmony Dependencies has changed because of refactoring
Dependency.getReference() may now return a weak property. Dependency.weak is now used by the Dependency base class and returned in the base impl of getReference()
Constructor arguments changed for all Modules
Merged options into options object for ContextModule and resolveDependencies
Changed and renamed dependencies for `import()
Moved Compiler.resolvers into Compiler.resolverFactory accessible with plugins
Dependency.isEqualResource has been replaced with Dependency.getResourceIdentifier
Methods on Template are now static
A new RuntimeTemplate class has been added and outputOptions and requestShortener has been moved to this class

Many methods has been updated to use the RuntimeTemplate instead
We plan to move code which accesses the runtime to this new class

Module.meta has been replaced with Module.buildMeta
Module.buildInfo and Module.factoryMeta have been added
Some properties of Module have been moved into the new objects
added loaderContext.rootContext which points to the context options. Loaders may use it to make stuff relative to the application root.
add this.hot flag to loader context when HMR is enabled
buildMeta.harmony has been replaced with buildMeta.exportsType: "namespace
The chunk graph has changed:

Before: Chunks were connected with parent-child-relationships.
Now: ChunkGroups are connected with parent-child-relationships. ChunkGroups contain Chunks in order.
Before: AsyncDependenciesBlocks reference a list of Chunks in order.
Now: AsyncDependenciesBlocks reference a single ChunkGroup.

file/contextTimestamps are Maps now
map/foreach Chunks/Modules/Parents methods are now deprecated/removed
NormalModule accept options object in Constructor
Added required generator argument for NormalModule
Added createGenerator and generator hooks for NormalModuleFactory to customize code generation
Allow to customize render manifest for Chunks via hooks

v4.0.1
Features

add version property to webpack exports

Bugfixes

import() with CJS now gives correct exports
Module concatenation bailout messages now point to correct module

v4.1.0
Features

add filename option to optimization.splitChunks to modify the filename template for splitted chunks
allow modules which doesn't emit code into the bundle

Bugfixes

watchpack updated to 1.5.0
performance fix for Module Concatenation (v8 bug)
fix using this.xxx in ProvidePlugin

v4.1.1
Features

Stats now displays the number of assets of a module

Bugfixes

sourceMap option of the default UglifyJsPlugin now defaults to true when the SourceMapDevToolPlugin is used
module.assets is now working again in the Stats
chunk ids are not stringified on target node
devtoolNamespace default works now also for arrays passed to output.library
Format date with 2 digits in Stats for Build At
fix a bug renaming classes incorrectly
fix a bug where modules ignore the chunks option of optimization.splitChunks

v4.2.0
Features

add splitChunks.automaticNameDelimiter to configure the name separator for automatic names
stats.excludeModules now also accept booleans
webpack throws an error when trying to run in twice at a time
performance is disabled by default in non-web targets
AMD parser plugins can now be extended by inheriting

Bugfixes

Fix a race condition when writing events.json in ProfilingPlugin
HMR runtime code is reverted to ES5 style
script timeout is not correctly in seconds
reexporting JSON exports works correctly now
fix a bug when combining ProfilingPlugin with SourceMapDevToolPlugin
add a missing semicolon to the runtime code

v4.3.0
Features

add support for [contenthash] placeholder

Bugfixes

browser field is used for target electron-renderer
set devtoolNamespace default correctly when passing an object to output.library

v4.4.0
Features

When webpack-cli is not installed it will ask to install it
splitChunks.chunks supports a custom function now
Better warning when omitting mode

Bugfixes

disallow functions for chunkFilename, because it's not working
generate correct code when using export default (function xxx() {})

Performance

Performance improvements for sorting by identifier

v4.4.1
Bugfixes

fix yarn/npm install script on windows

v4.5.0
Features

Performance improvements
Improve readablility of error messages with long loader string

Bugfixes

Sort child compilations for consistent compilation hash
Fix bug causing all symbols to be renamed when concatenating modules

Contributing

add yarn setup script for bootstrapping local development

v4.6.0
Features

improve stats output alignment
improve stats text output when all exports are used
add webpackPrefetch/webpackPreload magic comments to import()
add stats.entrypoints[].children and stats.entrypoints[].childAssets to stats json
add prefetched/preloaded chunks and assets to stats text output
Performance improvements

Bugfixes

Escape chunk ids for target: "webworker"
fix this to undefined ESM replacement in function default values
new require(...) is weird, but now behaves like in node.js
fix behavior of export * from "commonjs" with partial override
fixed build time output in current locale in stats text output
fixed ChunkModuleIdRangePlugin and add tests
avoid race condition when using the loadModule loader API
fix default value of output.globalObject in target: "node-webkit"
fix a bug with loadModules and dependencies in these modules
fix hot.accept parser plugin to allow defined values as argument
print unknown size when size is unknown
fix a bug where some chunks were missing in the "single" runtime chunk
fix cloning of optimization configuration

Internal changes

Set up infrastructure for linting typings with TypeScript

Commits
v4.6.0

37ff424 Pass undefined as locale
fac3424 Simplify cachedMerge
269a911 Define missing fields on AMD classes
fe73712 Remove unecessary _this binding
30da6c5 Merge pull request #6989 from mohsen1/extend-Template
25f8637 Merge pull request #7010 from webpack/fix/context_dependency_init
5401381 Merge pull request #7011 from webpack/fix/object_shapes
15ac4e8 Merge pull request #7012 from webpack/refactor/remove_this
a41974d Merge pull request #7013 from webpack/refactor/cachedmerge
e320290 Merge pull request #7014 from webpack/refactor/amd_missing_fields
6e154f6 Avoid deopt when cache is set
5be4026 Merge pull request #7015 from webpack/refactor/source_map_deopt
0b1e9d8 Merge pull request #6982 from mohsen1/json-and-date-api-fixes
589f40b Add missing class member initializations found by TypeScript
4f3e414 chore: rm useless checking
1c76133 Avoid type mismatch assignment of number to string in HotModuleReplacementPlugin
dd484c3 init details
b203091 s/const/let
581d19b actually const is fine
13ac6a1 Merge pull request #7020 from mohsen1/avoid-type-mismatch-assignments
b5b6506 remove unneeded message assignment
b6c282f fix unit test
eca7bad Merge pull request #6910 from mohsen1/more-inits
b8b95cf Use compilation instead of this
4d9eb7c Merge pull request #6974 from mohsen1/webpack-error-refactor
36d576c Update ChunkModuleIdRangePlugin to webpack 4 API
b715475 Add integration tests
397f51f Merge pull request #7019 from Aladdin-ADD/patch-2
0e88e8a Merge pull request #6954 from webpack/fix/ChunkModuleIdRangePlugin
868d3b2 Add infrastructure
cf8ec0f Add WebAssembly global
84f68b3 Install typescript
d00d44c Use nightly build of TS for now
5bb5af6 Some type fixes using JSDoc comments
3ac4f21 More comments to help ts compiler be happy
09cdcb0 More comment based type fixes
0ced385 Comment fixes
6a9ee8f more comment types and one actual code change
2367a7d More comments
70f9a5f upgrade ts
5adc491 Add more globals and comments
8398411 Add types for comment method
836d06e up ts
0fa8cd9 Use ts nightly and enable tsc as lint in travis
d677bdd pretty
2267906 Fix lint issues
5b236e5 More type fixes (these changes should be merged as separate PRs
2295c83 Add ts-ignore comments with link to issue
c7429a6 Fixed all type errors!
724987a set correct type in ContextDependency
0ea9b98 Use ts nightly and fix JSDoc for comment method in RuntimeTemplate
2b66263 TS now understands module.exports assignments
2adf5c2 Better JSDocs for makeNewProfiledTapFn
8de3b9b add types to Module
ebc4b00 add type linting to normal linting in package.json
a4e8c07 fix jsdoc comments to make eslint happy
3677e25 add a separate class for HotUpdateChunk
5f0a99e declare types for chrome-trace-event
6063276 remove $WebAssembly global
9dafa97 TS now understands exports assignments
a3df74b remove unneeded member isImportEmitted
985e6fb fix race condition when using loadModule
40a089c Merge pull request #7027 from webpack/bugfix/load-module-race
10282ea Merge pull request #6862 from mohsen1/ts
58b387b enable strictFunctionTypes
2e3f4ff enable strictPropertyInitialization
0d50f94 enable alwaysStrict
3565cc1 enable noUnusedLocals
ddb4b9e ASCII is art
236b1d8 Revert "enable noUnusedLocals"
74559e3 Diable strictPropertyInitialization until null check is enabled
ec0dad4 Merge remote-tracking branch 'upstream/master' into peer-dependencies-4
6294313 Merge pull request #7033 from mohsen1/strict
0be0d1f Merge pull request #7039 from hedgepigdaniel/peer-dependencies-4
70d4825 Fix output.globalObject value in node-webkit
e656231 Move prepareOptions to test helpers
1313300 Merge pull request #7049 from bastimeyer/bugfix/output-globalobject-node-webkit
e54af0d Merge pull request #7048 from webpack/refactor/prepareOptions
9cb1a66 add support for link preload/prefetch
014e65e rename webpackPrefetchPriority to webpackPrefetch
57e09a6 add test for prefetch, preload and script loading jsonp runtime
17eb5b4 rename priority to order
2a7fdc4 hot.accept tap interceptor returns T/F based on the number of args
3417da5 preload in parallel to script download
e1930c2 Fix LoaderPlugin not resolving recursively
873d7d4 show preload and prefetch in stats
be79d6d add mixed test case which also tests equal order sorting
babc8a4 Merge pull request #7059 from bastimeyer/bugfix/loaderplugin-recursive
205ca62 fix reversed order in Chunk.compareTo
8e2e19b fix unstable sorting of ChunkGroups and add test
946c4df add test case for comments in import()
58ba91d fix bug which prevented some chunks to show up in Chunk.getAllAsyncChunks
0ff2901 Merge pull request #7060 from webpack/test/any-comment-in-import
ec4ec8e Merge pull request #7056 from webpack/feature/preload
aee2491 Merge pull request #6962 from justinhelmer/bug/6919
3f99517 Merge pull request #6905 from xtuc/fix-handle-unknown-size
c47150c Clone optimization config in Defaulter
3a5fda9 Merge pull request #7062 from webpack/bugfix/issue-6931
941be29 Merge pull request #7063 from webpack/bugfix/clone-optimization
e7c8fa4 4.6.0

This PR has been generated by Renovate Bot.

this is the error with everything up-to-date:
info => Loading custom webpack config (full-control mode).
/Users/Julian/Code/dcos-labs/ui-kit/node_modules/webpack/lib/DefinePlugin.js:42
		compiler.hooks.compilation.tap(
		               ^

TypeError: Cannot read property 'compilation' of undefined
    at DefinePlugin.apply (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/webpack/lib/DefinePlugin.js:42:18)
    at Compiler.apply (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/tapable/lib/Tapable.js:375:16)
    at webpack (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/@storybook/core/node_modules/webpack/lib/webpack.js:33:19)
    at exports.default (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/@storybook/core/dist/server/middleware.js:29:40)
    at buildDev (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/@storybook/core/dist/server/build-dev.js:163:36)
    at Object.<anonymous> (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/@storybook/react/dist/server/index.js:23:22)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
    at Function.Module._load (internal/modules/cjs/loader.js:498:3)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at Object.<anonymous> (/Users/Julian/Code/dcos-labs/ui-kit/node_modules/@storybook/react/bin/index.js:3:1)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>storybook: `start-storybook -p 6006 "./"`
npm ERR! Exit status 1


cnspec: 10.9.2 -> 10.10.0

Diff: https://github.com/mondoohq/cnspec/compare/refs/tags/v10.9.2...v10.10.0
Changelog: https://github.com/mondoohq/cnspec/releases/tag/v10.10.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 300989 run on x86_64-linux 1

1 package built:

cnspec


[ux]dashboard to explore to dashboard flow SAVE buttons

Currently, when users explore a chart from the dashboard, after making necessary tweaks on the chart, users have to
step 1: click the + SAVE button on the top left
step 2: CHART NAME and ADD TO DASHBOARD are filled in, Save as... radio button is selected automatically which are GREAT!
step 3: but the SAVE & GO TO DASHBOARD button is disabled! Users have to open the dropdown, click the desired dashboard to enable the button.
The flow from View Chart on Dashboard - Edit Chart in Explore - Save Chart to Dashboard should be more seamless, saving an edited chart to the same dashboard is more common path than saving as a new chart, so there is no reason the SAVE & GO TO DASHBOARD button is disabled in this modal.

@junlincc I'm working on this right now.

@junlincc I'm working on this right now.

awesome! i was saving this bug for myself to work on lol 😅but yea thanks for picking it up and being proactive!


Bug: Dual pane isn't restored after restarting the app

Description
If I have Dual pane mode on, after closing the App and opening it again Dual pane mode is off.
But the weird thing is, the App thinks it is in Dual Pane mode. So i have to "Close pane" and "New pane" to get Dual pane mode again.
Steps To Reproduce

Open App
Click on the 3 dots in the upper right corner and click "New Pane" or use [Alt]+[Shift]+[+]
Close App
Open App
See App has only one pane
Click on the 3 dots in the upper right corner
See "Close pane"

Expected behavior
If Dual pane is open and shown I expect it to to see 2 panes after I restart the App.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19044.1826
Windows Version
Windows 10 Enterprise
Relevant Assets/Logs

I have the question too. <IP_ADDRESS> iscorrect but happened In <IP_ADDRESS>. And the title will show two panel but acturally not

I can't reproduce this issue, do you have "Continue where you left off" turned on?

Just tried that still the same behavior.

may I upload a Video to youtube and post the link here?

https://youtu.be/Qg1TDG7OlOA

may I upload a Video to youtube and post the link here?

You can upload the video directly to GitHub

I tried, but it said mkv is not supported

The Preview works. So it might already been fixed.
Weird think to me, the preview starts without the 2nd pane, if you not turn on "Continue where you left off" I would think if the 2nd pane was open before closing it would come up with dual pane but both sides at Home, and "Continue where you left off" would only store what folders were open. But I think that's just me.


Crop and lock error on reparent shortcut

Microsoft PowerToys version
0.79.0
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
Crop and Lock
Steps to reproduce
It crops it with selected area and white section unwanted. When i click the close button, ms edge ui slipped down and slightly right.
✔ Expected Behavior
Capture the youtube video in microsoft edge and display at another screen
❌ Actual Behavior
It crops it with selected area and white section unwanted. When i click the close button, ms edge ui slipped down and slightly right.

Other Software
ms edge version 122.0.2365.80 (offical build) (64 bit)

Are you still experiencing this issue? /needinfo

/dup https://github.com/microsoft/PowerToys/issues/31887


Option to specify a range of allowed solc versions

Component
Forge
Describe the feature you would like
Currently, it's only possible to choose between auto detection & a single specific solc version.
I'd like to use a hybrid of the two. I'd like to be able to specify a range of allowed solc versions and have forge build use the "highest possible" (within the pragma range) of the allowed solc versions for a given file.
Additional context
I'm currently debugging an issue where auto_detect_solc behaves somewhat non-deterministically and chooses different solc versions between CI and local runs. Locally, it uses 0.8.17 and in CI it uses 0.8.20 for some files.
EDIT: I opened that as a seperate bug report: https://github.com/foundry-rs/foundry/issues/5050

Any update on whether this will become a feature?


In the Dynamixel driver, why is torque mode turned on and then off?

Out of curiosity,
In the Dynamixel driver, why is torque mode turned on and then off?
    driver.set_torque_mode(True)
    driver.set_torque_mode(False)

I tried removing those two lines, and I'm still able to get_joints().

Yeah that just tests that the functionality works. Added some comments in https://github.com/wuphilipp/gello_software/pull/11 to avoid future confusion!


Support play 2.4

Play-json API has changed in 2.4. It would be great to have jwt-scala support for it.

Actually, code is ready but I cannot fully test it because all my integration tests are now failing thanks an error in Guice configuration or whatever. I'm not even using any DI at all...
Anyway, I pushed the code but I cannot release it until I got the tests running. I opened an issue on Play Framework. Let's see if we got an answer.

Sorry for the delay, I was finally able to fix the tests. 0.3.0 is out with full support of Play 2.4.0. Enjoy.

thanks :)


Test results directory is cleaned up only for the first slice hence uploading similar multiple trx files to vsts

Our build definition (https://microsoft.visualstudio.com/Universal Store/_build?definitionId=23050) is experiencing this issue since yesterday that duplicate test result files are being uploaded. This is blocking our release test evidence, since one service change can only have no more than 100 attachments. Usually our builds will have 80+ test files, now it's generating hundreds of files due to the issue.
Sample build: https://microsoft.visualstudio.com/Universal Store/_build/results?buildId=12853153&view=logs
Test run for the build: https://microsoft.visualstudio.com/Universal Store/_TestManagement/Runs?runId=106683888&queryPath=Recent Run%2FRun 106683888&_a=runCharts

@jagany this has been fixed in the latest version of the vstest task.
Another additional fix was made with regards to proc dump holding onto a file in the results directory - to get this please use the latest version of the test platform using the vstestplatform tool installer task.
Please reopen the issue if you are still facing this problem.


SingleProtocolConnectionManager conccurrent issue

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 3.2.6
Operating System version: centos 7.6
Java version: 21
Registration center nacos
ConnectionManager uses SingleProtocolConnectionManager

Steps to reproduce this issue
A--->B

Delete all .dubbo files
System A is started first. Here A subscribes to service B in an instance-less state. But it already has a subscription relationship with System B
In system B, system A will detect org.apache.dubbo.registry.client.ServiceDiscoveryRegistry#doSubscribe
Finally, the org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#onEvent method will be used

get MetadataInfo with revision, since there is no cache. A corresponding MetadataService remote service of system B will be created to obtain the corresponding metadataInfo.

org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#doOnEvent
serviceDiscovery.getRemoteMetadata
MetadataUtils.getRemoteMetadata
MetadataUtils.referProxy(instance), here a connectionClient will be created through SingleProtocolConnectionManager, placed in the cache, and the listening will be turned off to remove connectionClient.addCloseListener(() -> connections.remove(address, connectionClient)) from the cache. This operation is Asynchronous
MetadataUtils.destroyProxy(proxyHolder), this step is to close the corresponding protocol invoker, and finally close the connectionClient. Finally, the cached connectionClient is removed due to closing the listening.
PS. SingleProtocolConnectionManager removes connectionClient and turns it into an asynchronous operation

The process continues with org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#notifyAddressChanged
notifyListener.notify(urls), the specific interface will also refresh the subscription relationship
If you subscribe to application B, the previous services will also obtain the corresponding connectionClient through SingleProtocolConnectionManager. The connectionClient may not have been removed here. The connectionClient is being closed, but it has been marked as unavailable. Therefore some service discovery will fail.
Pls. provide [GitHub address] to reproduce this issue.

Expected Behavior

SingleProtocolConnectionManager, remove connectionClient and do not use listening asynchronous behavior. There is a high probability that there will be no problem.

Strengthen the org.apache.dubbo.remoting.api.connection.AbstractConnectionClient#retain method
You have judged that counter<=0, indicating that this instance has been destroyed and has not been removed for some unknown reason. Now only when the channel is closed will it listen for removal.
AbstractConnectionClient adds a destroyTime, failbackConnectionClient
The retain method is added and cannot be used anymore. Create a failbackConnectionClient.
release method, when calling destroy, updates the destroyTime. The scheduled task scans all connections in the cache. If the set destroyTime is exceeded, the connection will be removed directly. If there is a failbackConnectionClient in this connection, failbackConnectionClient will correct it.
connectionClient.addCloseListener(() -> connections.remove(address, connectionClient))===> connectionClient.remove(connections)... The newly added remove and remove are mutually exclusive

Actual Behavior

If there is an exception, please attach the exception trace:
Just put your stack trace here!

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Environment

Dubbo version: 3.2.6
Operating System version: centos 7.6
Java version: 21
注册中心 nacos
ConnectionManager使用的是SingleProtocolConnectionManager

Steps to reproduce this issue
A--->B

所有的.dubbo文件都删除掉
A系统先启动完成。这里A订阅B服务是无实例的状态。但已经和B系统有订阅关系
B系统时，A系统会感知到org.apache.dubbo.registry.client.ServiceDiscoveryRegistry#doSubscribe
最终会走 org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#onEvent方法

get MetadataInfo with revision，由于没有缓存。会创建一个对应B系统 MetadataService远程服务获取相应metadataInfo

org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#doOnEvent
serviceDiscovery.getRemoteMetadata
MetadataUtils.getRemoteMetadata
MetadataUtils.referProxy(instance) , 这里会通过SingleProtocolConnectionManager，创建一个connectionClient，放到缓存中，并关闭监听从缓存移除 connectionClient.addCloseListener(() -> connections.remove(address, connectionClient))，这个操作是异步的
MetadataUtils.destroyProxy(proxyHolder) ，这步就是关闭相应协议invoker,最终关闭connectionClient，最终由于关闭监听移除缓存的connectionClient.
PS. SingleProtocolConnectionManager 移除connectionClient变成异步操作

流程继续走org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener#notifyAddressChanged
notifyListener.notify(urls)，具体的接口也会刷新一下订阅关系
订阅B应用的，前面几个服务也会通过SingleProtocolConnectionManager，获取相应的connectionClient。这里connectionClient可能还没有移除，connectionClient正在关闭中，但已经标识不可用了。因此部分服务发现会失败。
Pls. provide [GitHub address] to reproduce this issue.

Expected Behavior

SingleProtocolConnectionManager,移除connectionClient不采用监听异步行为。大概率不会出问题。

org.apache.dubbo.remoting.api.connection.AbstractConnectionClient#retain 方法加强一下
你已经判断 counter<=0,说明已经This instance has been destroyed，不知道什么原因没有被移除掉。现在只有关闭channel才会监听移除。
AbstractConnectionClient 增加一个destroyTime,failbackConnectionClient
增加retain方法出有不能用了，创建一个 failbackConnectionClient
release方法，调用destroy时，更新destroyTime时间。定时任务扫描所有缓存中connection,超过设置的destroyTime，直接移除这个连接，如果这个connection中有failbackConnectionClient，failbackConnectionClient把它转正。
connectionClient.addCloseListener(() -> connections.remove(address, connectionClient))===> connectionClient.remove(connections)...   新增加remove和remove 是互斥的

Actual Behavior

If there is an exception, please attach the exception trace:
Just put your stack trace here!

Are you using triple protocol? This seems is a bug of connection management in Triple protocol.
IMO, in order to solve this, we can:
Remove connection itself in org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections before close connection. We should make sure that the action of remove and fetch connection are synchronized which ConcurrentHashMap can achieve.
Add a FailbackConnection might not a good idea cause it may cause memory leak. ReferenceCountExchangeClient in Dubbo protocol is quite easy to cause memory leak, because there are a lot of ways to trigger it, and it has been fixed for more than 10 versions.

Are you using triple protocol? This seems is a bug of connection management in Triple protocol. IMO, in order to solve this, we can: Remove connection itself in org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections before close connection. We should make sure that the action of remove and fetch connection are synchronized which ConcurrentHashMap can achieve.
Add a FailbackConnection might not a good idea cause it may cause memory leak. ReferenceCountExchangeClient in Dubbo protocol is quite easy to cause memory leak, because there are a lot of ways to trigger it, and it has been fixed for more than 10 versions.

We can override close() method in NettyConnectionClient to make sure we have remove the reference in org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections. After remove finish, check if current client is being used, which is retained in org.apache.dubbo.remoting.api.connection.AbstractConnectionClient#retain.
Remind that remove and check retain should be synchronized with org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connect.

@EarthChen @icodening PTAL

Are you using triple protocol? This seems is a bug of connection management in Triple protocol. IMO, in order to solve this, we can: Remove connection itself in org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections before close connection. We should make sure that the action of remove and fetch connection are synchronized which ConcurrentHashMap can achieve.
Add a FailbackConnection might not a good idea cause it may cause memory leak. ReferenceCountExchangeClient in Dubbo protocol is quite easy to cause memory leak, because there are a lot of ways to trigger it, and it has been fixed for more than 10 versions.

We can override close() method in NettyConnectionClient to make sure we have remove the reference in org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections. Once remove finish, check if current client is being used, which is retained in org.apache.dubbo.remoting.api.connection.AbstractConnectionClient#retain. If so, add connection back to org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connections and skip close() connection.
Remind that remove and check retain should be synchronized with org.apache.dubbo.remoting.api.connection.SingleProtocolConnectionManager#connect.

我个人觉得增加一个FailbackConnection问题不。只要把握全remove的场景。ReferenceCountExchangeClient的count是原子操作了。我看别人datasource用这种方式已经黑成熟，来感知最后一个操作。
1.正常途径是增加addCloseListner方式来remove;
2.加上一个兜底方式，removeTimeout操作，规定时间内没有remove就foreRemove..我在我的提问中也提到过destroyTime，用来最终强制操作


dnf utility needed to support rpm-based test environment instances

A dnf utility will enable test writers to interface better with the rpm-based distributions that they are testing on. The dnf utility will also make it easier to support the package classes Pip, Charmlib, and Snap better across rpm-based distributions.

Resolved by #52


Do these folders need a nodemon watch on them?

Is there a need to have a nodemon watch and have the app restart on the folders  'app/assets/**', 'public/**' in https://github.com/alphagov/govuk_prototype_kit/blob/master/Gruntfile.js#L93
Could you not just add  'app/assets/**' in with 'public/**/*.*' to browserSync
https://github.com/alphagov/govuk_prototype_kit/blob/master/server.js#L159

that line is to ignore those folders, not watch and restart?

Lol yes it is, my bad!


Can't safely shut down TickWheelExecutor

I tried moving a TickWheelExecutor into the blaze-client, so it could be shut down on the client shutdown, and we don't leak a thread.
Hilarity ensues:
java.lang.RuntimeException: TickWheelExecutor is shutdown
	at scala.sys.package$.error(package.scala:27)
	at org.http4s.blaze.util.TickWheelExecutor.schedule(TickWheelExecutor.scala:124)
	at org.http4s.blaze.util.TickWheelExecutor.schedule(TickWheelExecutor.scala:82)
	at org.http4s.client.blaze.ClientTimeoutStage.resetTimeout(ClientTimeoutStage.scala:164)
	at org.http4s.client.blaze.ClientTimeoutStage.$anonfun$checkTimeout$2(ClientTimeoutStage.scala:130)

This is inspired by @lbialy's work getting things running on graal, and having problems with the statically allocated thread.

My quick sketch looks like https://github.com/rossabaker/http4s/tree/issue-1821.

@OstapStrashevskii try putting everything inside of the resource.use { ...  block.


Great addition!


Update Pillow dependency pin

Description

As Pillow is an indirect dependency, remove the pin added in https://github.com/napari/napari/pull/1146.
https://github.com/python-pillow/Pillow/pull/4528 was released in Pillow 7.1.2 yesterday: https://pillow.readthedocs.io/en/stable/releasenotes/7.1.2.html
Alternatively, you could keep the pin with:
Pillow!=7.1.0,!=7.1.1
or
Pillow>=7.1.2
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)

References

How has this been tested?

[x] all tests pass with my change

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[n/a] I have commented my code, particularly in hard-to-understand areas
[n/a] I have made corresponding changes to the documentation
[n/a] I have added tests that prove my fix is effective or that my feature works

Thanks @hugovk!  I made the (incorrect) assumption that the next version was gonna be 7.2 (based on the 7.2.dev0 version I saw somewhere.). Since I'm fairly certain that a lot of napari functions will be broken if someone happens to end up with 7.1.0 or 7.1.1 (and so as to maintain backwargs compatibility), I think I'd prefer Pillow!=7.1.0,!=7.1.1.  Would you mind updating this PR, and then I can merge it?

Thanks @hugovk! I made the (incorrect) assumption that the next version was gonna be 7.2 (based on the 7.2.dev0 version I saw somewhere.).

You made the correct assumption! 7.2.0 would be the next scheduled quarterly release (July 2020) and 7.2.dev0 is in the master branch.
Because this was affecting quite a few projects, we made a 7.1.2 point release.

Since I'm fairly certain that a lot of napari functions will be broken if someone happens to end up with 7.1.0 or 7.1.1 (and so as to maintain backwards compatibility), I think I'd prefer Pillow!=7.1.0,!=7.1.1. Would you mind updating this PR, and then I can merge it?

Good idea, updated!


Crash on start (apk version 1.1.6)

Hi! I've redone all steps from the installation guide using original game v1.1.6 (deleted old homm3hd/data, extracted new .obb files and libhomm3.so file from apk), and the issue is still the same as in my previous report. The problem is still the same, game crashes on startup. Could you please help?
Crash dump is here: psp2core-1703097130-0x00002c38ab-eboot.bin.zip

Looks like it's crashing on image load. Something went wrong with data install most likely.
Delete everything, make sure that you're using 1.1.6 game APK and proper obb files (main.1113.com.ubisoft.mightandmagic.heroesiii.obb and patch.1110.com.ubisoft.mightandmagic.heroesiii.obb)
Show me the content for ux0:data/homm3hd/ if it still fails.

Sadly, redoing everything from scratch didn't help.
This is the latest crash dump: psp2core-1703107872-0x0000a02ded-eboot.bin.zip
This is homm3d folder contents and folder info. Please let me know what more I can do to help you identify the cause.

Honestly github issues is not a right place for troubleshooting/install support.
Send me a message on Discord (username: northfear) and I'll try to figure it out.

We got this sorted out. The crash was happening due to missing NoTrpDrm plugin


@JFK344: adapter hand over?

Hi @JFK344,
I have been using your adapter for more than two years now and I highly appreciate your work. I found some room for improvement, specifically the interruptCp() request I need in my setup. Since you did not answer my PR from Oct 2021, I assume you discontinued work on the evsewifi adapter.
If so, I would suggest to take over and create a new fork or even a new repo (to align the esve/evse mismatch), of course mentioning you as the original creator.
Let me know what you think, thanks
Uli (git-kick)

Ah sorry i will add you as a developer to the project

@git-kick your pull request failed

I can see a success message - what is the problem like?

i am not using github very often. More of a Gitlab type of person. How can I give you owner permissions ? @git-kick

I never did this, sorry. I also have only 1 adapter project, so far.
Frankly spoken, if you do not plan to "owner-wise" maintain the current project, I would prefer to crate a new, clean setup. I am thinking about starting from scratch, using the latest adapter creator...


False-positive: single module contains two items with the same name

This bug was originally found during the verification of semver-crater results, thanks to the goblin crate's SectionHeader item.
It is most likely caused by faulty or missing implementation of shadowing rules when re-exporting items from their parent module.
A short demonstration of the problem can be found here.

In my efforts to produce a correct bugfix, I have created some truly horrifying Rust programs.
Check this out for example:
// This crate exports:
// - `Foo` only as itself
// - `inner::Foo` also as `inner::nested::Foo`.
//
// `inner`'s glob import is a no-op, and so is the top-level glob import of `inner::nested::*`.

pub use inner::nested::*;

pub struct Foo;

pub mod inner {
    pub use super::*;

    pub struct Foo;

    pub mod nested {
        pub use super::*;
    }
}


Update jupyter launch arguments to enable Notebooks in docker container

This PR fixes #https://github.com/microsoft/azuredatastudio/issues/9837.  These parameters enable running the Notebook feature when the extension host is running in a standard linux docker container (e.g. where opened ports are exposed externally by default and user is root).

Pull Request Test Coverage Report for Build 947913714

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.975%

Totals

Change from base Build 947791876:
0.0%

Covered Lines:
26325

Relevant Lines:
55624

💛  - Coveralls

@kburtram on second thought can you add the allow-root parameter conditionally for web?

@chlafreniere I'm not sure if we have a way for extensions to check if they are running in webmode.  I'll take a look and see if such a mechanism exists in the extensibility API.

I have these changes included in the overall web-build PR.  Will address anything pending there.


Several properties of C([0,1])

Ring_130___C_0_1_.pdf
This is a list of properties of the ring C([0,1]) that do not appear on the DaRT.

Hello: nice to meet you, and thank you for this work.
To try to set expectations, it could be as long as a week before can process issues, simply because life and work are busy :)  I hope that does not discourage anyone like yourself!  Ultimately they will be checked out and in all likelihood adopted.

Hi, thanks for your message. I understand that this could take some time, but we have been working on this for weeks, so a couple of days won't hurt! Please let me know if there is anything you need from me.

Preliminary results are good for this: the database agrees with the consistency of the additions.  If everything goes in, there are an additional 12 deductions beyond those.
Reviewing your pdf with an eye for what to include in the 'reason' fields for each new addition.

Very good work on this writeup.  Let me share some brief notes.  They contain improvements which I hope you might consider including in a revision of your PDF for sharing here.

not Jacobson: interesting!  I had not realized that each prime ideal of this ring can only lie in one maximal ideal.
not a V-ring: in fact, I did have logic to do this in the database. if you unpack LOG_000373 it says commutative V-rings and commutative von Neumann regular rings are the same thing. However, a quirk I was heretofore unaware of prevented both the previous deduction software (and my second version too!) from seeing the deduction applied in this case!  Nice job exposing a subtle bug!
Not cohopfian: nice, we can go even a step further and identify the full set of zero divisors. An element here is a zero divisor iff it is zero on a nonempty open interval in [0,1].
Not stable range 1:  fantastic, I did not know this property of stable-range-1 rings. And considering how much trouble i have reasoning about stable-range-1, this is going to be a great tool to eliminate that condition.  I have a mind to introduce the unique generator condition as a property in its own right, even though this is my first time seeing it.
Not uniform: what you've written suggests an example that's easier to type:

Let A be the set of functions supported on [0,0.5) and B be the set of functions supported on (0.5,1].  It's clear they are nontrivial submodules with trivial intersection, and that all their members are 0 at 0.5.  This shows the ring is not uniform.
I think you can then comment that with any family of nonoverlapping open intervals in [0,1], you can define an ideal per interval by selecting the functions which are supported on that interval only.  Using this, you can get an infinite direct sum of ideals (say by choosing intervals [0,1/2), (1/2,1/3),(1/3,1/4)...) and you have then proven this ring does not even have finite uniform dimension (which implies it is not uniform.)
6. Not ikeda-nakayama:  using the revised suggested A, B above, you can see that ann(A)=B and ann(B)=A, and the observation that all elements are 0 at 1/2 makes your argument complete again.
misc: on page 5 there's reference to Theorem 10, which I think means Theorem 7 as labeled in the paper. If you're using references in latex it should be able to handle this numbering gracefully :)
Next step for me is populating this into the database to make it available.  You'll see a PR linked to this issue when that happens.

Thanks for your comments and suggestions! I will work on a revised PDF and share it here


Css variables theming

Test using pure css (css variables, with css tokens and css classes) for styling components in eds-core-react, instead of todays css in javascript with styled-components. Testing with Button component.
Approaches:
1 "Pure CSS"
2 "CSS in Javascript"
3 Hybrid
Verdict:
TDLR; It depends, both approaches has pros & cons. I don't feel one approach is a clear winner as both have limitation or weaknesses that you need workarounds.
Summary:
1. Pure CSS
PRO's:

Its pure css

No additional styling library dependency for our users such as styled-components

Somewhat simpler and cleaner implementation since its only using known native tooling

New users don't need to learn how we write and use component tokens , how to use Themeprovider and styled-components that needs to be learned.

CSS variables are powerful
Easier to start using web-components
Less code
CSS utility classes can be used by our users

Middle:

Naming conventions for css variables and css classes 🤔

How we use css variables can become messy with different people
BEM-like convention worked

Maybe easier for theming?
Maybe easier for other web technologies to use styling?

CSS classes are still somewhat tailor towards how react components are put together.

Design tokens conversion to css will need to be updated and improved
CSS-modules?

CON's:

No typesafety for tokens

This can be somewhat helped/mitigated with VsCode extensions such as; CSS Variable Autocomplete

Combination of variants & colors can become fineky with having to use additional css classes or selectors.

One example is Button; "contained + secondary" vs. "outlined + secondary"

IE11 does not support css-variables (even though we don't support it)
Postprocessing & autoprefixing will need to be setup
Styling can not be tested (vs. css in javascript)

2. CSS in javascript
PRO's:

Typesafety for tokens
Easier style based on properties
styled-components does post-processing and autoprefixing for us
Styling is "closer" to components instead of using classes
Styling can be tested*

Middle:

It works
Some variants of components become bloated with CSS

CON's:

Our users are forced to use styled-components
Locked in to our react-components
We have a token structure outside of components that needs to be learned
Lots more javascript code is needed to achieve same effect as css variables

3. Hybrid (NOT TESTED)
Using todays token structure we could introduce a the component css-variables (as done in pure-css example) and just override their values the same way we do in pure-css but still using styled components and js tokens.
Notes:

https://codepen.io/vnys/pen/vYNgGRX
https://epicreact.dev/css-variables/

We will continue this discussion when @mimarz is back from vacation on 30 august.


fix!: use HookMap for runtimeRequirementInTree

Summary

[!CAUTION]
This PR is a breaking change because compilation.hooks.runtimeRequirementInTree.tap will not avaliable

Change compilation.hooks.runtimeRequirementInTree to HookMap. This is aligned with Webpack.

Checklist

[x] Tests updated (or not required).
[x] Documentation updated (or not required).

This PR should be merged after https://github.com/rspack-contrib/rspack-lite-tapable/pull/5 is merged.


Passing Map data structure to cloneWithRowsAndSections method

Hello,
Because I need to order a hash table, I use a Map data structure to be able to sort the data inside before displaying it in my ListView.
But I notice that the ListView component doesn't display the data passed in parameter if the parameter if of type of Map.
But if I convert my map object to a plain old Object, it works.
const orderedContactsObject = {};

orderedContacts.forEach((value, key) => {
  orderedContactsObject[key] = value;
});

Is this a bug or is this a desired behaviour?
Best,
Jean

Maps are not supported though it probably makes sense to support built-in JS types in ListViewDataSource. In the meantime there is a function you can pass to the DataSource constructor that's something like getDataFromBlob that lets you implement how to get values out of your data object (in this case the Map). cc @sahrens

I'm looking forward to hear about this guys! :+1:

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/passing-map-data-structure-to-clonewithrowsandsections-method
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.


Remove leading space in plugin.xml

This is what is causing the NPM fetch error.
I had the same issue with Cordova, couldn't install this plugin

This PR is for Issue #2


Support -v and -vv flags for log level

Feature Description
The ability to increase verbosity with incremental -v flags seems potentially useful.
Describe Alternatives
Currently the logLevel configuration item is the way to enable more verbose logging.
Additional context
-vvv is a somewhat common pattern for CLI tools to use for increasing verbosity without the user needing to know the exact name of the log level and its "correct" letter casing.

Trace logging is implemented through the configuraiton.


[SPARK-42677][SQL][TESTS] Fix the invalid tests for broadcast hint

What changes were proposed in this pull request?
Currently, there are a lot of test cases for broadcast hint is invalid. Because the data size is smaller than broadcast threshold.
Why are the changes needed?
Fix the invalid tests for broadcast hint.
Does this PR introduce any user-facing change?
'No'.
Just modify the test cases.
How was this patch tested?
Correct test cases.

LGTM, merged into master/3.4

@hvanhovell @zhengruifeng Thank you!


Make basic thumbnails use storage locations

Fixes #3582
Tested local storage and S3 storage.

Does this replace #3586?

Ah I see your comment now 👍

I opened a new pull request with my test fixes for mnkras see #3752


fix code comment

Description
fix code comment
Checklist
Essentials

[ ] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Job PR-810/1 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-810/1/index.html


[fa_] functions not working

every other text function works but the font aligning ones, im using only a sprite font, really good extension, i haven't ran into any other issues.

Issue was with unclear behaviour/documentation. I've made a note to improve on this in the future.


[send-non-sendable] Some small bug fixes/cleanups/updates to use LLVM data structures

This PR contains a small group of PRs that I created as I was poking at the pass:

I reorganized some of the code to untangle cross dependencies. This means moving utility methods that do not rely on the state of a class into just being a utility function, moving a dependency of TrackableSILValue onto PartitionOpTranslater.
I changed the way the pass's internal set/maps works in PartitionOpTranslater. Specifically, it was using keys that contained a value and state associated with the value that mapped to additional state. The problem with this approach is that by storing part of the state in the key, if we twiddle that state by mistake in future changes, we could store the same value twice by mistake into the internal maps. I moved the partial state that was stored within the key to just be stored completely with the other state in the value.
I changed a few std data structures to use their LLVM equivalent.

@swift-ci smoke test and merge

I looked into this and found a small error. I also found a bunch of other issues around creating SIL test cases for this pass. Specifically:

There was a SIL infrastructure bug where if when parsing SIL if we did not have a DeclContext from DebugInfo, we would put nullptr for a SILFunction's parent decl context and its parent SwiftModule (the fallback that we are supposed to set). This caused protocol conformance checks to fail due to the expectation that we would always be able to get the SwiftModule from a SILFunction. I changed the SIL parser to in the case where we did not have a DeclContext or a Parent SwiftModule to use the SwiftModule of the SILModule that contains the SILFunction.
The pass assumes that it can read the AST to determine if a specific function is isolation crossing. This means fundamentally that we cannot write specific tests in SIL without an AST backing. I did not fix that in this PR, but I want to write SIL test cases for this, so I am going to find a solution (I just haven't decided what I want to do yet).

@swift-ci smoke test

@swift-ci smoke test


Adds check to ensure saved_session.expiry exists before utcnow()

Fixes issue #56 for SQLAlchemy. May be valuable for others.

Should now be fixed from 0.7.0rc1. If expiry is None (which is legacy behaviour) the session will be cleared