Added omittable steps

Issue reference: #43
Please let me know if there's anything I can change here, I've tried to implement this in the most elegant way without having to modify a bunch of logic. I needed this for a personal project, and it works fine as is (afaik), but if there's a better way of doing this without rewriting the entire wizard logic let me know 😂

I took a quick glance at the changes and I think I agree with the overall design. I think availableSteps needs to be cached somehow, so we aren't looping over the steps over and over again. Especially since the omit method of a step can contain arbitrary code (like a network call). I also think that we should pass the current request to the availableSteps method.
I'll have a closer look at this in the next few days

I meant caching for the current request. For instance, both the summary and nextStep methods currently call availableSteps. Since the response renderers will likely want to call the summary method, we'd essentially be doing double the work for no reason.
I think availableSteps should be lazily calculated and return the cached value if it has already been computed before. Might have to think about invalidating the cache, i.e. force a recompute, after the wizard's data has changed.

This feature would be really nice indeed.

I’ll look at this once I’m back from vacation

I've made couple of small changes to the PR. Most notably, I implemented the memoization of the available steps myself as I would rather not pull in a whole other dependency just for that. I also added a few extra tests to for the wizard and wizard repository.
Other than that, looks good to me. Thanks for the contribution!


0.6.0: Crash on OSX

I posted this to the end of https://github.com/devopvoid/webrtc-java/issues/49 but as it closed I thought I'd put it into a separate issue in case it was missed.
I grabbed 0.6.0 for testing. Seems to work OK on Windows but on OSX I get the attached crash occasionally - things run fine for a while, I can't figure out anything in particular that is happening when the crash occurs unfortunately :
Thread 147 Crashed:: Thread 0x0x7fbe927bc230
0   libsystem_kernel.dylib        	0x00007fff205624ae os_fault_with_payload + 10
1   libsystem_kernel.dylib        	0x00007fff2056302f __darwin_check_fd_set_overflow.cold.2 + 31
2   libsystem_kernel.dylib        	0x00007fff2054c8e6 __darwin_check_fd_set_overflow + 68
3   libwebrtc-java3645846096757812889.dylib	0x000000003da691e4 0x3d774000 + 3101156
4   libwebrtc-java3645846096757812889.dylib	0x000000003da68ee5 0x3d774000 + 3100389
5   libwebrtc-java3645846096757812889.dylib	0x000000003da6ca04 0x3d774000 + 3115524
6   libwebrtc-java3645846096757812889.dylib	0x000000003da6b7dd 0x3d774000 + 3110877
7   libwebrtc-java3645846096757812889.dylib	0x000000003da6d6dc 0x3d774000 + 3118812
8   libsystem_pthread.dylib       	0x00007fff205748fc _pthread_start + 224
9   libsystem_pthread.dylib       	0x00007fff20570443 thread_start + 15
https://github.com/devopvoid/webrtc-java/files/7918438/osxcrash.txt

Sorry for the late response. Missed this issue totally.
Its hard to tell what exactly is causing the crashes. Does it crash when you are on the sending or receiving side? And what kind of data is exchanged?

No problem! I'll give things a whirl with the 0.7 release sometime to see if it is still occurring.

The release version was built with macOS Big Sur 11 via GitHub Actions.
Looks like a bad compilation. Is this happening with the version 0.7.0 from the maven central?

I got it from https://repo.maven.apache.org/maven2/dev/onvoid/webrtc/webrtc-java/0.7.0/

Perhaps because of
https://github.blog/changelog/2022-10-03-github-actions-jobs-running-on-macos-latest-are-now-running-on-macos-12/

Was wondering if you had any update on this?
My previous post was regarding the change in default macos compilation target that might have caused the OSX binary to be built against macos12 rather than the Big Sur 11 that you expected.


cldr FormatLocale File for "no" (Norway)

OpenUI5 version: 1.36.6
Could you add the cldr formatLocale json file for "no" (Norway) and/or point to the logic (grunt task?) which creates it from the unicode files. I couldn't find a reference so I guess these files are generated with another build tool.

Hi mkueng1,
the norway language file is already contained, the locale is nb_NO, the according file nb.json.
You can also generate the CLDR language files yourself, please take a look at the tools documentation (docs/tools.md):

grunt cldr

If you want to add another language, to have to adapt the file
lib/cldr-openui5/lib/generate.js
which does contain the list of locale files which are generated from the CLDR data.
Regards,
Malte


Question - How do you automate uploading the template?

The filebeat documentation instructs the user to upload an index template to elasticsearch
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html#filebeat-template
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty'<EMAIL_ADDRESS>
It doesn't appear that the cookbook supports doing that automatically. Is this a manual step?
I'm deploying elasticsearch into production behind a firewall where I don't have direct access to upload a template manually.
Maybe the cookbook could automate this with http_request.
https://docs.chef.io/resource_http_request.html

@spuder Sorry for the delayed response. I think we can add another resource filebeat_mapping to manage ES template.

I'm trying to evaluate using this cookbook or not.. because the install is so simple.. and the complications I'm seeing and things it doesn't support yet..
this sounds like something you would need.. no matter what?

Reading https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-template.html#filebeat-template because I need this now myself, I'd say that filebeat will do the upload itself.
The cookbook just needs to create the template file in the default location.
Right?

I think so. Adding an optional cookbook file resource for the template will do the trick.
Filebeat cookbook:
default['filebeat']['source_template'] = false
default['filebeat']['source_template_cookbook'] = nil
default['filebeat']['source_template'_cookbok_file] = nil

if node['filebeat']['source_template']
  cookbook_file '/etc/filebeat/template.json....' do
    cookbook node['filebeat']['source_template_cookbook']
    source node['filebeat']['source_template_cookbook_file']
  end
end

Wrapper cookbook:
default['filebeat']['source_template_cookbook'] = 'filebeat-wrapper'
default['filebeat']['source_template'_cookbok_file] = 'filebeat-template.json'

On the second note, IMHO, it is better off part of the wrapper cookbook. I do not see any value adding the resource to the filebeat cookbook, as it is an optional resource and the template file is not part of the filebeat cookbook.


Chem: Support SMARTS as a public API input

The problem being addressed is that RdKit was found on our samples to be more capable of processing cxsmarts (a MolBlock with a smarts mixin, non-standard format which is though supported by popular sketchers) than regular smarts. This requires a logic where both MolBlock and SMARTS are passed to searchSubstructure.
We need to address this topic somehow in searchSubstructure API. currently this passing is only supported in a package function, being used by substructure filter.

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14797

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16057


sort menu

Issue Summary
If you have 2 menu items. And move item 1 to position the sort does not save.
But if you move from pos to 1 the the sort saves.

Wagtail version: 4.2

Sorry, this description is too vague for us to work with - "menu items" can mean a lot of things in Wagtail. Please open a new issue, filling in all the details requested in the issue template, including steps to reproduce the issue starting from a new Wagtail instance.


[Improvement]:  When registering the catalog, support for internal/external types is provided to replace Metastore.

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
When registering the catalog, support for internal/external types is provided to replace Metastore.
How should we improve?
When registering the catalog, support for internal/external types is provided to replace Metastore.
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Subtasks
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

repeat with #1544


Respond with 204 if no content when downloading

In Rails 5 - When the response has no body an error is thrown, this
change makes it so that the error will not be thrown, along with keeping
existing behaviour for files that have data inside the response body
(e.g. a text file)
done in preperation for #298

Hi @danielburnley. Have you tried this change in the dev-vm, or at least with Asset Manager running behind a web server? The send_file method doesn't actually send the content of the file when it's running behind our nginx configuration - it'll send the location of the file in the X-Sendfile header instead. My concern is that in this case, response.body.empty? will be true and that we'll now be sending something different.
Can you also add some tests for this change, please?

In case it's useful, the following commands illustrate the difference between requesting the file directly from Asset Manager vs requesting via nginx. You can see that requesting via nginx results in a Content-Length of 0 and an empty response body. As explained above, my concern is that the code change in this PR might not play well with the requests being made by nginx.
# Create a file to upload
$ echo `date` > tmp.txt

# Upload the file
$ curl http://localhost:3000/assets --form<EMAIL_ADDRESS>
# Request the file
$ curl http://localhost:3000/media/5a0b0278edf8770dfb465870/tmp.txt
Tue 14 Nov 2017 14:49:07 GMT

# Simulate a request of the file from nginx
# Observe that the response body is empty
$ curl http://localhost:3000/media/5a0b0278edf8770dfb465870/tmp.txt \
-H"X-Accel-Mapping: `pwd`/uploads/assets/=/raw/" \
-H"X-Sendfile-Type: X-Accel-Redirect" \
-v

> GET /media/5a0b0278edf8770dfb465870/tmp.txt HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.43.0
> Accept: */*
> X-Accel-Mapping: /Users/chrisroos/Code/alphagov/asset-manager/uploads/assets/=/raw/
> X-Sendfile-Type: X-Accel-Redirect
>
< HTTP/1.1 200 OK
< X-Frame-Options: DENY
< X-Xss-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Content-Disposition: inline; filename="tmp.txt"
< Content-Transfer-Encoding: binary
< Content-Type: text/plain
< Cache-Control: private
< X-Request-Id: 23c813d0-46bb-4fd5-a9b5-4f384aed7aba
< X-Runtime: 0.063183
< Content-Length: 0
< X-Accel-Redirect: /raw/0b/02/5a0b0278edf8770dfb465870/tmp.txt
< Server: WEBrick/1.3.1 (Ruby/2.3.1/2016-04-26)
< Date: Tue, 14 Nov 2017 15:10:24 GMT
< Connection: Keep-Alive
<
* Connection #0 to host localhost left intact

Yeah you're correct - it does cause the response to return nothing. Looking into why these tests fail because it seems like it might be a problem with them, rather than the actual code

Hey @danielburnley. We're hoping to get rid of the functionality for serving files from NFS in the near future (possibly in the next couple of days) so it's probably not worth spending too long investigating this particular problem.

Hey @chrisroos  - I solved the issue anyway, it was a problem with the tests causing send_filenot to return anything so it wasn't a problem with the actual code, just the tests


TS-4709: Separate LogFilter expression parsing.

Separate LogFilter expression parsing from the configuration file
parser so that it can be tested and reused in other contexts.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/496/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/393/ for details.

👍

Seems clean, ship it.


2.3b6 libcups2 has symbols from libcupsimage2

While packaging v2.3b6, I got weird errors from Debian's linter that I cannot really find a good solution for:
E: libcupsimage2: library-not-linked-against-libc usr/lib/x86_64-linux-gnu/libcupsimage.so.2
N:
N:    The package installs a library which is not dynamically linked against
N:    libc.
N:
N:    It is theoretically possible to have a library which doesn't use any
N:    symbols from libc, but it is far more likely that this is a violation of
N:    the requirement that "shared libraries must be linked against all
N:    libraries that they use symbols from in the same way that binaries are".
N:
N:    Refer to Debian Policy Manual section 10.2 (Libraries) and
N:    https://bugs.debian.org/698720 for details.

Also, I had to add symbols to libcups2 as it apparently "inherited" symbols from libcupsimage2:
@@ -154,6 +154,18 @@ libcups.so.2 libcups2 #MINVER#
  cupsPrintFiles@Base 1.4.0
  cupsPutFd@Base 1.4.0
  cupsPutFile@Base 1.4.0
+ cupsRasterClose@Base 2.3~b6
+ cupsRasterErrorString@Base 2.3~b6
+ cupsRasterInitPWGHeader@Base 2.3~b6
+ cupsRasterInterpretPPD@Base 2.3~b6
+ cupsRasterOpen@Base 2.3~b6
+ cupsRasterOpenIO@Base 2.3~b6
+ cupsRasterReadHeader2@Base 2.3~b6
+ cupsRasterReadHeader@Base 2.3~b6
+ cupsRasterReadPixels@Base 2.3~b6
+ cupsRasterWriteHeader2@Base 2.3~b6
+ cupsRasterWriteHeader@Base 2.3~b6
+ cupsRasterWritePixels@Base 2.3~b6
  cupsReadResponseData@Base 1.4.0
  cupsRemoveDest@Base 1.4.0
  cupsRemoveOption@Base 1.4.0

All these were originally shipped in libcupsimage2, and indeed, from a build directory:
$ readelf --dyn-syms cups/libcups.so.2 | grep cupsRasterClose
   770:<PHONE_NUMBER>04a860     5 FUNC    GLOBAL DEFAULT   12 cupsRasterClose
$ readelf --dyn-syms cups/libcupsimage.so.2 | grep cupsRasterClose
    26:<PHONE_NUMBER>001250     5 FUNC    GLOBAL DEFAULT   12 cupsRasterClose

There seems to be something fishy here around the linking of both libcups2 and libcupsimage2 that I don't get.
(For the record, this is the patched tree on top of v2.3b6 that I'm using to build on Debian sid: https://github.com/apple/cups/compare/v2.3b6...OdyX:3b2c80920d609226e0963b8b1eb957f7b4580e5d )

@OdyX CUPS 2.3 includes the CUPS raster functions in libcups. Common stubs are linked into both libraries with the actual implementation living in libcups. The goal is to do away with the need for a separate CUPS imaging library, but we still need to provide backwards-compatibility...
I'll look at what is going on for libcupsimage, but it basically uses the same link commands as libcups so I'm not sure why anything has changed in that respect...

OK, so I tried a build from source (default configure options) on Ubuntu 18.04 and ldd reports the following for libcupsimage.so.2:
ldd libcupsimage.so.2
	linux-vdso.so.1 (0x00007ffc84ffe000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007faa8fda4000)
	libcups.so.2 => /usr/lib/x86_64-linux-gnu/libcups.so.2 (0x00007faa8fb18000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa8f727000)
	/lib64/ld-linux-x86-64.so.2 (0x00007faa901c6000)
	libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007faa8f4dc000)
	libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007faa8f177000)
	libavahi-common.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-common.so.3 (0x00007faa8ef6b000)
	libavahi-client.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-client.so.3 (0x00007faa8ed5a000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faa8eb3d000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa8e79f000)
	libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007faa8e4c9000)
	libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007faa8e297000)
	libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007faa8e093000)
	libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007faa8de88000)
	libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007faa8db59000)
	libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007faa8d93c000)
	libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007faa8d5be000)
	libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007faa8d3ab000)
	libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007faa8d175000)
	libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007faa8cf41000)
	libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007faa8ccc0000)
	libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007faa8ca73000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faa8c86f000)
	libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007faa8c66b000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007faa8c450000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007faa8c248000)
	libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007faa8bfc4000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faa8bdbc000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007faa8bb96000)
	liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007faa8b97a000)
	libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007faa8b65f000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007faa8b44a000)

Sure seems like libc is in the list...

@OdyX Pulled this out of the 2.3 milestone for now until we get a better handle on what is going wrong...


Separate State and API surface

This does the basic work of separating Formik into both Refs and Reducer State and will eventually separate the Formik API into both render-specific state using useFormikState and render-independent API surface using useFormikApi. Developers can then opt into the API version when they do not need render-specific values.
I want to rebase this away from the useContextSelector stuff, because I don't think they need to be entangled the way they are now -- it was an accident 😞. This is mostly an experiment to see if this can work and if this API makes sense.

closed in favor of #2931


PathTooLongException on windows because of node dependency directory tree

The anymatch dependency added here https://github.com/paulmillr/chokidar/commit/1b9a73d6793b40b2189b525c2bdd8a007158a2d9
generates such a deep dependency tree that it becomes very unwieldy to handle in windows, with folders that can't be removed etc.
The deepest one I found was anymatch\node_modules
micromatch\node_modules\regex-cache\node_modules\benchmarked\node_modules
file-reader\node_modules\read-yaml\node_modules\js-yaml\node_modules\argparse\node_modules\lodash
I don't really have a solution to the problem to suggest, I just wanted to alert you that this library has suddenly become very hard to use on windows.

When exactly do you encounter the error? Does it prevent the program from running?
This has the potential to happen with lots of node programs - deep dependency trees are common.
There are extensive discussions on this topic in the node and npm issue trackers which cover various workarounds.
One which should work easily in this case is to lock anymatch at v1.1.0 either by including it in your package.json and using npm dedupe or with a shrinkwrap file.
/cc @jonschlinkert

Also the particular path you pointed out is the result of dev dependencies. Perhaps npm prune --production has a positive impact?

 Now the tests run as they are supposed to, but afterwards we get exceptions from powershell when trying to list/move/copy files. Also git stops being able to clean the repo.
I think I solved it by running npm uninstall after the tests have run. npm could create the folders, it can obviously remove them as well.

I would suggest npm prune --production after the tests run if there are any dependencies you do need to keep around.


Status bar and navbar => different background colors

Hi guys,
I do not think it is possible to do that. An exemple is better than words :

I want to have different background colors on status bar and navbar.
Is it possible ?
Thanks ! ;)

Hi @Mokto!
Regarding to https://facebook.github.io/react-native/docs/statusbarios.html, we can't change background of the StatusBar, but as far as I know, StatusBar renders with transparent background what literally means that I can introduce one extra parameter for SideBar color.
And yeah, you already can customize navbar background. Marking this as a feature request


[Prover] Bump up the version numbers of Boogie and Z3

Upgrade Boogie and Z3 to the latest versions

Motivation
Upgrade the Prover's dependency
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
cargo test

There are known non-determinism in these test cases:
    prover unit[default]::functional/loops_with_memory_ops.move
    prover unit[default]::functional/loops.move

I guess updating Boogie / Z3 accidentally causes the random number to go from one side to the other side (i.e., concretizing variable x vs variable y). Maybe we should disable them or re-write them into deterministic way?

Let's wait with this until we know whether the new boogie fixes our problem. If so, this PR should also increase the minimal boogie number required in the prover driver.

Can we cherry pick this in the aptos branch? Otherwise we wont have it in the aptos CLI.
Let me know if its unclear how to do this.

@wrwg , I put up a PR to cherry pick this: https://github.com/move-language/move/pull/535


How do I stop it listening to itself?

This is the code:
import speech_recognition as sr
import subprocess

r = sr.Recognizer()
m = sr.Microphone()

def say(text):
    return subprocess.call("espeak -s 155 -a 200 '"+text+"'", shell=True)

try:
    print("A moment of silence, please...")
    with m as source:
        r.adjust_for_ambient_noise(source)
        print("Set minimum energy threshold to {}".format(r.energy_threshold))
        while True:
            print("Say something!")
            audio = r.listen(source)
            print("Got it! Now to recognize it...")
            try:
                # recognize speech using Google Speech Recognition
                value = r.recognize_google(audio)

                # we need some special handling here to correctly print unicode characters to standard output
                if str is bytes: # this version of Python uses bytes for strings (Python 2)
                    say(u"You said {}".format(value).encode("utf-8"))
                else: # this version of Python uses unicode for strings (Python 3+)
                    say("You said {}".format(value))
            except sr.UnknownValueError:
                print("Oops! Didn't catch that")
            except sr.RequestError as e:
                print("Uh oh! Couldn't request results from Google Speech Recognition service; {0}".format(e))
except KeyboardInterrupt:
    pass

Thus, I want it to say what I say. But with the above code, it keeps listening to itself and thus keeps saying what it listens. Is there anyway I could stop the listener when I want it to speak?

I'd say there are a couple of ways you could achieve this and it really depends on your contraints; do you need it to be listening for new inputs while it reads the result aloud?
The easiest option I see is to manipulate the recogniser's energy threshold to some incredibly high arbitrary value while you execute your say(text) method. you'll need to pass (r) into say() to achieve this; something like the following may work.
try:
say(u"You said {}".format(value).encode("utf-8"), r)
and in say respectively:
def say (text, r):
    store = r.energy_threshold
    r.energy_threshold = 9001 # note I'm not sure what the maximum value is
    subprocess.call("espeak -s 155 -a 200 '"+text+"'", shell=True)
    r.energy_threshhold = store;
    return true

Hopefully that helps.

@LovelyHorse has the right idea! However, that way in particular won't have any effect, since this threshold is only read in r.listen, so by the time we call it again it won't be modified!
I recommend you simply not keep the microphone on when you don't want to be listening. I have tested and confirmed that the following code works:
import speech_recognition as sr
import subprocess, time

r = sr.Recognizer()
m = sr.Microphone()

def say(text):
    return subprocess.call("espeak -s 155 -a 200 '" + text + "'", shell=True)

try:
    print("A moment of silence, please...")
    with m as source: r.adjust_for_ambient_noise(source)
    print("Set minimum energy threshold to {}".format(r.energy_threshold))
    while True:
        print("Say something!")
        with m as source: audio = r.listen(source)
        print("Got it! Now to recognize it...")
        try:
            # recognize speech using Google Speech Recognition
            value = r.recognize_google(audio)

            # we need some special handling here to correctly print unicode characters to standard output
            if str is bytes: # this version of Python uses bytes for strings (Python 2)
                say(u"You said {}".format(value).encode("utf-8"))
            else: # this version of Python uses unicode for strings (Python 3+)
                say("You said {}".format(value))
        except sr.UnknownValueError:
            print("Oops! Didn't catch that")
        except sr.RequestError as e:
            print("Uh oh! Couldn't request results from Google Speech Recognition service; {0}".format(e))
        time.sleep(0.5) # sleep for a little bit
except KeyboardInterrupt:
    pass

One more thing. Using subprocess.call with shell=True is VERY VERY DANGEROUS. If I were to somehow say ' && rm -rf --no-preserve-root '/, the script would delete all the files on your computer.
You can solve this by not using the shell=True option (so you'll need to fully qualify the path to espeak), and do the necessary escaping. I recommend using the Python espeak library instead.

Thanks guys! :smile: :+1:
I think I'll close this.

Hello @Uberi , i'm in the same boat with @s4chin  , how i cant stop mic when i need to say ?
i have 2 classes
Recognizer :
`import speech_recognition as sr
from SpeechToText import SpeechToText
import time
class Recognizer:
def init(self, lang='en-US', ttslang='en', provider='bing'):
self.language = lang
self.ttslanguage = ttslang
self.provider = provider
self.r = sr.Recognizer()
self.m = sr.Microphone()
self.startListening()
def startListening(self):
    # received audio data, now we'll recognize it using Google Speech Recognition
    with self.m as self.source:
        self.r.adjust_for_ambient_noise(self.source)
        self.r.pause_threshold = 0.5
        self.r.non_speaking_duration = self.r.pause_threshold - 0.1
        self.audio = self.r.listen(self.source)
        print("listening...")

        while True:
            stop_listening = self.r.listen_in_background(self.m, self.callback())
            print("listening...")
def callback(self):
    print("callback called")
    txty = None
    try:
        if self.provider == "bing":
            txty = self.r.recognize_bing(self.audio, key="5a5a284df38445b3961ecd49c01142f7",
                                         language=self.language)
        elif self.provider == "google":
            txty = self.r.recognize_google(self.audio, key="5a5a284df38445b3961ecd49c01142f7",
                                           language=self.language)
        elif self.provider == "sphinx":
            txty = self.r.recognize_sphinx(self.audio)
    except sr.UnknownValueError:
        print("Frank could not understand audio")

    except sr.RequestError as e:
        print("Could not request results from Speech Recognition service Provider; {0}".format(e))
    if txty is not None :
     txtyto = "Hello I'm Frank How I can help you ? "
     print("Frank thinks you said " + txty)
     if "hello" in txty.lower():
        print("OK SAY SAY OK SAY SAY OK SAY SAY ")
        self.speechtotxt = SpeechToText(language=self.ttslanguage)
        self.speechtotxt.say(txtyto)

`
Speechtotext :
-- coding: UTF-8 --
import os
from gtts import gTTS
import tempfile
import pygame
class SpeechToText:
def init(self, language='en'):
self.language = language
def say(self, phrase):
    tts = gTTS(text=phrase, lang=self.language)
    with tempfile.NamedTemporaryFile(suffix='.mp3', delete=True) as f:
        tmpfile = f.name
        print(tmpfile)
    tts.save(tmpfile)
    self.play_mp3(tmpfile)
    os.remove(tmpfile)

def play_mp3(self, filename):
    pygame.mixer.init()
    pygame.mixer.music.load(filename)
    pygame.mixer.music.play()
    while pygame.mixer.music.get_busy():
        pygame.time.Clock().tick(10)
    pygame.mixer.quit()

UPDATE : i'm trying to use
stop_listening = r.listen_in_background(m, say(txt))
time.sleep(5)
stop_listening()
its work , but always show error
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.5/dist-packages/speech_recognition/init.py", line 596, in threaded_listen
with source as s:
File "/usr/local/lib/python3.5/dist-packages/speech_recognition/init.py", line 130, in enter
assert self.stream is None, "This audio source is already inside a context manager"
AssertionError: This audio source is already inside a context manager
When its called .

Hi again ,
I try your example , Its listen to itself .. Also i try listen in background with call back function but its return error about " cant join thread . " i guess it's threading issue ?

Traceback (most recent call last):
File "/home/pi/Desktop/mallutry/noisecanceltry1.py", line 40, in
m = sr.Microphone()
File "/usr/local/lib/python3.4/dist-packages/speech_recognition/init.py", line 79, in init
self.pyaudio_module = self.get_pyaudio()
File "/usr/local/lib/python3.4/dist-packages/speech_recognition/init.py", line 108, in get_pyaudio
import pyaudio
File "/home/pi/Desktop/mallutry/pyaudio.py", line 4, in
FORMAT = pyaudio.paInt16
AttributeError: 'module' object has no attribute 'paInt16'
please3 can u help me i am getting error like this.i am running it on raspberry pi jessie .i want to remove the background noise as well as.my microphone taking lot time to capture my voice i am using google speech recognition for speech to text.please can help me how to overcome it...

@MaMallu Please open a new issue by filling in the issue template - this issue is closed.


Added phpdoc to teamwork facade

Added phpdoc to teamwork facade for IDE auto completion

@alikhosravidev can you also add a job like laravel have it to automatically update the doc blocks of facades?
https://github.com/laravel/framework/blob/10.x/.github/workflows/facades.yml


fix decimalv2 castTo decimalv2 should change type directly

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

please add case

run buildall

run buildall

run buildall

run buildall

run buildall


crack

взломали карты , город ростов вместо надписей в некоторых местах написаны оскорбления Россиян ,примите пожалуйста меры

Такая же проблема и в других городах России!

Такая же проблема Москва. Причем в браузере - те же

The project is deied?

i have no idea what's going on here. looks like this application is using the map tile source called OpenStreetMaps. This library does NOT provide map data, it only displays it. Whatever it is you all are complaining about most likely isn't the library but the map source you're using

https://community.openstreetmap.org/t/topic/102894
https://community.openstreetmap.org/t/vandalism-report/102714

The issue is not solved!

Well you can try clearing the map tile cache, maybe that's the issue. Otherwise it's not an osmdroid issue

The area close to the Myakininskiy Subway Bridge (кининcки метромоcт) appears to load perfectly in my app, which uses the OsmDroid library. I should mention that I'm using the standard MAPNIK tile source.
It appears that your app's view rendering is flawed because a grey box is overlaid over the plus button.
The fact that the grey boxes don't have uniform sizes to represent them as typical map tiles is another piece of supporting evidence. If these grey boxes are really map tiles, they should appear behind those buttons.
Therefore, I don't think this is a problem with the OpenStreetMap map, the MAPNIK library, or even OsmDroid.
https://www.openstreetmap.org/way/400154667#map=15/55.8330/37.3958


Improve retryFor() and use it everywhere

Hold on, I didn't rebase against v0.x.x, there's more tests to fix.

Good, using this function actually uncovered there is something wrong with the BanManager tests / implementation. I'm looking into it.

Ok, hopefully this doesn't fail, unless there's more stuff to fix here.

hmm failure. ok.

Ah I see another test-case we have here that spawns a lot of transactions. It creates 100 blocks, so that's 800 transactions. It just seems too much to send them all at once for that Travis machine. I'll reduce this.

🥗


add translation

Feature Request
Description
One of the highest barriers to entry for any project is an inability to understand the language of the source material or in the case of websites to have to deal with translation Brouwer plugins that can be rather hit or miss with translation. Though, out of the gate, I am aware that adding translation to o chapters can be more complicated then other possible additions, in my head this is more of a nice to see some day and of no urgent importance. I am aware that approving translations to chapters would be significantly harder due to the small size of the community so a competitively small amount of languages would be approved by trusted members of the community, and even then reviewing a translation would take more time then a chapter or new implementation for an existing chapter. Though this can be partially fixed by adding a translations.md (or some other similar name) with all the languages that the community can cover and making it explicitly clear that translations out of that list of lang's are unlikely to be merged until someone with knowledge of the lang can take responsibility and becomes a trusted member of the community.
Now that that is out of the way, how might this be implemented. This I will split it into two sections how the UI may work and how the actual translations would work.
UI concept
This is not that complicated, I propose that we add another drop down with translations such as the implementation switcher that would allow one to switch between translations.
implementation concept
Off of the top of my head there are several ways this could be achieved, some easier then others though the easier ones would likely take up more space and be less efficient. Also as mentioned below this really does depend upon what is decided in this because depending on what is chosen there may be default ways to achieve this with the site generator chosen.
01 rewrite
The first option I can think of is completely rewrite the page in a new file in the new translation language and link them together in the main English translation or in some other json, yaml etc. file. This would theoretically be the simplest for potential contributors but may require the most new code for the generation of the site and is definitely the least space efficient taking up most space. (Or there can be a different url for each translation though that would require generating allot of new urls though it would require less extra site generation code)
02 POT file based
The second option I can think of is to utilize pot and po files to store translations were each paragraph/ individual piece of separate text is a separate msgid and thus can be translated in a msgstr. As an example of this below I have a code snippet of the first paragraph of the intro translated to Romanian since that is the only language other then English I am comfortable in
msgid "The Arcane Algorithm Archive is a collaborative effort to create a guide for all important algorithms in all languages. This goal is obviously too ambitious for a book of any size, but it is a great project to learn from and work on and will hopefully become an incredible resource for programmers in the future."
msgstr "Arcane Algorithm Archive este un efort de colaborare pentru a crea un ghid în toate limbile pentru toți algoritmii importanți. Acest obiectiv evident este prea ambițios pentru o carte de orce dimensiune, dar este un proiect  minunat din care se poate învăța și pe care se poate lucra, în speranța ca  să fie o resursa pentru programatori in viitor"

A few other notes on this method that I would like to point out. For some languages it may be necessary to change were example code and mathematical formulas are at in a page then in english which would be a non trivial matter with this method from what I can tell. It would also be best for items within a table to be separate msgid's since that would, from what I can tell make it easier on someone looking to translate a particular page. As for translated plots, when necessary, the msgid would be the uri to the original image and the msgstr would be the link to the translated image.
~
Additional context
As a side note when I new chapter is added it would not require new translation files to be added because English could be the default and thus assumed, this would be added as a separate pull request when someone wants to add a new lang or just to add the basic infrastructure without adding any translations. This is also in the first paragraph "The Arcane Algorithm Archive is a collaborative effort to create a guide for all important algorithms in all languages". Also if a better method exists for web pages such as this, please comment on this because it relatively new to localization my self and am by no means an expert of any sort. Also as a side note I don't know which lang's the font used supports, if a language that is not supported by the font is added this may lead to some issues so some consideration may need to go into that before a pull request is merged for that.
Also I'm putting this up because I have not seen any others, so if there is a consensus or and existent pull request I understand if this is closed and if so please link me to that so I can gain context. Also if there is an existent plugin or something similar that has its own conventions I would appreciate if a link would be provided since I am not aware of any as of writing this. Since as I'm posting this as leios is live I was going to add a section for honkit translations but since that may not be around for much longer I'm going to leave that out, also I'm going to edit this with images for the UI concept which I still have to do.
I also just noticed this though this is significantly more thorough so I'll post it as is.
For Algorithm Archive Developers

[ ] This feature can be added to the Master Overview
[ ] There is a timeline for when this feature can be implemented (theoretically there is)
[ ] The feature has been added to the Master Overview
[ ] The feature has been implemented (Please link the PR)

as a follow-up question to this from the post above:

Also as a side note I don't know which lang's the font used supports, if a language that is not supported by the font is added this may lead to some issues so some consideration may need to go into that before a pull request is merged for that.

what font do we use and what Lang's are supported by it

We have two different fonts: a Serif one and a Sans one.
I don't remember which ones exactly, although that was explored on stream maybe not this time, but rather the previous one.

A small question for the community on this issue. Before I pose the question, a bit of context is necessary. I am working on some concept graphics for the main post at the top but ran into a small issue I am not certain about. So question is as follows, should the  names of the lang's in the translation drop down be in English or the translated lang, I have seen it down either way (or should the text in the drop down change with the selected lang)
Ex.
Spanish
Español
For Spanish
And
Romanian
Română
For Romanian
I would be gland you clarify any information


Feature request - open source

Please make Algorand Studio open source. It helps with debugging and investigation internal processes, and allows community to help you with it.

Thanks for the suggestion. Will revisit this in about 6 momths.


Non-Exercise tests in CI

Hi there!
Just opening this to get some feedback. Do you all think that non-exercise (e.g. generator) tests should be run on CI? Currently all exercise tests get run as a part of CI, but tests in the /test directory do not.
If they should be run on CI, do you think it would be best to add rake test to the Travis scripts, or should the test target of the Makefile be modified to run these tests?
Thank you so much for your time!

Yes they should.
Adding rake test to Travis seems like the right solution.
Longer term, I'd like to see make phased out in favor of rake.


Fix polarity of statement about RASA1 and NF1

I've been waiting for this for a long time! The PR fixes the polarity of four statements about NF1 and RASA1's regulation of HRAS/RAS Family. Here "enhancing catalytic activity" refers to the GTP-ase activity of RAS which decreases its GTP-bound activity. Therefore the correct polarity here is directlyDecreases. There are further issues with this entry, namely that the actual evidence sentence, as cited doesn't correspond exactly to the one in the paper. In particular, in https://portlandpress.com/biochemsoctrans/article/34/5/846-850/65972, "RASA1 (p120-RASGAP)" is not actually there at the end of the sentence, the sentence continues with something else.

I also looked at Travis, and it said "🔔 no BEL files changed", is that expected?

@bgyori hmm it seems that the branch didn't even get sent to travis :/
The most efficient way to update the pickle before merging is to cd into the directory and pybel compile large_corpus-20170611.bel. This will update the pickle right next to it and you can commit it as well. Otherwise, I will take care of it!

Okay, I pushed the new pickle based on pybel compile large_corpus-20170611.bel

Look good now?

Yes, I think so!


Add cssInline option.

Resolve issue https://github.com/pipe01/esbuild-plugin-vue3/issues/16.
I added a new option for output css in js files instead of output css files.

Thanks!


CI - pull_request events don't also trigger on push

Description of Changes
Currently, a push to a PR triggers our dotnet workflows twice: once for the push event, and once for the pull_request event.
This PR sets the pull_request events to only be opened and reopened, so that a push to the branch only triggers the push event and not the PR synchronize event as well.
Testing

[x] CI has only triggered once on this PR

I don't fully understand the change in behaviour after this PR, but sounds good.

@RReverser Added a hopefully-clarifying comment here: https://github.com/clockworklabs/spacetimedb-csharp-sdk/pull/110/files#r1693270679


fix(camera): update permission logic for get_snapshot method

Allow get_snapshot to work when either READ_LIVE or READ_MEDIA permissions are granted, depending on the context.

Description of change
Fixes https://github.com/home-assistant/core/issues/131900

Pull-Request Checklist

[x] Code is up-to-date with the main branch
[x] This pull request follows the contributing guidelines.
[x] This pull request links relevant issues as Fixes #0000
[x] There are new or updated unit tests validating the change
[ ] Documentation has been updated to reflect this change
[x] The new commits follow conventions outlined in the conventional commit spec, such as "fix(api): prevent racing of requests".

If pre-commit.ci is failing, try pre-commit run -a for further information.
If CI / test is failing, try poetry run pytest for further information.

Summary by CodeRabbit

New Features

Improved permission logic for accessing camera snapshots, allowing more flexible authorization.
Enhanced error messages for unauthorized access to provide clearer context.

Bug Fixes

Updated tests to accurately reflect the new permission checks and error handling for camera snapshot retrieval.

Documentation

Renamed test functions for clarity and added new tests to cover additional permission scenarios.

-> Draft: forgot the package camera

@coderabbitai review

@coderabbitai review


[5.1] Always return a morph class

This should resolve #10167 by always checking if the class is first mapped, rather than merely checking if the morph map exists before running array_search.

Could you add a test please?

Sure, I'll get to it


[Addition] Cull Clouds

Checklist

[X] I've checked that my mod suggestion hasn't already been added to one of the lists.
[X] I've checked the latest issues to make sure that this mod hasn't already been suggested.

What is your mod's name?
Cull Clouds
What is your mod's main version?
1.19.X (Fabric)
What is your mod's other versions?
No response
What is your mod's type?
Preformance
What side dose your mod need to run on?

Fabric mod that adds a small optimization improves clouds culling way to not render parts which you cant see to increase fps
(OPTIONAL) Give some extra information about the mod.
No response

Added in dev


Issue with TX switch with multiple Gangs

I have several sonoff switch with 3 gang each.
The issue I have is that the friendly name of the entity derived from either the sonoff original component or the sonoff lan component is not with the gang definition:
Entity ID	Name
switch.sonoff_1000fxxxxx_1	0.08
switch.sonoff_1000fxxxxx_2	0.08
switch.sonoff_1000fxxxxx_3	0.08
I need
Entity ID	Name
switch.sonoff_1000fxxxxx_1	0.08_1
switch.sonoff_1000fxxxxx_2	0.08_2
switch.sonoff_1000fxxxxx_3	0.08_3
Am I doing something wrong?

Here is the solution... but I cannot contribute it via Git, I get an error:
in entity.py
   if self.uid:
        self._attr_unique_id = f"{device['deviceid']}_{self.uid}"

        if not self.uid.isdigit():
            self._attr_entity_category = ENTITY_CATEGORIES.get(self.uid)
            self._attr_icon = ICONS.get(self.uid)

            s = NAMES.get(self.uid) or self.uid.title().replace("_", " ")
            self._attr_name = f"{device['name']} {s}"
        else:
            **self._attr_name = f"{device['name']}_{self.uid}"**

    else:
        self._attr_name = device["name"]
        self._attr_unique_id = device["deviceid"]

You can set name for each channel in the ewelink app. It's better solution.
But I will add your solution without underscore. Thanks.
Also you can change name for any Hass entity at any time.

Thank you for adding the code. Ok with the non _ I will check that my automations does not get screwed up
For the name: yes :) but when you have 50 3Gang devices is really a headache :) so having it in the integration is far better!

The name of the entity is usually not involved in automations. Only entity_id.

Correct but when you use the UI to create is uses the name, and is far easier :)

:)

Oh, I'm sorry. I've checked different situations. And these changes create more problems than they do benefits.
Problems has single channel devices with multichannel firmware, like Micro and many others. They get an unnecessary 1 to the name.
Also problems has multichannel devices, converted to single channel devices. They get an unnecessary numbers to the name.

Weird I have several mini, micro, R2 and TX an none of them got an issue
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Alex X @.>
Sent: Sunday, September 25, 2022 9:17:27 AM
To: AlexxIT/SonoffLAN @.>
Cc: Massimo Savazzi @.>; Author @.>
Subject: Re: [AlexxIT/SonoffLAN] Issue with TX switch with multiple Gangs (Issue #980)
Oh, I'm sorry. I've checked different situations. And these changes create more problems than they do benefits.
Problems has single channel devices with multichannel firmware, like Micro and many others. They get an unnecessary 1 to the name.
Also problems has multichannel devices, converted to single channel devices. They get an unnecessary numbers to the name.
—
Reply to this email directly, view it on GitHubhttps://github.com/AlexxIT/SonoffLAN/issues/980#issuecomment-1257137120, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAUJNQBR7V7SCRUJWHY2JN3V774APANCNFSM6AAAAAAQQFOL34.
You are receiving this because you authored the thread.Message ID: @.***>

Micro should have 1 suffix with your fix

here is the outcome, all perfect on my side

here the entity.py I used
import logging
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
from homeassistant.helpers.entity import DeviceInfo, Entity, EntityCategory
from .const import DOMAIN
from .ewelink import XRegistry, XDevice
_LOGGER = logging.getLogger(name)
ENTITY_CATEGORIES = {
"battery": EntityCategory.DIAGNOSTIC,
"battery_voltage": EntityCategory.DIAGNOSTIC,
"led": EntityCategory.CONFIG,
"rssi": EntityCategory.DIAGNOSTIC,
"pulse": EntityCategory.CONFIG,
"pulseWidth": EntityCategory.CONFIG,
}
ICONS = {
"dusty": "mdi:cloud",
"led": "mdi:led-off",
"noise": "mdi:bell-ring",
}
NAMES = {
"led": "LED",
"rssi": "RSSI",
"pulse": "INCHING",
"pulseWidth": "INCHING Duration",
}
class XEntity(Entity):
params: set = {}
param: str = None
uid: str = None
# fix Hass v2021.12 empty attribute bug
_attr_is_on = None
_attr_should_poll = False

def __init__(self, ewelink: XRegistry, device: XDevice) -> None:
    self.ewelink = ewelink
    self.device = device

    if self.param and self.uid is None:
        self.uid = self.param
    if self.param and not self.params:
        self.params = {self.param}

    if self.uid:
        self._attr_unique_id = f"{device['deviceid']}_{self.uid}"

        if not self.uid.isdigit():
            self._attr_entity_category = ENTITY_CATEGORIES.get(self.uid)
            self._attr_icon = ICONS.get(self.uid)

            s = NAMES.get(self.uid) or self.uid.title().replace("_", " ")
            self._attr_name = f"{device['name']} {s}"
        else:
            self._attr_name = f"{device['name']}_{self.uid}"

    else:
        self._attr_name = device["name"]
        self._attr_unique_id = device["deviceid"]

    # domain will be replaced in entity_registry.async_generate_entity_id
    self.entity_id = f"{DOMAIN}.{DOMAIN}_{self._attr_unique_id}"

    deviceid: str = device['deviceid']
    params: dict = device['params']

    connections = {(CONNECTION_NETWORK_MAC, params['staMac'])} \
        if "staMac" in params else None

    self._attr_device_info = DeviceInfo(
        connections=connections,
        identifiers={(DOMAIN, deviceid)},
        manufacturer=device.get('brandName'),
        model=device.get('productModel'),
        name=device["name"],
        sw_version=params.get('fwVersion'),
    )

    try:
        self.internal_update(params)
    except Exception as e:
        _LOGGER.error(f"Can't init device: {device}", exc_info=e)
    ewelink.dispatcher_connect(deviceid, self.internal_update)

def set_state(self, params: dict):
    pass

def internal_available(self) -> bool:
    return (self.ewelink.cloud.online and self.device.get("online")) or \
           (self.ewelink.local.online and "host" in self.device)

def internal_update(self, params: dict = None):
    available = self.internal_available()
    change = False

    if self._attr_available != available:
        self._attr_available = available
        change = True

    if params and params.keys() & self.params:
        self.set_state(params)
        change = True

    if change and self.hass:
        self._async_write_ha_state()

async def async_update(self):
    await self.ewelink.send(self.device)

You don't have Micro in your list (model column).
Problems with 77,78,81,182,190 and all multichannel devices converted to single channel
https://github.com/AlexxIT/SonoffLAN/blob/master/custom_components/sonoff/core/devices.py

ops. I thought it was the RE5V1C. I do not have the USB one but should be the same
I think the issue is here
SPEC_SWITCH = [XSwitch, LED, RSSI, PULSE, PULSEWIDTH]
SPEC_1CH = [Switch1, LED, RSSI]
SPEC_2CH = [Switch1, Switch2, LED, RSSI]
SPEC_3CH = [Switch1, Switch2, Switch3, LED, RSSI]
SPEC_4CH = [Switch1, Switch2, Switch3, Switch4, LED, RSSI]

As THis works:
   1: SPEC_SWITCH,

while here you have an issue
    77: SPEC_1CH,  # Sonoff Micro
    78: SPEC_1CH,  # https://github.com/AlexxIT/SonoffLAN/issues/615
    81: SPEC_1CH,
    182: [
        Switch1, LED, RSSI,
        spec(XSensor, param="current"),
        spec(XSensor, param="power"),
        spec(XSensor, param="voltage"),
    ],  # Sonoff S40
    190: [
        Switch1, LED, RSSI,
        spec(XSensor100, param="current"),
        spec(XSensor100, param="power"),
        spec(XSensor100, param="voltage"),
        spec(XEnergySensor, param="hundredDaysKwhData", uid="energy",
             get_params={"hundredDaysKwh": "get"}),
    ],  # Sonoff POWR3

Why you use SPEC_1CH and Switch1 instead of SPEC_SWITCH, so XSwitch ?

Because it is single channel device with multi channel firmware. I tried to explain it to you whole day :)
It show 4 channel via API, but only first channel works.

ops sorry :) now is clear :)
can we put an if in the code to create an exception for those ?
something like:
if ((self.device.uiid == 77) or (self.device.uiid == 78) or ((self.device.uiid == 81) or (self.device.uiid == 182) or (self.device.uiid == 190)) :
      self._attr_name = f"{device['name']}"
else:
      self._attr_name = f"{device['name']} {s}"


Reporting error when checker completed check successfully

Describe the bug
When I found the error msg " timed out waiting for checker pod to report in", I started looking for where is this bug.

Firstly, I got the checker pod in the cluster and wanted to review the checker pod status.
I discovered that the checker pod  did not exist.
I review the checker log from our Kibana platform and I found that checker reported successfully.
Then I review the kuberhealthy log，and I noticed that the reason why the kuberhealthy  report error msg " timed out waiting for checker pod to report in" was that it didn‘t see that checker pod updated .
This confused me why checker had completed check successfully and the kuberhealthy didn‘t see that checker pod updated ,what's more，why the checker pod was deleted immediately after completed check but my yaml config set ”maxCompletedPodCount: 4“
Then I saw the description from k8s doc:

The control plane cleans up terminated Pods (with a phase of Succeeded or Failed), when the number of Pods exceeds the configured threshold (determined by terminated-pod-gc-threshold in the kube-controller-manager). This avoids a resource leak as Pods are created and terminated over time.

That solved my puzzle, my checker pod was deleted by kube-controller-manager because of the lower value of the terminated-pod-gc-threshold.

But I thought kuberhealthy should  block the gc action  by kube-controller-manager,otherwise ,this will result in the unexpected error.

ps: I thought that if we set  "maxCompletedPodCount: 0" can lead to the same phenomenon.
@integrii

I know the kuberhealthy how to reaper checker pod.
My question is that the pods maybe be gc by the kube-controller-manager, this will lead to the unexpected error.
I have solved this question in my real cluster.

Could you please let us know how you fixed it?

@Hungrylion2019 Could you please let us know how you fixed it? It would help me and a lot of people facing the same issue

I have added a finalizer mechanism to the checker pod to ensure that the checker data is successfully uploaded before it is garbage collected. This will achieve the desired effect without modifying the terminated-pod-gc-threshold in KCM.


Private Login - Cloud Login

Original issue
#1724 and related #1360
Dependencies
#11 must be finished
Tasks

[x] Add new Settings option: "remember_user", which is connected to "Remember Me".
[x] Include a "Remember Me" toggle in Login modal (bottom right corner). Persist the setting into localStorage on every login

All following tasks only apply to Cloud login mode.

[ ] If the user logs out, and "Remember Me" was not set on login, check if the account in bitSharesStorage is the account currently unlocked. If so, remove all account related bitSharesStorage entries (account name)
[x] If the user logs in, and "Remember Me" is not checked, turn off persisting in bitSharesStorage

PR accepted


I have submitted my portfolio

@naveen3011 Kindly review my PR under Hacktoberfest 2022.

assign it to me


Scala Kinesis Enrich: reduce assembly time by disabling assemblyCacheOutput

Replacing with #1665 as this doesn't seem to work.


Should refactor help come from provider?

re https://github.com/microsoft/vscode/issues/89388
I have a test extension that now contributes refactor "help" without actually contributing any code action... Given that the current help UX is embedded in the normal code actions flow (e.g. activation of extensions, calling providers etc) would it make sense to let code actions provider contribute the help as part of their metadata? That would bring doc and code actions (which are targeted by that doc) closer together

Will continue discussion in #86788


⚠ Bofrost.de has degraded performance

In 7bb372b, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1438 ms

Resolved: Bofrost.de performance has improved in 2fc874f after 36 minutes.


close the briefcase db before throwing the error

Close the briefcase db before throwing the error, if we fail to open the codeService
fix iTwin/itwinjs-backlog#1122

I'm not sure this is right. I think what should happen if there is a CodeServiceDb but it is not available, is that we create a CodeService that always throws for verifyCode if the code is non-null. It should be legal to open a briefcase and make changes that don't affect codes.

I'm not sure this is right. I think what should happen if there is a CodeServiceDb but it is not available, is that we create a CodeService that always throws for verifyCode if the code is non-null. It should be legal to open a briefcase and make changes that don't affect codes.

I made some changes correspondingly. I'll also add a test, but before that I have a question, what is an example of a change to a briefcase that doesn't affect codes?

what is an example of a change to a briefcase that doesn't affect codes?

Deleting an element. Inserting or updating an element that has a null code. Saving a change made via IModelDb.save/deleteFileProperty. Updating or deleting a model.
i.e., any operation that either doesn't need to invoke verifyCode or for which verifyCode is a no-op.

Is there any concern that a user believes they've successfully instantiated a code service as opening the briefcase went smoothly, only for them to later find out we've setup a fake one for them? Meaning they wasted sometime creating an element(?) and is soon about to fail?
Maybe logging a warning that this has occurred is enough..?

Maybe logging a warning that this has occurred ( a fake codeservice ) is enough..?

Users won't even know what a CodeService is, but logging a warning wouldn't hurt. They will be stopped from performing any operation that requires code validation. I can imagine many scenarios where an entire session will work fine - it depends on what the operations they do. The message about why they can't add/change/delete something should make it clear what's wrong and how to resolve the problem.

Deleting an element. Inserting or updating an element that has a null code. Saving a change made via IModelDb.save/deleteFileProperty. Updating or deleting a model.

I tried updateFileProperty, it indeed does not affect code, does not invoke verifyCode and worked as expected. Just a question about inserting/updating element for my understanding, onUpdate/onInsert call verifyCode no matter what the code is, based on the function implementation:
protected static onUpdate(arg: OnElementPropsArg): void {
    const { iModel, props } = arg;
    iModel.channels.verifyChannel(props.model);
    iModel.locks.checkExclusiveLock(props.id!, "element", "update"); // eslint-disable-line @typescript-eslint/no-non-null-assertion
    iModel.codeService?.verifyCode(arg);
  }

Do you mean verifyCode is a no-op if the code is null?

Do you mean verifyCode is a no-op if the code is null?

Yes.

Do you mean verifyCode is a no-op if the code is null?

Yes.

I want to make sure that verifyCode in our new 'fake' codeService will not throw the error if the code is null. How do we define a null code? Is it Code.createEmpty() or undefined or null or something else?

How do we define a null code? Is it Code.createEmpty()

Yes.

I encountered a test case that is possible in real use cases:

update the code of the root subject to be an empty code using updateElement(newProps)
close the briefcase db
open that breifcase db again

There was an error in step3 from native code. After investigation, it is because GetIModelProps is called when opening the db. rootSubject->GetCode().GetValueUtf8CP() in line 1152 returns a nullptr, hence that error was thrown in line 1042.

I bypassed this issue by updating a non-root subject instead of the root subject. But there is a possibility in real use cases to meet the same situation.
Question:
Do we need to modify updateElement() to throw an error when users try to assign an empty code to the root subject?

To me, it seems better to error out at the time of updating the element as opposed to when opening the database after this update has occurred. Feels weird to modify updateElement in TS since all it does is call the native implementation of updateElement. So maybe its better to fix it on the native side?
Or maybe we should detect that we have an empty code and set the subject[json_name] to empty string in that case? I don't know if its necessarily wrong for the rootsubject's code to be empty or not. I think that the rootsubject's codeValue is typically the name of the iModel itself, but not sure if thats just a convention we've setup that we want to enforce by throwing an error or we can allow empty code and just set the name to an empty string.


Prepending fails on zsh with only shell integration enabled

Testing #182970
envVarCollection.prepend('PS1', '(.venv) ', {
    applyAtProcessCreation: false,
    applyAtShellIntegration: true,
});

seems to fail on zsh shell:

Let me know if we're unable to fix this in time, in which case I'll stop prepending for zsh in Python extension.

Looking into it now


Use vitest instead of jest for testing

I suggest replacing the testing with Vitest instead of jest.

Vitest guarantees a faster pace of testing and also integrates better with vite, which we are currently using.
We don't need jest.confg.js anymore.

With vitest, you can remove the jest, jest-environment-jsdom, ts-jest, and @types/jest packages
and replace them with vitest and jsdom for brevity.

If you don't mind, would you mind assigning it to me?
I've already seen it working fine locally. Thanks for reading, and keep it up!

use-vitest

I suggest replacing the testing with Vitest instead of jest.
Vitest guarantees a faster pace of testing and also integrates better with vite, which we are currently using. We don't need jest.confg.js anymore.
With vitest, you can remove the jest, jest-environment-jsdom, ts-jest, and @types/jest packages and replace them with vitest and jsdom for brevity.
If you don't mind, would you mind assigning it to me? I've already seen it working fine locally. Thanks for reading, and keep it up!

Sure. Can you create a pull request for me?

@Jonghakseo If i will finish my own project, i will take a look for that issue, and try to solve that, then i will give info to @wonkyDD  and he can start working again :)

BTW, using puppeteer/playwright to load the extension into browser and run e2e tests, sometimes comes handy.
Maybe bring them here?

https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/pull/279

@wonkyDD it's merged right now, feel free to start your work again :)


Cluster already belongs to class on re-named class

This could be a minor bug:

created a class ie. EmailAddress
renamed it to EmailAddressOld
when trying to to (re)create class EmailAddress it throws the bellow error
com.orientechnologies.orient.core.exception.OSchemaException: Cluster with id 15 already belongs to class EmailAddressOld

I am facing similar issue.

I have Record class registered with multiple clusters(approx 200+).
Later when I tried creating new class in OrientDb got following exception:

Exception in thread "Thread-0" com.orientechnologies.orient.core.exception.OSchemaException: Cluster with id 18 already belongs to class Record
	at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.checkClustersAreAbsent(OSchemaShared.java:1160)
	at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.doCreateClass(OSchemaShared.java:907)
	at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:362)
	at com.orientechnologies.orient.core.metadata.schema.OSchemaProxy.createClass(OSchemaProxy.java:111)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateClass.execute(OCommandExecutorSQLCreateClass.java:144)
	at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:64)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1173)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1162)
	at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
	at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1180)
	at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:385)
	at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:216)
	at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:65)

OrientDB Version?

OriendDB version:
VERSION 2.0-RC2
P.S. : I have fixed issue. I had a code in my app which used to check empty clusters (Clusters with 0 records) & used to drop those clusters using "odb.dropCluster(clusterName, true);" . May be this method just deletes the cluster but does not de-registers cluster id from associated class.
Now I modified that removes clusterId from associated claass using OClass instance of that class & then drops cluster.
Code snippet :

OClass oClass = odb.getMetadata().getSchema().getClass("Record");
.....
.....
for(String clusterName: clusters){
if(clusterName.length() > 4 && (clusterName.contains("cls_")){
if(odb.countClusterElements(clusterName) == 0){
System.out.println("REMOVING: " + clusterName);
oClass.removeClusterId(odb.getClusterIdByName(clusterName));
odb.dropCluster(clusterName, true);
}
}
}

Hi @SpareShade, @ganeshp0001,
I did a simple test to reproduce this, with no success, does this issue happen only if you have multiple cluster associated to the same class?

i finally found the reason and fixed, closing.


This is mind-blowing🤯

Hi Fathy, I just wanted to say that this project is really mind-blowing. Congratulations! 🎉
I took the liberty to share your project on Twitter and people seem to love it! I hope you don't mind.
Tweet link: https://twitter.com/manekinekko/status/1619819186368434176?s=20

Thanks for the kind words Wassim. I do not mind at all, I really appreciate it ❤


Adding feature to output individual electrode expansion

Description
The model will output positive and and negative electrode thickness in addition to the overall cell thickness it currently outputs.
Motivation
Currently, the mechanical model outputs only the overall cell thickness. In many cases, especially while studying degradation, it is useful to observe and analyze individual electrode thicknesses i.e. positive and negative electrode thickness.
Possible Implementation
In the _get_mechanical_results(self, variables) function of base_mechanics.py we can add additional code so that we can get individual electrode thicknesses. I've already tried out the implementation and it is very simple.
        if self.domain+" electrode thickness change [m]" not in variables:
            electrode_thickness_change = 0
        else:
            electrode_thickness_change = variables[self.domain+" electrode thickness change [m]"]
        electrode_thickness_change += self.param.n_electrodes_parallel * v_change * L0
return {
            self.domain+" electrode thickness change [m]": electrode_thickness_change,
        }

Additional context
No response

How's this going @sravanpannala ?

@mbonkile is also interested in this feature

I'll try to work on it this weekend. Just for confirmation, I've to implement this on a fresh fork, right? And then run all the unit tests?

@sravanpannala any update on this? Yes, implement on your own fork and then make a PR.


acme: Error 403 - urn:acme:error:unauthorized - Account creation on ACMEv1 is disabled. Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555. See https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 for details.

i got this error...
acme: Error 403 - urn:acme:error:unauthorized - Account creation on ACMEv1 is disabled. Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555. See https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 for details.
I have Windows version, and the last version.
Do you want help me please ?

you may have a DNS problem

Check your A records in DNS


replace spoofed files from verso with ... QA lookup???

It seems our plan to make actual calls out to LC's verso to get ontologies and such is ... tabled permanently?
Should we get this info from QA?
Should we just consider it static info now and no longer call it "spoof" and/or move it to a diff directory ?
It's confusing to be using things in production that have the name "spoof" - it's not a good practice.

I don't think QA would be the source for these files. Since the LOC uses github to manage these profiles, one possible solution would be to make a direct call out to github repository or (and something I've had working in the past with the editor) use the Github API to retrieve these files.

@jermnelson is this ticket still relevant?

Current approach is acceptable.


feat: reduces database provisions

What
feat: reduces database provisions

:tada: This PR is included in version 1.63.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Unity 2019 compatibility

It's all here, let me know if it works (in 2019 it does as well as in my 2020)

It's better to use a directive instead of change the code. I making a new PR with your suggestion doing this.
Look this branch https://github.com/psydack/uimgui/tree/bugfix/run-2019, if everything works I'll merge to release with version 4.0.0 from this pull request https://github.com/psydack/uimgui/pull/11.


added reaction & similarity generation scripts and README

:+1: :+1:

At some point maybe we can go back and organize everything in this repo, maybe have a single CLI for running each module. Probably next quarter?

At some point maybe we can go back and organize everything in this repo, maybe have a single CLI for running each module. Probably next quarter?

Definitely!


Fix several issues with the flow-libdef

Fix several issues with the flow-libdef

Remove CardProps, SectionProps, and ElementProps, which were vestigial and not currently being used.
Remove exactness in object definitions with indexer properties, as they are incompatible.
Export a props type for cardBody and modalBody components so that these components can be defined externally.
Use React$ComponentType, as React$AbstractComponent was incorrect.

Remove CardProps, SectionProps, and ElementProps, which were vestigal and not currently being used.
Remove exactness in object definitions with indexer properties, as they they are incompatible.

Oh, one other thing. Depending on how exacting you want to be with regard to typos, in your commit message, you've got "they they" and "vestigal" rather than "vestigial"


Add self-taught excercises to pre-training curricula

Throwing excercises at participants before the training to get them in the headspace and surface information about the participants' level of comfort with different aspects of the process. Exercises that would be self-starting might include LiveUSB creation, adding packages to their Kali that you find useful, overthewire exercises, making the guide, testing nmap on your home network, etc

Added a "homework" section to the pre-training curricula guide


"method is not a base" on method with {.base.}

I first raised this issue on nimlsp (https://github.com/PMunch/nimlsp/issues/100) but was directed here.
The following snippet of code shows an error in nimlsp 0.3.2:
type
  UnimplementedDefect = object of Defect

  Node* = ref object of RootObj
  Statement* = ref object of Node
  Expression* = ref object of Node

  Program* = ref object of Node
    statements*: seq[Statement]

method tokenLiteral*(n: Node): string {.base.} =
  raise newException(UnimplementedDefect, "unimplemented: tokenLiteral")

method tokenLiteral*(p: Program): string =
  if p.statements.len > 0:
    return p.statements[0].tokenLiteral()
  else:
    return ""

It compiles just fine with Nim 1.7.1, but I get "method is not a base" within Emacs.

Flagging that I'm also seeing this, with Nim >2.1.1 in Emacs, using nimsuggest directly (rather than via LSP). The application compiles without errors or warning, but nimsuggest complains.

I'm also in Emacs (using LSP however), and I also get this message. Compilation succeeds silently for me too. Nim 2.0.2.


geolocator error in android

when i use this version geolocator 6.1.7
in android i get this error when i run my app
FAILURE: Build failed with an exception.

What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.

Could not resolve all dependencies for configuration ':app:debugCompileClasspath'.
Problems reading data from Binary store in /private/var/folders/_z/3_7d4kw101n9zhsc8rc74st00000gn/T/gradle6893801387785238328.bin offset 540666 exists? true

@AhmedTahaabdallah this looks to be an issue on your development environment. The provided information is limited but a few things you can try are:

First think to try is to run flutter clean and try to rebuild the app. If the problem persists make sure to check the points below.
Make sure your project is migrated to AndroidX (https://flutter.dev/docs/development/androidx-migration);
Make sure your Android project uses gradle version 3.5.0 and gradle-wrapper 5.6.2.

To check the gradle version take the following steps:

Open the build.gradle file located in you android folder and look for the following line:

        classpath 'com.android.tools.build:gradle:<version>'

Make sure you update the <version> to version number 3.5.0 (or higher) and save the changes;
Next make sure to update the gradle-wrapper by opening the file gradle-wrapper.properties file in the android/gradle/wrapper folder and look for the line:

distributionUrl=https\://services.gradle.org/distributions/gradle-<version>-all.zip

Make sure the <version> part is set to 5.6.2 (so the complete line looks like: distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip)
Save the changes and run the following commands:

# Clean the Flutter project cache to ensure a fresh full build
flutter clean
# Build the Android Flutter application
flutter build apk

If this still didn't work please try to provide more information:

Output of the flutter doctor -v command;
Small reproducible example.

Another thing you can try is to create a new flutter project and add the geolocator plugin. If that builds correctly (as it should) you can start comparing your Android files with the new project and see if you can find any differences.

Closing issue due to lack of response. I would gladly reopen the issue once the requested information is supplied.

I'm also having the same problem, I did the steps above but to no avail

Hi @rjtubera,
For us to be able to help you please submit a new issue and list the following information:

Version of the plugin you are using;
Output of the flutter doctor -v command;
Contents of your android/app/build.gradle file;
Full stack trace log describing the exception;
Example code on how you are using the geolocator plugin.


Unable to create mysql tables

Hi,
I'm trying to follow the instructions to create the SQL tables for the database, but am running into the below issue.
mysql -u susbus -p argem_db < create_tables.sql
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Is there a way to provide the premade tables?
Thanks,
Susheel

Hi,
According to the error code, this problem is caused by the MySQL server not running:
https://dev.mysql.com/doc/refman/8.0/en/connecting-disconnecting.html
Hope this helps!


Writing the same crash file multiple times can result in corrupted file in container

Information

Onefuzz version: 2.33.1
OS: Windows

Provide detailed reproduction steps (if any)

Start job
Create and write file in a temp directory
Move file to crashes folder to be uploaded to crashes container by OneFuzz
Repeat, replacing the file in the crashes folder.

In our example we only replaced it once to trigger the issue, but we expect this was (un)fortunate timing on our part. Repeatedly replacing the file may work better to trigger the behavior.
Examples from OneFuzz instance:

Job id: 3e0ed3a3-dcfe-441b-89e4-87914b958554
Crashes container: oft-crashes-47f2815a04915f93857618ea4a946f68 . The corrupted file is the one whose file size is 80896 bytes (about 20% smaller than the other files).

Expected result
Upload to fail. In other cases where we've had issues like this (e.g. the inputs container) we've encountered an azcopy error indicating the file had changed between start and end of upload.
Actual result
The uploaded .tar file was corrupted. The archive length was smaller than the actual file length within the archive.
Impact
For what it's worth, we were not intending to write the crash file multiple times. There was a separate race condition on our side that we have corrected, so we are no longer impacted by this. Reporting in case there are other fuzzers that could trip over this.
AB#39994215

Would it make sense for OneFuzz to change permissions on the file when it starts uploading it to prevent it from being overwritten ?
Or it is better to allow the file be overwritten and OneFuzz would fail the upload ?

Most to least preferable:

Succeed upload, retrying in background as necessary (reasonable limits apply). OneFuzz environment is ideally transparent to fuzzer
Fail fast and loud, clearly indicating the problem
Silently fail while corrupting the destination file

@stishkin can this be closed now?

@mgreisen - this work is not done. I did not merge my PR. I closed it, since what I implemented was not correct


Password length check is variable but also fix coded in \bl-kernel\functions.php

for development reason i changed the password length in \bl-kernel\boot\variables.php to:
// Password length
define('PASSWORD_LENGTH', 3);

in \bl-kernel\functions.php
line 548 in createUser as expected:
// Password length
 if (Text::length($args['new_password']) < PASSWORD_LENGTH) {
   Alert::set($L->g('Password must be at least ' . PASSWORD_LENGTH . ' characters long'), ALERT_STATUS_FAIL);

but in line 679 its hardcoded;
  // Password length
  if (Text::length($newPassword) < 6) {
    Alert::set($L->g('Password must be at least 6 characters long'), ALERT_STATUS_FAIL);

shouldn't it be equal?
Bludit version
3.15
PHP version
8.3.2

fixed, https://github.com/bludit/bludit/commit/e770d6a9728c8ab6d39e8ce78ecc118f9c50c1f1


Create mechanism for having a set of common tags for the NuGet packages

We should have a single place where shared tags for the Track2 libraries are setup.
Those tags would be merged with the ones coming from the package.
Suggested approach:

Have the common tags be defined in a property https://github.com/Azure/azure-sdk-for-net/blob/master/eng/Directory.Build.Data.props#L109 there
consume that in the projects.

That makes it clear in the projects they are getting another set of common tags and we don’t as easily end up with duplicate tags.

Fixed by https://github.com/Azure/azure-sdk-for-net/pull/8813


Feature: When subscribing to multiple topics, have the ability to priorities topics over others

When subscribing to multiple topics, it may be useful to prioritise processing of some topics over others.
To avoid starving low priority topics, we could use a system where we only reserve a portion of our processing to the higher priority topics.
For example (high priority means more important):
Topic A -> priority 3
Topic B -> priority 2
Topic C -> priority 1
Topic D -> priority 1
90% of concurrency is available to priority 3 messages if and only if it's needed (enough messages are available for processing.
75% is available for priority 2.
Percentages could be derived or explicitly provided.
As with this system, we can only prioritise messages we've downloaded (but not necessarily processed into our queues), it might be useful to allow uses to explicitly tell the system to keep a larger buffer downloaded than what is normally necessary to satisfy concurrent processing demand.
An extension of this, we could experiment with prioritising messages within a topic as well.

Closing Issue


Tests do not find PyLib, wrong search path.

Hi. I try to build a package for Fedora. When maven is called, it automatically executes tests but it fails to find PyLib properly due to wrong path setting. It's not possible to use setup.py --maven, because we don't want to let maven download automagically missing dependencies.
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jpy.PyLibTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.033 sec <<< FAILURE! - in org.jpy.PyLibTest
org.jpy.PyLibTest  Time elapsed: 0.033 sec  <<< ERROR!
java.lang.ExceptionInInitializerError
        at org.jpy.PyLibTest.setUpClass(PyLibTest.java:30)
Caused by: java.lang.RuntimeException: missing configuration property 'jpy.jpyLib'
        at org.jpy.PyLibTest.setUpClass(PyLibTest.java:30)

Running org.jpy.JavaReflectionTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.jpy.JavaReflectionTest
Running org.jpy.PyLibWithSysPathTest
class org.jpy.PyLibWithSysPathTest: code source: file:/home/builder/rpmbuild/BUILD/python-jpy-0.8/python2/target/test-classes/
PyLibWithSysPathTest: starting Python with 'sys.path' extension: /home/builder/rpmbuild/BUILD/python-jpy-0.8/python2/target/test-classes/pymodules
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.001 sec <<< FAILURE! - in org.jpy.PyLibWithSysPathTest
org.jpy.PyLibWithSysPathTest  Time elapsed: 0.001 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.jpy.PyLib
        at org.jpy.PyLibWithSysPathTest.setUpClass(PyLibWithSysPathTest.java:50)

Running org.jpy.PyModuleTest
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0 sec <<< FAILURE! - in org.jpy.PyModuleTest
org.jpy.PyModuleTest  Time elapsed: 0 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.jpy.PyLib
        at org.jpy.PyModuleTest.setUp(PyModuleTest.java:37)

org.jpy.PyModuleTest  Time elapsed: 0 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.jpy.PyLib
        at org.jpy.PyModuleTest.tearDown(PyModuleTest.java:45)

Running org.jpy.PyObjectTest
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0 sec <<< FAILURE! - in org.jpy.PyObjectTest
org.jpy.PyObjectTest  Time elapsed: 0 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.jpy.PyLib
        at org.jpy.PyObjectTest.setUp(PyObjectTest.java:42)

org.jpy.PyObjectTest  Time elapsed: 0 sec  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class org.jpy.PyLib$Diag
        at org.jpy.PyObjectTest.tearDown(PyObjectTest.java:50)

Running org.jpy.jsr223.Jsr223Test
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.jpy.jsr223.Jsr223Test

Results :

Tests in error:
  PyLibTest.setUpClass:30 ExceptionInInitializer
  PyLibWithSysPathTest.setUpClass:50 NoClassDefFound Could not initialize class ...
org.jpy.PyModuleTest.org.jpy.PyModuleTest
  Run 1: PyModuleTest.setUp:37 NoClassDefFound Could not initialize class org.jpy.PyLib
  Run 2: PyModuleTest.tearDown:45 » NoClassDefFound Could not initialize class org.jpy....

org.jpy.PyObjectTest.org.jpy.PyObjectTest
  Run 1: PyObjectTest.setUp:42 NoClassDefFound Could not initialize class org.jpy.PyLib
  Run 2: PyObjectTest.tearDown:50 NoClassDefFound Could not initialize class org.jpy.Py...

Tests run: 10, Failures: 0, Errors: 4, Skipped: 0

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Skipping Java-Python Bridge
[INFO] This project has been banned from the build due to previous failures.
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.161 s
[INFO] Finished at: 2017-09-24T13:21:11+02:00
[INFO] Final Memory: 17M/156M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project jpy: There are test failures.
[ERROR]
[ERROR] Please refer to /home/builder/rpmbuild/BUILD/python-jpy-0.8/python2/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

It's not possible to use setup.py --maven,

Which command have you used for building/testing?

Please provide documentation about how to build, install and run tests properly.

i found in build.log:
org.jpy.PyLibTest  Time elapsed: 0.049 sec  <<< ERROR!
java.lang.ExceptionInInitializerError
        at org.jpy.PyLibTest.setUpClass(PyLibTest.java:30)
Caused by: java.lang.RuntimeException: missing configuration property 'jpy.jpyLib'
        at org.jpy.PyLibTest.setUpClass(PyLibTest.java:30

Again, could you first please provide the command you have entered to build jpy and which caused the error.
You're right, installation docs may be updated to also address the problem you currently have.

We can not use the magic --maven switch in Fedora because we do some magic to maven as well, e.g. to run it with special resolver for locally available dependencies only.
For me, it's not clear if maven should run before or after python compilation. When can those tests run successfully?
I'll attach the build.log grepped for used commands (without any additional output, for relevant parts see above):
umask 022
cd /home/builder/rpmbuild/BUILD
cd /home/builder/rpmbuild/BUILD
rm -rf python-jpy-0.8
/usr/bin/mkdir -p python-jpy-0.8
cd python-jpy-0.8
/usr/bin/gzip -dc /home/builder/rpmbuild/SOURCES/jpy-0.8.tar.gz
/usr/bin/tar -xof -
STATUS=0
'[' 0 -ne 0 ']'
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
mv jpy-0.8 python3
find python3 -maxdepth 1 -name '*.md' -or -name '*.txt' -or -name '*.rst' -print -exec ln -s '{}' -t. ';'
pushd python3
sed -i 's:'\''mvn'\'':'\''xmvn'\'', '\''-o'\'':' setup.py jpyutil.py
popd
exit 0
umask 022
cd /home/builder/rpmbuild/BUILD
cd python-jpy-0.8
export JAVA_HOME=/usr/lib/jvm/java
JAVA_HOME=/usr/lib/jvm/java
true ----- python3
pushd python3
/usr/bin/python3 /usr/share/java-utils/mvn_build.py

Do not wonder about the special python3 subfolger. It's possible to build separately for python2 as well but it's the same issue then.

Hope to find some time next week to explain, improve setup.py, and update README.md.

I get the same issue when I run python setup.py --maven bdist_wheel followed by mvn clean install on Ubuntu.

Me too, has someone found solution ?


Priority low label is too green

The green stands out too much. Please use the following color: C8EDBE

Scheduled for release: v1.1.1


[QUESTION]Unable to retrieve column metadata

Question

Please assist to the customer to solve the following issue:
My customer uses this Microsoft repo (https://github.com/microsoft/mssql-jdbc)  to connect and upload the data from Kafka Flink JDBC (version 12.4) connector to SQL Server (2022 Evaluation/Standard Edition) on Azure VM. The same connection works fine with AWS environment.
Unfortunately, sometimes, they fail to make the following error randomly: different DB, table, and region.
"Unable to retrieve column metadata."
https://github.com/microsoft/mssql-jdbc/blob/2799c6cadb5a24a5e5d50427506eda7e8e5225c7/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerResource.java#L271C76-L271C76
Relevant Issues and Pull Requests

Error during the uploading data from Kafka to SQL Server:
org.apache.flink.runtime.checkpoint.CheckpointException: Failure to finalize checkpoint. at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.finalizeCheckpoint(CheckpointCoordinator.java:1423) ~[flink-dist-1.18-SNAPSHOT.jar:1.18-SNAPSHOT] at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.completePendingCheckpoint(CheckpointCoordinator.java:1309) ~[flink-dist-1.18-SNAPSHOT.jar:1.18-SNAPSHOT] at org.apache.flink.runtime.checkpoint.CheckpointCoordinator.receiveAcknowledgeMessage(CheckpointCoordinator.java:1201) ~[flink-dist-1.18-SNAPSHOT.jar:1.18-SNAPSHOT] at org.apache.flink.runtime.scheduler.ExecutionGraphHandler.lambda$acknowledgeCheckpoint$1(ExecutionGraphHandler.java:89) ~[flink-dist-1.18-SNAPSHOT.jar:1.18-SNAPSHOT] at org.apache.flink.runtime.scheduler.ExecutionGraphHandler.lambda$processCheckpointCoordinatorMessage$3(ExecutionGraphHandler.java:119) ~[flink-dist-1.18-SNAPSHOT.jar:1.18-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?] at java.lang.Thread.run(Unknown Source) [?:?] Caused by: org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "file" at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3443) ~[?:?] at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3466) ~[?:?] at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:174) ~[?:?] at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3574) ~[?:?] at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3521) ~[?:?] at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:540) ~[?:?] at org.apache.hadoop.fs.FileSystem.getLocal(FileSystem.java:496) ~[?:?] at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:316) ~[?:?] at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:393) ~[?:?] at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:165) ~[?:?] at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146) ~[?:?] at org.apache.hadoop.fs.store.DataBlocks$DiskBlockFactory.createTmpFileForWrite(DataBlocks.java:980) ~[?:?] at org.apache.hadoop.fs.store.DataBlocks$DiskBlockFactory.create(DataBlocks.java:960) ~[?:?] at org.apache.hadoop.fs.azurebfs.services.AbfsOutputStream.createBlockIfNeeded(AbfsOutputStream.java:262) ~[?:?] at org.apache.hadoop.fs.azurebfs.services.AbfsOutputStream.(AbfsOutputStream.java:173) ~[?:?] at org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.createFile(AzureBlobFileSystemStore.java:580) ~[?:?] at org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem.create(AzureBlobFileSystem.java:301) ~[?:?] at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1195) ~[?:?] at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1175) ~[?:?] at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1064) ~[?:?] at org.apache.flink.fs.azure.common.hadoop.HadoopFileSystem.create(HadoopFileSystem.java:154) ~[?:?] at org.apache.flink.fs.azure.common.hadoop.HadoopFileSystem.create(HadoopFileSystem.java:37

hi @ekgershg
This repo is for the Microsoft JDBC Driver for SQL Server and we offer support specific to this driver only. Your error message above is all within your 3rd party application only I would suggest you reach out to that team for support on the error.
If you have still have questions relating to how to use the JDBC driver, please provide the repro schema used and a standalone java application that uses the driver directly. And also a stack trace that shows where the error occurred in the driver so we can better assist you.

please feel re-free to request re-opening if you have questions about using the Microsoft JDBC Driver for SQL Server


Error migrating from Polly node

I just changed my flows to use the new ultimate-node instead of Polly-tts.
The node does work with "Google without authentication" but I do not like the voices and would prefer the AWS ones
My AWS credentials were working fine with Polly-tst. However, im getting below error messages when using AWS credentials in the ultimate node
"ttsultimate-config: Error getting polly voices CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1"
Please advise on where I have to update this in my setting.
I'm running the latest Node-Red in Ubuntu-Docker.
thanks for your help

Hi
You probably need to change your credential key in AWS.
Sometime, reused credential keys for other service endpoint are not allowed.
Please also uninstall sonospollytts.

Thanks for the quick response.
sonospollytts is already uninstalled and I will get new credentials now

Sorry, I just generated new credentials but the error remains the same
"ttsultimate-config: Error getting polly voices CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1"

Hi
have you changed the credentials in the config node as well, richt?
Have you restarted nodered?

OK, it looks like it took a while to sync. I did restart Node-Red 3 times and it is working now
thx a lot .. all good !