error: unknown target CPU 'pentium-m'

To build ungoogled-chromium I am using the script which I shared in another issue. It works fine. Now as I am willing to cross-build UGC for another (older, 32-bit and much much slower) computer (see cat /proc/cpuinfo) I tried to find which CPU name which gcc would detect and then use it in a march CFLAG. So on the target machine I ran:
gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3

which gave me pentium-m. Then on the machine which runs the build script I exported CFLAGS="-O3 -pipe -march=pentium-m -mtune=pentium-m". However this gives me a series of errors which all show a similar message:
error: unknown target CPU 'pentium-m'
note: valid target CPU values are: nocona, core2, penryn, bonnell, atom, silvermont, goldmont-plus, tremont, nehalem, corei7, westmere, sandybridge, corei7-avx, iavx-i, haswell, core-avx2, broadwell, skylake, skylake-avx512, skx, cannonlake, iicelake-server, knl, knm, k8, athlon64, athlon-fx, opteron, k8-sse3, athlon64-sse, amdfam10, barcelona, btver1, btver2, bdver1, bdver2, bdver3, bdver4, znver1, x8

I understant why clang complains - it obviously doesn't recognize all the architectures which gcc can use. However it doesn't give me a hint what architecture name I should actually use.
So what should I do?

I don't think this is a problem with ungoogled-chromium; rather it is a problem with using the C/C++ compilers clang and gcc. Perhaps you should try asking the LLVM community for help first.

Perhaps you should try asking the LLVM community for help first.

I have asked in clang's mailing list about 5 days ago but there is no reply whatsoever. So I hoped you might probably know as there is really no info about it.

You could try StackOverflow and other compiling-related forums. I don't know much about compiler optimizations.
If you know the processor code name (e.g. haswell, broadwell, skylake, kabylake, etc.), then it seems clang should have one of them as an option.

You could try StackOverflow

I have. Zero replies :(
FWIW: I have successfully cross-compiled for nocona and the binary works fine.

If you know the processor code name (e.g. haswell, broadwell, skylake, kabylake, etc.), then it seems clang should have one of them as an option.

From what I see the error message of clang seems to list only 64-bit architecture names. This CPU is 32-bit though. Unfortunately even this info doesn't really answer in a clear way.

Finally I got some help on LLVM's lists. The key component is to add -m32 to the command line in which case CFLAGS=-O3 -pipe -m32 -march=pentium-m -mtune=pentium-m. This works!
However I am getting some new errors (perhaps missing dependencies):
https://susepaste.org/a3d7b5bc
(On openSUSE Leap 15) I have installed all 32-bit versions of the prerequisite packages but for some of them zypper simply doesn't have a 32bit version. Even that didn't remove the errors though.
Can you help?

It looks like the standard library headers aren't available for some reason. Based on the compiler command includes, it doesn't seem to be using Chromium's built-in libcxx library. So, you may need to have your system's standard library headers available so GN can be built. linux_portable should then use its own standard library to build Chromium itself.

I don't understand.
I am using the same linux_portable process as in #447 which has always worked so far for 64-bit architecures (including native and cross-compiling). The only difference as per the current issue is the target architecture/cpu (pentium-m). Re. libcxx, here is what zypper finds:
# zypper se libcxx
Loading repository data...
Reading installed packages...

S | Name                               | Summary                                                              | Type
--+------------------------------------+----------------------------------------------------------------------+--------
  | libcxx-gtk-utils-3-2_2-0           | Lightweight library for GTK+ programs using C++                      | package
  | libcxx-gtk-utils-3-2_2-0-debuginfo | Debug information for package libcxx-gtk-utils-3-2_2-0               | package
  | libcxx-gtk-utils-3-devel           | Lightweight library for GTK+ programs using C++ -- Development Files | package
  | libcxxtools-bin9                   | A C++ toolbox - binary RPC package                                   | package
  | libcxxtools-bin9-debuginfo         | Debug information for package libcxxtools-bin9                       | package
  | libcxxtools-http9                  | A C++ toolbox - HTTP protocol implementation                         | package
  | libcxxtools-http9-debuginfo        | Debug information for package libcxxtools-http9                      | package
  | libcxxtools-json9                  | A C++ toolbox - JSON package                                         | package
  | libcxxtools-json9-debuginfo        | Debug information for package libcxxtools-json9                      | package
  | libcxxtools-unit9                  | A C++ toolbox - testing library                                      | package
  | libcxxtools-unit9-debuginfo        | Debug information for package libcxxtools-unit9                      | package
  | libcxxtools-xmlrpc9                | A C++ toolbox - XMLRPC package                                       | package
  | libcxxtools-xmlrpc9-debuginfo      | Debug information for package libcxxtools-xmlrpc9                    | package
  | libcxxtools9                       | Collection of General-purpose C++ Classes                            | package
  | libcxxtools9-debuginfo             | Debug information for package libcxxtools9                           | package

What package(s) do I have to install?

Perhaps the GN bootstrap script doesn't support cross-compiling. You can try setting native compilation flags for GN bootstrap, then change them to your desired pentium-m setting before you run gn gen and ninja.

Perhaps the GN bootstrap script doesn't support cross-compiling.

How come? I cross-compile successfully for other 64-bit architecture as mentioned in an earlier comment.
Also the error is by clang++ itself. Trying to run one of the problematic commands separately produces the same output. Adding a -v to it shows where it looks for includes:
https://susepaste.org/4830cd4f
Does that give a hint about anything?

You can try setting native compilation flags for GN bootstrap, then change them to your desired pentium-m setting before you run gn gen and ninja.

Can you elaborate on this please?
FWIW: Currently my build script inserts the CFLAGS before the line with the ninja command (just think that in the context of this discussion architecture and cpu are set to penitum-m).

How come? I cross-compile successfully for other 64-bit architecture as mentioned in an earlier comment.

As I understand it, you are compiling on a 64-bit host for a 32-bit target. Were you compiling on a 64-bit host for a 64-bit target before (existing 64-bit shared libraries can be used)? Were you compiling the same version of Chromium (GN bootstrap script has changed)?

Can you elaborate on this please?

I am proposing that you modify build.sh so you have something like this:

Set flags to target native 64-bit architecture
Run GN bootstrap.py
Set flags to target your pentium-m machine
Run the rest of the build commands; i.e. gn gen, ninja

That way we avoid any issues with the target configuration requiring 32-bit headers that aren't configured correctly on your 64-bit host.

As I understand it, you are now compiling on a 64-bit host for a 32-bit target.

Correct.

Were you compiling on a 64-bit host for a 64-bit target before (because existing 64-bit shared libraries could be used)?

Yes.

Were you compiling the same version of Chromium (because GN bootstrap script has changed)?

Yes.

EDIT: I just re-read and you mentioned you could do both cross and native compilation (i.e. 64-bit host to 64-bit target, and 64-bit host to 32-bit target).

So far I have cross-compiled successfully only 64-bit host to 64-bit target. I am still struggling with 64 host to 32 target.
Re. the suggestion to reorder flags here is what I did:
First I moved the CFLAGS lines after the call of bootstrap.py and before the call of ninja. The resulting build.sh:
https://susepaste.org/80d52e41
The output shows some new error:
https://susepaste.org/7875fafd
Then I tried explicitly setting native flags before calling bootsrap.py:
https://susepaste.org/13c10e79
and that again gave the error:
https://susepaste.org/fd8c60a2

So far I have cross-compiled successfully only 64-bit host to 64-bit target. I am still struggling with 64 host to 32 target.

I see. Compiling for 32-bit targets from 64-bit hosts is another level of difficulty because of the number of differences between 32-bit and 64-bit architectures. You can't group cross-compilation of different CPU features (i.e. different supported assembly instructions) with the differences in the number of bits (i.e. 32-bit vs 64 bit); they are quite different.

So far I have cross-compiled successfully only 64-bit host to 64-bit target. I am still struggling with 64 host to 32 target.

The fact that GN links now means that my assumption about the GN bootstrap script not supporting 64-bit to 32-bit cross compilation was correct.

and that again gave the error:
https://susepaste.org/fd8c60a2

From the paste:
/usr/include/glib-2.0/glib/gtypes.h:423:3: error: '_GStaticAssertCompileTimeAssertion_33' declared as an array with a negative size
  G_STATIC_ASSERT(sizeof (unsigned long long) == sizeof (guint64));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gmacros.h:232:103: note: expanded from macro 'G_STATIC_ASSERT'
#define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED
                                                                                ^~~~~~~~~~~~~~~

It looks like you're trying to build against 64-bit system libraries, which obviously won't work because the address sizes are completely wrong (note (sizeof (unsigned long long) == sizeof (guint64) uses guint64, which I'm assuming is a 64-bit unsigned integer).
I belive you will need to set some GN flags in order to tell the build process to cross-compile a 32-bit binary. Unfortunately, I don't have any experience with this.

The doucmentation says that clang is a cross-compiler. From what you say it sounds to me that the program should be written in a way which supports cross compilation. I wonder what that means.
I suppose the discrepancy which you point out (sizeof) may be due to the assumption that the CFLAGS must be after the call of bootstrap.py because there are no such discrepancies if CFLAGS are set before bootstrap.py. IOW: isn't it more correct to look for a way to fix the failures with includes?

I belive you will need to set some GN flags in order to tell the build process to cross-compile a 32-bit binary. Unfortunately, I don't have any experience with this.

How do you set thouse GN flags (in which file(s)?) and where can I read some documentation about what flags exists or may be needed?

So here is what I found:
Discussion from 2015 suggesting some modifications for a 32-build. I don't know if those are applicable as of today of how to use them. In any all sources I found clearly say that it is impossible to build 32 bit chrome on 32 bit machine because the build process requires more memory than any 32 bit system can handle. So it must be done on a 64 bit machine.
A similar discussion from 2016.
Official documentation about Linux-specific build instructions where in system requirements it is written:

x86 builds are not supported on Linux

Still in the Mandriva section it says:

These packages are for 64 bit, to download the 32 bit packages, substitute lib64 with lib

which seems to contradict the above statement. I don't know if that implies that with certain modifications a 32-bit build would be possible (as per older discussions).
GN build configuration documentation which says:

Chrome OS supports "x86" and "x64", but to build a 32-bit binary you will need to use a sysroot on a 64-bit machine.

I have no idea if that applies to chromium browser as well. It also suggests:

For 32-bit official builds, append this arg to the above set: target_cpu = "x86"

Considering all that: can you recommend any particular steps to try (as I am honestly lost in what is discussed on Google groups) or is it a mission impossible (considering the info in system requirements).

The doucmentation says that clang is a cross-compiler. From what you say it sounds to me that the program should be written in a way which supports cross compilation. I wonder what that means.

Like I said before, cross-compilation is a broad term. Architecture is just one parameter that defines a target configuration, see the Target Triple for other parameters. Compiling for different architectures (e.g. 64-bit to 32-bit) is much more challenging than compiling for the same architecture (e.g. 64-bit to 64-bit).
I believe Debian manages to build i386 packages on i386 systems. You can have a look at the chromium-browser source package to see how they did it. Otherwise if you must cross-compile, I'm not sure what all the flags (i.e. GN, CXX, LD, etc.) you will need. target_cpu = "x86" sounds like a good first step.

Architecture is just one parameter that defines a target configuration, see the Target Triple for other parameters.

I have linked to the same reading earlier. The big question which still remains is: how does one specify the target tripple when building UC? Currently I do it by exporting CFLAGS inside build.sh. Are you suggesting any other approach?

I believe Debian manages to build i386 packages on i386 systems. You can have a look at the chromium-browser source package to see how they did it.

I don't know how this can be possible, considering that chromim developers explain that linking needs more than 4GB of memory. Anyway re. Debian I searched and found this but I have no idea where to look further (as it doesn't actually show how it was built).
Can you please "decypher" for me what this means and how to use it in the context of UC? (considering that I am building linux_portable and not debian-specific)

I have linked to the same reading earlier. The big question which still remains is: how does one specify the target tripple when building UC? Currently I do it by exporting CFLAGS inside build.sh. Are you suggesting any other approach?

I see, I don't know much about the Target Triple beyond it being a compiler flag that affects how it should build the binary.

I don't know how this can be possible, considering that chromim developers explain that linking needs more than 4GB of memory.

I'm not entirely sure if Debian builds its Chromium packages with cross-compilation or native compilation. There are cross-compilation instructions here. Debian's Chromium package has builds for the architectures amd64, i386, arm64, and armhf. There is some logic to set GN flags depending on the CPU architecture inside the debian/rules file, but I'm not entirely sure how or why the flags they configured work. If Debian does native compilation, maybe they use the settings jumbo_file_merge_limit=12 and concurrent_links=1 (inside that debian/rules file) to reduce enough RAM usage?

Can you please "decypher" for me what this means and how to use it in the context of UC? (considering that I am building linux_portable and not debian-specific)

They are basically setting target_cpu to x86 and using a "sysroot". A sysroot is basically a pre-made chroot environment of an old Debian (in your link's case, wheezy) that Chromium links against for standard system libraries. A few notable details:

Using a sysroot maximizes Chromium's shared library backwards-compatibility because the sysroot is generally made of an older Linux distro. It also increases consistency across builds by using the same shared libraries.
Google normally uses sysroots in Linux builds, but ungoogled-chromium and all other Linux distros that package Chromium don't use them.
Sysroots are normally downloaded as archives containing a pre-made environment from Google in normal Chromium builds.
IIRC, there are scripts in the Chromium repository to create a sysroot archive.

Thanks for the info. I will have to look into all that more carefully.

Google normally uses sysroots in Linux builds, but ungoogled-chromium and all other Linux distros that package Chromium don't use them.

Does that mean there is a risk of ending up with a binary which is not ungoogled?

Does that mean there is a risk of ending up with a binary which is not ungoogled?

Potentially yes, only if you use Google's pre-built sysroot while building.

Sorry, I didn't make it very clear in my previous comment. There are scripts in the Chromium source code to create a sysroot environment of Debian using Debian's repositories. You would need to use these scripts to create an i386 sysroot environment, and configure the Chromium build to use it. In addition, you'll also need to set target_cpu to x86 as well.
I don't know how the sysroot creation scripts work, so I cannot provide instructions. However, I will be learning more when ungoogled-chromium starts to integrate sysroots for linux_portable builds.

Thanks for clarifying.
Are these the scripts you are you are talking about?

Are these the scripts you are you are talking about?

Yes, specifically the sysroot-creator* scripts. There is a little bit of documentation in Chromium's docs/linux_sysroot.md

So Debian still supports compiling 32-bit (i386) binaries on 32-bit machines. I believe other distros support this as well, but I haven't confirmed. If you are still having troubles with this, let us know.


Broken link: https://simple-form-bootstrap.herokuapp.com

https://simple-form-bootstrap.herokuapp.com/ is broken.

Thanks, the app went down with the heroku changes, we're looking into alternatives.

Please fix

https://simple-form-bootstrap.onrender.com/
I deploy it with render with some free tiers. Hope it help someone.


Developing a new network and get weights from previous layers

Hello,
currently I am developing a new network using NiftyNet and would need some help.
I am trying to implement an Autofocus Layer [1] as proposed in the paper. However, at a certain point I need the weights (w) from a previous convolutional layer (conv1) for weight sharing to calculate K (K=4) parallel convolutions each using that weights (w) from (conv1).
Is there a way to read the weights from a convolutional layer and then use the weights to create four new convolutional layers with those weights?
EDIT: Can I assume, when giving two different layers that they will share the same weights? That would solve my problem with the parallel convolutions, which need the same weights.
Thank you in advance.
Andreas
[1] https://arxiv.org/pdf/1805.08403.pdf

I think I see what you're trying to do:
You can instantiate a convolutional layer conv_layer and once you've done that, there's nothing stopping you from using it multiple times on different tensors. So I think the answer to your problem is to do that: please let me know if I've got it wrong somehow.

Hi @Zach-ER, that will not work because each (parallel) conv layer has a different dilation rate. Hence, I need to instantiate 4 conv layers. But, these 4 conv layers need to have the same weight - otherwise, the outputs for each conv layer would be totally wrong and not relate with each other.

Hi @Zach-ER, that will not work because each (parallel) conv layer has a different dilation rate. Hence, I need to instantiate 4 conv layers. But, these 4 conv layers need to have the same weight - otherwise, the outputs for each conv layer would be totally wrong and not relate with each other.

I don't think that's true because convs with different dilation rates could be implemented as using the same set of conv kernels and rearranging convs' input e.g. https://github.com/NifTK/NiftyNet/blob/dev/niftynet/network/highres3dnet.py#L155

Hi @Zach-ER, that will not work because each (parallel) conv layer has a different dilation rate. Hence, I need to instantiate 4 conv layers. But, these 4 conv layers need to have the same weight - otherwise, the outputs for each conv layer would be totally wrong and not relate with each other.

I don't think that's true because convs with different dilation rates could be implemented as using the same set of conv kernels and rearranging convs' input e.g. https://github.com/NifTK/NiftyNet/blob/dev/niftynet/network/highres3dnet.py#L155

Of course, you are totally right. I was interpreting the first answer in a completely different way - my fault. Your suggestions should work and fix the problem.
If I understand you correctly, I simply create 4 tensors with different dilation rates (2, 6, 10, 14) instead of 4 dilated convolutions. Using these 4 tensors as input for the single conv layer (kernel=3) one after another would simulate the parallelism I need.

exactly @andreasstefani. I'm closing this issue now. would be great to have your PR of this autofocus module to niftynet:)


Add additional 1-27 e2e for docker, vsphere, and tinkerbell

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest

/retest

/lgtm
/approve


Out of memory when training with a custom dataset

I have a custom dataset with points in the following format
x y z intensity
I have preprocessing script similar to the s3dis preprocessing script, and a similar dataset class. Each file has max of 18000 points.
For the transforms, I only use ToTensor and Collect in the config.
The s3dis training is able to run, but the custom dataset training runs out of memory, on the same GPU. Any idea why?
It runs out of memory during the collect transform before the first epoch.
I have 2 2080ti gpus with batch size 1 on each gpu

Hi, could you provide the config you wrote? It would be better if you could email me a mini-batch of your data which can let me help with the issue better.

Thank you, I have emailed you with the details at the address listed on your github profile

Hello, I would like to know how you create the "Area_1_alignmentAngle.txt" file when creating the dataset, I am also making the data set.. Thank you very much!


websockets stop updating

Hello,
Seem to have a problem where the websocket seems to drop or stop updating and running the callback.  I was originally using the multiplex socket function to run different streams but when I encountered the problem, I also tried with the start_symbol_ticket_socket function.  Sometimes it wouldn't connect from the start as well and stall.  Don't know exactly where the problem is coming from.

Is the error message sent through the callback function specific to certain socket types?
I am using a user socket. When it is disconnected, I don't any receive anything through the callback function. I am using v0.7.9.
Any workarounds to be notified when the user socket is disconnected?


Timeout issues when running "pscale auth login"

I am using this version:
pscale version 0.98.0 (build date: 2022-06-13T13:57:40Z)
➜  ~ pscale auth login --debug
Updater error: skipping update, error: Get "https://api.github.com/repos/planetscale/cli/releases/latest": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Error: Post "https://auth.planetscale.com/oauth/authorize_device": dial tcp: lookup auth.planetscale.com: i/o timeout

@ruskid What platform are you on? It looks like this is a timeout from your DNS, so are you able to resolve auth.planetscale.com correctly on your machine and is the DNS server reachable?
If you're on a Mac and using an IPv6 DNS server with a link local address, you might be hitting https://github.com/planetscale/discussion/discussions/181.

yes, I can resolve both domains: auth.planetscale.com and api.planetscale.com. My DNS is reachable and I don't have any IPv6 domains defined in resolv.conf
I think the issue might be with PlanetScale blocking the country I am based in, Georgia. Authentication worked when I connected to Germany via VPN

Resolved my compiling with Go. Thanks to this thread -  planetscale/discussion#181

Resolved my compiling with Go. Thanks to this thread - planetscale/discussion#181

@ruskid Are you able to share the contents of /etc/resolv.conf in your case? And you're on MacOS or on another operating system?


Vitals form

Make a form by design

Vitals form extraction example: https://github.com/Aidbox/sdc-forms-library/blob/main/zrc/aidbox/forms/vitals.edn

[ ] Add patient's height info population in vitals-create questionnaire from previous vitals-create questionnaire responses


Add example to export pycalphad data to CSV for NP vs. T

Rendered notebook can be viewed here: https://github.com/pycalphad/cookbook/blob/79a1d3a276e184dc316df438bd6ad2fb90a8e0e2/ExportToCSV/ExportToCSV.ipynb


OCMFunctionsPrivate.h Missing

I updated my PODs yesterday and began getting compiler failures because OCMFunctionsPrivate.h is missing.
Has anyone else experienced this?

I haven't seen it personally and I have not heard other reports. Have you been able to resolve the issue by now?

Closing due to inactivity.


Fix syntax errors and style

Fixes syntax errors, and makes variable usage consistent. Also fixes indenting.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: marcoscaceres sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Gentle ping 🛎


Service principle authentication: The remote server returned an error: 401

Thank you for this useful extension.  Unfortunately my org uses 2 factors authentication so I am unable to use User authentication.  These are the steps I did to enabled principle authentication:

Create an app in AAD
Add the app to the workspace as an admin in PowerBi.com
Create a service connection in DevOps with option Service Principle
Create a task to add a user to the workspace

I test run this and I get the error: The remote server returned an error: (401) Unauthorized.
Any idea how I can debug this or any step I might be missing?

@hoang08: Are you using tthe correct group types? And did you do a test yourself with using the API

For group type, do you mean between user and service principle option?  Yes, i chose service principle.  Can you give me some ideahow to test the api with the key?

I meant the workspace type within PowerBI you have version 1 and 2. the groups should be of version 2. Do you get a 401 on every action?
API can be tested with powershell

I am not sure what version I have, how do I check that?  Its 401 on all actikns. I will give powershell a try to test it out.

@hoang08 - Hello, It appears I am facing a similar issue as you are. Just wondering if you were able to resolve yours? If so appreciate any pointers.
<I have an open issue on (189)>
Thank You.

Duplicated with issue #189 will close this one. It is something in the configuration of the service principal.


Did not find aseprite executable

Hi, we tried the version from the Godot Asset store and on the two Windows 10 machines we've tested, we go the error message that says, that it couldn't find the aseprite executable.
We were using

Godot 3.3.2 stable
Aseprite v1.2.27-x64
Aseprite Wizard 1.4.0
We had both configured our PATH, so that Aseprite can be launched from any directory by typing in aseprite and double-checked the configure button in the Wizard, which was also set to only aseprite (the default).

Hello @benthillerkus,
Thanks for reporting this. I did a quick search here and I saw mentions of OS.execute (the command I use in the plugin) not picking up commands from the path in Windows. I'll try to reproduce this issue here and see if there is any way to fix it. As a workaround, you can set the whole path in the plugin and it should work fine. Not ideal as you probably prefer to use the already configured executable, but at least you will be able to use the plugin in the mean time.
Cheers.

Ok, this is so odd, but I tried it again today, and it did work. I didn't change anything, and restarting computers was something we already tried on Sunday.
Either way, thanks for your response 🥇

Thanks @benthillerkus . It is good to know. :+1:


Add DisplayName and Description to Windows service

Fixes #99.
I opted to set the display name to just "WMI Exporter" rather than the arguable clearer "Prometheus WMI exporter" to avoid throwing people off who might be used to it being called wmi_exporter in the list. Opinions? Maybe too change-averse? :)
@lubyou

LGTM!

Hi,
I personally prefer "Prometheus WMI Exporter", as I believe that prefixing services with the org/company name makes it easier to differentiate them from the MS services (which are not prefixed).

All of Microsoft's services have the Company name set, which allows you to find this out.
Screenshot lacks this PR, but shows the company name field of their services:

Hi,
What I meant is to have the company name as part of the display name, as HP, Symantec, Veeam, VMware and others seem to do for their services, as opposed to the company name in the StringFileInfo.
On numerous occasions, I sorted services in services.msc by display name to look for services from a specific vendor, where the fact that the vendor included its name in the display name was helpful.
Ultimately I am fine with either "WMI Exporter" or "Prometheus WMI Exporter", it is just a name, and ultimately the functionality is what counts, but I still believe that including "Prometheus" into the display name is useful to people who use services.msc.

What I meant is to have the company name as part of the display name, as HP, Symantec, Veeam, VMware and others seem to do for their services, as opposed to the company name in the StringFileInfo.

Yes, I understand that.
However this does not appear to be standard as I mentioned earlier, and you would be better off sorting on the Company Name.
The thing is, we are a separate project and currently not part of Prometheus more than compatible by them. We love prometheus but we also have no right to use their name.

Using Prometheus as a descriptor is not a problem, so you could do "WMI Exporter for Prometheus" for example.

@brian-brazil thanks. That sounds like a good solution
What do you think @lubyou ?

I am still in favour of "Prometheus WMI Exporter", because of the sorting thing (I can sort processes by company name,  but not services)
Your call :)

"WMI exporter for Prometheus" implies we are compatible with Prometheus.
"Prometheus WMI exporter" implies we ARE Prometheus.
This is starting to become major bikeshedding...
Let @carlpett decide on final wording


explicitly check if view_func.view_class is MethodViewType in add_url_rule

fixes #379

Checklist:

[X] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[ ] Add or update relevant docs, in the docs folder and in code docstring.
[X] Add an entry in CHANGES.md summarizing the change and linking to the issue and your username.
[ ] Add *Version changed* or *Version added* note in any relevant docs and docstring.
[X] Run pytest and tox, no tests failed.

everything is passing except style, but that is failing on main also.
https://github.com/apiflask/apiflask/actions/runs/3655663131/jobs/6177240580

Is Add *Version changed* or *Version added* note in any relevant docs and docstring. relevant in this PR?

My tests are currently failing because app.py does this
# add a default 200 response for bare views
            if not hasattr(view_func, '_spec'):
                if self.config['AUTO_200_RESPONSE']:

I am going to explicitly set hide=True for flask Views to avoid this.

Ok, this should actually be ready for review now.
It is a bit hacky to set view_func._spec = {'hide': True}, but I wasn't sure how else to get around the auto 200 responses being added to bare views.

Thanks! I will fix the style check later.


Plugin unavailable and needs an update

Hi Tim,
the plugin is showing unvailable for me and saying it needs an update
could you looks into please because your plugin helps me alot
thank you in advance

Should be working again now


Add gdb, curl and vim to debug image to chase envoy crashes

Jenkins job manager/presubmit passed

Jenkins job manager/e2e-smoketest passed

If you are going to put vim, then can you please put nano in the image? Its the simplest notepad style editor that you can find, for linux. (is it too much to ask for emacs in the debug image?)

Added vim and nano, removed the second curl.

Jenkins job manager/presubmit passed

Jenkins job manager/e2e-smoketest passed


Precious exceptions, silently ignored :-(

I am currently trying to use WatsonTcp in .NET 7.0 with NativeAOT. Using the sample code the connection between client and server can be established just fine and is logged on both sides, but as soon as either the client or the server try to send a message they get disconnected.
I was already afraid this might not work right out of the box, but my bigger issue was that I was left with no leads to follow. DebugMessages = true, a logger method in place as well as an ExceptionEncountered event handler but all I get in the log as soon as the client tries to send the message is: "We got disconnected."
Instead of using the NuGet binary I threw the WatsonTcp source files into my folder, spammed all of them with "#nullable disable" (didn't want to disable it globally in my project) and saw pretty quickly why I am not getting any information from anywhere:

Wait, what? We have a very nice try..catch block, a well-thought-out exception handling, logging and debugging concept, a "finally" handler...all this to then just silently ignore half of the exceptions 😆
If exceptions are really supposed to be suppressed, there should at least be a comment explaining exactly why it is a good idea (my experience: it very very rarely is, and forcing myself to explain exception suppressions usually makes this obvious). Otherwise why not just use the wonderful exception handling mechanics that this project has?

This issue is really only about the exception handling, but in case you're curious:
After commenting the exception suppression code I got this from the client:
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
This way I knew it's the server disconnecting my client.
Next after I commented the same blocks on the server now I get:
Error: [WatsonTcpServer] data receiver exception for [1fa97f64-2cfd-4e7f-ae49-78f543461fad|<IP_ADDRESS>:54481]: Null header data indicates peer disconnected.
Don't know yet what to make of this but at least I got a lead to follow now.

Hi @YorVeX the intent is to catch any variant of exception that indicates that a client disconnected, and exit the data receiver loop (which frees resources).  The general exception case is for identifying exceptions of an unknown type that may also indicate a disconnection or other event that should be handled.
Please help me understand the gap here on what the library should vs should not do related to disconnection/exception handling.  Looking forward to your input, and I'm 100% happy to amend the library accordingly.

Oops, didn't mean to close, my bad!

Hi @YorVeX the intent is to catch any variant of exception that indicates that a client disconnected, and exit the data receiver loop (which frees resources).

That intent would be totally satisfied by the exception handling block that you already have and that invokes the ExceptionEncountered event and produces a log message:

The question remains why certain exceptions are not even logged, especially since the code comments on this are as silent as the exceptions when they occur.
I'd say at least have these other catch blocks produce a log message of Debug severity and add a comment why you suppress them.
This one is a classic: you run into an Exception of a specific type like IOException but the case you have at hand at that moment is actually a quite normal case where you figure it doesn't need further actions in the code (except maybe just exiting the current loop/function/thread/whatever scope) and you suppress any IOException.
Months later when you forgot about this (especially if you didn't put any comments in what situation you think you're suppressing there) and have a situation that produces an IOException for a very different reason that is indeed exceptional and should be treated with extra code.
Until you find this out in worst case you unnecessarily lost lots of time. Now you revert this, but since you didn't comment and don't remember why you originally suppressed it you don't even know what the other case was so that you could tell this case apart from the more relevant one.
When you suppress an Exception type it's basically a statement like "I am sure that nobody will ever need to know about any IOExceptions at all in this scenario, just disconnecting is enough". The problem with this is, that you almost never can be sure if you're being honest, there is just too many potential combinations, configurations and situations out there that are impossible to foresee.
This applies even to cases that seem quite obvious like TaskCanceledException. Sure, maybe it just means a normal cancellation (though hopefully not), but how do you debug cases (or even find out about this in the first place) where a task is cancelled because of a bug when it shouldn't be?
Or in my case, how exactly was I supposed to find out what's going on in my situation based on the mechanics that are in WatsonTcp meant for debugging (debug log messages and exception events)? Actually then this kind of exception event and logging is even making matters worse, because its existence makes me assume this way I would get all relevant information when in fact I don't.
I hope I could make a bit more clear now what the issue is I see with this.

I thought it would be fun to ask an AI (GitHub CoPilot) how it would comment on this, but when I started a comment it had no idea at all (which is quite rare already). When I helped it a little by starting with "bad" I got:

But hey, that's biased, so I tried with "good":

😆

As a side note, the problem is indeed the JSON serialization as I already suspected. Because of trimming in NativeAOT the SerializationHelper.SerializeJson() method returns an empty JSON (so just the "{}") for a serialized WatsonMessage and that eventually leads to "Null header data" being detected, which WatsonTcp misinterprets as a disconnected client instead of a client that just sent an empty message.
To make this work with NativeAOT a JSON source generator would probably have to be used but all of this is new to me too. For myself I rather think I will either build something myself or look into your other project CavemanTcp now, since I mostly need to send lots of raw byte data (video data) anyway. I think it's very nice that you got this full suite of TCP handlers for all sorts of use cases, thanks for your work!

Thanks for all of the feedback, I've added debug statements into the DataReceiver methods on both client and server, and these will be integrated on the next version submitted to NuGet.  Cheers


On Update not registering variable change while Interaction script is running in 3.0.2

Describe the bug
3.0.1 allowed us to include a variable change as part of an actor or scene's "On Interact" or "On Init" events, which could then trigger an "If False/True" event under "On Update" of a second actor. This allowed for concurrent movement/complex control. (e.g: use a variable change to trigger character movement while camera is also moving)
In 3.0.2 these "If False/True" events under the "On Update" script no longer play out while the "On Interact" or "On Init" events are running, instead they either don't trigger or trigger after the running events end. Events can't happen concurrently.
(This is a little hard to explain clearly, the reproduction steps are easier to understand)
To Reproduce
In 3.0.1

Create a scene
Add an actor
On that actor, under "On Interact", add "Set Variable to True", choose a global variable
On that actor add an event moving the actor to a different spot
Add a second actor
On the second actor, under "On Update", add "If Variable is True", choose the same global variable as before
On the second actor, under "If Variable is True" add an event moving the actor to a different spot
Repeat previous three steps for a third actor

On Play, interact with first actor, observe that the variable changing to true is recognised by the "On Update" script immediately, and the actor movements are triggered simultaneously

In 3.0.2

Repeat above steps
Observe that the variable changing to true is not recognised by the "On Update" script until after the "On Interact" script has completed, and the second and third actor movements are triggered after the first.

Expected behavior
"On Update" scripts should continue to trigger while "On Interaction" or "On Init" scripts are playing elsewhere, events should run simultaneously.
Platform (please complete the following information):

OS: macOS 11.0.1
App version 3.0.2

Additional context
This is maybe a change in functionality rather than a bug, but it unfortunately breaks a way of creating complex functionality.

It does appear to be a change in functionality, but the good news is that there's a workaround. Simply add a GBVM Script containing VM_UNLOCK before the Move To in the Interact script.

https://user-images.githubusercontent.com/371786/152010595-fc72dca9-8b29-4150-823d-8ee432fc8162.mp4

Ah! That totally works for now! At the very least a temporary solution. Thank you for looking into it!
I can confirm that allows for concurrent camera and actor movements:

Cinematic dolly-shots are back! Ahah..
I’d kind of missed the GBVM functionality to this point, but I've been lurking around the Discord and it looks like there’s a channel focused on it, so I reckon I've got some reading to do...
Thanks again!


Update project to Swift 4

I'll keep this one for now open until Swift 4 gets officially released.


Integrate signature database into forge and cast

Component
Forge, Cast
Describe the feature you would like

Swap cast 4byte, cast 4byte-decode, and cast 4byte-event to use the new signature database. This would allow multiple lookups based on function/event selectors or names (with globbing support), and smarter decoding (by checking the filtered field). For example, notice how all the spoofed ERC20 selectors are filtered

Add a command to forge which would automatically upload the ABI to the signature database. This would make it easier for people who use Foundry to either manually contribute their functions for use by others, or automate it with a GitHub action.

The case for switching from 4byte to my alternative is simply that I provide a more accessible API, light curation for selectors with near-canonical meanings (f.ex ERC20), and a larger dataset with data I've collected myself. The reference can be found here.
Additional context
No response

I am supportive of this, also 4byte has had reliability issues for a while.

Love the new signature database -- pushed up a change for 1): https://github.com/foundry-rs/foundry/pull/1674. Working on 2) but bit more involved

How would you feel about an offline database? etk-4byte packs the entire 4byte database into a crate. It needs a bit of polish to cut down on startup time, but if there's interest, I can implement that.

How would you feel about an offline database? etk-4byte packs the entire 4byte database into a crate. It needs a bit of polish to cut down on startup time, but if there's interest, I can implement that.

that's an additional 10MB https://github.com/quilt/etk/blob/master/etk-4byte/src/database.br
I think we should rather think about a way to dl this to ./foundry/cache/4byte or something than to embed this

I didn't mean to suggest that the current implementation in etk-4byte is a good one :rofl:
Changing it to a download+cache implementation is what I was implying by "polish."

Component
Forge, Cast
Describe the feature you would like

Swap cast 4byte, cast 4byte-decode, and cast 4byte-event to use the new signature database. This would allow multiple lookups based on function/event selectors or names (with globbing support), and smarter decoding (by checking the filtered field). For example, notice how all the spoofed ERC20 selectors are filtered
Add a command to forge which would automatically upload the ABI to the signature database. This would make it easier for people who use Foundry to either manually contribute their functions for use by others, or automate it with a GitHub action.

The case for switching from 4byte to my alternative is simply that I provide a more accessible API, light curation for selectors with near-canonical meanings (f.ex ERC20), and a larger dataset with data I've collected myself. The reference can be found here.
Additional context
No response

you can automate this already with a webhook if ur using ethereum-lists/4bytes using https://github.com/apps/4bytebot
How big is your data set? I have one that covers all test networks and  event log signatures as well.
Can you provide a webhook endpoint @samczsun?

The dataset is as big as the stats endpoint claims it to be and should contain approximately every valid signature from ethereum mainnet. I'm currently importing signatures from any other evm-compatible chain I can find.
I don't support webhook endpoints and I don't have plans to at this point because there's no good way to do it. 4byte does it by throwing the Solidity source code through some magical regex which is extremely brittle and also won't work with any non-primitive type (think contract types, structs, etc) because if you really wanted to resolve all of those references (including stuff like importing from GitHub), you basically have to compile the code anyways. Since I don't know how to compile your codebase (and I don't want to just npx hardhat compile arbitrary repositories), it's much easier if you

Flatten the source code like you would with Etherscan, then submit it as a code import
Just compile it yourself, and submit it as an ABI import. This is what #1676 will do

(If you have any ideas for how to handle webhooks, I'm all ears. I can't think of any reliable approaches though)

Hey @samczsun noticing some strange filtering from the api/v1/signatures route suddenly - just starting today:
❯ curl https://sig.eth.samczsun.com/api/v1/signatures\?function\=0xa9059cbb
{"ok":true,"result":{"event":{},"function":{"0xa9059cbb":[]}}}
❯ curl https://sig.eth.samczsun.com/api/v1/signatures\?function\=0xa9059cbb\&all\=true
{"ok":true,"result":{"event":{},"function":{"0xa9059cbb":[{"name":"many_msg_babbage(bytes1)","filtered":true},{"name":"transfer(address,uint256)","filtered":false},{"name":"transfer(bytes4[9],bytes5[6],int48[11])","filtered":true},{"name":"func_2093253501(bytes)","filtered":true}]}}}

Seems it is filtering out transfer(address,uint256) when all=false even though it is not tagged as filtered. Any idea on why this might be?

Oops, not sure what happened there. Will get it fixed shortly

Should be fixed now

Thanks!

Fixed in https://github.com/foundry-rs/foundry/pull/1676 and https://github.com/foundry-rs/foundry/pull/1674


Added 400 and 401 error pages

@harshsaver Are these changes related to an existing GitHub issue?

Hi @harshsaver
Thanks a lot for this PR. Sadly, we have decided not to merge this change because it is not relevant or needed at this time.


Add support for injecting NSMutuableURLRequest

Can you give an example for what reason you need NSMutuableURLRequest

My concrete case is based on Network Extensions framework. Especially you can bind an NSMutuableURLRequest to a HotspotHelper command that uses its own TCP connection.
I can imagine such use cases for VPN and multipath applications too.

Am 13.09.2017 um 18:31 schrieb Lukas Schmidt<EMAIL_ADDRESS>Can you give an example for what reason you need NSMutuableURLRequest
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This can be solved by implementing your own NetworkServiceProviding which transforms all URLRequests into NSMutuableURLRequest . Then you are able to modify & execute them.


minWidth doesn't appear to work

I'm using minWidth = 1600, but it doesn't seem to do anything-- I can still resize the crop down to be very tiny.
The way I'm leveraging it is as follows (I've already double checked that props.crop.minWidth === 1600).
<ReactCrop circularCrop={props.crop?.circular} minWidth={props.crop.minWidth} keepSelection style={{maxHeight: "500px"}} aspect={props.crop.aspect} crop={value.crop} onChange={(crop, percentCrop) => {
     fc.setFieldValue(props.name, {...value, crop: percentCrop});
}}>
    <img src={value.dataUrl}/>
</ReactCrop>

I'm using percentCrop, and I initially set it up with  centerCrop(makeAspectCrop(...)). Also note how I'm using style to set the maxHeight for the actual rendering of the ReactCrop component. I'm also wondering what happens if the image I'm using it < 1600 width to begin with. Could any of those factors be causing the issue?
Am I correctly understanding that minWidth should not allow the crop to be resized below the image size? Or does it operate differently than I expect?
Thank you!

Hey, there was a bug here so please try 10.0.7
Having said that min dimension handling could definitely be better - right now if the min dimensions exceed the crop or rendered image size the crop will jump and even often exceed the image bounds. As a workaround ensure the min dimensions you set aren't bigger than crop you set or the image.

@DominicTobias it's still broken as of 10.0.9, I can't move the crop at all.


Web Support

Are you working on the web support? If yes, how long, even roughly, will it take for it to be ready? Just to understand if I should start working on it independently or wait for you. Really awesome package btw.

Thank you for reaching out. We haven't started working on web support yet, and we might not in the near future as well, due to my bandwidth constraints for working on this package.
If you plan to work on it independently, feel free to start. We welcome any contributions and would love to have yours.✌

Since this is a duplicate of #42, I'm going to close this issue.

Thank you for your response.
I want to start working on it, I just wanted to ask you some guidelines on
how I should proceed to implement web support for this package.
Thank u.
Jo Hassan
Il giorno dom 5 mag 2024 alle ore 18:25 Ujas-Majithiya <
@.***> ha scritto:

Since this is a duplicate of #42
https://github.com/SimformSolutionsPvtLtd/audio_waveforms/issues/42,
I'm going to close this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/SimformSolutionsPvtLtd/audio_waveforms/issues/294#issuecomment-2094867710,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUPUBHRA7EU3E2BAV5J4EDTZAZMPTAVCNFSM6AAAAABHFDLZS6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJUHA3DONZRGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


[Android] Make cluster id a constant instead of a method

Problem

In Java clusters code, generated clusterId() can be a constant instead

Change overview

Change method to final long

Testing

Compiles (cluster id is not used by Android CHIPTool)

fast track: small delta, created by a domain owner.


Support HTTP2 REFUSED_STREAM to allow for retry of non-idempotent requests

REFUSED_STREAM indicates that the request was not processed by the application layer which should allow requests to be retried elsewhere without violating expectations when idempotency is not known
Supporting this feature only makes sense in client-side and middle proxy scenarios.

Right now we only have a retry

All 5xx seems a little dangerous? Internal Server Error & Gateway Timeout leave plenty of scope for the call to have had some effect on state.

We don't do any retries by default (mainly because of idempotency concerns per your point). The retry policies are configurable on a per route and per request basis. See here:
https://lyft.github.io/envoy/docs/configuration/http_filters/router_filter.html#x-envoy-retry-on
https://lyft.github.io/envoy/docs/configuration/http_conn_man/route_config/route.html#config-http-conn-man-route-table-route-retry
We do have many people who want the "5xx" policy since they know that the calls they are making are idempotent. At Lyft we also use the "connect-failure" policy almost everywhere since that is guaranteed to be idempotent.
It is very easy to add a new policy and we can definitely add one for a REFUSED_STREAM reset.

https://github.com/lyft/envoy/pull/74


[Bug]: Unable to change Caption/Description language multiple times

Summary
When changing Caption/Description languages, only currently selected language should be unselectable (greyed-out) in language chooser. However, it is buggy, so after several language changes multiple languages become unselectable.
Steps to reproduce

start image upload in app
on Step 1 of 4: Media details change language from en to some other language (e.g. hr)
change language back to en
click on change language again

Expected behaviour
should be able to change language again to hr
Actual behaviour
not only is current language en greyed-out (so cannot be selected, which is normal for current language), but also previously selected hr is also greyed-out and unable to be selected
Device name
Samsung Galaxy S23+
Android version
Android 14 (OneUI 6.1)
Commons app version
5.0.1~af028cbdd (latest F-droid)
Device logs
2024-05-12 00:08:55,887     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,887     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,888     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,888     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,888     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,888     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,889     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,889     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,889     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,890     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,890     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,890     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,891     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,891     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,891     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,891     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:08:55,892     [DEBUG] [file-logging-thread-1] [CategoriesModel] : Previous year: 2023
2024-05-12 00:09:04,844     [DEBUG] [file-logging-thread-1] [RecentLanguagesContentProvider] : Deleting recently used language hr
2024-05-12 00:09:04,869     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : Description language code is: hr
2024-05-12 00:09:13,667     [DEBUG] [file-logging-thread-1] [RecentLanguagesContentProvider] : Deleting recently used language en
2024-05-12 00:09:13,683     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : Description language code is: en
2024-05-12 00:09:24,203     [DEBUG] [file-logging-thread-1] [RecentLanguagesContentProvider] : Deleting recently used language es
2024-05-12 00:09:24,215     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : Description language code is: es
2024-05-12 00:09:30,338     [DEBUG] [file-logging-thread-1] [RecentLanguagesContentProvider] : Deleting recently used language de
2024-05-12 00:09:30,359     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : Description language code is: de
2024-05-12 00:09:34,550     [DEBUG] [file-logging-thread-1] [RecentLanguagesContentProvider] : Deleting recently used language en
2024-05-12 00:09:34,570     [DEBUG] [file-logging-thread-1] [UploadMediaDetailAdapter$ViewHolder] : Description language code is: en
2024-05-12 00:09:40,327     [DEBUG] [file-logging-thread-1] [NearbyController] : Loading attractions near lat/lng: (45.7941583,15.91794643)
2024-05-12 00:09:40,328     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.3
2024-05-12 00:09:40,328     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2024-05-12 00:09:40,331     [DEBUG] [file-logging-thread-1] [NearbyPlaces] : 0 results at radius: 0.300000
2024-05-12 00:09:40,331     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : Fetching nearby items at radius 0.6
2024-05-12 00:09:40,331     [DEBUG] [file-logging-thread-1] [OkHttpJsonApiClient] : CUSTOM_SPARQLfalse
2024-05-12 00:09:40,333     [DEBUG] [file-logging-thread-1] [NearbyPlaces] : 3 results at radius: 0.600000
2024-05-12 00:09:40,333     [DEBUG] [file-logging-thread-1] [NearbyController] : Sorting places by distance...
2024-05-12 00:09:40,349     [DEBUG] [file-logging-thread-1] [NearbyNotificationCardView] : Update nearby card notification content
2024-05-12 00:09:40,732     [DEBUG] [file-logging-thread-1] [ContributionsFragment] : Number of notifications is 1
2024-05-12 00:14:31,885     [DEBUG] [file-logging-thread-1] [MainActivity] : Resuming 0 uploads...

Screen-shots
https://github.com/commons-app/apps-android-commons/assets/156656/6012f156-fd47-4344-8ae9-827e16c9c01a

at 00:00:26 both en and hr is unselectable
at 00:00:39 all of en, hr, es are unselectable
at 00:00:42 en becomes selectable again, but hr, es and de are unselectable

Would you like to work on the issue?
None

@mnalis I would like to work on this issue. Please assign me if its still open.

Hi, could I please be assigned to this issue if possible.


test_inference.py PPL evaluation for >4K context

Anyone else see this issue when using test_inference.py to compute perplexity for any Llama-2 based model that uses rope_scale > 1.0 and context > 4096?
This happens whether I try GPTQ, EXL2 or fp16 70B models (> 1000 perplexity). Sometimes I get decent PPL below 4K context, sometimes even that seems suspiciously high.
However if I look at the EXL2 quantization logs both the measurement and final perplexities seem reasonable (a 3.x number @ max context length).
If I use Exllamav2_hf in oobabooga to measure perplexity in the Web UI for those same models, it works fine and I get similar 3.x numbers at max context length.
It would be nice to have a stand-alone way to measure perplexity in test_inference.py.

Just wanted to add since I made this post last year I'm pretty sure I've evaluated several long-context models at reasonably PPL, so possibly this was fixed at some point.


New version: GmshTools v0.3.0

Registering package: GmshTools
Repository: https://github.com/shipengcheng1230/GmshTools.jl
Created by: @shipengcheng1230
Version: v0.3.0
Commit: cc709c7c40d93952495b1dca250fd73ad149cc37
Reviewed by: @shipengcheng1230
Reference: https://github.com/shipengcheng1230/GmshTools.jl/commit/cc709c7c40d93952495b1dca250fd73ad149cc37#commitcomment-36593413

The error may arise from missing dependencies causing libgmsh not properly loaded, which I specify on my travis:
addons:
  apt:
    packages:
    - libgfortran3
    - libglu1
    - libxcursor1
    - libxrender1
    - libxft2
    - libxinerama1

How can I feed those to the AutoMerge?

[noblock]
I recommend that you make your package loadable even when those libraries are missing. You can following the example of the GPU packages. See for example https://github.com/JuliaGPU/CUDAdrv.jl/blob/master/src/CUDAdrv.jl and https://github.com/JuliaGPU/CUDAnative.jl/blob/master/src/CUDAnative.jl


[WIP] Update workflow to save e2e test artifacts

Signed-off-by: Harish<EMAIL_ADDRESS>
Description of the change:
This PR allows persisting of e2e test logs by uploading the junit_e2e.xml report that is generated using Ginkgo as part of PR #1512.  Refer this for more details.
With this change, for the "e2e_tests.yml" workflow under the Actions tab, you can view the artifact's name and size in the UI
Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

/hold  (waiting on #1512 to be merged)

closed by https://github.com/operator-framework/operator-lifecycle-manager/pull/1618
/close


Nonexistent remote HEAD ref

Running git clone https://github.com/lodyagin/bitcoinj produces a warning, but you can list branches and check out the correct one.

warning: remote HEAD refers to nonexistent ref, unable to checkout.

How would you do this in go-git? The below code results in plumbing.ErrReferenceNotFound.
repository, err := git.Clone(memory.NewStorage(), memfs.New(), &git.CloneOptions{
	URL: "https://github.com/lodyagin/bitcoinj",
})

It seems like this is currently not possible?

Yep, this is not possible right now. Maybe an error can be returned but also the repository, more lake a warning instead of fatala.


Stability?

In your blog post you mention this is an early experiment. Has it been working OK for you? Thanks.

It has been working! I use this only in one personal project, but I've had no problems with these APIs or the underlying git functionality.
The place where I feel less certain is if these APIs are the "right" way to expose git through to Swift code.


AMQP-779: User correlationId with reply container

JIRA: https://jira.spring.io/browse/AMQP-779
Allow the use of a user-supplied correlationId instead of one
generated by the RabbitTemplate.
It is the user's responsibility to ensure uniqueness.
The backport to 1.7.x will need some work because of the String Vs. byte[]
correlationId changes

I still not sure that we have to do that, but I definitely against backport at all.
And we if already are here, we need to think about similar solution for the JmsOutboundGateway

@garyrussell ,
Do you still insist on merging this?
How about some note in the Docs in addition then?
May I don't backport it though? There are plenty of workarounds.
Thanks

I don't see any hard in merging; let's not backport for now.

Hi Gary,
I tried to compile and use 2.0.1 snapshot version to test my use case, But during the start up, I got this below error. any help would be appricaited
org.springframework.context.ApplicationContextException: Failed to start bean 'replyContainer'; nested exception is java.lang.NoSuchMethodError: org.springframework.util.Assert.state(ZLjava/util/function/Supplier;)V

You need to upgrade to Spring Framework 5.0 as well.

Could you please provide spring boot bill of material version? I'm currently using this
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>1.5.8.RELEASE</version>
</parent>

2.0.0.M6: https://spring.io/blog/2017/11/06/spring-boot-2-0-0-m6-available-now.
However you should take a look into JIRA for this PR for my advice how to overcome your problem without any changes to the framework.

if i'm able to correlate the messages using the correlation id, that will solve my problem.

You still do, but you just don’t need to use that AMQP Outbound Gateway.  I merged this, but I still don’t understand your problem and this correlationId became such an obstacle for you. You should just rethink your use-case and don’t try to override built-in logic because you can correlate some other way.
We spent too much time solving the problem where we don’t see it.
That’s just IMO and I won’t mind to hear some other point of view.

The solution that you had suggested may not work for our use case, as the processing of the message happens outside of container and they cannot retain those header values to send it back here,  and the correlation id is residing within the response payload itself. So, considering that, I think correlation id mapping would be best approach for us. At the same time, I haven't tried your approach, feel free to make changes here https://github.com/kingkongprab/spring-amqp-outbound-gateway whatever you think is the best solution for this.

happens outside of container and they cannot retain those header values

Sorry, not clear how "container" is related to "them".
I may agree that "they" somehow can't transport headers. Although the same "correlationId" is a header as well...

and the correlation id is residing within the response payload itself.

Not sure what is that since "correlationId" is an AMQP message property and it is mapped to the headers in Spring Integration.

I think correlation id mapping would be best approach for us.

Well, consider that we can't change the Framework code. You, first of all, should design your application to use existing tool and don't push us for the unnecessary change. If your solution is based on the built-in "correlationId" in the Framework, you should consider to change your solution not Framework, because this tool is not only for your application and it is here for a while already. Plus you haven't convinced us how your previous JMS solution worked since the behavior there is exactly the same like in this AMQP component.
Having all those arguments I really doubt in the solution and still feel that your application is wrong not the Framework.
Well, let it be: we have merged this useUserCorrelationId() and you have desired solution. So, let us do some other work, but not only support you.
Thank you for understanding


Not an issue... but really bugs me

try completing apt from upterm with zsh.
you'll see what i mean.
(that means you'll need to create an army of willing script creators for suggestions.)

Yeah, it'd be not easy to create completion for all the popular programs. But I believe we can do it.


Boltcard ext upgrade

updated readme (also responsing to issue #949)

added webhook for notifications

I wonder if it makes sense to add a webhook option to pay_invoice in core.services then this extension and any other could make use of it?

I believe that's a good idea. Could it look like something like in last commit?

Codecov Report

Merging #1005 (574ba3e) into main (c5cc65a) will increase coverage by 7.14%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##             main    #1005      +/-   ##
==========================================
+ Coverage   43.20%   50.35%   +7.14%
==========================================
  Files         244      236       -8
  Lines       13542    13225     -317
==========================================
+ Hits         5851     6659     +808
+ Misses       7691     6566    -1125

Impacted Files
Coverage Δ

lnbits/extensions/boltcards/crud.py
22.72% <ø> (ø)

lnbits/extensions/boltcards/lnurl.py
31.40% <12.50%> (-1.06%)
:arrow_down:

lnbits/extensions/boltcards/tasks.py
43.75% <22.22%> (-10.42%)
:arrow_down:

lnbits/extensions/boltcards/migrations.py
100.00% <100.00%> (ø)

lnbits/extensions/boltcards/models.py
91.42% <100.00%> (+0.25%)
:arrow_up:

lnbits/wallets/cln.py
19.00% <0.00%> (-29.76%)
:arrow_down:

lnbits/extensions/boltz/utils.py
64.70% <0.00%> (-17.65%)
:arrow_down:

lnbits/extensions/boltz/views_api.py
49.58% <0.00%> (-16.53%)
:arrow_down:

lnbits/extensions/boltz/boltz.py
57.21% <0.00%> (-11.45%)
:arrow_down:

lnbits/extensions/boltz/mempool.py
82.75% <0.00%> (-10.35%)
:arrow_down:

... and 22 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I wonder if it makes sense to add a webhook option to pay_invoice in core.services then this extension, and any other, could make use of it?

I believe that's a good idea. Could it look like something like in the last commit?

It should be ready for a review. I'm wondering what you say to passing the webhook either as a string or as a tuple. Wouldn't be better to just split it to two params?

I've just reduced this PR which I had let to grown in a nasty way.
Remain

the ability to wipe a card with Boltcard NFC Card Creator (since v0.1.2)
revised card delete flow (with force downloading keys in a wipe json)
reason of payment fail is returned to a charging service
some import clean up
readme update.

I keep the webhook updates for another PR.
Hope this help to move this forward.


Umodel Problem

Everytime I try to press ok after choosing where I have my pak files at, and the unreal engine version, etc. I get this and nothing shows up. Is there something I'm doing wrong? It legit won't even give me a chance to put in an aes at all.

https://github.com/gildor2/UModel/issues/113
http://www.gildor.org/smf/index.php/topic,3317.1320.html

I apologize, I just randomly stumbled upon the github browsing through
google trying to find a fix.
On Thu, Apr 11, 2019 at 6:55 AM Konstantin Nosov<EMAIL_ADDRESS>wrote:

#113 https://github.com/gildor2/UModel/issues/113
http://www.gildor.org/smf/index.php/topic,3317.1320.html
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gildor2/UModel/issues/126#issuecomment-482083885, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AvOhjS1vLmHFeP6EToNRWQxVY6v6xGawks5vfyKVgaJpZM4cpZJ6
.

same here

i have the same issue


"Vulpeni", "Cotorbești", "Gropșani", "Mardale", "Pescărești", "Plopșorelu", "Prisaca", "Simniceni", "Tabaci" and "Valea Satului" are listed in the drop-down menu

Description:
The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions:
The website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Vulpeni".

Expected results
The location is listed in the drop-down menu as "Sat Vulpeni OLT (Vulpeni)".

Step 2
Write in the search bar "Cotorbești".

Expected results
The location is listed in the drop-down menu as "Sat Cotorbești OLT (Vulpeni)".

Step 3
Write in the search bar "Gropșani".

Expected results
The location is listed in the drop-down menu as "Sat Gropșani OLT (Vulpeni)".

Step 4
Write in the search bar "Mardale".

Expected results
The location is listed in the drop-down menu as "Sat Mardale OLT (Vulpeni)".

Step 5
Write in the search bar "Pescărești".

Expected results
The location is listed in the drop-down menu as "Sat Pescărești OLT (Vulpeni)".

Step 6
Write in the search bar "Plopșorelu".

Expected results
The location is listed in the drop-down menu as "Sat Plopșorelu OLT (Vulpeni)".

Step 6
Write in the search bar "Prisaca".

Expected results
The location is listed in the drop-down menu as "Sat Prisaca OLT (Vulpeni)".

Step 8
Write in the search bar "Simniceni".

Expected results
The location is listed in the drop-down menu as "Sat Simniceni OLT (Vulpeni)".

Step 9
Write in the search bar "Tabaci".

Expected results
The location is listed in the drop-down menu as "Sat Tabaci  OLT (Vulpeni)".

Step 10
Write in the search bar "Valea Satului".

Expected results
The location is listed in the drop-down menu as "Sat Valea Satului OLT (Vulpeni)".


Orientation incorrect when set to .portraitUpsideDown on iPhone

I have an iPhone app that supports UIInterfaceOrientationMask.portrait and UIInterfaceOrientationMask.portraitUpsideDown (no landscape). When orientation is .portraitUpsideDown and I present a SwiftEntryKit, it is displayed upside down (as if the phone was in portrait and not upside down). I've tried setting the isRotationEnabled to false (and true), but it still occurs. My guess is the SwiftEntryKit EKRootViewController needs to have the supportedInterfaceOrientations set on it so it knows what orientations to support, but it doesn't appear its possible to extend the EKRootViewController in order to do so.
Here's the code I'm using:
var attributes = EKAttributes.centerFloat
    attributes.entryBackground = .color(color: backgroundColor)
    attributes.shadow = .active(with: .init(color: .black, opacity: 0.3, radius: 10, offset: .zero))
    attributes.entranceAnimation = .init(scale: .init(from: 0.9, to: 1, duration: 0.4, spring: .init(damping: 1, initialVelocity: 0)), fade: .init(from: 0, to: 1, duration: 0.3))
    attributes.exitAnimation = .init(fade: .init(from: 1, to: 0, duration: 0.2))
    attributes.positionConstraints.maxSize = .init(width: .constant(value: UIScreen.main.bounds.width), height: .intrinsic)
    attributes.positionConstraints.isRotationEnabled = false

    let title = EKProperty.LabelContent(text: text, style: .init(font: UIFont.systemFont(ofSize: 16, weight: .regular), color: textColor, alignment: .center))
    let description = EKProperty.LabelContent(text: detailText, style: .init(font: UIFont.systemFont(ofSize: 14, weight: .bold), color: textColor, alignment: .center))

    let simpleMessage: EKSimpleMessage
    if let image = image {
        let image = EKProperty.ImageContent(image: image, size: CGSize(width: 35, height: 35))
        simpleMessage = EKSimpleMessage(image: image, title: title, description: description)
    } else {
        simpleMessage = EKSimpleMessage(image: nil, title: title, description: description)
    }

    let notificationMessage = EKNotificationMessage(simpleMessage: simpleMessage)

    let contentView = EKNotificationMessageView(with: notificationMessage)

    SwiftEntryKit.display(entry: contentView, using: attributes)

Thanks @huri000.
As a test, I added the following to 'EKRootViewController' and everything worked as expected. I can try putting a supportedInterfaceOrientations variable on the lastAttributes.positionConstraints and submit a PR.
    override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        if UIDevice.current.userInterfaceIdiom == .pad {
            return .all
        } else{
            return [UIInterfaceOrientationMask.portrait, UIInterfaceOrientationMask.portraitUpsideDown]
        }
    }

I looked into making a PR where this would be configurable, but it crashes if I add a new supportedInterfaceOrientations: UIInterfaceOrientationMask? variable to positionConstraints so I'm not sure I understand the underlying framework enough to submit a PR.


(boot)strax handling of last steps

Luca pointed out the a problem with run 8675 where the number of files was uploaded to the rundb by eb5. However eb4 claimed to be the one that correctly processed the run but didn't include the filecount.
Reconstruction of events
It's really a conglomerate of bad screw-ups and quite unlikely events. I'm going to make corresponding issues on bootstrax/strax. Let me summarize what happened:

Eb5 finished but on the very last chunk it failed saving because of rsync was hammering it.
The exception was caught just while strax was renaming _temp to  . This means the folders have the appropriate names.
In fact the processing proceeded so far the the call was made in bootstrax to count the files and update the database.
Eb3 tried and failed like eb5 because of rsync.
Eb4 then started and completed processing. However before it made the call to count the number of files bootstrax was killed as we ran out of diskspace.

All of these things seem very unlikely but somehow it all happened to this one run.
Bottomline: it was bootstraxs' fault and didn't update the filecount on eb4.
Issues to fix

Strax: don't start renaming things from _temp to  while savers are not finished.
bootstrax:

Check that the filecount is in the data after stop (crash first recover later)
Don't crash this hard if we don't have space to process data. Also wait longer.
Can we check that all the savers succeded? We need to do so somehow.

fixed in https://github.com/XENONnT/straxen/pull/206


Dockerize Laravel Stack

This PR attempts to dockerize the Laravel stack, and provides some documentation to hopefully initialize a reproducible docker setup from scratch.
Please let me know if you run into any issues trying to initialize the project through docker, or if you have any other comments. Thanks!
Closes #105

Looks good, just a little feedback.
I resolved a conflict coming from the develop branch.
Check out Laravel sail. laravel sail has a bunch of built-in helpers to use docker. Like ./vendor/bin/sail up starts the docker, and ./vendor/bin/sail down stop them. There are other useful commands.
You can also do things like the artisan commands, but with sail like ./vendor/bin/sail artisan migrate for example
https://laravel.com/docs/8.x/sail#executing-sail-commands

Sail is built from docker pretty extensively, and is what I referenced heavily for this PR. https://tech.osteel.me/posts/you-dont-need-laravel-sail was super helpful to me in understanding what Sail was, but I think just using a stock docker setup uncovers a bit less of the magic, is more accessible, and will let people iterate and debug easier

That's fair, to be honest I've never had luck using docker. I like what you
did here it loads up and servers the app just if you need to do artisan
commands sail makes that easier.
Thank you 😊
On Tue, Aug 31, 2021, 9:06 AM Olivia Sculley @.***>
wrote:

Sail is built from docker pretty extensively, and is what I referenced
heavily for this PR.
https://tech.osteel.me/posts/you-dont-need-laravel-sail was super helpful
to me in understanding what Sail was, but I think just using a stock docker
setup uncovers a bit less of the magic, is more accessible, and will let
people iterate and debug easier
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codeforgreenville/hackgreenville-com/pull/108#issuecomment-909218688,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA64TKK2QN6XUPTQ4XBBUKLT7THUJANCNFSM5DDG2BKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Alright, I'm giving it a try and getting an error on docker-compose pull
Is this a temporary network error?

I got that too, one time all 3 failed. re-try a few more times to see if it works for you

Still not working for me.
The docker-compose.yml has a context of
context: ./vendor/laravel/sail/runtimes/8.0
but that directory doesn't exist if I clone the repo and continue with the Docker steps.
Does composer need to be run locally in order for the Sail image to be referenced in this way?
It seems Docker is trying to pull an image from a local directory and since it doesn't exist I'm guessing it's treating the context as a URL, which is likely why I'm getting the error
ERROR: for laravel.test  Get https://sail-8.0/v2/: dial tcp: lookup sail-8.0: no such host
ERROR: Get https://sail-8.0/v2/: dial tcp: lookup sail-8.0: no such host

Either a path to a directory containing a Dockerfile, or a url to a git repository.
When the value supplied is a relative path, it is interpreted as relative to the location of the Compose file. This directory is also the build context that is sent to the Docker daemon.

Just noticed this was to the master branch.  We have been using the develop branch as the main branch for the stage website. Probably good for one of us to merge master back to develop to sync up. Or, perhaps there's a better branching strategy.

I can also open a PR to develop if you'd like!

Sure. We've been merging PRs into develop and then I'd do a release merge from develop to master after testing was done on the staging website.


clear all node rules

fixes: #692
when no subtool is selected alt-click on a node and then press delete to clear all node rules (except TTL).
TMPE.zip

Tested and it works
Still confusing as i tried to apply this to lane connectors and it naturally did not work.
But is it possible to include lane connectors in this? Makes any sense?

@kvakvs

Built and tested from branch and it works

did you use alt-click to select node and delete rules?

Still confusing as i tried to apply this to lane connectors and it naturally did not change lane connectors.

Apply what?

Problem: Holding CTRL shows existing speed limits, but then Speed limits overlay checks if CTRL is pressed, and shows speeds per lane. That's probably too much detail, need to make Speed limits overlay to ignore pressed Ctrl if in this mode?

Interesting observation. created #1680

Still confusing as i tried to apply this to lane connectors and it naturally did not change lane connectors.

Apply what? clearing node rules does clear lane connections for me. are you talking about clearing rules when selecting segment?

I was unable to clear lane connectors using this feature.


Add reporting encoding

This will remove the following warning:
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! The file encoding for reports output files should be provided by the POM property ${project.reporting.outputEncoding}

test this please

test this please


[Schooltube] Add new extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Added a new extractor for education website schooltube.com - issue #13091.
Currently only works on single videos and doesn't work on channel page but I am working on adding support for that.

Why was this closed?

It's covered by generic extractor.

Yes but the person who created the issue wanted more metadata such as keywords than is provided by the generic extractor.

No such meta field keywords is recognized.

I didn't realize, my apologies.

keywords in this context is equivalent to the meta field tags


Need to fix one condition in ntile()

I marked a line as needing fixing but forgot to actually fix. It's for the situation where all of the values in a column are missing.

Fixed in #82.


Create web worker runner for the engine

Look at main.js for an example of how to use this.
This is dependent on PR #8.
Closes #7

The worker interface for the front end should be handled in the interface code
A new entry point needs to get made for the worker - the engine code should be wrapped and a build flag should be used to determine if the worker entry is required - otherwise engine should be created by itself

I think having it as a separate target build:worker makes more sense because it's not a variation of the engine...it just utilizes it. Also the only difference as far as build flags go is the difference in entry browserify engine/index.es6 vs browserify worker/worker.es6.
And yes, it should be handled by the interface. main.js is a temporary thing that's to be used as an example until the interface has a way of using the worker, at which point it can be removed.

There should be an adapter on both the engine and the interface which allows it to communicate in any method
Maybe making more than just the worker will help us ensure this happens
the pattern should be
Engine[Adapter] -> Worker/Local/Server <- [Adapter]Interface
Threrefore a build flag should create 1 js file for the interface or 2 js files for interface and server - if its only one then one fo the Worker/Local sets of code is in place - if its for the server the engine and interface will be built differently but none of the code for either should change, thats what the adapters do


AttributeError: 'NoneType' object has no attribute 'model_checkpoint_path'

How to solve this problem?

Had the same problem following readme, cauze it assumes you are resuming training.
You can add flag --restore 0 to skip restore part for the first time training.


[BUG] Partially loaded circular imports don't import

Copied from the users mailing list (https://groups.google.com/g/cython-users/c/VNuQKATGuss)
I'm running cython (cloned from github mid-May 2021) and Python 3.6/3.7.9.  I've encountered an issue with circular imports, one that Python runs without a problem.  At its simplest, it's the following sequence of operations:
import A.B
  from . import C      # <-- in A/B.py
    from . import D    # <-- in A/C.py
      from . import C  # <-- in A/D.py

If you run this scenario in CPython, it runs without error, but if I compile all the .py files into C extensions using Cython, the last import fails with the error:

ImportError: cannot import name C

Each of the above statements seems to be implemented by Cython with a pair of __Pyx_Import and __Pyx_ImportFrom calls.  The __Pyx_Import call attempts to do the import, and returns the parent package (in all cases above, it returns A).  The __Pyx_ImportFrom call just looks inside the returned module for an attribute with the requested name (C, or D in the above examples).  If the requested name ('C') in __Pyx_ImportFrom is actually a module that has not finished initializing yet, then it is not yet set as an attribute in its parent ('A') so this fails.
In CPython, I think, if the above attribute access (i.e. not hasattr(A, 'C')) fails, then it checks if it is a module (i.e. __import__('A.C')) probably to address this exact case.  Any chance __Pyx_ImportFrom could do this too to mimic CPython behavior?  Obviously the above scenario is silly, but the pattern shows up in an existing library that I'm trying to embed into a static Python interpreter and it seems like it is supported by the language.
Below is a list of commands that will generate the source files and test the above scenario on CentOS/RedHat 7, presumably minimal changes for other Linux variants.  Thanks for your help!
mkdir circular_import
cd circular_import
mkdir -p src/A
mkdir -p install/A
echo "from . import C" > src/A/B.py
echo "from . import D" > src/A/C.py
echo "from . import C" > src/A/D.py
for i in A/{B,C,D} ; do cython src/"${i}".py ; gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python3.6m -o install/"${i}".so src/"${i}".c ; done

(cd src && echo "import A.B" | python3 )  # succeeds
(cd install && echo "import A.B" | python3 )  # fails

I can see a tiny C89 change that we'd ask for:
PyErr_Clear();
PyObject* module_name = ...

We're trying to keep things C89 compatible for now, so declarations come at the start of the block (for module_name).
I think a PR with that would be welcome. We'd want a test case, but the one in your post would be fine. Add it in a srctree file in tests/run.
(I'm not an expert in the fine details of the import mechanism so there may be some details that I'm missing of course!)

Also some NULL checks on the results of the unicode concats (as unlikely as it would be to trigger those)

I'll work on a PR, thanks for the advice!


Remove checking of remaining bytes in the Go library.

Client: lib/go
Obtaining the remaining bytes isn't supported with some combinations of protocols and transports in the Go library. For example, the binary protocol doesn't work properly with the zlib transport which wraps the framed transport. In libraries for other languages checking is used for directly reading data from a buffer of an underlying transport. If data isn't enough we just read data from the underlying transport and never throw an error as in the Go library. But buffer for the zlib transport is encapsulated in the Go zlib library and we can't access to it. So removing that checking is the most simple and convenient method to solve the problem.

Thanks for the PR, please open an issue first.

CC @Jens-G since he introduced the check.

Added the issue: https://issues.apache.org/jira/browse/THRIFT-4626

It looks like the build failures aren't related to my changes. Who would have to fix these failures?

I agree with you on that, and all the Travis CI builds passed, and the root cause and solution look correct.


[WIP]telemetry logging: refactor fileAccessLogFormat

Please provide a description of this PR:
follow https://github.com/istio/istio/pull/40411

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test unit-tests-arm64_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test unit-tests-arm64_istio

unit-tests_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test unit-tests-arm64_istio

unit-tests_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test unit-tests_istio

lint_istio
d6ad978387018532de217a920d2c73de6ac05600
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
96862b871211b921972421a396e1c3ddef219726
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Using Schema Registry in Code to deserialize a message from Kafka Topic

Description
In my use case, I serialize the record value to Avro format,  then write it a Kafka topic and then using the Redis Sink connector, copy the data into Redis.  However due to the limitation of the Redis connector,  the serialized data format (in Avro) is copied into Redis in byte format.
The Schema Registry stores the schema information for the topic which is used by both the producer and connect to read and write the messages.
In my C# code for redis, I am able to query Redis and get the value - but I now I need to de-serialize this back from Avro.  Since the schema is already in Confluent Schema Registry, is there a way to query the Schema Registry and de-serialize the message directly?  How can this be done in C# code?
How to reproduce
Checklist
Please provide the following information:

[ ] A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
[ ] Confluent.Kafka nuget version.
[ ] Apache Kafka version.
[ ] Client configuration.
[ ] Operating system.
[ ] Provide logs (with "debug" : "..." as necessary in configuration).
[ ] Provide broker log excerpts.
[ ] Critical issue.

Update on this issue
Below is the string value - that I get back from redis.  This is the avro formatted bytes array for a message from the Kafka topic

I am converting the above string to a raw byte array
var temp = value.ToString();     // value is the arvo formatted byte string above

byte[] byteArray = new byte[temp.Length];
for (int i = 0; i < temp.Length; i++)
 {
        byteArray[i] = (byte)temp[i];
 }

Then using the Avro Deserializer to de-serialize it.
AvroDeserializer<T> deserializer = new AvroDeserializer<T>(schemaRegistryClient);

var serializationContext = new SerializationContext(MessageComponentType.Value, "my-topic");
T result = await deserializer.DeserializeAsync(obj, false, serializationContext);

But I run into the below exception/error.  The de-serializer is not able to map to the correct schema-id in the schema registry. (The right Schema id is 100411)
Schema 130363 not found; error code: 40403

The above process to convert into raw bytes - is that the right way to do it?  My suspicion is, the conversion is leading to incorrect byte array.   What is the right way to convert to the byte array that will map to the correct Schema ID?
Much appreciated.

This was resolved. The solution to get the raw bytes before de-serializing is
Byte[] byteArray = (byte[])value;


[IOTDB-3823] Optimize leader routing policy

Now the leader policy will broadcast RegionRouteMap only if the leadership has changed. However, if we use MultiLeader protocol, the ConfigNode-leader still broadcast RegionRouteMap continually since each Region always takes of itself as the leader.

Great


PR: Users who are eligible for a free permit need to know

Answers issue #297 'Users who are eligible for a free permit need to know that they can get one'
297 is also answered more elegantly in the solution to #313 but that it still under discussion and awaiting response from the product owner. This pull request is to update the prototype for issue 297 for Monday's testing in case issue 313's solution is not agreed in time.
Before:

After:

@lizziebruce Am I right in saying these changes are covered in PR #512?

@sanjaypoyzer Yes. This was a fix for if 512 didn't go through in time for user testing on Monday.


Wrong link for incoming hashtags

Incoming hashtags lead to the instance from where they're coming, instead to the local one, even, when they locally already exist:

This is likely due to Hashtags not being included or parsed correctly with the message.

It's being parsed correctly, but the domain used when writing the link is always hardcoded to the post author's domain https://github.com/TkTech/takahe/blob/5ba9ed6428841e9bcf8002a18844813ef797e5a1/activities/models/post.py#L366-L366


Add ‘medicare_id’ & ‘passport’ as uploadable PII fields

Adds the ability to upload the two new fields medicare_id & passport to PII Records.
Resolves #92

Coverage increased (+0.2%) to 84.623% when pulling e5657111132dd3469154924059d9c90164d76810 on 92-mdy-add-medicare-passport-pii-fields into 7681ad1d7b8e49e717561f0867fdb738c66a7c16 on development.


[Chore][YuniKorn] Add sample yaml file for Apache YuniKorn

Why are these changes needed?
See the description in the corresponding issue for details.
Related issue number
Closes: ray-project/kuberay#2411
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

I opened a doc PR but it has not been merged yet.
https://github.com/ray-project/ray/pull/47850


RFC: rework index updates

Rendered

Pushed an update addressing the previous comments, and changing the approach.

Is it overkill to manually update the index every x hours if no update is received from crates.io?

Is it overkill to manually update the index every x hours if no update is received from crates.io?

I was thinking instead we could do a full synchronization every x hours/days, which avoids our index getting out of sync with reality.


adds custom scrollbars + adds container for About page

I updated the container for the about page (with mainClass).
The scrollbar was included as a comment to offer users a choice.
Thanks for the pull request.

I updated the container for the about page (with mainClass). The scrollbar was included as a comment to offer users a choice. Thanks for the pull request.

thank you. you have a great approach.

would you mind if I made a PR for FAQ page?

@diomed  you can! It doesn't bother me.