DS-2616: correcting xpath for dc:format in oai_dc.xsl

Regarding DS-2616. If the intention was to have the format from all bitstreams, including those in LICENSE and other bundles, this should be enough. If it was intended just for ORIGINAL bundle the xpath needs to be modified further.

Thanks for the PR @kosarko
As I just commented in the ticket, my "guess" is that it should be intended to ONLY include bitstreams from the ORIGINAL bundle.
I cannot think of any use cases for returning the formats of files in the LICENSE, THUMBNAIL, TEXT (and other) bundles via the dc:format field in OAI-PMH. So, I suspect we'll want to modify this PR slightly to only include bitstreams in the ORIGINAL bundle.

@tdonohue modified the xpath to only include bitstreams from ORIGINAL bundel

Thanks, @kosarko! At a glance, this looks good.
Just needs a volunteer to run a quick test of the new xpath.

I've tested this PR, works well.
I'm in support of this fix generally but withholding an actual vote pending outcome of discussion on JIRA ticket and any further thoughts I might have ;)

In order to accept this for 6.0, we'd need this PR to be recreated against the "master" branch.


Further improve mobile stats

Follow-up to #298
When the screen is too small to fit the stats into a single line, the stats are still wrapping into two lines, but now within the fields, breaking apart numbers and units (!), instead of wrapping flex elements as before. See Galaxy S8 (360px viewport width) screenshot on master:

For comparison:
Galaxy S8 (360px viewport width) on brouter.de (v0.11.1):

Screenshot from #298:

Ideas:

still allow flex wrapping as before when no space is left

only show first line (invisible overflow) + button to expand to full height

enable horizontal overflow/scrolling
remove .stats-label { word-break: break-all; for proper word breaking at separator
(I think that was needed to wrap flex elements instead of the content)

Another issue:

no minimal space/margin between the elements
(observable in desktop Chrome/Chromium device toolbar with device set to "Responsive" and then dragging the handles to change screen size)

* remove `.stats-label { word-break: break-all;` for proper word breaking at separator
  (I think that was needed to wrap flex elements instead of the content)

I wasn't sure if that class was still needed since I wasn't sure what it tried to fix. But I do think we can remove it.

* no minimal space/margin between the elements
  (observable in desktop Chrome/Chromium device toolbar with device set to "Responsive" and then dragging the handles to change screen size)

That was on purpose, because adding spaces prevent info from fitting on a single row on smaller screen - and the main idea was to put on a single row as much as possible (too much height is lost when a second row is created). But I think some proper UI/UX should be done to fix that.

I get that the previous layout was wrapping too early, but now there isn't even a single pixel between the fields, e.g. distance and time, there should still be some margin/padding at least as wide as between number and unit:

What do you have in mind as a proper UI/UX?

Yeah maybe a space is fine, but actually I was more looking at a redesign with proper field separator, for instance Material use chips:

(but it consumes more spaces obviously).
But I think some fields should be hidden/removed on smaller screen, maybe removing some fields (for instance energy), or make the bar horizontally scrollable? We definetely need some UX guidance on that :).

I guess part of what you mean is what I have in mind also for a larger layout improvement of the stats.
The current " | " separator makes it more obvious than the brackets we had before, that headings and numbers are not aligned. The flex elements should really be a table or grid with headings and numbers as rows and one, two or more stats as columns, forming a group.
Both the columns (or single fields without heading) and groups could then be highlighted with a slightly different background color or separated by border CSS instead of " | ", which probably would be more clear and therefore require less spacing.

As a quick fix I added flex-wrap to wrap like before, but only when there is no space left, instead of the hard character break, and some minimal margin, see ebaba66. The layout of your screenhot in #298 stays the same.


guide for linux runner

hi!
the default parameter :  "%s" is the wrong one . I was told at one point what it was now I can't remember.
I remember I had been told this by somebody on the Downlord-FAF team and it was something like "%w" (this isn't it though, I tried) and it worked amazingly well it just linked to the game.
but right now I can't remember what the args were.
I'm using lutris because that works now on ubuntu 18 whereas wine doesn't. it uses wine all the same but it's own wineprefix & configuration that for some reason just works.
here's my current setup :
Game Location :
/home/t/.local/share/lutris/runners/winesteam/prefix64/drive_c/Program Files (x86)/Steam/steamapps/common/Supreme Commander Forged Alliance
command line for executable :
"%s"
Execution directory :
"/opt/downlords-faf-client-0.9.0-beta-rc.3"
(which is apparently the default since I am running faf after cd'ing to this directory)
the error I get is the following which doesn't really add up  :

i allowed the executing of the exe btw
java.util.concurrent.CompletionException: com.github.nocatch.NoCatchException: java.io.IOException: Cannot run program "/home/t/.faforever/bin/ForgedAlliance.exe" (in directory ""): error=2, No such file or directory
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:659)
	at java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:669)
	at java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:1997)
	at com.faforever.client.game.GameService.startGame(GameService.java:464)
	at com.faforever.client.game.GameService.lambda$hostGame$9(GameService.java:228)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
	at com.faforever.client.remote.FafServerAccessorImpl.onGameLaunchInfo(FafServerAccessorImpl.java:505)
	at com.faforever.client.remote.FafServerAccessorImpl.lambda$parseServerObject$1(FafServerAccessorImpl.java:447)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at com.faforever.client.remote.FafServerAccessorImpl.parseServerObject(FafServerAccessorImpl.java:447)
	at com.faforever.client.remote.FafServerAccessorImpl.onServerMessage(FafServerAccessorImpl.java:416)
	at com.faforever.client.remote.AbstractServerAccessor.blockingReadServer(AbstractServerAccessor.java:44)
	at com.faforever.client.remote.FafServerAccessorImpl$1.call(FafServerAccessorImpl.java:260)
	at com.faforever.client.remote.FafServerAccessorImpl$1.call(FafServerAccessorImpl.java:232)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at javafx.concurrent.Service.lambda$null$493(Service.java:725)
	at java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$494(Service.java:724)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.github.nocatch.NoCatchException: java.io.IOException: Cannot run program "/home/t/.faforever/bin/ForgedAlliance.exe" (in directory ""): error=2, No such file or directory
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.github.nocatch.NoCatch.wrapException(NoCatch.java:61)
	at com.github.nocatch.NoCatch.noCatch(NoCatch.java:104)
	at com.github.nocatch.NoCatch.noCatch(NoCatch.java:82)
	at com.faforever.client.game.GameService.lambda$startGame$34(GameService.java:472)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656)
	... 24 more
Caused by: java.io.IOException: Cannot run program "/home/t/.faforever/bin/ForgedAlliance.exe" (in directory ""): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at com.faforever.client.fa.ForgedAllianceService.launch(ForgedAllianceService.java:124)
	at com.faforever.client.fa.ForgedAllianceService.startGame(ForgedAllianceService.java:74)
	at com.faforever.client.game.GameService.lambda$null$33(GameService.java:472)
	at com.github.nocatch.NoCatch.noCatch(NoCatch.java:100)
	... 27 more
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
	... 31 more

I've tried setting the Execution directory :  to /
but in that situation FAF has a progress bar that instantly goes away with nothing happening and no error message so I think it's worse.

We planned on making a linux executable but we have not many linux developers that are willing to fix issues on linux

https://youtu.be/ruLJ_4SWI14

We would add it to the read me if you would do this with the newest version and not some unofficial version

i'm on it

Also the newest versions are in tar.gz that might be a little different to install (not sure)

heck yeah it will. it's less reliable then .deb. I can work with it anyways but my audience (whatever that is) won't enjoy the downgrade. here's crossing fingers for a .deb as part of releases one day :)

We can probably add that to future releases again, but that is rather a task for @micheljung i am not that much into that

U need 10 you shall NOT USE java 11

Install open jre 10
should work

Did you set INSTALL4J_JAVA_HOME ?

https://askubuntu.com/questions/1095910/force-oracle-java-10-not-java-11?noredirect=1#comment1804922_1095910

First off - you guys are doing amazing work.  I've been lurking for some
time and watching the code.  I'll  be trying to get this working on steamos
and centos, so another Linux guy jumping into the fray.
Why JDK 10 rather than 11?  In the process of getting from JDK 8 to 11(LTS)
at work, which has been all sorts of fun.
On Sun, Nov 25, 2018 at 9:36 AM tatsujb<EMAIL_ADDRESS>wrote:

https://askubuntu.com/questions/1095910/force-oracle-java-10-not-java-11?noredirect=1#comment1804922_1095910
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FAForever/downlords-faf-client/issues/984#issuecomment-441449250,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACAzTFegG8swHYrUlTBCNMrk1l4IYP6cks5uyrj9gaJpZM4XLSZS
.

Because making the release was more important right now than spend more time on migrating to JDK11. The timespan between 0.8 and 0.9 was over a year which introduced a lot of issues due to changes and regressions piling up.

Yah, figured as much.   Fire and motion.  Wish our work code was as clean as this 'play' code. :)

And java 11 has no java fx anymore u need to add it as dependency i think

what? that's a crazy move on their part! is adding java fx as a dependency a pain?

it's more DIY then people are used to. ubuntu and linux distros in general have shed their "hard to use" nowadays you can use ubuntu even if you identify as a gamer and nothing else or even if you identify as a "grandma" and have more ease of use then windows by a huge margin.
People are switching to linux thanks to this and I'd like to encourage this movement by making faf one of those "plug-and-play" things on linux.

got faf running today thanks to that answer on askubuntu (dunno if that was you or not) but this new way of installing the client behaves differently and thus has it's own issues :
java.util.concurrent.CompletionException: com.github.nocatch.NoCatchException: java.io.IOException: Cannot run program "wine" (in directory "/home/t/.faforever/bin"): error=2, No such file or directory
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)

I can see here that it's correctly running from /home/t/.faforever/bin not opt/downlord..., but that's just a small bonus, on the other hand it cannot run wine. witch my linux should finc regardless of whether in opt or home so I don't understand what to do here.

I got faf running from tarball by successfully forcing an install of java 10.
however the maintainer of wine-gallium nine broke compatibility with ubuntu 18.04.01 with his update to 3.20  so I'm kinda stuck.

sorry to have taken so long :https://www.youtube.com/watch?v=RRINgZQl7LU [youtube]RRINgZQl7LU[/youtube]

@axel1200 hey could we have that link updated to simply my script? https://github.com/tatsujb/installFAFscript that video has been outdated for a good while yet it's been getting a good number of views from that page.

@tatsujb added to the readme as well


CVE-2019-5736

Can we get an updated cri-containerd tarball with a fix for the runc issue please?

Working on that right now. Should be out today.

any news?

v1.2.4 and v1.1.6 are available now

Thank you! :)

not seeing the csi-containerd tarball yet.
https://storage.googleapis.com/cri-containerd-release/cri-containerd-1.2.4.linux-amd64.tar.gz 404's.

I think @Random-Liu was working on publishing them; doesn't look like they are there yet, but I assume they will be today

Done

Yup. works for me. Thanks. :)


remove panic from reading data frames

Just want to double check this polars version is good with you @benartuso, mainly replaced the panic's with Results when reading DFs

@gschoeni this is the one i upgraded to locally and is working, lgtm!


Track which validators are contributing towards tx and effects cert the most

With these couple metrics we can answer a simple question - how much a validator is contributing (or how valuable it is) with respect to building transaction and effects? But this visibility is lacking today and we aim to bride this gap with this diff.

Once we enable epoch change, we need some extra logic to update authority aggregators. Do we have an issue to track this? cc @lxfind

Yes https://github.com/MystenLabs/sui/issues/2924

Yes #2924

not necessarily on fullnode. Load gen today uses its embedded quorum driver and will continue having this option.

Load gen today uses its embedded quorum driver and will continue having this option.
I would assume load gen using embedded quorum driver is only temporary? i.e. once fullnode + quorum driver stablizes, the load gen should just talk to the fullnode directly.


@jit is not working

Traceback (most recent call last):
File "kangaroo256-main.py", line 732, in
Sp.append(mul_2a(Sp[k]))
File "kangaroo256-main.py", line 200, in mul_2a
c = A.x * A.x * invert(A.y+A.y, p)          # 1I,2M,0S
File "C:\Users\Admin\Anaconda3\lib\site-packages\numba\dispatcher.py", line 351, in _compile_for_args
error_rewrite(e, 'typing')
File "C:\Users\Admin\Anaconda3\lib\site-packages\numba\dispatcher.py", line 318, in error_rewrite
reraise(type(e), e, None)
File "C:\Users\Admin\Anaconda3\lib\site-packages\numba\six.py", line 658, in reraise
raise value.with_traceback(tb)
numba.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
non-precise type pyobject
[1] During: typing of argument at kangaroo256-main.py (144)

File "kangaroo256-main.py", line 144:
def invert(b, p=modulo):
    u, v = b%p, p
 ^
This error may have been caused by the following argument(s):

argument 0: Int value is too large:<PHONE_NUMBER>1517633956166170261014086368942546761318486551877808671514674964848
argument 1: Int value is too large:<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007908834671663

This is not usually a problem with Numba itself but instead often caused by
the use of unsupported features or an issue in resolving types.
To see Python/NumPy features supported by the latest release of Numba visit:
http://numba.pydata.org/numba-doc/dev/reference/pysupported.html
and
http://numba.pydata.org/numba-doc/dev/reference/numpysupported.html
For more information about typing errors and how to debug them visit:
http://numba.pydata.org/numba-doc/latest/user/troubleshoot.html#my-code-doesn-t-compile
If you think your code should work with Numba, please report the error message
and traceback, along with a minimal reproducer at:
https://github.com/numba/numba/issues/new

Closing. Duplicate of #5005


Credentials in Gemfile should override ones in config

See discussion at https://github.com/bundler/bundler/pull/3342#discussion_r22688056

Whoops, I guess I misread how it works now. :P I can see the argument for config overriding Gemfile, and I'm not sure which one makes more sense. How do you feel about it?

Yeah, I'm of two minds about it myself. On the one hand, the config is more personal, so it would make sense to have config take precedence if you're building random Gemfiles (with other credentials? it could happen I guess). On the other hand, the ones in the Gemfile are more obvious, so it could be confusing if you're looking at them right there and they aren't being used.
It would be good to hear from people who actually use this feature (I don't).
Whatever we decide, we should explicitly document it and write a spec for it so that it doesn't change again.

I'm thinking that regardless of what makes more sense, if the way it currently works is to use what's in the Gemfile, we shouldn't change that in a bug fix release.

This is how it works now, happily.


LayoutMixin

Hi, is there any example of spliting the layout into different nested components?
For some reason, when trying to extract layout from a single component into child components, I'm getting Error: missing layoutContext.height  (react 0.12.2), for some reason layoutContext is not being propageted. Any hints?
thanks.

never mind.. it seems to be working as expected.

i am also getting the same error anybody have any idea on how to resolve it

I guess one way is in the component you use LayoutMixin, you can render ( <Layout> .. </Layout> ) and props such as layoutWidth, layoutHeight can be passed to your custom component (the one with the mixin).


Error on parsing CyclonDX

Hello again.
Other error it's:
>>> from lib4sbom.parser import SBOMParser
>>> test = SBOMParser()
>>> test.parse_file("test_data/cyclondx/node-alma.json")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dm/Job/R-Vision/tools/cronjobs/src/trivy/plugin/venv/lib/python3.11/site-packages/lib4sbom/parser.py", line 80, in parse_file
    ) = self.parser.parse(filename)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dm/Job/R-Vision/tools/cronjobs/src/trivy/plugin/venv/lib/python3.11/site-packages/lib4sbom/cyclonedx/cyclonedx_parser.py", line 18, in parse
    return self.parse_cyclonedx_json(sbom_file)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dm/Job/R-Vision/tools/cronjobs/src/trivy/plugin/venv/lib/python3.11/site-packages/lib4sbom/cyclonedx/cyclonedx_parser.py", line 143, in parse_cyclonedx_json
    target = id[target_id]
             ~~^^^^^^^^^^^
KeyError: 'pkg:npm/agent-base@4.3.0?file_path=usr%2Flocal%2Flib%2Fnode_modules%2Fnpm%2Fnode_modules%2Fagent-base%2Fpackage.json'

file for parsing in attachment(it's should be json)
node-alma.txt

@zakrush  The issue is because there are multiple versions of the agent-base component in the SBOM. Will look in to how to handle this.


Code generation?

So far docs and tests show only high level components can be generated, like structs, modules and functions, and code needs yo be created with raw code strings at Function.line(). Not sure if it's a limitation of the builder pattern used un the API, but how much would cost to add support for generation of variables, asignements, blocks, loops, conditionals and function calls?

I could see adding constructs for loops and maybe function calls. I think that variable assignments and conditionals are at to low of a level to warrant building logic around that. Plus it would take away quite a bit of flexibility.

Flexibility would be drop if raw calls would be removed, but I think they are still useful. I've been investigating os using libsyntax and other tools, but seems they doesn't fit or are simple enought for code generation. I understand your concerns about making code more complex, but I only see it as a matter of adding some more extra builder functions...


Calling res.blob() or res.arrayBuffer() never ends.

Calling await response.blob() or await response.arrayBuffer() never ends.
In the example below "After blob" message never shows.
Please see video for more details
const response = await service.get(url);

console.log('Before blob');
const blob = await response.blob();
console.log('After blob');

https://www.youtube.com/watch?v=FX5uUwhs_8M

Got my attention, @iamandrewluca

@iamandrewluca thank you for such a good issue!
I'm gonna need some time to investigate on it. We are using Proxy to "monkey-patch" the Response object and it might be the source of this problem.
I'll try to find a solution ASAP.
Thanks for being such a good user/contributor

I also looked through the codebase but did not see the monkey patch. I will check again.

Oh boy 😄 I tried all the possible variations )) None Works
I'm reading in this blog post, that some native objects cannot be proxied as usual.
https://javascript.info/proxy

I will do it tomorrow!

@iamandrewluca I just released<EMAIL_ADDRESS>with the solutions to your 2 latest issues ;)


Installation issues with Octopi

Hi I am trying to install this plugin on my RPI Octopi and it fails. Can you offer any guidance?
First it failed because PIP was out of date so I updated it with the command..
/home/pi/oprint/bin/pip install --upgrade pip
Then had also seen the note about updating matplotlib and numpy on the raspberry pi so ran
 /home/pi/oprint/bin/pip --no-cache-dir install matplotlib numpy
These both ran correctly but I get this install issue in the log file when I try and install from the octoprint plugin manager from URL.
2018-11-12 15:22:48,775   /home/pi/oprint/bin/python -m pip install https://github.com/PrusaOwners/OctoPrint-PrusaMeshMap --no-cache-dir
2018-11-12 15:22:52,114 > Collecting https://github.com/PrusaOwners/OctoPrint-PrusaMeshMap
2018-11-12 15:22:52,115 > Downloading https://github.com/PrusaOwners/OctoPrint-PrusaMeshMap
2018-11-12 15:22:52,617 ! Cannot unpack file /tmp/pip-unpack-3f5beY/OctoPrint-PrusaMeshMap (downloaded from /tmp/pip-req-build-NU5fUZ, content-type: text/html; charset=utf-8); cannot detect archive format
2018-11-12 15:22:52,617 ! Cannot determine archive format of /tmp/pip-req-build-NU5fUZ

I have figured it out. I put the link to the ZIP file download into the URL section of the plugin manager. It works now

Using the ZIP in the plugin manager doesn't work for me:

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-wLWGnN/matplotlib/
You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Fehler!
Could not parse output from pip, see plugin_pluginmanager_console.log for generated output
Any ideas?


Math Magicians: tests

Set up React Testing Library
Write unit tests for the files operate.js and calculate.js using Jest.
Create unit tests for all React components:

Use Jest snapshots to test the components.
Use React Testing Library to simulate user interaction.

Run full tests suite using Jest. All tests should pass.

Thanks for the review @Meltrust !


When adding selected to a group it seems to automatically clear all selected

When adding selected to a group it seems to automatically clear all selected.
This makes it challenging to add a group of selected to multiple groups, without having to go back and re-selecting them again.
Another example: I configured a trigger to watch for a hand-raise in Gallery Position #2. This represents the person who is almost on stage. When they arrive at Gallery Position #2 the trigger "Preselects" them, adds them to Group 2, then sends them a Chat message letting them know to turn their camera on. Unfortunately, the Chat message fails because there is nobody preselected. This is actually because Add to Group 2 took place before sending the Chat message, therefore the preselect list is now empty.
I realize I can change the order of execution, but I feel that this is a behavior we should control.
Can we remove this behavior, and leave it to us to either add a Clear Selected after adding, or not?

Closing this as it relates to other issues


Exception sending NotificationUnicastMessage

Sending a NotificationUnicastMessage causes a exception because "multicast_id" is not an expected field in the response.
Example Code:
String rcpt = "fyw...uJJLzSUlxnQXImRTbpLuxt";
FcmMessageOptions options = FcmMessageOptions.builder().setTimeToLive(Duration.ofHours(1)).build();
NotificationPayload payload = new NotificationPayload("Test title", "body", null, null, null, null, null,
				"https://www.example.com/", null, null, null, null);
NotificationUnicastMessage notificationMessage = new NotificationUnicastMessage(options, rcpt, payload);
new FcmClient(PropertiesBasedSettings.createFromDefault()).send(notificationMessage);

Exception:
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
Unrecognized field "multicast_id" (class de.bytefish.fcmjava.responses.UnicastMessageResponse),
 not marked as ignorable (4 known properties: "error", "messageId", "message_id", "errorCode"])
 at [Source: {"multicast_id":798132...98933,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:14819091...f9fd7ecd"}]}; line: 1, column: 144]
(through reference chain: de.bytefish.fcmjava.responses.UnicastMessageResponse["multicast_id"])

Thanks! I'll fix it. 👍

@bytefish Probably its already fixed by #3 (+@JsonIgnoreProperties(ignoreUnknown = true)
but it's missing in Maven!?

It would be wrong to simply ignore it. Probably I misinterpreted the FCM documentation on response messages.

I have renamed the Response to FcmMessageResponse, because there is apparently only one Response Message for Unicast and Multicast messages in Firebase Clound Messaging. Please let me know if version 0.5 fixes the issue.
Version 0.5 should be available within the next hours, when the Central Maven Repositories are synced.

Versions 0.5 of fcmjava-client is still missing on maven
https://mvnrepository.com/artifact/de.bytefish.fcmjava/fcmjava-client

I am sorry, that's my fault. I didn't double check the uploaded staging repository in Maven. And chances are good it faulted on my side and the fcmjava-client module was never uploaded. 😓 I have created a Version 0.6 now and double checked the uploaded artifacts.
Sometimes the Central Maven Repository had problems, when I was updating packages. That's why I am going to 0.6 directly. It will take two hours or so again.
Sorry. 😌

Sorry, but there is still no version 0.6 in maven repository.
Could you perhaps check it again?
Thank you a lot!

Yes, I noticed this aswell. Let's wait until tommorow and if it isn't synced, I will open an issue with Sonatype. I staged the repository, closed it and released it like I did for all other releases. I also checked the content of the release.

It's like the Central Repository is listening and synced some moments ago: http://central.maven.org/maven2/de/bytefish/fcmjava/fcmjava-client/0.6/. It should be available now.

Please let me know, if this update fixes the issue. 👍

I just tested it and now it works!
Thank you a lot!

Great! Thanks again for the feedback and raising the issue. 👍


Convert to ts

@luisvt Has this been discussed before? Can't find a ticket for this. (FWIW, I don't think this pull is a good idea)

No, it hasn't been discussed before. Right now it does not have any big change from JavaScript. However, this opens a big opportunity to add more types to the code. Furthermore, with future changes we could refactor code easily.
There is one test that fails in Travis, and I don't know why. When I run it locally it doesn't fails.

@luisvt thank you for the big effort. I have been thinking about moving this project to a typed JavaScript variant (TypeScript or Flow) but have not decided yet.
The major thing holding me back at this point is that it would make it harder for others to contribute, which I would like to avoid, especially as most new code and fixes at the moment come from the community.

From what I know:

flow = es6 + types
ts = es6 + types + private + other feat..
From previous we can say that: ts = flow + types + other feat

I chose to migrate the code to Typescript because it is more flexible and has more features than es6 and flow.
And Yes, ts or any other language will add one more step to development cycle (transpile the code). In the case of Typescript we could solve this adding a tsc task in grunt or any other task runner.

I also think move on TypeScript or other languages which should be compiled to javascript is not good idea because:

Our target platform nodejs(JavaScript)
Yet another point of failure
Add compilation step
Require infrastructure around this language
Require additional knowledge | Community (see @dignifiedquire  comment above)
Language compiled to javascript can be abandoned

So we should carefully look at pros and cons which provide this language.
IMHO I would wait ES6 - which new standart for JavaScript.

I've been testing out using flowtype, which I personally like more in this branch if someone wants to check it out: https://github.com/karma-runner/karma/tree/flow

This project is all about unit testing and it makes TDD in JavaScript much more enjoyable
With TDD you get 100% coverage, with 100% coverage you have made sure every single function behaves correctly, why would you need to spend extra time to make sure it uses the correct types?

We are still pursuing ES6 level code, we can reevaluate TS once we get there.


Add support for 'go nodes' in get_top_moves

Add support for UCI command go nodes <num_nodes>.
This is useful for determining top moves without using depth,  as some searches using depth can get very large in terms of nodes, without much added value. (Especially in positions with forced moves.)
Example use-case: https://github.com/knutole/catchfish 🐳

Just want to say that it's great you are continuing this repo! 💪 🔥  Really appreciate all the work you're putting into maintaining this project. 🙏

Thanks for adding this. My main suggestion is for a conditional check in the while loop. For reference, here's the raw stockfish output for 'go depth 10':

I think the 'current_line[current_line.index("depth") + 1] == self.depth' check should be left in, since what this does is check whether the parser is at the last depth line(s). So in this example, it'd check if python is reading the stockfish output for "depth 10", and if so would then get the top move(s) for it.

I think there's a problem here. This fn needs to work for both use-cases (go depth & go nodes). Currently it's actually working for go nodes only it seems (and I've only really tested for that use-case). Like you point out, it should have a condition for depth for the go depth use-case. I'm going to have to get a Stockfish and test this properly for both use-cases, and make another pass here. I think each conditions needs to be checked for each use-case respectively.

@knutole You're right, I've updated my comment to that code block. Now it checks for either depth == self.depth, or nodes >= num_nodes, depending on whether the user sent in a value for nodes.
For 'go nodes 1050', here is the output:

So in this case, we'd read a top move from a line that has a value for nodes >= 1050.

Now it checks for either depth == self.depth, or nodes >= num_nodes, depending on whether the user sent in a value for nodes.

I agree, I think this is the most reliable way we can validate the input.

Please see https://github.com/py-stockfish/stockfish/pull/16


Update call-api.md

@BaherAbdullah : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

#sign-off


Optimize deletion of ReferencesIndex objects in the rebuild_references_index Management Command for Large Datasets

Is your proposal related to a problem?
When attempting to run the management command rebuild_references_index on a Heroku dyno for one of our websites, the command exits immediately. Attempts to increase memory using heroku run bash -a  -s Performance-L result in freezing and eventual timeout. Additionally, adjusting the chunk size with a custom value (--chunk_size 200) didn't resolve the issue. The website is using Wagtail version 4.2.
Describe the solution you'd like
It appears that the command runs out of memory when executing the line ReferenceIndex.objects.all().delete(), especially when the result set is substantial (e.g., 2,729,066 rows). A potential solution could be to enhance the management command to handle large datasets more efficiently.
Describe alternatives you've considered
Two potential workarounds have been identified:

Manually delete ReferenceIndex.objects in chunks before running the rebuild_references_index command.
Override the management command file and customize the deletion of ReferenceIndex.objects in chunks, as demonstrated below:

from django.db import transaction
from wagtail.models import ReferenceIndex

total_rows = ReferenceIndex.objects.all().count()
batch_size = 100

for i in range(0, total_rows, batch_size):
    with transaction.atomic():
        chunk_pks = ReferenceIndex.objects.all().values_list("pk", flat=True)[i : i + batch_size]
        ReferenceIndex.objects.filter(pk__in=chunk_pks).delete()

As an aside, the reason the reference index is quite as large as it is is because this application has separate non-Wagtail functionality in the same Django project, and before Wagtail 5.0, all models were included in the reference index, not just those used by Wagtail (opt-out, not opt-in).
Our short-term plan is to manually truncate the table during an upcoming upgrade, and rebuild the index with Wagtail 5.2, which will make the index much smaller. Although, some optimisation on deleting and recreating the index could still be useful!


Update Kubelet RotateKubeletClientCertificate feature since v1.8

fix feature-gates.md and kubelet-tls-bootstrapping.md Kubelet RotateKubeletClientCertificate feature since v1.8 instead of v1.7

confirmed this is right.
/lgtm

/approve

@cody-clark any chance you can help with a final approve? thank you

/assign @jaredbhatti

@lf1029698952 if you could please fix the merge conflicts we'll get this PR merged, with apologies for the delay. Thanks!

@Bradamant3 @philips I have resolved merge conflicts, because this conflicts with v1.14 feature update.

/lgtm
/approve


frontend_agent_beginning

Please review. I've made some changes - added comments, deleted debug statements, used descriptive name(following style guides), corrected typos, removed extra newlines.


Bugs while creation transactions from vendors

[x] creating new bills from vendors-vendor name is not displayed or getting removed

[x] creating new purchase order from vendors -  vendor name is getting cleared

[x] creating new vendor credits from vendors-vendor name is getting removed

ISSUE FIXED!


Create nsd131.txt

added .group to nsd131.txt to include Nampa School District

Added nsd131.txt to org structure.
Active websites are https://www.nsd131.org/ which is for the district level
https://columbiahigh.nsd131.org/ is for Columbia High School
Visit https://columbiahigh.nsd131.org/apps/staff/ to find my listing under Robert Hibbard
I am listed as the IT/Business Teacher. I am part of the CTE program. I teach two Pathway programs. Desktop Support and Programming and Software Development.
You can view my credentials at https://apps2.sde.idaho.gov/CertificationLookup/Search
There is two Robert Hibbard's, of course mine is the Nampa School District(131).

Sorry, did not mean to close the first comment.
Active websites are https://www.nsd131.org/ which is for the district level
https://columbiahigh.nsd131.org/ is for Columbia High School
Visit https://columbiahigh.nsd131.org/apps/staff/ to find my listing under Robert Hibbard
I am listed as the IT/Business Teacher. I am part of the CTE program. I teach two Pathway programs. Desktop Support and Programming and Software Development.
You can view my credentials at https://apps2.sde.idaho.gov/CertificationLookup/Search
There is two Robert Hibbard's, of course mine is the Nampa School District(131).


Order of relationships written to JSON file may be different from the order in which they were read

Read a JSON file, then write it back out to another JSON file, then read that second file.  The order of entries the Relationships vector is different.  It doesn't matter at all from a data model point of view, but why does it do that?

When using JSON.jl, to get back the objects in order you can pass in a dicttype arg:

you can pass dicttype=DataStructures.OrderedDict to maintain the insertion order of the items in the object;

ref https://github.com/JuliaIO/JSON.jl

(As I understand it, the reason is that the JSON spec says that objects are un-ordered collections, even though various implementations do provide functionality to read/write in ordered ways)

I use the orderedDict in SPDX.jl and it works well.  I think the bug is in how I'm creating the relationship vector in my own code.  Need to review more and document a good example case.
I care about the order because it allows for a user to read in a file, make some small modifications such as update the version and checksum, and then write it all back to file and only those changed elements show up in a git diff.  If I don't use OrderedDict there's no guarantee that would happen.

I tried recreating the issue and I can't do it.  It doesn't matter anymore since I've updated the internal compare functions so they can handle out of order vectors. Close it for now, reopen if I find the bug again and I think it's important.


[W6.4d][W11-B2]Lai Qi Wei

Ready for review.

@qwlai
Some comments added. Please ack & close the PR after reading comments.


Can't disable or hide notifications

I have scoured the documentation but I cannot find any flag that disable or hide the notifications. For example, in production, I'd like to disable these notifications. I can't simply choose to avoid Vue.use(snotify) based on environment because subsequent calls to this.$snotify() will cause issues as it doesn't exist.
Help on this?
edit:
I forgot to mention that I ultimately opted to hide the component in Vue template with <vue-snotify v-if="showNotifications" /> but I'm not sure if this is "idiomatic" in Vue.

Within your main file you could use this kind of hack:
import Snotify from "vue-snotify";
if (showNotifications) {
    Vue.use(snotify);

} else {
    // implement stub instance
    Vue.prototype.$snotify =     var TestNR = [
        "prompt", "confirm", "warning", "info", "error", "success", "simple"
    ].reduce(
        (stub, functionName) => {
            stub[functionName] = () => undefined;
            return stub;
        },
        {
            // async need to execute the functions, though
            async: (p1, p2, p3) => (
                typeof p3 === "function" ?
                p3() : (
                    typeof p2 === "function" ? p2() : undefined
                )
            ),
        }
    );
}


Add test for config per policy source

Relates #1113

This test demonstrates that the config per source does show up on the report. It means that something else is amiss in #1113. It is a good test to have nonetheless.


use container-based infrastructure on Travis CI

http://docs.travis-ci.com/user/workers/container-based-infrastructure/

:ok_hand:


Fix dependency scope (fest-assert).

Backport to branch-0.1: https://github.com/Stratio/scala-cross-build-maven-plugin/pull/33


Ssh-agent 1.4: Error connecting to agent from CLI

When using 1.4 version, CLI container does not have access to ssh-agent.
On 1.4 this is what I see:
docker@cli:/var/www$ ssh-add -l
Error connecting to agent: Connection refused

docker@cli:/var/www$ ls -la /.ssh-agent
total 8
drwxr-xr-x 2 root root 4096 Jan 24 12:36 .
drwxr-xr-x 1 root root 4096 Jan 24 12:37 ..

When I switch ssh-agent image to 1.3 everything works fine
docker@cli:/var/www$ ssh-add -l
2048 SHA256:Mu...8xl2s /.ssh/id_rsa (RSA)

docker@cli:/var/www$ ls -la /.ssh-agent/
total 8
drwxr-xr-x 2 root root 4096 Jan 24 13:17 .
drwxr-xr-x 1 root root 4096 Jan 24 13:16 ..
srw-rw-rw- 1 root root    0 Jan 24 13:17 proxy-socket
srw------- 1 root root    0 Jan 24 13:17 socket

I am using mac with M1 chip.

Can confirm I am getting the same error, however when I run docker@cli:/var/www$ ls -la /.ssh-agent I do see
docker@cli:/var/www$ ls -la /.ssh-agent
total 8
drwxr-xr-x 2 root root 4096 Feb 28 20:40 .
drwxr-xr-x 1 root root 4096 Feb 10 13:39 ..
srw-rw-rw- 1 root root    0 Feb 28 20:40 proxy-socket
srw------- 1 root root    0 Feb 28 20:40 socket

when using 1.4.  By downgrading to 1.3 I'm able to use the commands as expected.  I'll look into this a little further.

@botanic You can get the latest version with the fix by running fin config set --global IMAGE_SSH_AGENT=docksal/ssh-agent:edge and fin system reset ssh-agent
Thank you for reporting this.

A hotfix has been just released. To get it right away:
fin config rm --global IMAGE_SSH_AGENT
fin docker pull docksal/ssh-agent:1.4
fin system reset ssh-agent


[Question] Possibility to make Options immutable?

First of all, thanks a lot for a great abstraction level around the configuration.
Is there any way to make Options immutable so when they are gets injected they can't be changed?

Do you mean immutable like a ReadOnlyDictionary immutable?  where myOptions.Foo = "Bar" would  throw?

I would rather expect to have a POCO class without setters in properties. Since Options are using reflection to instantiate the objects, no public setters are needed. Then you will not be able to mutate data from outside.

It default case of reading config files and put the values to options object, it will require to change ConfigurationBinder class to not look for public setters or provide different way of setting the values.
But how about custom configuration when we can just manually set the value? Here we need a public setters.
I was thinking about using something like proxy-classes.
e.g. we configuring some POCO. In the core we dynamically create proxy that will be used during all configuration steps. And then, when we will ask for particular options object, then proxy would be converted to initial POCO that might be immutable (or even struct).
But this requires really huge effort and I'm not sure if it's worth.

Yes, it will require changes of ConfigurationBinder.
In the case of manual initialization - you probably can use the constructor with parameters, which will allow you to set up read-only properties.

But we might have a few steps of initialization. It means that we create the instance at first and then apply all configurations that we need.

Few steps are fine, just use immutable flow (recreate new instances if change is needed)

So you are free to make your POCOs immutable in this way (readonly properties with private setter), once we add the ability to bind to private/internal setters in https://github.com/aspnet/Configuration/issues/394

Readonly properties with private setters will work only for ConfigurationBinder - there we are able to set any property because of reflection.
But how about custom configuration options (e.g. by custom Action) ? private won't let to modify that. internal will keep the way to change the property.

Yeah so my point is that once we support binding to all properties with any kind of setter, there's a way to accomplish what he wants, its unlikely we are going to add anything to support this at the options level.

What I was thinking about like a solution is that having some proxy class (not sure about implementation) for each TOptions that will allow to set any properties during configuration, but not allowing using setters in all other places. In the meantime, I still would like to create a simple POCO classes. The main problem is how to create such proxy class.

We will support this via binder https://github.com/aspnet/Configuration/issues/394


Fixed link issues

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Word andPhrases Score
CorrectnessScore
Scorecard
Processed

globalization/input/hotkeys-accelerators.md
94
100
100
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx


CVE reports against v2.4.4.x

Hi!
Debian Security Team reported[1],[2] on our BTS a bunch of CVE reports against OIIO v2.4.4.x and I can't find any place where it's stated that those vulnerabilities have been fixed in the meanwhile.
Since security bug reports are marked as grave or serious and they prevent packages to migrate to next release step (testing suite, in Debian), I'm filing this issue to track any progress on the problem and possibly find which version fixes it.

I believe they are all fixed and documented in the CHANGES.md of subsequent releases as well as the release messages.
Can you please check the that document and let us know if there are any CVE numbers that don't show up in there documenting them as fixed?

These are missing:
CVE-2022-43601
CVE-2022-43600
CVE-2022-41981

You're right, I don't see those numbers in the CHANGES. I'm pretty sure I fixed every issue that TALOS reported to me, so it may be just a documentation error. For example, a few of them were already fixed by the time they were reported, or a single fix addressed multiple CVEs, and sometimes that confused how they should be documented. I'll need to track through my correspondence and verify when these got fixed and add them to the docs. Stay tuned, I'll try to get to this today.

I mentioned this on the mailing list but didn't get a response. I guess I should have posted here as well for Fedora. With the latest release I closed the bugs that I could 1:1 match with the CVE's.
Here's what I still have open (it's all bugs, just ignore the non-security ones):
https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=OpenImageIO&product=Fedora&product=Fedora EPEL

These are all fine.
As you pointed out, 41981 was typoed as 4198 (and is the same as TALOS-2022-1628) and was fixed in OpenImageIO 2.4.5.
Turns out that 43600 & 43601 are both simply alternate designations of TALOS-2022-1656, which was fixed in OpenImageIO 2.4.6. I don't know why so many different CVE designations are used to refer to the same reported bug.
I will amend the CHANGES document to include these additional numbers.

Larry, just to confirm, all the bugs listed on Red Hat bugzilla should be addressed?

Every bug Talos ever alerted me to is definitely addressed (some in 2.4.5 and some in 2.4.6, there were two batches of reports). I double checked the bugzilla, all are fixed except the last one (which is not a CVE, something about missing OpenCV in your build?).

Yeah, that link shows all bugs, not just CVE's. Thanks! Probably not worth backporting to older releases?
EL 8 is on 2.1.x
EL 7 is on 1.5.x (definitely not worth it)

I already backported those I could, that had a relatively clean merge, to 2.3. That was only about 1/3 of them, with the rest implicating areas of the code that had changed quite a bit since then and would be a lot of work to reproduce, track down, and fix. I'm going to assume that 2.1 (and holy cow, 1.5) would be prohibitively difficult.
The most recent 2.1 release was mid 2020, and 1.5 dates from 2015.

I understand. It doesn't make me happy to not be able to do this for you. But I just don't have the resources to support to versions from several years before and backport fixes to them (except in the rare case that it's just a direct cherry-pick).


[QUESTION] Full Spark Example

Hi!
Congratulations on your great work.
I was wondering if you have a full example using a spark cluster, from launching the cluster (maybe using AWS) to running the FugueWorkflow on it.

As long as you can get a Spark session, you can do
with FugueWorkflow(engine=spark) as dag:
    ....

For Databricks, you can install databricks-connect and your local SparkSession will activate the cluster and run the job on the cluster. Happy to give you a demo of that if you want. There is a sample of that here
For EMR, it is a bit harder as you'd have to use spark-submit. I am personally more experienced with Databricks (and can demo that for you if you want). My e-mail is in my Github profile. For EMR, I can look into that a bit and get back to you.

Clsoing, feel free to reopen


Xcode 9.3 beta 3 - 63 compiler errors

After installing Xcode 9.3 beta 3 I get a whooping 63 compiler errors. The first one is: Type 'ComplexArrayRealSlice' does not conform to protocol 'Collection'. I made a screendump of the other ones. Any thoughts and plans about fixing? Can I already use a branch?
Thanks,
Jan

Fixed on master

Thanks... but after updating to Xcode 9.3 beta 4... another 21 compiler errors.


NIFI-9416: Fixing NPE when updating param context without inheritedPa…

…rameterContexts
Description of PR
This fixes an NPE when client code submits a Parameter Context update without the "inheritedParameterContexts" array.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Thanks for the fix @gresockj  +1 will merge


improved data collection, allows for special cases

The following changes were made to this code

The code now closes the file after writing
UTF8 characters are now interpreted for the output file
Instead of splitting at each {, it only splits at the first {. This allows people with special characters (subscripts and superscripts) in their bibtex files to retain them in the final latex draft
Adds a special case of documents published by entities rather than authors (International Energy Association, USDA)
adds an assert statement, prompting you to go back and clean up your .bib file before

Thank you for the contribution! I am sorry that I overlooked this pull request.


fix(gateways): add canonical service labels to gateways

This PR adds the istio labels for canonical service and revision to the gateway manifests.
Related issue: #21324
Signed-off-by: Douglas Reid<EMAIL_ADDRESS>[ ] Configuration Infrastructure
[ ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ X ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@howardjohn thanks. any idea who else should look?

Not sure, someone else familiar with the revision stuff? I just wasn't sure latest was the correct default basically. If  you are confident it is, then feel free to remove the hold

oh, yeah, ok. "latest" was the fallback from the proposal.

/cherry-pick release-1.5

@douglas-reid: once the present PR merges, I will cherry-pick it on top of release-1.5 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.5

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

@douglas-reid: new pull request created: #21427

In response to this:

/cherry-pick release-1.5

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


English Bone Conversion

Couldn't find any support email/forum so I hope using issues is ok for this question?
With PMXEditor I can load a pmx model and then translate/set English bone/material/... names along with the Japanese. When the model is imported into blender however only the Japanese names show up. A work-around is to copy all the English names in PMXEditor and apply them to the Japanese names however this breaks importing VMD files in the MMD app as the correct bone names no longer exist and is extra work when someone provides an MMD with both En/Jp names already setup.
How practical would it be to have mmd_tools optionally create blender nodes using the English names during import instead of Japanese (I think it stores both Japanese and English names during read already?) so that blender displays English names.

As a workaround, I've setup the following script:
import bpy

for item in bpy.data.objects:
    if item.type == "ARMATURE":
        for bone in item.pose.bones[0].children_recursive:
            print("renaming " + bone.name + " to " + bone.mmd_bone.name_e)
            bone.name = bone.mmd_bone.name_e

If I need to import a new anim, re-running the script with name_e switched to name_j will put the original Japanese bone names back in place.
Whilst a little hacky, this could run automatically anytime you import a PDX for those who want to show English names along with a switch back to _j prior to importing any VMD and then back to _e after. It might be worth extending this to non-bones too.

Maybe this is designed this way because models may not have English data, this could be changed however to using the English name when available otherwise default to Japanese. I will try to implement it

I'm not sure if it's the norm, but most models I've seen have only Japanese names so if any change is made it should probably default to using Japanese. Perhaps an import tickbox to create using English names if available and Japanese if not.
I've made a small change to the script I use, there might be other elements that can be changed as well.
[code]
import bpy
for item in bpy.data.objects:
if item.type == "MESH":
for slot in item.material_slots:
if hasattr(slot.material, "mmd_material") and slot.material.mmd_material.name_e != "":
print("Rename material " + slot.material.name + " to " + slot.material.mmd_material.name_e)
slot.material.name = slot.material.mmd_material.name_e
if item.type == "ARMATURE":
for bone in item.pose.bones:
if hasattr(bone, "mmd_bone") and bone.mmd_bone.name_e != "":
print("Rename bone " + bone.name + " to " + bone.mmd_bone.name_e)
bone.name = bone.mmd_bone.name_e
[/code]
Originally I thought there was a need to change back to JP names in order to import a VMD, but that appears to work fine regardless of names so may be positional based with a margin of error.
@lordscales91 Can you elaborate on what may break? I've not seen any issues with the rig/vmds but then my usage is rather limited so that may be why I've not encountered any of them. My current use is import model, export to UE4, import VMD, adjust and export animations to UE4.

At the present time, if you import and export a .pmx model with mmd_tools, all of the English names are lost(deleted). This should be changed to the opposite of this situation. If you import and export a model which has no English names, the exported model will have all of the English names added into it.
The pymeshio Blender add-on has a file called englishmap.py which it uses as a Japanese-English translation dictionary for bones, bone groups and morphs of .pmd and .pmx models. You would need to create a similar translation dictionary file in mmd_tools to implement this feature. Here is pymeshio's englishmap.py:
https://github.com/ousttrue/pymeshio/blob/master/pymeshio/englishmap.py
In Blender, every bone can have 1 or more custom properties attached to it. But mmd_tools does not use this feature. Instead sugiany has created his own types for Japanese and English bone names. For example, if the armature is the active object, this code will give you the Japanese and English names of the first bone in the armature:
bpy.context.active_object.pose.bones[0].mmd_bone.name_j
bpy.context.active_object.pose.bones[0].mmd_bone.name_e
When a model is imported into Blender, I suggest that a Japanese-English translation dictionary for morph names should be created as a custom property of the mesh object. The keys of the dictionary will be the Japanese names, the values will each be a 2 member list: The English name and 1,2,3 or 4 for the shape key categories (mouth, eyes, brows, other). The English names will preferably be imported from the model itself, unless a model's morph has no English name, in which case the morph name will be created from the mmd_tools translation dictionary file.

@vmJoe Honestly I have no idea of the Blender API, but using my favourite IDE (Eclipse with the PyDev plugin) I performed text-based search to see where the Japanese names are used and they are used to locate the bones later, let me explain:
The Armature Object in Blender has a property called "edit_bones", it seems that is a dictionary of the bones keyed by the bone name, when accessing that dictionary the Japanese name is used, if we change it to English the bone couldn't be located.
If what you want is to see the English names on the bones, it would be possible by using the same trick used for the Rigid Bodies (instead of using the builtin "show bone names" of the armature object), that combined with a button on the MMD Display Panel to toggle between Japanese and English will suffice.
@Hogarth-MMD I have detected why English names are lost during export, it's a typo on the code, I already fixed that on my local working copy, I'm also fixing other little issues, I will open a pull request after that

bpy.context.active_object['english_name'] = 'smile'
(creates a custom property of the active object whose key is 'english_name' and whose value is 'smile"
Try to create a custom property for a shapekey key_block and you get an error message:
>>> bpy.context.active_object.data.shape_keys.key_blocks[1]['english_name'] = 'smile'
Traceback (most recent call last):
File "<blender_console>", line 1, in
TypeError: bpy_struct[key] = val: id properties not supported for this type
There is no id_data for a shapekey key_block:
>>> bpy.data.shape_keys[0].key_blocks[1].id_data
bpy.data.shape_keys['Key']
Therefore no Japanese name or English name custom properties (or custom attributes) are possible in Blender for shapekey key_blocks (as far as I know). An inconvenience for people who want to import and export MMD models using Blender!

In Blender python, is there not some method by which we can create these 3 attributes(Shape Key English name, Japanese name, and category)?:
bpy.types.ShapeKey(bpy.data.shape_keys[0]).key_blocks[1].name_e
bpy.types.ShapeKey(bpy.data.shape_keys[0]).key_blocks[1].name_j
bpy.types.ShapeKey(bpy.data.shape_keys[0]).key_blocks[1].category
bpy.context.active_object.data.shape_keys.key_blocks[1].name_e
bpy.context.active_object.data.shape_keys.key_blocks[1].name_j
bpy.context.active_object.data.shape_keys.key_blocks[1].category
bpy.data.shape_keys[0].key_blocks[1].name_e
bpy.data.shape_keys[0].key_blocks[1].name_j
bpy.data.shape_keys[0].key_blocks[1].category

@Hogarth-MMD From the API Documentation:
"Custom properties can be added to any subclass of an ID, Bone and PoseBone"
A ShapeKey is a subclass of bpy_struct and not ID, so it's not possible. However we can use any other datablock to store that information, for example on the mmd_root object by using a Collection Property. I tried to do it but due to my lack of knowledge of the API I was not able to do it. I'm reading de documentation right now and I hope I will be able to do it

Is there possibly a technique by which we can give each shapekey key_block its own ID data? What is ID data? To answer this question, I am quoting from the documentation for Python built-in functions:
"id(object)
Return the “identity” of an object. This is an integer which is guaranteed to be unique and constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same id() value.
CPython implementation detail: This is the address of the object in memory."
In Blender python:
class bpy.types.ID(bpy_struct)
Base type for datablocks, defining a unique name, linking from other libraries and garbage collection
Inherited Properties
bpy_struct.id_data

@Hogarth-MMD Why do you want to store the English names on the ShapeKey itself? I said that this is not possible, but there is a work-around, we can use a collection inside the mmd_root object to wrap that data, each item of the collection could have bl_name (Which will be the ShapeKey name used by Blender), name_e (The English name) and category
Also I would like to say:
@sugiany We are missing you!
Come back soon please

"@Hogarth-MMD Why do you want to store the English names on the ShapeKey itself? "
I want the English names and categories to be stored in a way that they will stay correctly connected to the rest of the shape key data and be automatically and correctly updated, if and when the user renames or reorders or edits the shape keys or adds or deletes shape keys. A custom attribute could be more easily and intuitively referenced in code as well.

Here is a simple method of implementing dual names for shape keys and shape key categories:
For example:
bpy.context.active_object.data.shape_keys.key_blocks[1].name = '["笑い", "smile", 2]'
>>> eval(bpy.context.active_object.data.shape_keys.key_blocks[1].name)[0]

'笑い'
>>> eval(bpy.context.active_object.data.shape_keys.key_blocks[1].name)[1]

'smile'
>>> eval(bpy.context.active_object.data.shape_keys.key_blocks[1].name)[2]

2

@Hogarth-MMD If what you want to accomplish is that, it could be possible by providing a custom button on the panel to create a shapekey, as well as controls to edit and reorder shapekeys, that will automatically sync with the shapekeys (via code logic of course). The trick of using a special string to store all the data within the string name will force the user to follow that name convention.
Example:

user clicks create button
a panel pop-up with inputs for specifying the Japanese name, English name and category

Once done the code will:

Create a new ShapeKey with the Japanese name specified
Then store the metadata of the ShapeKey on the mmd_root

data = MetadataItem('笑い', 'smile', 2)
mmd_root.shapekey_metadata.add(data)

Well, I have successfully created an english_name attribute for shape_key key_blocks, but exactly the same English name is assigned to each and every key_block. :-(
>>> bpy.types.ShapeKey.english_name = bpy.props.StringProperty(name='english_name', description='English name attribute added to shape_keys')

>>> bpy.context.active_object.data.shape_keys.key_blocks[1].english_name
(<built-in function StringProperty>, {'description': 'English name attribute added to shape_keys', 'name': 'english_name'})

>>> bpy.context.active_object.data.shape_keys.key_blocks[1].english_name[1]['name']
'english_name'

>>> bpy.context.active_object.data.shape_keys.key_blocks[1].english_name[1]['name'] = 'smile'
>>> bpy.context.active_object.data.shape_keys.key_blocks[1].english_name[1]['name']
'smile'

@Hogarth-MMD That's because you have added the attribute not the each shapekey but to the Key datablock that contains all the shapekeys. Just don't keep trying to add an attribute directly to the ShapeKey because it's not posible

"that will automatically sync with the shapekeys (via code logic of course)"
Sorry, but this is not clear to me. Are you talking about using the Blender game engine logic for this? If you know a surefire technique of keeping 2 collections of string data synchronized in Blender, I would definitely be interested in learning that technique from you.

Sorry for my late reply.
@vmJoe Thank you for your comment. I had never care about the language of the names on Blender, so it is helpful to me.
Your script probably work well! mmd_tools uses a value of bone.mmd_bone.name_j for importing vmd files, so you can change the bone names. However, shape keys cannot have extra data in Blender. Therefore, mmd_tools uses the shape key name of Blender for importing vmd. For this reason, you should not change shape key names.
Maybe I'll implement the feature for switching the language of bones and materials, but it is lower priority.

@sugiany I'm glad to see you are back, it has been more than a month since your last commit. I can implement the language switch feature, also I'm working on a "Morph Tools" panel, to let users create, edit, order and delete morphs and sync it with Blender ShapeKeys. I will create a pull request once done

@lordscales91  "also I'm working on a "Morph Tools" panel that will let users create, edit, order and delete morphs and sync it with Blender ShapeKeys."  Good luck to you! :+1:
Does anyone know if it is possible to create a list box (for shape keys) which has 3 columns instead of 1? I have tried to find this information without any success. It seems to me that a 3 column list box might avoid a lot of programming headaches because you then don't have to do any automated mass renaming of shape keys.

I am very sorry for awaking this sleeping issue but I was wondering if any progress has been done since?
@vmJoe I am trying to use my exported model inside UE4 too but it throws me duplicate bone error and also multiple bones error, have you encountered these and if so how did you solve them?

@ZetaHunter
Hi, if you want the best and fastest help from people who don't use UE4, we need preferably links to Blender import and export add-ons for UE4 models and a link to a free downloadable UE4 model viewer. In pmd and pmx models, each bone is a single point. So in Blender an extra tip bone is added to the tails of some bones. Maybe this is the cause of your problem and a Blender python script which automatically deletes all tip bones would help you.

I found 2 Unreal Engine add-ons which are included with Blender, but when I tried to export a model, Blender hanged on me. Sorry, maybe I jumped in prematurely trying to be helpful, but, unfortunately, I don't know what I'm doing with the Unreal Engine stuff yet. :-(

Hi @ZetaHunter like @sugiany said the renaming of bones and materials to English is a low priority feature, but definitely it will be implemented, I personally will implement it, but first I'm interested on improving other features.
At the moment what we have is a Morph Tools Panel where the metadata of the ShapeKeys (including the English name and category) is stored, among the other Morph types (Material and Bone based morphs).
You can take a look to the commit log to see more details

Actually I finally got it to work, my mistake was exporting the entire blender scene to FBX, when I selected just the MMD ( This one for reference ), also inside UE4 you have to set REF T-POS in fbx importer, there were some texture issues but I fixed that manually ( probably due to me embedding the textures into the fbx in blender ), but yeah, it does work, at least as a model, I need to work on getting the animations to work on the body, since there aren't many useable as game-assets animations (idle, walk, run, crouch, etc,etc, etc) for MMD's, I guess making humanoid skeleton adoptation for my MMD and using the animations that go with UE4 is my best option, thanks for the quick response and sorry for my very late response, also this is just my new weekend hobby, nothing more then that probably, but who knows ^.^
tldr; fixed, works fine no - motions thou.

@ZetaHunter
Is there a standard bone-naming hierarchy for UE4 character models? If so, can you provide the info about that? Do you and other people need an MMD to UE4 automatic bone renaming script?

@lordscales91  I congratulate you on all of your cleverness, hard work and perseverance with your new MMD morph tools panel! :+1:  Honestly I was worried that you might get frustrated, give up on python scripting and go off to live in a cave somewhere, but I'm glad that you have persevered. :-) With your morph tools panel, I cannot create or edit a vertex morph. Are there any other features which have not yet been implemented with it?

@Hogarth-MMD I would certainly love to have a script that would automagicly adopt the skeleton to that of UE4, I've made several screenshots of the default skeleton mesh that comes with UE4.
http://i.imgur.com/OGGAZFE.png , http://i.imgur.com/aQFEB85.png and http://i.imgur.com/2RAzMdY.png
I am still in process of importing the Kurumi model back in ( had to remake the project so she wasn't in it anymore, Morph creation takes its time... and I have to head to work in 7 minutes ).
However I did use @vmJoe 's translation script and it worked ( After I worked in PmxEditor translating all bones and morphs ), however it seems it doesn't handle morphs ( previous time I imported morphs they were all japanese still ).
I am quite sure how you think of making the MMD to UE4 but I'd really love it, it would make it really easy to get more awesome MMD's into our projects :D

@Hogarth-MMD You should be able to create and edit vertex morphs, it's working for me. To create a vertex morph you need to click the plus button that is on the right of the Morphs list, then a dialog should show up asking you for a Morph name (which will be the name of the corresponding ShapeKey that will be created), English name and category. To edit a vertex morph just select it on the list, and you can edit it's properties there, be careful however because changing the name of the morph doesn't properly update the corresponding ShapeKey name. I tried to deal with that issue, but however the API is limited and the update function doesn't give the old value. You can see the details here

@lordscales91 Do you mean that I can go into edit mode with a morph and drag vertices around to create a new shape key? I was not able to do that. And I got a KeyError error message when I tried to add a new morph. When I have time, I'll try to do some more tests with your morph tools panel and send you a proper bug report.
@ZetaHunter  If you want someone to make a bone renaming script, you need to get the list of UE4 bones as text, not as image screen capture.

Traceback (most recent call last):
@lordscales91 I click on '+' to add a vertex morph. A popup dialog appears. I click on 'OK' and I get this error message. If the name of the imported mesh is 'AB5', it says "AB5_mesh" not found. ( I tested this with 2 different models with the same error, so it does not seem to be specific to a particular model.):
File "C:\Program Files\Blender Foundation\Blender\2.74\scrip
s\operators\morph.py", line 116, in execute
if bpy.data.meshes[obj.name].shape_keys is None:
KeyError: 'bpy_prop_collection[key]: key "AB5_mesh" not found'

@ZetaHunter  @vmJoe
If you can get a UE4 character model into Blender which has all the correct, standard UE4 bone names, and then upload the .blend file, I can extract a list of the UE4 bone names from the .blend file.

@Hogarth-MMD You have not installed the add-on correctly, you need to copy the whole mmd_tools directory to "C:\Program Files\Blender Foundation\Blender\2.74\scripts\addons". Also, it seems you are using an outdated version of the add-on, download the latest one and try again

@lordscales91 No, that's not it. I'm still getting the same error. Installed correctly and the latest version.

@Hogarth-MMD Oh! I found it, it's my fault, I assume that you will have selected the model mesh object, so if you have selected something else it fails, because it uses the active object's name to access the corresponding mesh data through the bpy.data but actually that's not necessary since I already have a reference to it. I could submit a quick fix but probably it will take so much time until @sugiany merges it (he is not much active right now, probably he is busy with something else), instead you are better selecting the mesh object before creating a vertex morph. I will submit that fix later along with other fixes and improvements. Also please, for new bugs open a new issue instead of commenting it on an existing issue (this is not a forum)

@ZetaHunter
In object mode, with the armature object selected to be the active object, enter this into the Blender python console:
bpy.context.active_object.data.bones.keys()
That one line of code is all you need and it will spit out a list of all bones of the active armature. :-)

How to rename ?

How to rename ?

This repo is not currently maintained. The latest fork with active maintenance is https://github.com/UuuNyaa/blender_mmd_tools/tree/main
You should try that version.


⚠ Fortnite has degraded performance

In de5c11f, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1703 ms

Resolved: Fortnite performance has improved in 88adacd.


add parsePerms() method to obtain app permissions

Finally got it. Was broken in my code as well (without me noticing, thanks to 3 fallbacks implemented via other APIs) as they've changed the URL, dooh…

Please make sure everything works as well.
Thank you. @IzzySoft :+1:

I should start marking my PRs "WIP" if I'm not fully done :rofl: Thanks! And yes, I'll test it some more. This will replace my current parser. When that happened, it will be thoroughly testet, with about 1k+ calls a day…
The current parsePerms() was only tested with a hand full of packages. I forgot to mark this one WIP – intention for the "early opening" of this PR was you could have an "early look" at it and say if you wanted something changed. Well, should be fine, though. The other one with the minor ReadMe update can of course be merged. I'll do some testing next to verify everything is fine, before starting on the next task. This is what my list of open tasks suggests:

iterate if summary is missing (max 3 times, delay .3s between calls)
parse for more details from protobuf (optionally; adding $proto=false as optional parameter to parseApplication()), see proto_field-def.txt
if those details are also available from HTML, rather parse from there (even if $proto==false)

proto_field-def.txt is what I posted in the other PR as fields I think I've identified. As the structures are almost JSON, my guess is Google invented ProtoBuf mostly for the purpose of camouflage (to obscure structures and data) – as you'd need the definition file for decoding…


Accept: Admin Session Control

Description
Acceptance Test for #242

UAT Environment for executing the acceptance flow
See #320 for automation of this flow

Acceptance Flow

Log into the admin account
Navigate to the admin page via /admin
Navigate to the sessions page via the panel on the left
View the list of sessions
Delete a session by clicking on the trash icon on a session line
Click the Add Session button
Enter the session information
Click save
Check that your session was created
Click the edit button on a session line
Enter new information
Click save
Click the preview button on a session to view its contents

Everything works perfectly! Approved!
-Kate Ruscito


Bug Fix: Card Reversal

Wasn't able to check locally, so you'll want to pull this branch down and check before merging. Let me know if I can help 💯

Also let me know if it works!


Add UV Index, use adafruit_register

Accidentally closed while attempting to rebase changes in #4, so here's a new PR.

I haven't tested this code, but I can get a device on order if needed, just a heads up.

No, but I'm looking up ways to try it out, beyond just looking at the MPY filesize for an estimate.


Add logic to keep opened screen after close and reopen plugin pane

Keep ui state after hide/unhide pane
OutputFormat key parse crush fix

https://github.com/user-attachments/assets/17ce1fde-aa11-4359-94b7-89f505046b4d

Now plugin save navigation state after hide/unhide, but viewmodels clear data.
Will be covered with https://github.com/ComposeGears/Tiamat/issues/49


Feature: nice gogui/GTP extensions

Our GTP code has a nice place to put in some GTP extensions in gtp_extensions.py
It should be pretty easy to hook up some code to dump things in the format gogui/sabaki like to see for variations or heatmaps or whatever.
it'd be a good starter project for someone interested in getting acquainted with the codebase.

Hi, is it possible to test minigo with sabaki or softwares like this ?

I know we wrote some extensions to use GoGui, no idea if the visualizations work with Sabaki.  The difficult bit is making sure Sabaki runs the engine within the correct python virtualenv, with the correct env vars, etc.

yes, minigo runs with sabaki/gogui.  It also runs with our own minigui.


pull request Travis CI error when import theano

in my pull request "add duel network to dqn"
when using theano backend, the Travis CI failed. However, I have checked that there is no problem when using theano in my computer.
here is the error log link. It seems like that something wrong with import theano
could anyone help me?

This is indeed strange. Let's figure this out directly in the pull request.


[Bug] Getting Invalid Credentials Given Error

I am trying with correct credentials but its giving me Invalid Credentials Given Error.
StatusCodeError: 400 - {"error":"invalid_grant","error_description":"Invalid credentials given."}

@kjain9878 Could you please elaborate on this a bit further? As it seems, other people are also experiencing the same issues. It would be great if you could tell us what you did to fix the issue.


just download 5.0, but cannot running.

Fatal error: Cannot redeclare class Symfony\Component\Finder\Iterator\FilterIterator in D:\APMXE\web\bin\storage\framework\compiled.php on line 15252

Looks like your compiled classes got screwed up at some point.
php artisan clear-compiled


refactor: merge MAR08973 into MAR04474

Main improvements in this PR:
As per the suggestion in #346, MAR08973 was merged into MAR04474.
I hereby confirm that I have:

[ ] Tested my code on my own computer for running the model
[x] Selected develop as a target branch

Ah crap, I broke it. I think it's failing the check now because I added a reaction to deprecatedReactions.tsv (to reconcile conflict with develop), but the reaction hasn't actually yet been deleted from the model/annotation files in this branch...

Update: Crisis. Averted.


[SPARK-13363][SQL] Support Aggregator in DataFrame

Support user-defined Aggregators in DataFrame.
Currently, the code below does not work because of an unresolved error in CheckAnalysis.
val simpleSum = new SqlAggregator[Int, Int, Int] {
  def zero: Int = 0                     // The initial value.
  def reduce(b: Int, a: Int) = b + a    // Add an element to the running total
  def merge(b1: Int, b2: Int) = b1 + b2 // Merge intermediate values.
  def finish(b: Int) = b                // Return the final result.
}.toColumn

val df = sc.makeRDD(1 to 3).map(i => (i, i)).toDF("k", "v")
df.groupBy("k").agg(simpleSum).show

This pr fix this and add tests according to DatasetAggregatorSuite.

Test build #51550 has started for PR 11269 at commit 58205e2.

Test build #51550 has finished for PR 11269 at commit 58205e2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/51550/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins, retest this please.

Test build #51556 has started for PR 11269 at commit 58205e2.

Test build #51556 has finished for PR 11269 at commit 58205e2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/51556/
Test FAILed.

We are merging DataFrame and Dataset now, I think we should revisit this PR after that.

@cloud-fan okay, after the merging finished, I'll revisit this.

@maropu mind closing this for now?


[new section] Create section for sample datasets

Originally: https://github.com/influxdb/influxdb.com/issues/464
Include the NOAA sample data and the Telegraf sine wave, NASDAQ dataset

people can get the NOAA from the data exploration page, closing this until we need it.


[carbonmark-api] Duplicate projects in /projects list

2015 of this project appears twice https://www.carbonmark.com/projects/VCS-875-2015
(search the name to reproduce)
Might be related to #1160

@psparacino this is old and may no longer be a bug. Requires investigation to confirm.

Yes, this issue still persists

Fixed in API by @0xemc
Closing


[router] Txs not cancelling properly when lack of liquidity

Polygon -> ETH transfer of ETH, keeps trying to prepare but fails:
{"level":50,"time":1640763212434,"pid":1,"hostname":"07b8f09147a5","name":"0x29A519e21d6A97cdB82270b69c98bAc6426CDCf9","requestContext":{"id":"PmPITxPDS6ucXeYe6872Cg/38959306","origin":"subscribeToMetaTxRequest","transactionId":"0x5b148f3c1d089bd310f3d39dfb80bb25784f4f80baef8486cf8cfc4ab23737f8"},"methodContext":{"id":"PmPITxPDS6ucXeYe6872Cg/38959305","name":"subscribeToMetaTxRequest"},"error":{"message":"Transaction would fail on chain.","context":{"message":"execution reverted: Address: insufficient balance","chainError":{"code":"SERVER_ERROR","reason":"processing response error","data":"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001d416464726573733a20696e73756666696369656e742062616c616e6365000000"}},"type":"TransactionReverted","stack":"Error: Transaction would fail on chain.\n    at Object.parseError (/home/node/node_modules/@connext/nxtp-txservice/dist/shared/errors.js:346:16)\n    at /home/node/node_modules/@connext/nxtp-txservice/dist/shared/syncProvider.js:103:52\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)"},"msg":"Error executing metatx request"}

This was because of lack of relayer fee. We need to block auctions and cancel when this happens.


📙 docs: add material ui tech stack

In the README.md file, we need to add a Material UI badge with a website link & description.

assign me i want to work on this @priyankarpal

@priyankarpal can you elaborate this issue please

We need to add a badge of material UI like others tech stack badges

not got it

we need to add a badge like these of material ui

okay it will be done @priyankarpal

It appears that you may not be able to resolve this issue. Therefore, I'm unassigning you from it. It's worth noting that this issue has been open for two weeks

@priyankarpal assign it to me. i would like to work on it.

@priyankarpal assign it to me. i would like to work on it.

assigned to you

Completed. Thanks for your contributions 🎉 ❤


Implementation of DocSynchronizer.receiveSyncMessage may cause messages to be received out of order

While writing #69 , I noticed that receiveSyncMessage waits for the doc handle to be ready before calling update
https://github.com/automerge/automerge-repo/blob/ee508301f84339cad316bd4fb68216397c72bd51/packages/automerge-repo/src/synchronizer/DocSynchronizer.ts#L135-L160
receiveSyncMessage is invoked (indirectly through CollectionSynchronizer) in an on("message", ...) listener in Repo.ts:
https://github.com/automerge/automerge-repo/blob/ee508301f84339cad316bd4fb68216397c72bd51/packages/automerge-repo/src/Repo.ts#L98-L112
However, if we get two messages before doc handle is ready, I don't think there's any guarantee that the two listeners will resume from the await in the same order they reached it, which could cause sync messages to be processed out of order. I haven't reproduced this yet, so maybe I'm wrong about the spec and someone can correct me.

I'm pretty certain this has been closed by the work in #71, so closing for now.


autocomplete doesn't work for non-ASC identifiers on Win7, and some cases on Mac

Steps to cause the bug to occur

Below are the sample codes I used to reproduce the issue:

for 名字 in range(1, 10):
    # 有补全（Mac下），输入”名“
    print(名字)

When keying in the parameter of print, typing in the first character should trigger auto-complete, as the ASC identifier works.
Actual & Expected behavior

This 名字 variable triggers auto-complete under Mac:

However a a different name 序号 doesn't work under Mac:

Additionally, neither case works under Windows 7.
Your Jupyter and/or Python environment
Please provide as much info as you readily know

Jupyter server running:                       Local | Remote | N/A
Extension version:                               2019.10.44104-xxx
VS Code version:                                1.39.2
Setting python.jediEnabled:               true | false
Python and/or Anaconda version:     3.7.3 under Mac, 3.6.5 under Win7
OS:                                                     Windows | Mac
Virtual environment:                           N/A

Developer Tools Console Output

None.

Thanks for the issue.
Does this work inside of the python editor? Or are you only seeing this in notebook cells?

@rchiodo in the python editor I suppose:

Frankly I've not known of Jupyter Notebooks before, so please excuse me if I opened the issue in the wrong category.

Sorry not sure what your answer was. Does the problem also occur in the python editor or does it behave as expected there?

@rchiodo the problem occurred in python editor, as I only tested there.

Doesn't work for me in linux in neither python editor nor notebook.

@nobodxbodon  @xgdgsc Are you using Jedi  or Language Server? Please check the settings and let us know if JediEnabled is set.

@karthiknadig seems not for me:

Works for me on another machine using language server. I think it maybe the other machine using jedi. Thanks.

@nobodxbodon  moving this to LS repo. Since it looks like you are using LS and running into this issue.
@xgdgsc If the issue you see is with jedi then please file it on the jedi repo: https://github.com/davidhalter/jedi


Passing parameters with spaces using run step eg calling php command

raising from user email

TagUI:
run php -f php_test1.php 'this is one whole string'
result = run_result
echo "result = " + result

PHP:
<?php
echo "argv1 = " . $argv[1];
?>

How to pass in argument with spaces like the above?
Passing the above will give error just like the previous email to you:

The single quote is causing the problem
double quote will not work because sh/bash performs variable substitution

If I change the above without the single quote:
run php -f php_test1.php this is one whole string
It returns only "this" which is not right. Would like the whole string as parameter 'this is one whole string'
For assistance and advice, please.

I think this is same issue as previous, the CasperJS / PhantomJS command line executor breaks parameters by using spaces. You can try following implementation, which works.
main
parameter = 'this is one whole string'
tagui run_php
echo run_result

run_php
dump '<?php\n' to /tmp/temp.php
parameter_with_quotes = '"' + parameter + '"'
write 'echo ' parameter_with_quotes ';' to /tmp/temp.php
write '?>' to /tmp/temp.php
run php -f /tmp/temp.php


Fix Active Record default_timezone detection for different versions

Rails 7 moved the default_timezone config from Base to the main
ActiveRecord module, issuing a warning if you try to access it through
Base:

Rails 7

ActiveRecord::Base.default_timezone
DEPRECATION WARNING: ActiveRecord::Base.default_timezone is
deprecated and will be removed in Rails 7.1.
Use ActiveRecord.default_timezone instead.

ActiveRecord.default_timezone
=> :utc

Rails 6

ActiveRecord::Base.default_timezone
=> :utc

ActiveRecord.default_timezone
NoMethodError (undefined method `default_timezone' for ActiveRecord:Module)

To keep compatibility with different versions of Rails / Active Record,
and avoid the deprecation warning on Rails 7, we need to rely on feature
detection there.
Testing
master
Rails 7.x
% bundle info activesupport
  * activesupport (<IP_ADDRESS>)

% bundle exec rake
...
Finished in 0.42671 seconds (files took 1.62 seconds to load)
43 examples, 0 failures

Rails 6.x
% bundle info activesupport
  * activesupport (<IP_ADDRESS>)

% bundle exec rake
...
  1) RailsAutoscaleAgent::Middleware#call with RAILS_AUTOSCALE_URL set passes the request up the middleware stack
     Failure/Error: log_msg = String.new("DelayedJob enabled (#{::ActiveRecord.default_timezone})")

     NoMethodError:
       undefined method `default_timezone' for ActiveRecord:Module
     # ./lib/rails_autoscale_agent/worker_adapters/delayed_job.rb:15:in `enabled?'
     # ./lib/rails_autoscale_agent/reporter.rb:20:in `select'
     # ./lib/rails_autoscale_agent/reporter.rb:20:in `start!'
     # ./lib/rails_autoscale_agent/reporter.rb:15:in `start'
     # ./lib/rails_autoscale_agent/middleware.rb:19:in `call'
     # ./spec/middleware_spec.rb:33:in `block (4 levels) in <module:RailsAutoscaleAgent>'
     # ./spec/support/env_helpers.rb:15:in `use_env'
     # ./spec/middleware_spec.rb:30:in `block (4 levels) in <module:RailsAutoscaleAgent>'

  2) RailsAutoscaleAgent::WorkerAdapters::DelayedJob#enabled?
     Failure/Error: log_msg = String.new("DelayedJob enabled (#{::ActiveRecord.default_timezone})")

     NoMethodError:
       undefined method `default_timezone' for ActiveRecord:Module
     # ./lib/rails_autoscale_agent/worker_adapters/delayed_job.rb:15:in `enabled?'
     # ./spec/worker_adapters/delayed_job_spec.rb:17:in `block (3 levels) in <module:RailsAutoscaleAgent>'

  3) RailsAutoscaleAgent::WorkerAdapters::Que#enabled?
     Failure/Error: logger.info "Que enabled (#{::ActiveRecord.default_timezone})"

     NoMethodError:
       undefined method `default_timezone' for ActiveRecord:Module
     # ./lib/rails_autoscale_agent/worker_adapters/que.rb:23:in `enabled?'
     # ./spec/worker_adapters/que_spec.rb:20:in `block (3 levels) in <module:RailsAutoscaleAgent>'

Finished in 0.40502 seconds (files took 1.8 seconds to load)
43 examples, 3 failures

Failed examples:

rspec ./spec/middleware_spec.rb:32 # RailsAutoscaleAgent::Middleware#call with RAILS_AUTOSCALE_URL set passes the request up the middleware stack
rspec ./spec/worker_adapters/delayed_job_spec.rb:17 # RailsAutoscaleAgent::WorkerAdapters::DelayedJob#enabled?
rspec ./spec/worker_adapters/que_spec.rb:20 # RailsAutoscaleAgent::WorkerAdapters::Que#enabled?

This Branch
Rails 7.x
% bundle info activesupport
  * activesupport (<IP_ADDRESS>)

% bundle exec rake
...
Finished in 0.44925 seconds (files took 2.09 seconds to load)
43 examples, 0 failures

Rails 6.x
% bundle info activesupport
  * activesupport (<IP_ADDRESS>)

% bundle exec rake
...
Finished in 0.72957 seconds (files took 1.59 seconds to load)
43 examples, 0 failures

Thanks @carlosantoniodasilva!


Flyway writes to schema_version without lock after upgrade to 4.1.2

What version of Flyway are you using?
4.1.2
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin, SBT plugin, ANT tasks)
Command-line
What database are you using (type & version)?
MySQL 5.7
What operating system are you using?
Docker on Mac (Ubuntu image)
RUN wget https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/4.1.2/flyway-commandline-4.1.2-linux-x64.tar.gz \
   && tar -xf flyway-commandline-4.1.2-linux-x64.tar.gz

ENV PATH /flyway-4.1.2/:$PATH

What did you do?
After we upgraded from version 4.1.1 to version 4.1.2 our migrations started failing. Hereby the minimum set of migrations to reproduce the exception:
-- V1__CreateTable.sql

CREATE TABLE test (
  id  VARCHAR(36)  NOT NULL,
  PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

-- V2__CreateTrigger.sql

LOCK TABLES test WRITE;

DELIMITER //

CREATE TRIGGER test_trigger BEFORE INSERT ON test
FOR EACH ROW
BEGIN
  SET NEW.id := UUID();
END
//

Without the lock statement the migration would work in 4.1.2, but we want to lock to the table to prevent other systems to change data when the trigger is manipulated. E.g. we have to drop the old trigger to replace it with the new one.
Adding UNLOCK TABLES to the end would solve it, but than we need to change all previous migrations and it would also unlock tables that are locked by Flyway.
What did you expect to see?
We expected the migration to complete without exceptions, like it did in 4.1.1.
What did you see instead?
The trigger is created and we get the following exception: "Table 'schema_version' was not locked with LOCK TABLES".
$ flyway -configFile=flyway.conf migrate
Flyway 4.1.2 by Boxfuse

Database: jdbc:mysql://<IP_ADDRESS>:3306/database (MySQL 5.7)
Successfully validated 2 migrations (execution time 00:00.038s)
Current version of schema `database`: 1
Migrating schema `database` to version 2 - AddTriggerToTable
ERROR: Migration of schema `database` to version 2 - AddTriggerToTable failed! Please restore backups and roll back database and code!
ERROR:
Unable to insert row for version '2' in metadata table `database`.`schema_version`
-----------------------------------------------------------------------------------
SQL State  : HY000
Error Code : 1100
Message    : Table 'schema_version' was not locked with LOCK TABLES
Query is : SELECT MAX(`installed_rank`) FROM `database`.`schema_version`

This looks like an undocumented change between the two version.

You are correct that the locking technique used was modified. We now use GET_LOCK and RELEASE_LOCK. See https://github.com/flyway/flyway/blob/master/flyway-core/src/main/java/org/flywaydb/core/internal/dbsupport/mysql/MySQLNamedLockTemplate.java#L59
The behavior you were relying on was purely an implementation detail as Flyway never made any claims on how it would perform the locking, only that locking is applied to support concurrent migration attempts.
To new behavior is here to stay, so the workaround you suggested is the correct way forward for your case.