frdm_k64f : failed to run tests/drivers/gpio/gpio_get_direction

Describe the bug
Two bugs here , in test_disconnect and test_input_output function , shows "gpio_pin_configure() failed: -134".
It seems that these two flags are not recognized: "GPIO_INPUT | GPIO_OUTPUT | GPIO_OUTPUT_INIT_LOW"  , "GPIO_DISCONNECTED" .
To Reproduce
Steps to reproduce the behavior:

source zephyr-env.sh
twister -p frdm_k64f --device-testing  --hardware-map map.yml -T tests/drivers/gpio/gpio_get_direction/ -vv
See error

or

west build -p always -b frdm_k64f tests/drivers/gpio/gpio_get_direction/
screen /dev/ttyACM0 115200
west flash
See error

Expected behavior
Test case should pass as expected.
Impact
The testsuite gpio_get_direction failed.
Logs and console output
*** Booting Zephyr OS build zephyr-v3.1.0-812-g88ca3aca98c0  ***
Running TESTSUITE gpio_get_direction
===================================================================
START - test_disconnect
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/gpio/gpio_get_direction/src/main.c:20: test_disconnect: (0 not equal to rv)
gpio_pin_configure() failed: -134
FAIL - test_disconnect in 0.15 seconds
===================================================================
START - test_input
PASS - test_input in 0.1 seconds
===================================================================
START - test_output
PASS - test_output in 0.1 seconds
===================================================================
START - test_input_output
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/gpio/gpio_get_direction/src/main.c:92: test_input_output: (0 not equal to rv)
gpio_pin_configure() failed: -134
FAIL - test_input_output in 0.16 seconds
===================================================================
TESTSUITE gpio_get_direction failed.
===================================================================
RunID: c8e7e0ad19f305178da49e64f6b23b25
PROJECT EXECUTION FAILED

Environment :
OS: Linux
Toolchain Zephyr SDK 0.14.1
Commit SHA or Version: 88ca3aca98c0788e2c45db5c3fb9c8523293a8c0

@shaoanxli - can you please check out and test the fix in #46960?

The test went fine after adding this modification : 26e551d7db4dc98cc935ac0e4e162e47c57cb1bd . But there are still some issues with this commit : e26d4f3adf9006348b7efaff82420ed6f85f7611 .

I also see this test failing on all nrf boards on our farm. In my case the output is
DEBUG   - DEVICE: START - test_disconnect
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/gpio/gpio_get_direction/src/main.c:20: test_disconnect: (0 not equal to rv)
DEBUG   - DEVICE: gpio_pin_configure() failed: -5
DEBUG   - DEVICE: FAIL - test_disconnect in 0.15 seconds

I also see this test failing on all nrf boards on our farm. In my case the output is
DEBUG   - DEVICE: START - test_disconnect
DEBUG   - DEVICE:
DEBUG   - DEVICE: Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/gpio/gpio_get_direction/src/main.c:20: test_disconnect: (0 not equal to rv)
DEBUG   - DEVICE: gpio_pin_configure() failed: -5
DEBUG   - DEVICE: FAIL - test_disconnect in 0.15 seconds

@PerMac - you or someone at Nordic should add get direction support to the nRF driver. I only implemented it for a few platforms.

@cfriedt The latest commit can not skip the test "test_input_output" .

@cfriedt The latest commit can not skip the test "test_input_output" .

Ack- copy-paste error. It went into the work g function. Will fix

Actually, @PerMac it seems that gpio_nrfx.c (at least the driver, not sure about the hardware) does not support setting gpio disconnect (at least). Do you know whether it supports setting simultaneous input-output?
It seems rather than reporting -ENOTSUP, the gpio_nrfx.c driver returns -EIO, which is likely a driver bug.
 * @retval 0 If successful.
 * @retval -ENOTSUP if any of the configuration options is not supported
 *                  (unless otherwise directed by flag documentation).
 * @retval -EINVAL Invalid argument.
 * @retval -EIO I/O error when accessing an external GPIO chip.
 * @retval -EWOULDBLOCK if operation would block.
 */
__syscall int gpio_pin_configure(const struct device *port,

See https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/drivers/gpio.h#L681

@anangl can you please chip in? It is beyond my scope :(

Actually, @PerMac it seems that gpio_nrfx.c (at least the driver, not sure about the hardware) does not support setting gpio disconnect (at least). Do you know whether it supports setting simultaneous input-output?

@cfriedt The gpio_nrfx driver supports simultaneous input-output pin configuration. It also supports the GPIO_DISCONNECTED flag, not perfectly though, as it incorrectly returns the -EIO error if the pin to be configured with GPIO_DISCONNECTED was not earlier configured as input or output. I can provide a fix for that - you can assign #47030 to me, unless you prefer to solve it yourself.


Anyone faced issue with restricted API being java.util.Objects

I have been facing this issue in both exercise 2 and 3, where it mentioned that restricted API objects is used. But after checking the API, I have confirmed that none of the methods in Objects is being used in my code.
Anyone faced a similar issue? Or have resolved it before?

Hi I got this error from declaring and instantiating an attribute in one of my classes. I think the grading wants constants to be declared as private static final instead of private final

Hi, this could be due to a number of reasons. Better to let us have your submission id to take a look.


Is lengthInLines really logarithmic time for ropes?

Maybe it is, if lastChar is logarithmic. It seems a shame, since we have most of the information to hand in constant time.

Yes, that's because of lastChar, which is needed to reproduce the peculiar semantics of Data.Text.lines / Data.List.lines. However, if you do not care about this peculiarity, posLine . lengthAsPosition works in constant time for ropes.


Log situation when SDK starts up with orchestrator not hooked up

Goal

Testing

Release Notes

WHAT:
WHY:

#1606  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bidetofevil and the rest of your teammates on  Graphite

Merge activity

Oct 31, 1:15 AM EDT: A user started a stack merge that includes this pull request via Graphite.


Update a few dependencies

Coverage remained the same at 100.0% when pulling 833b83372b09dc044722c3e887f7e01262942298 on makefiles into ac7d2c728319fba4dcaa555cc092b444a06e764c on master.


Swimming-with-kgkg.md to working-with-the-kimkk-…

…registry.md

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Thanks


Update docs for build

Description
Provide a brief description of the PR's purpose here.
Todos
Notable points that this PR has either accomplished or will accomplish.

[ ] TODO 1

Questions

[ ] Question1

Status

[ ] Ready to go

Codecov Report

Merging #7 (10ffcf1) into main (2d4ea35) will decrease coverage by 4.06%.
The diff coverage is n/a.


IndexError and SessionNotCreatedException error in  ubuntu vps

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] support request --> Contact me over mail for support https://github.com/MShawon

Description
is there any installation doc available?
OS: Ubuntu (VPS)
kindly include the browser install step.

note existing issues solution not working
thanks
Environment
- OS : ubuntu
- Python :
- Script version : 1.8

config.json
{
    "http_api": {
        "enabled": false,
        "host": "<IP_ADDRESS>",
        "port": 5000
    },
    "database": false,
    "views": 500,
    "minimum": 85.0,
    "maximum": 95.0,
    "proxy": {
        "category": "p",
        "proxy_type": "http",
        "filename": "Proxy-list.txt",
        "authentication": true,
        "proxy_api": false,
        "refresh": 0.0
    },
    "background": false,
    "bandwidth": false,
    "playback_speed": 1,
    "max_threads": 5,
    "min_threads": 2
}

From the ss I can  see there are some HTML codes in Proxy-list.txt
you need to put your proxies in that file line by line..

kindly check This one.


Drop Python 3.7 and add Python 3.12

Will need to re-run this as soon as 3.12 is available on GitHub-hosted runners.


Can't edit free text settings thru admin panel if ModSecurity is set Active

Describe your problem
If ModSecurity is in Active state, the new Bludit, at least version 3.12.0, causes an irritating false positive problem with ModSecurity when trying to edit the free text kind of settings in Bludit Admin Panel. The problem is detected by ModSecurity the following way:    [id=340162] Atomicorp.com WAF Rules: Remote File Injection Attack detected (Unauthorized URL detected as argument)
The problem though does not occur in at least some older Bludit versions, like 2.3.4 (alongside with exactly same ModSecurity config and rules, but PHP 5.6.40).
Steps to reproduce the problem
ModSecurity set to Active operation state, default rules. Then, try to edit Bludit settings which are free text, using its admin panel. For example, General settings including website title, slogan, description, and footer text (of which default value is "Copyright © 2020"), as well as tag and category URLs from the Advanced settings.
Bludit version
3.12.0
PHP version
7.4.7

Hellow,
are you using Bludit on a local server or by using the direct IP address of your Server instead of a domain? I created a similar setup and encountered this issue only using the IP instead of a (virtual) domain.

I am using this paid webhosting plan: https://www.freehostia.com/hosting/watercircle-plan – so, I think that the problem may not be limited to direct IP thing. I have domain names for both the Bludit version 3.12.0 test setup where this problem occurs and the old one and both of the websites' frontends are also publicly, globally viewable by any decent web browser just using the domain name. Both of these setups are running under the very same hosting plan account, and both of them have htaccess set up to force HTTPS protocol and ensure that its URLs are without the beginning "www".

This seems to be a really hard problem.
After a small research I figured out, that the rule WAF 340162 (which causes this issue) is a commercial rule of modsecurity and therefore I couldn't "trap" to the same error (since I'm just using the free version, of course :D).
However, I've no idea how this issue can be fixed, but maybe @dignajar finds a solution for this. The only thing I could find was the following entry in the documentation of the IndieAuth WordPress plugin at point ModSecurity Firewall blocking requests:

ModSecurity Firewall blocking requests
On servers using the ModSecurity Web Application Firewall, with Atomicorp.com WAF Rules requests may be blocked because of WAF 340162. This rule blocks requests that use external URLs in the URL, to protect against Remote File Injection.
Temporary solutions:

ask the hosting in charge of the firewall to disable this rule,
or disable it yourself if you have access to server configuration files (this may also work in .htaccess files):

<IfModule mod_security2.c>
SecRuleRemoveById 340162
</IfModule>

Real solution:
From the WAF Rule description:

It is not recommended that you disable this rule if you have a false positive. If you believe this is a false positive, please report this to our security team to determine if this is a legitimate case, or if its clever attack on your system. Instructions to report false positives are detailed on the Reporting False Positives wiki page. If it is a false positive, we will fix the issue in the rules and get a release out to you promptly.

This may only be available to Atomicorp customers?

Sorry.

 And, there is no access to the server config files because they are same for all customers, as well as the ModSecurity firewall rules, meaning that the hosting provider is not going to make any special alterations to them either.
Currently, the only possibility for me and many others to run up-to-date version of Bludit without these problems is to keep ModSecurity only at the operative mode Detect, at least when updating the free text kind of settings. Basically, though, this is comparatively far from optimal what comes to online security nowadays.
As a conclusion, this problem should be able to be fixed in Bludit itself, as the older versions do not have this issue, which seems like there must have been another way to pass those free text setting values from the admin panel user interface to the Bludit's flat-file database.

Hard Road through WAF rules, but I guess I found a solution for this issue. Can you please download the ZIP below and replace the containing bl-kernel/url.class.php and bl-kernel/admin/views/settings.php files with your Bludit installation:
bl-kernel.zip
The files just adds a .php ending on the respective admin/settings form. This way the post request should be passed using one of the default MatchLocation filters of modSecurity.
Thanks.

Yes, that fixed the problem completely. 👍 😊 So, seems to be the time to make a pull request, too.

Perfect :D Pull Request has been submitted, a bit differently but with the same result.

Hi guys,
I really don't like the idea to add code to fix problems from other systems, this is a false positive detected from Modsecurity, to do it in a correct way is to remove this rule or whitelist your domain in Modsecurity.
The previous version of Bludit don't have the URL /admin/settings, so that why is not catch by Modsecurity.

Hello there, dignajar
Well, at the level of thought the root of the problem in this case may lie there in the ModSecurity's threat prevention rules. Though, it is darn complicated to get those things sorted out in that firewall system because their policies require vast amounts of various technical information to report a false positive (_https://support.atomicorp.com/hc/en-us/articles/360000584688-Reporting-False-Positives-when-not-running-ASL_), and most of that information is not available for webhosting customers like me.
As a reminder, let's also not forget something that was stated earlier in this issue thread. The idea of domain whitelisting or disabling the particular rule is actually not a bright one – for more than just one reason. Speaking of 'em, let's pay attention especially to the fact that doing so will open holes for attackers to intrude. It should also be recalled that typical web hosting customers (like me) do not even have any possibility to set individual rule exceptions because of the fact that all web hosting customers on the platform share the global rule set.
Anyways, I naturally will try to contact my webhosting provider and refer to this issue thread.

What we can do in new version is to avoid the URL /admin/settings and setup another URL.
Ideas for a new URL ?

Hellow,
I couldn't stop thinking about this issue, also because Bludit v2.x works but Bludit v3.x doesn't. After dozens of tests and workarounds I discovered the reason why v.3.x doesn't pass the rule any more:
Mod Security doesn't like the social media URL fields!
The Site URL form field (as I assumed before) is completely irrelevant and @dignajar it also doesn't help to change the URL, since mod security always requires an ending (such as .php or .cgi) if you want to skip the respective rule filter.  So maybe I found a solution, which doesn't change the core routing system and may also improve the settings page too. I'll post it here, after I tested it completely.
~ Sam.

A few tests later, I found a working solution.
You could add [url] on the name of the respective network fields... So instead of ...

    <input class="form-control " id="jstwitter" name="twitter" value="" placeholder="" type="text">

... you could change it to the following and filter the URL part of the form field on the backend

    <input class="form-control " id="jstwitter" name="twitter[url]" value="" placeholder="" type="text">

In this case you could theoretically also re-design the social network part. I mean instead of offering a bunch of networks, which may gets obsolete like Google+, you could also offer a free text field. This way the user can add all the networks he wants to, without being restricted to the existing ones. Something like

But that's just an idea.
~ Sam.

I warmly support the ideas such as presented by SamBrishes which improve well-advised flexibility and longevity.

Hello, with the new version of Bludit v4.0 rc1, I would like to close the old Github issues. If you feel that your issue is not resolved in the latest version, create a new ticket.

Help and Support use the Forum https://forum.bludit.org
Bugs and new requests here in Github https://github.com/bludit/bludit/issues


Use m2w64 compilers

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

license_file entry is missing, but is required.
Using toolchain directly in this manner is deprecated.  Consider using the compilers outlined here.

For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [26, 27, 28, 29, 30, 31, 38].
License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

license_file entry is missing, but is required.

For recipe:

Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [39].
License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

license_file entry is missing, but is required.

For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.


Parsing fails on rare cases where "download_id":null

We found having few rare cases of users having "download_id":null in their receipt
"receipt":{"receipt_type":"Production",  "adam_id":1065010776, "app_item_id":1065010776,  "bundle_id":"sk.npress.dennikn.dennikn", "application_version":"53",  "download_id":null, "version_external_identifier":843649694, "receipt_creation_date":"2021-09-27 12:07:22 Etc/GMT", "receipt_creation_date_ms":"1632744442000", "receipt_creation_date_pst":"2021-09-27 05:07:22 America/Los_Angeles",
Not sure why this is happening, but having "download_id":null results in failing to parse the response in ReceiptClient
decoder.decode(SRVReceiptResponse.self, from: data)
the "download_id":null  is also mentioned here, with a variant of "null"
https://developer.apple.com/forums/thread/658179
therefor SRVReceipt.downloadId should be Int? not Int

Hey,
Thank you very much for your message and pointing this out. I will double check this tonight and make this field optional. Update will be love latest tomorrow.
Thanks again.
Best regards

Hey,
I have just published v6.3.0 with the optional downloadId field, should be live soon. It does sound like a rare case reading this apple developer chat, but I don't see any harm in making it optional.
Please do not hesitate to report any other issues you might face, its much appreciated.
Thanks again


panic: store new item in finalized index

Output of restic version
$ restic version
restic 0.5.0
compiled with go1.7.4 on linux/amd64

How did you start restic exactly? (Include the complete command line)
$ restic -r sftp:user@myserver:/backup/laptop.restic --password-file password.txt --one-file-system --exclude=/var/cache --exclude=/var/tmp --exclude=/home/user/tmp --exclude=/home/user/.cache backup / /var /usr /home /boot /boot/efi

What backend/server/service did you use?
sftp
Expected behavior
success
Actual behavior
scan [/ /var /usr /home /boot /boot/efi]
[2:45] 375041 directories, 4248360 files, 202.878 GiB     <- side note: there should only be around 100GiB there, 202.878 GiB is the side including excluded dirs.
scanned 375041 directories, 4248360 files in 2:45
[41:55:30] 29.55%  416.470 KiB/s error for
/home/user/mail/.INBOX.debian/cur/1494922886.M787921P6408.capeo,S=6890,W=7016:2,: lstat
/home/user/mail/.INBOX.debian/cur/1494922886.M787921P6408.capeo,S=6890,W=7016:2,: no such file or directory
error for home/user/mail/.INBOX.debian/cur/1494925411.M427233P6408.capeo,S=5451,W=5562:2,: Lstat:
lstat /home/user/mail/.INBOX.debian/cur/1494925411.M427233P6408.capeo,S=5451,W=5562:2,: no such file or directory
^[[2K^Mwarning for /tmp/restic-temp-pack-932020790: file has changed
warning for /tmp/restic-temp-pack-932020790: expected 3125275 bytes, saved 3126386 bytes
panic: store new item in finalized index
goroutine 1832138 [running]:
panic(0x856540, 0xc42f8bb9d0)
        /usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
restic/repository.(*Index).Store(0xc43461ea80, 0x2, 0x379, 0x48bd354a59a24ddc, 0xb1f62d03f2e8b75c, 0xc06fc2c419b30175, 0x382d2ef85d14ff10, 0x0, 0x9d34d89fbb123036, 0xfc3a75bd72bd7429, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/repository/index.go:102 +0x459
restic/repository.(*MasterIndex).Store(0xc42016e450, 0x2, 0x379, 0x48bd354a59a24ddc, 0xb1f62d03f2e8b75c, 0xc06fc2c419b30175, 0x382d2ef85d14ff10, 0x0, 0x9d34d89fbb123036, 0xfc3a75bd72bd7429, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/repository/master_index.go:126 +0x2ab
restic/repository.(*Repository).savePacker(0xc42006ede0, 0xc431965920, 0x2da36cd10c44d545, 0x8e80fa9321ae71f6)
        /build/restic-8CTil3/restic-0.5.0/src/restic/repository/packer_manager.go:151 +0x6d4
restic/repository.(*Repository).SaveAndEncrypt(0xc42006ede0, 0xc436d4bc01, 0xc45d3e4000, 0x80921, 0x13a000, 0xc436d4bcf0, 0x0, 0x0, 0x0, 0x0, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/repository/repository.go:202 +0x421
restic/repository.(*Repository).SaveBlob(0xc42006ede0, 0x45eb7259d8ba8801, 0xc45d3e4000, 0x80921, 0x13a000, 0x45eb7259d8ba889e, 0xf62da36cd10c44d5, 0xac8e80fa9321ae71, 0x1a63809266adab6a, 0x0, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/repository/repository.go:528 +0x16b
restic/archiver.(*Archiver).Save(0xc436ca0230, 0x80901, 0xc45d3e4000, 0x80921, 0x13a000, 0x45eb7259d8ba889e, 0xf62da36cd10c44d5, 0xac8e80fa9321ae71, 0x1a63809266adab6a, 0x8c71acbb4ab47dc9, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/archiver/archiver.go:103 +0x222
restic/archiver.(*Archiver).saveChunk(0xc436ca0230, 0x538d75fe, 0x80921, 0x0, 0xc45d3e4000, 0x80921, 0x13a000, 0xc440a9c2c0, 0xb08d00, 0xc45e510010, ...)
        /build/restic-8CTil3/restic-0.5.0/src/restic/archiver/archiver.go:160 +0x118
created by restic/archiver.(*Archiver).SaveFile
        /build/restic-8CTil3/restic-0.5.0/src/restic/archiver/archiver.go:237 +0x39c
 59.946 GiB / 202.878 GiB  2006383 / 4623401 items  1 errors  ETA 99:57:49
[41:55:40] 29.55%  416.441 KiB/s  59.946 GiB / 202.878 GiB  2006383 / 4623401 items  1 errors  ETA 99:58:14

Steps to reproduce the behavior
not sure
Do you have any idea what may have caused this?
seems to be a change in a file

Huh, this is odd, thanks for the report! I thought I had resolved all issues with finalized indexes...

So preliminary analysis: /tmp/ is included in the backup, that's where restic leaves temporary files. It then happened that a temp file it was currently writing was to be saved, and that caused the whole mess. Interesting :)

This is mitigated in the master branch, tempfiles are removed directly after creation. So I'm going to close this issue for now. Please feel free to add further comments.


Update Logging to new logging architecture

Remove the logging that was tied to the delayed commit mechanism and replace with the JSON formatted java logger.

@jboynes @ludoch
In the current VmRuntimeWebAppContext there is the following code
      if (!VmRuntimeUtils.waitForAsyncApiCalls(requestSpecificEnvironment,response)) {
        logger.warning("Timed out or interrupted while waiting for async API calls to complete.");
      }

Just before it does the log flushing.  This was in the delayed commit handling, but I have moved it to the onComplete async handling in the async-support branch.
My question is - do we still need to wait for async API calls to complete?  Was this done only so that all the logs could be flushed with the response headers?  Now that we don't delay commit and will support async request handling, is there any reason to delay the end of the request lifecycle until all AsyncAPICalls have completed?     Note that if they do try to use the servlet async API after onComplete, they will get ISE thrown (as they should).

For now I think this is still needed as there is a window between when the response is written and when the request is completed in which API calls could still be made. With the current serving path API calls made in that window may error; this is why we wait for all logging calls to complete before committing the response. There are changes to the serving path that will remove that limitation but those are not yet released.

@jboynes but I'm asking this in the context of the async-supported branch where we have already removed the delayed commit.  Thus the response is probably already committed and it is not possible to add headers - as the waitForAsyncApiCalls attempts to do?

I've tried rerouted the jetty logging mechanism to java.util.logging only to decide that the jetty JavaUtilLog class is rather deficient (wrong source class/method name for example).     If reimplemented that class and it will be release in 9.3.4 in about a weeks time.

This is done in the async-support branch waiting for merge

fixed in async-support branch


MODULES-2861: run stages limitation added to the documentation.

@jbondpdx Any thoughts on the wording now?
@ryayon I'm going to have to ask you to squash this down to a single commit.

Not sure I did well for the git squash.
Let me know.

@ryayon I'm seeing 4 commits now. We should be down to 1 from 2 but it multiplied so I think that went wrong :smile:.

I completely messed up.
I did a hard reset, then you should get only one commit, although not the best way.

That's alright, as long as we get the intended end result. Thank you!

I'm :+1:  on the language.

Alright. Then I'll wait on the change that @petems has suggested and merge it.

Done

I feel that this has gone wrong:
Limitations

This module is tested and officially supported on Debian 6 and 7 and Ubuntu 10.04, 12.04, and 14.04. Testing on other platforms has been light and cannot be guaranteed.

This module is not designed to be split across stages. If you want to ensure that apt update is run before all packages, add a proper dependency like this:

Class['apt::update'] -> Package<||>
Be aware that this example will realize all your virtual package resources.

Adapt it to your environment.

Adding new sources or PPAs

If you are adding a new source or PPA and trying to install packages from the new source or PPA on the same Puppet run, your package resource should depend on Class['apt::update'], in addition to depending on the Apt::Source or the Apt::Ppa. You can also add collectors to ensure that all packages happen after apt::update, but this can lead to dependency cycles and has implications for virtual resources.

Class['apt::update'] -> Package <| provider == 'apt' |>

Now we have two examples with different collectors.

Indeed, I didn't see that.
Maybe, we can just add:
This module is not designed to be split across stages.

and update the current Class['apt::update'] -> Package<| |> to Class['apt::update'] -> Package <| provider == 'apt' |>

Sounds good to me.

Pushed again.
Let me know.

Off it goes. Thank you for the work!

Sounds good.
Thank you for your help.


XSS vulnerabilities

There exist some XSS vulnerabilities within zipkin and its UI. Either through an injection attack via tags/annotations or by appending injection attack data to the end of the URL, we were able to successfully get the attack to fire when viewing the details of a span. We were only able to get it to happen in the span detail modal window, so it looks as though the data needs sanitising before rendering.
The tag/annotation injection was done using brave, as per the below example:
    span.annotate("");
    span.annotate("Annotation 2	");
    span.annotate("");
    span.tag("Tag key 1	", "");
    span.tag("Tag key 2


User package is tested

The user package was once tested, but not anymore. We definitely need to add this back. The tests inside karabo can easily be run as follows:
pytest --pyargs karabo.test
I think to make it easier, it can be run after building and uploading the package, to test the user experience. However, it's annoying that some requirements to run the test are inside the dev enviroment.yaml and in the requirements.txt

I agree we should test the user-build. What makes sense is to do so after building the user-build, but before uploading it to anaconda.org. So install the user-build with conda install from local, then call the karabo.util.testing.run_tests function, and then upload the user-build if the tests succeeded. Make sure to not have the repository or the dev virtual-environment from where you do the user-build test. I think all of that should be done in conda-build.yml.
Regarding to your post: I don't think that we ever tested the user-package properly. I don't agree with your statement that some things are in the environment.yaml (all direct dependencies of a karabo-package) and others in the requirements.txt (dev dependencies) since the purpose of these files should be clear.


Story characters with IsUnlockEditSkill = false

Story characters, i.e.
 new Dictionary<Charas, CharaAvailabilities>()
 {
     { Charas.ThePrince, CharaAvailabilities.Story },
     { Charas.Elisanne, CharaAvailabilities.Story },
     { Charas.Ranzal, CharaAvailabilities.Story },
     { Charas.Cleo, CharaAvailabilities.Story },
     { Charas.Luca, CharaAvailabilities.Story },
     { Charas.Alex, CharaAvailabilities.Story },
     { Charas.Laxi, CharaAvailabilities.Story },
     { Charas.Chelle, CharaAvailabilities.Story },
     { Charas.Zena, CharaAvailabilities.Story }
 };

should have their shared skill unlocked by default. This is enforced in the constructor for DbPlayerCharaData, but somehow there exist many units in the database where this condition isn't met.

Save editor bug, players selected to add characters after the tutorial summon and selected min-level, save editor did not account for story chars coming with their skills unlocked


create a PR on the origin repo

Title
new feature: enable runtime customization of API resource collection paths
Description
Background
When Compliance Operator tries to perform OpenShift configuration check, its API resource collector pod collects check target Kubernetes API resources.   For example, many Kube API server configuration rules check the Kubernetes API resource /api/v1/namespaces/openshift-kube-apiserver/configmaps/config. The path (/api...) is hard-coded in each rule (example), and therefore it is impossible to specify an API resource path at runtime.
Issue
HyperShift is an enabler for managed OpenShift clusters. Master-plane components of a guest cluster in the hypershift environment runs on a separate namespace (per-guest-cluster namespace) of a management cluster (see architecture document of hypershift in details).
Example: In a standard installation, a Kubernetes API server pod and its configuration exists in namespace openshift-kube-apiserver.  However, in a hypershift environment, a Kubernetes API server pod and its configuration are located in a per-guest-cluster namespace (such as master-guestcluster1).  The name of the namespace varies, and therefore the hard-coded path doesn't matter.
Solution
Change the API resource collector to read the name of an XCCDF variable from a rule, and collect an API resource from the path specified as an XCCDF variable.
Also, changes on ComplianceAsCode/content is required.
(One discussion point related to the rule modification is that filepath is still required in the rule to build the rules while actual filepath is externalized)

closed https://github.com/openshift/compliance-operator/pull/750


Fix Implicit Remoting test failure on nightly run

[Feature]
Systems running WS2012R2 w/o WMF5 has WinRM with restriction for MaxConcurrentUsers between 1-100
So the default needs to be 100 to allow PSCore6 to work w/o requiring WMF5+
This is technically a Breaking Change as we had explicitly changed the allowed max to Int.MaxValue, but for most users this shouldn't be an issue.

@TravisEz13 having trouble getting Feature tests to run

WS2012R2 w/o WMF5 has WinRM with restriction for MaxConcurrentUsers between 1-100

I never knew that restriction! I tried and I can confirm.
It's also a very fantastic scenario - to a server should connect more than 100 users by WinRS!
I believe the fix does not need because the limit (1) can be changed in future, (2) can vary between systems and versions
If anybody catch the issue he get a standard error message.
So I believe the best fix is to enhance documentation  https://msdn.microsoft.com/en-us/library/ee309367(v=vs.85).aspx

@SteveL-MSFT

[Feature]

"If in the first line of the last (most recent) commit description you add [Feature],
we will ensure that we will also run the tests tagged with Feature."

#4304 was causing [Feature] not to work for PRs

@iSazonov the fix is only needed because any customer (and affects our AppVeyor CI) using WS2012/R2 without WMF5 installed will have this restriction.  This means that by default, if they do new-pssessionconfigurationfile and register-pssessionconfigurationfile it will return this error.  Unfortunately, we don't expose a way to set this value, they would have to understand WinRM XML configuration to make it work.

The 3 failures in implicit remoting will be resolved by #4326

@SteveL-MSFT Why do we rely on the default value? What if I want 200? I can install WMF5 and get 200, but this fix is blocking me. This error is rised on the server but is sent to the remote user.
This user does not know the configuration of the remote server, which can also be changed dynamically. If we want to inform the user, we must catch this exception and create our own.

@iSazonov we need a default as that value is required by WinRM.  I guess the question is whether we want to support downlevel systems w/o WMF5 or not.  Personally, I don't like making PSCore6 dependent on WMF5.  cc @joeyaiello

I don't like making PSCore6 dependent on WMF5 too.

Based on some internal discussion, I think where we ended up is to revert the default as it was changed due to customer impact (100 was too low) and in the cmdlet, if the registration fails, we try again with MaxConcurrentUsers=100.

@mirichmo @PaulHigin since this is causing our nightly runs to fail, can you prioritize this review higher?  thanks


文档地址挂了

Describe the bug
https://inhiblab-core.gitee.io/docs/hooks 地址无法访问
Steps to reproduce
No response
System Info
https://inhiblab-core.gitee.io/docs/hooks 地址无法访问

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a VueHooks Plus issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

地址改了：https://inhiblabcore.github.io/docs/hooks/guide/

@yqiuwen gitee 国内镜像确实挂了，我需要排查一下，可以先用上面的 github io，它现在对国内支持的也不错。

@#%😑 gitee

@yqiuwen gitee page 服务正在维护


Train a custom model

AS A Data Management Interface (DMI) user
I WANT TO  train a custom model on top of my custom dataset
IN ORDER TO perform anonymization on my custom dataset.
Acceptance Criteria:

[ ] I can start the training process
[ ] The training process calls training script via Ruuter.
[ ] Training script gets and prepares data for the training getting it from the Postgres database using ReSQL.
[ ] If training is ‘in progress’ status then new training cannot be started.
[ ] The new model is saved to the local disk replacing the old one.
[ ] I can see a newly trained model in UI as the last trained model.
[ ] I can see a corpus file in UI name that's being used on trained model.

@alimuhammadahmer @kunnark

This issue is marked as "In progress" but should be groomed first;
ACs must contain all REST endpoints used to get the result.

RUUTER endpoint:
POST /train

@turnerrainer

This issue is marked as "In progress" but should be groomed first;
ACs must contain all REST endpoints used to get the result.

Status changed to 'backlog'
REST endpoint added to AC.


Find players on T and CT for round or at tick?

I want to figure out who is T and CT, either at round start or at a particular tick, either would work. I'm not seeing this data anywhere in any of the properties/tables. Is there a way to derive this from the properties that exist?

Maybe you are looking for the "team_name" property?

Ah yup, there it is.


Remove toybox dot com from the porn list

Hi! toybox.com is currently listed in the porn list but it's a 3D printing site/store, nothing to do with porn.
Could it be removed from the list?
Thanks!

Thanks for letting me know.
The site has been removed from the list.


Move examples back to up-transport-zenoh-rust

@stevenhartley Do we have the final decision to move examples back to up-transport-zenoh-rust and reduce the number of projects?
If yes, I'll put the examples back to this project.

After talking to @stevenhartley, I'll move the examples back to reduce the number of projects in uProtocol.


Remove space in MeshLibrary toolbar button

Changes the MeshLibrary toolbar button text from "Mesh Library" to "MeshLibrary". This makes it consistent with other nodes that have toolbar buttons.

Thanks!

Cherry-picked for 3.5.


devenv: 14: function: not found after update to v0.6 with zsh

Describe the bug
After updating to v0.6, I can no longer run any devenv commands due to the following error:
➜ devenv version
/home/eric/.nix-profile/bin/devenv: 14: function: not found
➜ bash
$ devenv version
devenv: 0.6

To Reproduce
Simply upgraded to v0.6 while using zsh
Version
v0.6

Can you tag a release the PR is merged :)

Released!


Unhandled Promise Exception on position change

With node version 16.3.1 the module throws a exception if the position is changed:
[21.07.2023 19:16.53.775] [ERROR] (node:1033) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 26)
[21.07.2023 19:17.13.762] [ERROR] (node:1033) UnhandledPromiseRejectionWarning: ReferenceError: Sleep is not defined
    at Class.goPosition (/home/pi/MagicMirror-stable/modules/MMM-SynologySurveillance/node_helper.js:270:7)
    at Class.socketNotificationReceived (/home/pi/MagicMirror-stable/modules/MMM-SynologySurveillance/node_helper.js:332:12)
    at Socket.<anonymous> (/home/pi/MagicMirror-stable/js/node_helper.js:104:11)
    at Socket.emit (node:events:513:28)
    at Socket.emitUntyped (/home/pi/MagicMirror-stable/node_modules/socket.io/dist/typed-events.js:69:22)
    at /home/pi/MagicMirror-stable/node_modules/socket.io/dist/socket.js:703:39
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
[21.07.2023 19:17.13.763] [ERROR] (node:1033) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 27)

With node Version 18.X to problem is gone.

fixed with version 0.1.3


Fix build on Arch Linux

With these patches, riker builds on Arch Linux. Unfortunately, there's still four test failures where it's not clear to me what's wrong:
$ make test                                                                                :(
Running tests using rkr in /home/lukas/src/riker/debug/bin
             ABbuild .....
             addfile .
     alter-if-exists ..
basic-nondeterminism .
         build-error !!!
        build-error2 .......
           buildfile ..
                  cd ...
   conflicting-files .
            coredump s
      creat-dir-open .
     creat-excl-path .
                 csv .
        edit-comment .
          evil-links ..
g++-prebuilt-modules sssss
     g++-std-modules ssss
               graph .....
               hello ........
                list ......
                make ..
            makelink ...
  metadata-maychange ..
               mkdir ....
         no-fixpoint ....
   nofollow-symlinks .
             o_creat .
    openat-directory .
       paper-example !
            pdflatex ......
               pipes ...
              pipes2 ...
            readlink ...
      rebuild-commit ..
   recursive-torture s
              rename ......
           rm-append s
               rmdir ...
                skip .....
               stats ...
             symlink ..
               touch ..
          whitespace .
            wildcard .....
Ran 125 tests, 109 passed, 12 skipped, 4 failed.

Thanks for the pull request. I'd like to get some preliminary sense of why tests are failing before accepting the changes. Could you share the .t.err files from the build-error test cases? The first one is likely enough. This could just be a difference in paths, or there could be more to it.
If you re-run the tests, does pdflatex still fail? For some mysterious reason I've found that pdflatex does not work with output redirected to /dev/null on the first run after installation (weird, I know).

Sure. I think it's mostly issues where the regex and glob patterns aren't matching. I found one stat vs. statx issue (see diff below), but that wasn't enough to fix the test case.
diff --git a/tests/build-error/02-broken-to-working.t b/tests/build-error/02-broken-to-working.t
index 9ec81cfd..9b2775ab 100644
--- a/tests/build-error/02-broken-to-working.t
+++ b/tests/build-error/02-broken-to-working.t
@@ -21,7 +21,7 @@ Run the first build

 Check the output

   $ stat hello
-  stat: cannot stat 'hello': No such file or directory
+  stat: cannot statx? 'hello': No such file or directory (re)
   [1]

 Run a rebuild, which should do nothing

Here's my tests folder after running the tests: tests.tar.gz

Thanks! I'll merge this pull request and take a closer look at the tests to see what I can do without access to an Arch machine. If you do figure out what it takes to get them working I'd be happy to accept a PR fixing those as well.


Add location icons/types and update defaults

Add some location types and OSM icons to match the current default locations.

+1 on tests

(Tests pass locally; not sure why Travis' npm is grumpy today.)


[5.8] Allow tuple notation when defining Gates

This PR allows Gates to be defined using tuple notation.
The idea here is similar to tuple notation used when generating action urls.

Sorry. Wrong branch!


Add Mute/Block Buttons to Profile Hover Card

Bluesky recently implemented hover cards. In addition to the follow button, I would like access to additional account actions -- mute and block.

The buttons, in order to foreground pro-social behavior, could be sized to emphasize following, while also making the other options quick to access. By putting these options in easy reach, it could make it simpler to block and move on than engage negatively with someone in your feed.
This would complement and align with another feature that appears to be forthcoming : mute/block user in the ... menu of an individual post.

This would complement and align with another feature that appears to be forthcoming : mute/block user in the ... menu of an individual post.

For reference, this is #1017 and duplicate #2076 and there is an open PR at #2610 that would add mute and block options to the post context menu.


Switch to Libjpeg-turbo

The original JPEG library variant maintained and published by the Independent JPEG Group (IJG), is no longer well maintained:
https://en.wikipedia.org/wiki/Libjpeg
https://github.com/thorfdbg/libjpeg/commits/master/
"Many projects are now using libjpeg-turbo instead of libjpeg, including popular Linux distributions (Fedora, Debian, Mageia, openSUSE, ...), Mozilla, and Chrome" and VTK.
Additionally the conda-forge build of ITK also uses libjpeg-turbo as a system library instead of Libjpeg:
https://github.com/conda-forge/libitk-feedstock/blob/main/recipe/meta.yaml#L26

closed by #4979.
The PR was merged and there appear to be no issues on the nighty dashboard.


Title and subtitle disappear when page is zoomed to 500%

Look at the picture above (from demo site).
This is a great theme, thank for the author and all contributors.
Now I find a problem, when I apply it to my personal website, I zoom in and out the home page, which ensure everything about layout is good. In the picture above, you can see that when the home page is zoomed to 500%, the title disappears, and the the scroll bar of the browser has reached the top.
Hope the issue could be fixed.

Fixed by using “min-height: 100vh”, hope this won't cause any new issues.


models.py: absolute import layers.GraphConvolution

The relative import statement fails when pygcn is installed and used as a package. Using the absolute import (like in train.py) lets the program be run in any context.

Good catch, thanks!


Project Detail: PAF Doc Upload - Upload new doc

[ ] Supporting documents section has the upload button which opens a model to upload a document, name it and assign the document category
[ ] On upload users are redirected back to an anchor on the document section
[ ] Django message shows on success
[ ] Failure behaviour is the same as the current failure behaviour (reopens the modal on failure)
[ ] Files are listed below supporting documents
[ ] QA complete

Anchor doesn't seem to be working
Doesn't seem clear how to open the doc upload box
Otherwise looks good

Hello, this is now ready for testing. Could you test with a project that is newly created against the acceptance criteria above?
Thanks!

I was not able to complete this test and upload a document because the 'category' section wasn't functional.

All acceptance criteria are visible and functional during test. Test was as smooth as custard. Thanks!


[Feature] add games to desktop(Windows)

Device
All devices
Suggestion
implement a option in the 3 dots that appear in any game to make a desktop shortcut with the game that you want, with the icon and name....
make it open in a new tab just like an "app" (like the xcloud has it own app when you using chrome)

Do it manually https://www.wikihow.com/Turn-Your-Favorite-Website-Into-Desktop-Apps-With-Google-Chrome


Reified/Runtime Type Aliases

[@jvasileff] With reified generics, you can obtain an instance of Type<T> from a generic argument T. This proposal is to support the reverse: define a reified type alias T with an instance of Type<T>.
Type<Foo> someFooType = ...
alias F = someFooType; // F satisfies Foo

Reified (runtime?) type aliases would resemble type arguments. In fact, the behavior and capabilities of T and U in the example below would be indistinguishable:
String doSomething<U>(U arg) given U satisfies Object {
    return ...
}

String callSomething(Type<Object> theType, Anything arg) {
    // current (very unsafe!)
    assert(is String result = `function doSomething`.invoke([theType], arg));
    return result;

    // with reified type aliases:
    alias T = theType; // T satisfies Object
    assert (is T arg); // explicit, documentable point of failure (much better!)
    return doSomething(arg); // a normal, mistake free, type-checked invocation
}

An immediate benefit would be a greatly reduced need to use apply and invoke functions for meta programming, and a faster, safer bridge from meta to normal type checked code. I imagine a further benefit would be a tendency to create safer and more convenient apis due to the increased ability to use type arguments instead of Type<> arguments.
Note: another advantage above is that doSomething could have been a local declaration, which is not possible when a meta model reference is required.
A couple usage examples:
Example 1: Type Conversion Service
ConversionService provides functions to convert/coerce values from one type to another. toArray converts any Iterable to an Array of the required type, converting elements as necessary.
shared interface ConversionService {
    shared formal To? convert<To>(Anything from);

    // New style:
    shared formal To(From)? converter<From, To>();

    // Current style (not used in the example):
    shared formal Anything(Nothing)? converterForTypes(
            Type<Anything> from,
            Type<Anything> to);
}

"Convert [[items]] to an [[Array]] of type [[To]] (e.g. `Array<Integer>`).
 Return [[null]] if [[To]] is not an Array type, or if the element
 type of [[items]] cannot be converted to the element type of [[To]]."
shared To? toArray<To>(
        {Anything*} items,
        ConversionService conversionService) {

    value toType = `To`;
    if (is ClassOrInterface<Array<out Anything>> toType) {
        assert (exists toElementType = toType.typeArgumentList.first);
        assert (exists fromElementType = typeOfIterableElementFromInstance(items));

        alias ToElement = toElementType;
        alias FromElement = fromElementType;

        ToElement(FromElement)? elementConverter =
                conversionService.converter<FromElement, ToElement>();

        if (exists elementConverter) {
            // Option #3107, with ceylon-spec/issues/560
            assert (abstracts Array<ToElement> To);
            return Array(items.map(elementConverter));

            // Option #3108:
            assert (is To result = Array(items.map(elementConverter)));
            return result;
        }
    }
    return null;
}

This much more closely resembles a normal Ceylon program, rather than an alternate approach using invoke. And, importantly, the assertions are 1) explicit, and 2) easy to reason about. There are no calls to functions that may throw because we provided the wrong argument to a parameter of type Type<Anything> or Anything.
(See also #3666)
Example 2: Configuration Service
This example is adapted from ceylon/formatter/options/formattingFile_meta.ceylon and contrasts style and error handling between the two approaches.
class Settings() {
    shared variable Boolean? booleanSetting = null;
    shared variable Integer? integerSetting = null;
    shared variable Float? floatSetting = null;
}

// This utility function only makes sense with runtime aliases.
// (it's not nearly as useful if both "Return" and
// "Arguments" need to be known statically.)
Function<Return, Arguments>? findFunction<Return, Arguments>
        (Package container, String functionName)
        given Arguments satisfies [Anything*] {
    try {
        return container.getFunction(functionName)
                ?.apply<Return, Arguments>();
    }
    catch (_) {
        return null;
    }
}

// For completeness (not relevant to this issue):
String nameOfParseFunction(Type<Anything> type) {
    String fullTypeString = type.intersection(`Object`).string;
    Integer? endOfPackageIndex = fullTypeString.inclusions("::").first;
    assert (exists endOfPackageIndex);
    String trimmedTypeString = fullTypeString[endOfPackageIndex+2 ...].trim('?'.equals);
    return "parse" + trimmedTypeString;
}

// Using current api and language features:
void setOld(Settings settings, String option, String optionValue) {
    "invalid option"
    assert (exists attribute = `Settings`.getAttribute<Settings>(option));

    "parse function of expected name not found"
    assert (exists parseFunction =
            `package ceylon.language`.getFunction(
            nameOfParseFunction(attribute.type)));

    // fail if parse function argument type is not `String`
    value applied = parseFunction.apply<Anything, [String]>();

    // fail if parse function result type is wrong
    // fail if attribute is not settable
    Anything parsedOptionValue = applied(optionValue); // Note Anything result
    attribute(settings).setIfAssignable(parsedOptionValue);
}

// Using runtime/reified aliases:
void setNew(Settings settings, String option, String optionValue) {
    "invalid option"
    assert (exists attribute = `Settings`.getAttribute<>(option));

    alias AttributeType = attribute.type; // runtime alias

    "option not settable"
    assert (is Attribute<Settings, AttributeType, AttributeType> attribute);

    "parse function not available"
    assert (exists parseFunction = findFunction<AttributeType, [String]>(
                `package ceylon.language`,
                nameOfParseFunction(attribute.type)));

    AttributeType parsedOptionValue = parseFunction(optionValue); // Note AttributeType result
    attribute(settings).set(parsedOptionValue);
}

shared void tryIt() {
    Settings settings = Settings();
    setOld(settings, "integerSetting", "10");
    print(settings.integerSetting);
    setNew(settings, "integerSetting", "20");
    print(settings.integerSetting);
}

[Migrated from ceylon/ceylon-spec#1359]

I want this.


LoongArch64: Rename core

The current naming convention is not a very formal expression. After the revision, both the CPU name and Core name will be represented by the LA64 microarchitecture.
The definition of CPU name is as follows, which includes the currently known LA64 microarchitectures, representing the microarchitecture of the current host:
static char *cpuname[] = {
  "LA64_GENERIC",
  "LA264", /* Loongarch 64-bit, 2-issue, similar to 2K1000LA */
  "LA364", /* Loongarch 64-bit, 3-issue, similar to 2K2000 */
  "LA464", /* Loongarch 64-bit, 4-issue, similar to 3A5000, 3C5000L, 3C5000, and 3D5000 */
  "LA664"  /* Loongarch 64-bit, 6-issue, similar to 3A6000, 3C6000, and 3D6000 */
};

The definition of Core name is as follows, representing the LA64 microarchitecture related to the instruction set, which reflects the selected optimization type:
static char *corename[] = {
  "LA64_GENERIC", /* Represents optimization using scalar instructions */
  "LA264", /* Represents optimization using LSX instructions */
  "LA464", /* Represents optimization using LASX instructions */
};

Among these, LA64_GENERIC is related to scalar optimizations; LA264 corresponds to LSX instruction optimizations; and LA464 corresponds to LASX instruction optimizations.
The core is selected based on the CPU name and the instruction set supported by the system.
For LA364, although it supports LSX instructions, it lacks additional extensions. Currently, there is no need for further optimization of the existing LSX instructions. Therefore, no new core is required, and the LA264 optimization approach can be reused. Similarly, this principle applies to LA664. This approach has the advantage of reducing compilation time and code size when DYNAMIC_ARCH=1 is enabled.
Taking 3A6000 as an example, its CPU name is LA664, while its Core name is LA464 because it shares the same optimization approach as LA464.
The addition of a new CPU name is based on the emergence of new LA64 microarchitectures, while a new Core name is added only when the new LA64 microarchitecture introduces a new instruction set or other significant performance optimizations. This approach helps prevent code bloat while ensuring streamlined and efficient optimization code.

@yinshiyou @martin-frbg @azuresky01 @Pengzhou0810 Could you help me review the code to see if there are any missing parts? Thanks!

I must say I am not particularly happy with renaming TARGET entries that have been in use for quite a while. Can we at least keep the present names as aliases so that users and distributors will not have to change their build scripts (and whatever local documentation there may be out there) ?

Okay, I understand your concerns. I have retained the existing TARGET, and users can still specify it during compilation and runtime (it will be internally assigned to the ‘new’ TARGET)

@XiWeiGu
Hello, I just tried to build OpenBLAS from the files in your la64_core_rename branch. Unfortunately both gmake and cmake failed. See below.
The system is Debian sid with kernel 6.10.2, gcc 14.2.0, cmake 3.30.3, and CPU is Loongson 3A6000.
gmake command: make, output:
/usr/bin/ld: /tmp/ccLfTq5h.o: in function `.L9':
getarch.c:(.text+0x104): undefined reference to `pow'
/usr/bin/ld: getarch.c:(.text+0x158): undefined reference to `pow'
/usr/bin/ld: /tmp/ccLfTq5h.o: in function `.L8':
getarch.c:(.text+0x1f0): undefined reference to `pow'
/usr/bin/ld: getarch.c:(.text+0x244): undefined reference to `pow'
/usr/bin/ld: /tmp/ccLfTq5h.o: in function `.L7':
getarch.c:(.text+0x2ec): undefined reference to `pow'
/usr/bin/ld: /tmp/ccLfTq5h.o:getarch.c:(.text+0x340): more undefined references to `pow' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile.prebuild:100: getarch] Error 1
Makefile.system:1585: Makefile.: No such file or directory
make: *** No rule to make target 'Makefile.'.  Stop.

cmake command: cmake -B build, output:
CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 14.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning at CMakeLists.txt:103 (message):
  CMake support is experimental.  It does not yet support all build options
  and may not produce the same Makefiles that OpenBLAS ships with.

CMake Warning (dev) at cmake/system_check.cmake:13 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "LINUX" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  cmake/system.cmake:8 (include)
  CMakeLists.txt:106 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for stdatomic.h
-- Looking for stdatomic.h - found
-- GEMM multithread threshold set to 4.
-- Multi-threading enabled with 8 threads.
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /usr/bin/f95
-- The Fortran compiler identification is GNU 14.2.0
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/bin/f95 - skipped
CMake Error at cmake/prebuild.cmake:1421 (MESSAGE):
  Compiling getarch failed Change Dir:
  '/home/loongson/test/build_OpenBLAS/build/getarch_build/CMakeFiles/CMakeTmp'

  Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f
  Makefile cmTC_c77b0/fast

  /usr/bin/gmake -f CMakeFiles/cmTC_c77b0.dir/build.make
  CMakeFiles/cmTC_c77b0.dir/build

  gmake[1]: Entering directory
  '/home/loongson/test/build_OpenBLAS/build/getarch_build/CMakeFiles/CMakeTmp'

  Building C object CMakeFiles/cmTC_c77b0.dir/getarch.c.o

  /usr/bin/cc -DGEMM_MULTITHREAD_THRESHOLD=4 -DNO_PARALLEL_MAKE=0
  -I"/home/loongson/test/build_OpenBLAS/build/getarch_build"
  -I"/home/loongson/test/build_OpenBLAS"
  -I"/home/loongson/test/build_OpenBLAS/build" -o
  CMakeFiles/cmTC_c77b0.dir/getarch.c.o -c
  /home/loongson/test/build_OpenBLAS/getarch.c

  Building ASM object CMakeFiles/cmTC_c77b0.dir/cpuid.S.o

  /usr/bin/cc -DGEMM_MULTITHREAD_THRESHOLD=4 -DNO_PARALLEL_MAKE=0
  -I"/home/loongson/test/build_OpenBLAS/build/getarch_build"
  -I"/home/loongson/test/build_OpenBLAS"
  -I"/home/loongson/test/build_OpenBLAS/build" -o
  CMakeFiles/cmTC_c77b0.dir/cpuid.S.o -c
  /home/loongson/test/build_OpenBLAS/cpuid.S

  Linking C executable cmTC_c77b0

  /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c77b0.dir/link.txt
  --verbose=1

  /usr/bin/cc -rdynamic CMakeFiles/cmTC_c77b0.dir/getarch.c.o
  CMakeFiles/cmTC_c77b0.dir/cpuid.S.o -o cmTC_c77b0

  /usr/bin/ld: CMakeFiles/cmTC_c77b0.dir/getarch.c.o: in function `.L9':

  getarch.c:(.text+0x104): undefined reference to `pow'

  /usr/bin/ld: getarch.c:(.text+0x158): undefined reference to `pow'

  /usr/bin/ld: CMakeFiles/cmTC_c77b0.dir/getarch.c.o: in function `.L8':

  getarch.c:(.text+0x1f0): undefined reference to `pow'

  /usr/bin/ld: getarch.c:(.text+0x244): undefined reference to `pow'

  /usr/bin/ld: CMakeFiles/cmTC_c77b0.dir/getarch.c.o: in function `.L7':

  getarch.c:(.text+0x2ec): undefined reference to `pow'

  /usr/bin/ld: CMakeFiles/cmTC_c77b0.dir/getarch.c.o:getarch.c:(.text+0x340):
  more undefined references to `pow' follow

  collect2: error: ld returned 1 exit status

  gmake[1]: *** [CMakeFiles/cmTC_c77b0.dir/build.make:114: cmTC_c77b0] Error
  1

  gmake[1]: Leaving directory
  '/home/loongson/test/build_OpenBLAS/build/getarch_build/CMakeFiles/CMakeTmp'

  gmake: *** [Makefile:127: cmTC_c77b0/fast] Error 2

Call Stack (most recent call first):
  cmake/system.cmake:169 (include)
  CMakeLists.txt:106 (include)

-- Configuring incomplete, errors occurred!

@azuresky01  Thank you very much for your testing.
From the error message, it seems that the ‘-lm’ option was not added to the compilation of getarch.c in the gmake and cmake builds (the pow function is used in cpuid_loongarch.c to calculate the cache size). I will fix it promptly next week.

I wonder if it would be possible to use shifs instead, if all you need the pow (and libm) for is powers of two ?

@martin-frbg @azuresky01 Thank you for your suggestions, the update has been submitted.


Property:organisationalUnitName

Definition
Official name of the organisational unit in the local language.

Existing property

Existing class

Existing property identifier
http://www.w3.org/2001/vcard-rdf/3.0#Orgname

Format
Text

Required

Repeatable

Constraints

Examples
Muséum national d'Histoire naturelle The Field Museum of Natural History Division of Fishes

Notes

When there are more than one official local language it needs to be repeatable as for political reasons you cannot choose one local language over the other.  Sometimes it is better to simply use the English name to avoid issues.
Example Belgian Institutions where an official name exists is French, Dutch, German and English.


Add UnsignedFloat scalar

Add UnsignedFloat scalar type to Hotchocolate.Types.Scalars

#3042

Addresses: #2927

@wonbyte  and I decided to not implement a UnsignedFloatType because it has not a dotnet primitive
Still, thanks for the contribution!! :)


Project : Chat App

Describe the project you want to add with tech stack
I want to add one simple chat application project where users can send messages, upload statuses, and much more...
Tech stack:-
Android Studio
Firebase
Java

hey! @pranjay-poddar, can you please assign me this issue under GSSoc '23.

hi @pranjay-poddar can you assign me this issue

hey ! @pranjay-poddar I want to add a simple chat application project made using ReactJS, Firebase so can you please assign me this issue as GSSoC'2023 contributor.

Project already present


remove unused sympy imports

There are unused import from sympy in optlang.util which will make optlang dependent on sympy even when using symengine.

True, those can be removed. However sympy is still a hard dependency (from requirements.txt), so if I understand the issue correctly this would not solve it?

Agreed.


Logging is very slow

During #128 and #164, the actual decoding takes ~6 seconds. Processing the main log callback adds very little overhead. Getting to the point of being ready to dump into the Python logging system adds ~2s. Actually doing it adds another ~4s. So that is fully an additional 100% for logging the same message thousands of times.
Perhaps we should severely raise the default logging threshold to ERROR.
It would be interesting to see if we could instrument the loggers so that the C callback is aware of the minimum Python threshold.

I have noticed this too.
Is doing
av.logging.set_level(av.logging.ERROR)

enough in this case?

Yes. That cuts it off very early in the process.

I implemented the same behavior as FFmpeg does, and skip repeated messages. This will likely be good enough. In the future this could be made a little better (e.g. remembering the last message by logger name, such that two repeating messages will get caught). #167 will suggest setting the level to ERROR once you are confident in the script.


Add a metadata property to reflect general purpose of the UA

Hi,
Great library!
I am using this with a React app to return a static site if the UA is a scraper rather than a human viewer. The reason is that many scrapers used by sharing UA like Facebook/Twitter/Slack do not render javascript, so my app content does not preview correctly.
It would be very helpful if we could sort and designate which UAs are used for which general purpose. For example, I thought I had captured all the UAs that are typically used by social sites to render preview links, but a user just sent me a screenshot of a Messenger message where the preview did not render correctly. This is because I had not configured my app to return static for that particular UA.
I think a simple property of general_purpose: would be helpful. With options of browser, scrape: search, scrape: preview_render, etc.
What do you think?

Excellent idea. We would have to add an optional field in the JSON schema and check that the value
is in the set of accepted ones. Do you want to make this contribution?

I would like to also propose a key called robotstxt ( or similar ) with the user agent that is commonly used to add in robots txt. This value could be comma separated, especially when in the case of:
"pattern": "[wW]get",
Then, this list could be used as a base for automated generation of robots txt as well as a base for logfile analysis. xD

Excellent idea, see #265

Maybe using "Open Graph Meta Tags" would help you. The official site is ogp.me (stands for open graph protocol).


save text with apostrophe on MYSQL with flight

Hello everyone!
I can't save text with apostrophe inside mysql DB. In the traditional way I often use utf-8 encoding combined with mysql_real_escape_string but this is the first time that i've to do with flight.
Can you help me?
Thanks in advance,
Simone

solved!
I've to use addslashes()
Bye

@simar88 this is unrelated to flight but I wanted to mention it.

The mysql extension for PHP is incredibly old and has superseded by two other extensions:
mysqli
pdo
Not only did development stop long ago on mysql, but it was deprecated as of PHP 5.5.0, and has been > officially removed in PHP 7.0.

In addition to the deprecation/removal, the mysql extension does not offer any proper solution to SQL injection hacks.
A mysql example converted to PDO could look like this
<?php
$pdo = new PDO('sqlite:/path/db/users.db');
$pdo->query("SELECT name FROM users WHERE id = " . $_GET['id']);

This is still vulnerable to SQL injection, where a malicious user could insert code into $_GET['id'] which will then be evaluated by your database backend. It really doesn't even have to be malicious, as you've experiences with adding a single quote that breaks the query.
PDO fixes this issue by allowing you to pass the query string and the variables/parameters separate to the database backend. That way your mysql server knows it should not execute whatever data the users have passed in through your get variables or forms.
<?php
$pdo = new PDO('sqlite:/path/db/users.db');
$pdo->prepare("SELECT name FROM users WHERE id = ?");
$pdo->execute([$_GET['id']]);

Read more
http://www.phptherightway.com/

@jimlei thanks for you reply.
Can you anyway suggest me the best practices tu save and get text with chars like é à ò and so on? What is the best solution to have them saved in database with PDO and to use them in client with javascript for example?
Is the first time that i use flight php and some things are little bit different compared to some practices that i used before.
Thank in advance,
Simone

@simar88 Hi, just in case you haven't yet figured out how to transport unicode characters between your application and your database, you can use the following command:
$pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");
You should use this directly after your new PDO class instantiation.
It's probably worth giving this blog post by Joel Spolsky a read: http://www.joelonsoftware.com/articles/Unicode.html (The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets)


0.1.6

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/113915
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.6 -m "<description of version>" fe35446de58d494337dd466312817ca29c7d7967
git push origin v0.1.6


implement dropIndexes

I need dropIndexes for my project so I took the opportunity to contribute to the driver.
However I'm not sure about the interface. Currently it's close to the command to be consistent with the current createIndexes method, but it's totally different from the interface provided by the nodejs driver where dropIndex can only drop indexes one at a time and where dropIndexes drops all indexes.
Also I'm not sure about the type of the result of the command, I didn't find the documentation on this subject.

You should create an index for testing through createIndexes before dropIndexes, and then verify through listIndexes after executing dropIndexes


Vectorized Reader In Parquet

Vectorized Query Execution could have big performance improvement for SQL engines like Hive, Drill, and Presto. Instead of processing one row at a time, Vectorized Query Execution could streamline operations by processing a batch of rows at a time. Within one batch, each column is represented as a vector of a primitive data type. SQL engines could apply predicates very efficiently on these vectors, avoiding a single row going through all the operators before the next row can be processed.
As an efficient columnar data representation, it would be nice if Parquet could support Vectorized APIs, so that all SQL engines could read vectors from Parquet files, and do vectorized execution for Parquet File Format.
Detail proposal:
https://gist.github.com/zhenxiao/2728ce4fe0a7be2d3b30
Reporter: Zhenxiao Luo / @zhenxiao
Assignee: Zhenxiao Luo / @zhenxiao
Subtasks:

[ ] [Vectorized Reader] Support Complex Types (Map, Array, Struct) in Parquet Vectorized Reader
[ ] [Vectorized Reader] ColumnVector length should be in terms of rows, not DataPages
[ ] [Vectorized Reader] Make sure all encodings work in Parquet Vectorized Reader
[ ] [Vectorized Reader] Lazy Load in Vectorized Reader
[ ] [Vectorized Reader] Lazy Decoding in Vectorized Reader
[ ] [Vectorized Reader] Add Testcases/Benchmarks for ParquetVectorizedReader
[ ] [Vectorized Reader] Add attributes in ColumnVector and RowBatch

Related issues:

Improve Parquet Vectorization (is related to)

Original Issue Attachments:

ParquetInPresto.pdf
Parquet-Vectorized-APIs.pdf

Note: This issue was originally created as PARQUET-131. Please see the migration documentation for further details.

Brock Noland / @brockn:
Hi,
Thank you very much for creating this! I sincerely appreciate you taking the type to create this proposal!
From the Hive side, I have the following feedback:
My understanding is that ColumnVector is an interface so we can provide our own impl. This will be required for Hive since we have our own ColumnVector impl and it's extremely widely used. I don't think this version of the ColumnVector interface will provide pluggability for the following reasons:

Impls e.g LongVector have public members. This same thing was done in Hive (not use getters and setters) but IMO for dubious reasons. No proof was provided that shows JIT does not optimize the getters setters out.
Drill, Hive, etc will be required to extend LongVector in order to make this work, but that would require massive change on the Hive side. We should provide getters and setters on the interface for the data types so that Hive can simply implement the ColumnVector interface with our existing implementation. We might also need to provide isLongVector methods so we know the type of the ColumnVector.
I don't understanding why ColumnVector has an getEncoding. Isn't an encoding a storage feature not a column vector feature?

Jacques Nadeau / @jacques-n:
Few thoughts:

I agree with Brock's general comments about having to avoid a parquet canonical representation of the in memory data structure.
For the getter/setters, we need to support bulk transfer and primitive transfer.
We should avoid copy unless necessary.  For example, in Drill we often choose to avoid copying the variable length data, instead choosing to use it as is.
The interface should also take in column level filter expression evaluator.  Again, this should be a no copy interface.  While you may think that with vectorized reads, this isn't necessary, we've found that it actually depends entirely on the selectivity of the filter and whether you are using dictionary encoding.

I also would suggest that this be a replacement for the lower layers of the Parquet reader rather than a secondary path.  Otherwise, we're always going to have a partial implementation.  We're very engaged in trying to think through the ideas here and are definitely going to be pushing this along.
One last thought, I'm not entirely convinced that this should be a column at a time interface.  I've been thinking that a batch of records at a time is more appropriate.    On the flip side I'm not sure any other engines currently have vectorized readers for complex data but I think we're more than happy to push it that direction alone and people can fall back to a higher-level non-vectorized read interface for complex data.

Zhenxiao Luo / @zhenxiao:
@brockn
Thanks a lot for the comment.
I will update the ColumnVector interface, with getters and setters, and getTypes. And all primitive type Vectors are left for implementations.
Yes, we are keeping Encoding information in ColumnVector for Presto do lazy materialization. Presto does not materialize the vector until it finishes the filer. It is OK not using this Encoding information.

Brock Noland / @brockn:
@danielcweeks actually looks like PR 6. Any thoughts on why you feel releases are required?

Dong Chen / @dongc:
Hi @brockn

in Hive ColumnVector.isRepeating is used when it's a partition column

I think using for a partition column is one case, and it can also used for normal columns, if the values are same in one column.
In Hive, when the VectorExpression in Operator consume the ColumnVector, it will check isRepeating first. If true, it will skip the array loop and just fetch the 1st element in the vector for computation.

Brock Noland / @brockn:
Hello @dongc,
Today the informal elements of the "parquet vectorization" team in the US met. This included myself, Zhenxiao, Daniel, and Eva for PrestoDB, Parth Jason for Drill, and @spena and myself for Hive. I of course thought to invite you but the rest of the team wanted an on-site and I know it's very late in China...
Questions
Why does presto read api specify ColumnVector. Do they read one column at a time?
Presto has code which reads all columns in a loop, thus they don't need the batch API.
Original API specified encoding, does the reader use the encoding to materialize?
ColumnVector will not expose Encoding and won’t materialize values until getter is called or initialize is called.
Does presto DB use ByteBuffers or primitive arrays (long[], etc)?
They use primitive arrays, like Hive. Drill uses native Buffers.
If API is not going to materialize and gives back raw Buffer, is there any strategy for converting that to long array without copying?
We’ll pass in allocator which allocates appropriate Buffer type. Presto and Hive will allocate instances of for exmaple LongBuffer which gives us access to the primitive array.
Next Steps

Update interface to remove Encoding as getters will materialize
Add allocator interface
Netflix will hack together POC (Drill and Hive might do POC on top of this POC)
GSOC byte buffer patch is a requirement, thus we should merge soon.
Finish implementation of Parquet Vector* classes (part of POC)
Finish Drill, Presto and Hive implementation

@danielcweeks - in the meeting it was said that merging the GSOC buffer patch (PR 49?) depended on doing some parquet releases such as mr 1.6/1.7 and format 2.0. I chatted with @rdblue and he wasn't sure what that would be?

Zhenxiao Luo / @zhenxiao:
@brockn The gist is updated with ColumnVector interface. We are still discussing with the Drill team about whether to use Primitive Arrays, or ByteBuffer, or byte[] for setters and getters.
@jacques-n I just updated the gist with a ByteBuffer, hoping both Drill, Hive and Presto could use this kind of generalized ByteBuffer. I will spend time reading Drill's code to see other magics. While, some relevant articles seems showing ByteBuffer is not as efficient/fast as primitive arrays:
http://www.evanjones.ca/software/java-bytebuffers.html
https://groups.google.com/forum/#!topic/mechanical-sympathy/9I18sXm4bvY
http://imranrashid.com/posts/profiling-bytebuffers/
Still thinking primitive arrays could be the most efficient way. Anyway, let's continue discussing about it.

Dong Chen / @dongc:
Thanks @brockn, PrestoDB team, and Drill team for the progress and plan! Adding the allocator interface is a good idea.
Looking forward to the POC. And hope I could help on Hive part then.

Dong Chen / @dongc:
Hi @zhenxiao, @brockn, @jacques-n
I am working on HIVE-8128 and find here. Thank you for creating and discussing this. From Hive perspective, hope below feedback could help.

The current code implementation of vectorization in Hive for reference.

In HIVE-4160, it mainly use data structure VectorizedRowBatch and ColumnVector to feed the vectorized sql engine.
For VectorizedRowBatch, it has an array of ColumnVector to hold data of each column. And has an int size to indicate the number of rows in this batch.
For ColumnVector, it has some booleans like noNulls and isRepeating, which help the engine skip some data. Also its subclass representing concrete type (e.g. Long) holds an array of primitive data.
To generate the VectorizedRowBatch, the reader (of ORC file) was added a new method nextBatch(), which delegate each column to its type-suitable vectorized reader to load data. Similiar with the VectorReader in Zhenxiao's design.

A few thoughs.

I agree with Jacques's comment about build a batch of records at a time. Maybe a class ParquetRowBatch could be added to hold the columns.
ColumnVector could has the boolean indicators about null or repeating values, as they are computed and set during extracting and building data from storage layer. These values in vector provide useful info to sql engines.
 Maybe there is a possibility that sql engine wants to specify the rows fetched in a batch.
A rough idea: add a readPatch() method in InternalParquetRecordReader<T>. And when vector mode is on, reader will invoke this method to get ParquetRowBatch.  The sql engine like Hive, Drill will convert this batch to the type they need.  Primitive arrays in the vectors of batch might make conversion efficiently. The conversion procedure is reading values in ParquetRowBatch and set them to XxxRowBatch object, which is sent to sql engine.

I will keep going on this work to make things more detailed and joining the discussion.

Dong Chen / @dongc:
Hi,
After digging into the code more, I get some thoughts based on the design proposal.
In order to describe these thoughts clearly, I uploaded a doc Parquet-Vectorized-APIs.pdf.
The general ideas are:

Parquet internal readers read one row at a time now. I think we don't have to add a series of Readers for vectorization. Maybe we could use these existed readers and just add methods like readBatch(T next, int size).
ColumnReader.Binding is responsible for binding low level ValuesReader to the customized record Converter materializing records. We can add new concrete Binding classes in Parquet and new customized Converter classes in SQL engine like Hive, Drill. Then the loaded raw primitive data could be materialized to records in the representation SQL engine expecting.
This solution could decouple Parquet iterative raw data reading and SQL engine vectorized records materialization. Parquet will not have to organize the primitive data by itself. It just load the data iteratively for vectorization usage. SQL engines could organize the data as they like.

Brock Noland / @brockn:
@dongc, I believe in Hive ColumnVector.isRepeating is used when it's a partition column. Is that your understanding?

Zhenxiao Luo / @zhenxiao:
Briefly describe how Presto works with Parquet

Hyunsik Choi:
Hi guys,
I'm a Tajo (tajo.apache.org) guy. We would also like to participate in this work. Is the current progress POC? We'll share the progress too here.

Nezih Yigitbasi / @nezihyigitbasi:
@dongc It's still WIP and there is some work to get it merged.

Dong Chen / @dongc:
Hi @nezihyigitbasi,
The work looks good! I built a HIVE POC (HIVE-8128) based on it and worked.
I lest some feedback in the PR: https://github.com/zhenxiao/incubator-parquet-mr/pull/1
P.S.
The code in this PR seems already to be merged. Sorry if I left the message in wrong place.

Nezih Yigitbasi / @nezihyigitbasi:
Hi all,
Some time ago I have sent a message to the parquet dev mailing list about our efforts regarding vector support. I also want to share it here in case some of you have missed it. Even though it's still early work-in-progress any feedback is welcome: https://github.com/zhenxiao/incubator-parquet-mr/pull/1
Thanks

Dong Chen / @dongc:
Hi
How is the vectorized reader going on in this JIRA?
Thanks.

Zoltan Ivanfi / @zivanfi:
Hi,
I see that recently there has been no activity on this JIRA. I wonder whether it is due to the lack of time/interest or was there a technical barrier that stopped progress? Also, how do you perceive the state of uncommitted pull requests? Are they worth revisiting or should the feature be rebuilt from the ground up?
Thanks,
Zoltan

Parth Chandra / @parthchandra:
The pull request is here : https://github.com/apache/incubator-parquet-mr/pull/50

Zhenxiao Luo / @zhenxiao:
@jaltekruse @parthchandra Do you have the allocator interface in one of your PRs? May I get a reference to the PR? Thanks.

Zhenxiao Luo / @zhenxiao:
rebased vectorized parquet code against current master:
https://github.com/zhenxiao/incubator-parquet-mr/tree/vector

Nezih Yigitbasi / @nezihyigitbasi:
Hi @dongc, thanks for the feedback and glad that it worked for your Hive POC.

Nezih Yigitbasi / @nezihyigitbasi:
Created a PR for the initial implementation of the vectorized reader: https://github.com/apache/parquet-mr/pull/257

Flavio Pompermaier:
Any news on this?


Add a small delay to tab close on Chrome

Fixes tab close command when repeating across a large number of tabs.
Relates to https://github.com/knausj85/knausj_talon/issues/454.
While this fixes this command for this issue specifically, I'm still supportive of a generic repeat delay framework rather than handling each case individually like this.
For those wondering why there is a wrapper: I had to add an extra layer of abstraction in order to not need to write the specific OS commands (cmd-w vs ctrl-w, etc) while rewriting the function.
https://user-images.githubusercontent.com/9077250/128190337-a8784b91-f11f-46ec-80f7-666415b0416a.mov

This seems reasonable even though the sleep might not be long enough for some people I suppose. I agree longer term something like a repeat/delay framework as you mentioned in #454 would be nicer.


Deprecate jax.interpreters xb, xc, xe abbreviations.

Instead, any users should import directly as xb = jax.lib.xla_bridge, xc = jax.lib.xla_client, xe = jax.lib.xla_extension.
APIs within jax.interpreters.xla are internal and not covered by the deprecation policy (see https://jax.readthedocs.io/en/latest/api_compatibility.html#what-is-covered) but we'll do at least a partial deprecation cycle in case this affects downstream packages.

Closing this, because we need to deprecate / find a long-term home for modules in jax.lib before we do this, otherwise this will cause too much downstream churn.  cc/ @hawkinsp


Usage guide

Hi
How can I use this to import a GTB/GLTF file into Unity.  I 've imported the unityasset but cannot understand how to import a file.
Regards

Björn

Hi @bjornsyse,
You should be able to just add a glb file and if you are on Unity 2017.1+ it should be imported. Otherwise see the example scenes for runtime usage.


Training file for Road connectivity refinement

Thank you for your wonderful work! Looking forward to your source code for road connectivity refinement. I think I will get many inspirations from that.

Hi @puyangma, Thank you for showing interest in the work. I have added initial code for pre-training stage. In Post-training step, we just need to replace the corruption input with segmentation model output. I will try to add post-training file soon.

Hi @puyangma, Thank you for showing interest in the work. I have added initial code for pre-training stage. In Post-training step, we just need to replace the corruption input with segmentation model output. I will try to add post-training file soon.

Thank you for your great work. Is the post-training file released yet? If not released yet, may I ask when will it be released?

Thank you for your great work. Is the post-training file released yet? If not released yet, may I ask when will it be released? @anilbatra2185


Dispatcher connection rebalancing

Iceboxing this one - I don't think we need it for 1.13.
@stevvooe @LK4D4 Agreed?


Unable to add external source

Problem Summary
I am trying to add an external source with the instruction here:
https://github.com/zplug/zplug/blob/master/doc/guide/External-Sources.md
But it fails on the sanity check of the from tag.
It only allow it to be one of github, bitbucket, gh-r, gist, local, oh-my-zsh, prezto.

The instruction seems to be outdated as  parser does not exist.

Thanks! I forgot I was in the middle of updating this guide. I'll push the changes once I'm done with it.

I'll improve this guide when I get the time. Thanks for reporting!

GJ

@NigoroJr Thanks for updating the guide.
One thing though, is that instead of hardcode the list of valid source in from,
can we do something like looking at the base/sources/ directory, and construct the array using the name of the files in that directory (after stripping the .zsh extension)?
In that case, user does not have to change the source code / fork the repo to add an external source. Because the external source added might only be useful to this particular user (this is the case for the source I am adding).

Thanks for the suggestion. If enough people are going to add external sources, we can create an additional variable called ZPLUG_EXTERNAL_SOURCE or somewhere along the line, and allow users to put .zsh files of external sources in there. That way people won't have to mess with the zplug repository at all to use external sources.


Notebooks: Add setting for default text cell edit behavior

Fixes #12242. Adds setting for default text cell behavior. Defaults to WYSIWYG.

Pull Request Test Coverage Report for Build 250425539

4 of 19 (21.05%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.002%) to 38.967%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts
0
1
0.0%

src/sql/workbench/contrib/notebook/browser/cellViews/markdownToolbar.component.ts
0
2
0.0%

src/sql/workbench/services/notebook/browser/models/cell.ts
4
16
25.0%

Files with Coverage Reduction
New Missed Lines
%

src/sql/workbench/contrib/notebook/browser/cellViews/markdownToolbar.component.ts
1
6.56%

Totals

Change from base Build 250403739:
-0.002%

Covered Lines:
19146

Relevant Lines:
44822

💛  - Coveralls


feat(typescript-transform): clean css

See tests. if i throw the minified css, i get the right value as an exception, but if i return it, i get the unminified css in the result :cursing_face:
This also kinda sucks because every other plugin uses cssnano, but typescript-transforms can't because all typescript transform functions have to be sync, and postcss things that's lame.
Closes #43

alright
so at this point, i'm using postcss's hidden "debug sync mode" to handle css nesting, then passing that through to cleanCss, so long as the user requests it. This sucks, and i would really rather not have separate APIs for typescript and everyone else, but AFAICT there's no way to run async code in a TS transformer visitor, so :hankey:


Ignore JSX Expression blocks

We should ignore JSX elements rendered inside expression blocks
since they do not represent individual components.
Previously the following example would add the displayName property to the content element:
import React from 'react'

const HelloWorld = () => {
  const content = (

      {
        [1, 2, 3].map((n) => { return
{n}
 })
      }

  )

  return
{content}

}

export default HelloWorld

This would throw a runtime error since content is a react element and cannot be extended with other properties.

Thanks, this looks really good!


[FR]  Song thumbnail info

Is your feature request related to a problem? Please describe.
I wanted to see the thumbnail of the music while the music is playing
Describe the solution you'd like
when the song starts playing, a thumbnail information about the song should be obtained

Song.thumbnail gives the URL to the thumbnail.

I didn't know that thanks


⚠ Bofrost.fr has degraded performance

In af1bab5, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1317 ms

Resolved: Bofrost.fr performance has improved in ea53f77 after 6 minutes.


Made commit/abort/finish nodiscard

Scope & Purpose
Make commit(), abort() and finish() [[nodiscard]], and fix all call sites. Follow-up to https://github.com/arangodb/arangodb/pull/16586, which fixes bugs due to missing error- and exception handling of those functions.

[ ] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[X] :hammer: Refactoring/simplification

Checklist

[ ] Tests

[ ] Regression tests
[ ] C++ Unit tests
[ ] integration tests
[ ] resilience tests

[ ] :book: CHANGELOG entry made
[ ] :books: documentation written (release notes, API changes, ...)
[ ] Backports

[ ] Backport for 3.9: (Please link PR)
[ ] Backport for 3.8: (Please link PR)
[ ] Backport for 3.7: (Please link PR)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket:
[ ] Design document:

In general LGTM. I am not sure about marking the synchronous methods as "deprecated", because that will probably produce several compile warnings which we will need to ignore for now. If those warnings don't make the build fail, it is ok for me.

The deprecated warnings don't trigger errors in our cmake configuration.
Generally, I'd like to be able to mark deprecated things as deprecated. If we don't want the warnings that come with them on all builds (sensible), then I'd rather turn them off by default than not use [[deprecated]] to avoid the warnings.

https://jenkins01.arangodb.biz/job/arangodb-matrix-pr/22754/
failures are unrelated

@MBkkt are you otherwise satisfied with the changes, in particular the ones regarding IResearch?


Tooltip background color is transparent for long text.

Bug

Go to https://kybishop.github.io/ember-attacher/
Using developer tools, set tooltip text from Hello World! to Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text. Random long wrapped text.
Activate tooltip -> Tooltip background color is transparent when the tooltip's text is long.

Workaround
Remove background-color: transparent.
&.ember-attacher-fill {
    overflow: hidden;
    // background-color: transparent;
}

Is there a reason why ember-attacher-fill class has a transparent background color?

@scottwernervt the transparent background powers the fill animation. There is an expanding circle within tooltips that use the fill animation which "fills" the tooltip with an opaque background.
We should look into tippy.js to see if they've found a way around the borked corners on tooltips using fill. The initial animations were based off that library, and they might've updated things by now.

Looks like this is a long-standing bug/wontfix in tippy.js: https://github.com/atomiks/tippyjs/issues/98
The current workaround is to either implement a custom animation tailored to larger tooltips, or to just use one of the other animations for larger tooltips.
I'm happy to accept a PR which can determine the animation circle's size dynamically, or perhaps just a custom fill animation for larger tooltips (fillLarge?).

You are correct, only occurs with animation="fill". Found another similar issue Tippy layer background's height is not full displayed with html template and the solution is not to use fill for > 4 lines long.
I will see if I can implement a PR for animation the circle size dynamically or add a custom fill animation.

I don't feel the need to implement logic to handle this case since there are clear work arounds.


GH-37934: [Doc][Integration] Document C Data Interface testing

Rationale for this change
gh-37537 added integration testing for the C Data Interface, but the documentation was not updated.
What changes are included in this PR?
Add documentation for C Data Interface integration testing.
Are these changes tested?
N/A, only doc changes.
Are there any user-facing changes?
No.

@github-actions crossbow submit preview-docs


Added support for outputting to stdout when no output is given

Added support for outputting to stdout when no output is given
Changed prints to print to stderr, so it won't get mixed with stdout.
Parse arguments only once in main and pass them along.
Construct writer once in main and pass it along.
Flush csv (whether outputting to file or stdout) after every input file.

Fixes #23

Looks good to me. Could you sign the CLA, happy to merge then!
Thanks!

Signed! Thanks

@puffyCid just pinging in case you missed


Update Calico version

As of UCP 3.0.3 (https://docs.docker.com/ee/ucp/release-notes/#version-30), Calico version is now 3.0.8

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for modest-edison-79d82e ready!
Built with commit 3ecde582f1d6f45b360d1f1f1e9cef63ca54455a
https://deploy-preview-7140--modest-edison-79d82e.netlify.com


CalDate setOffset testing desired behaviour?

This library contains the (passing) test
  it('can set offset in days', function () {
    const caldate = new CalDate(new Date('2000-01-01 00:00:00'))
    caldate.setOffset(5)
    const res = caldate.toEndDate().toISOString()
    assert.strictEqual(res, '2000-01-07T00:00:00Z')
  })

is this desired behaviour, or should 5 days offset equal 2000-01-06T00:00:00Z, or am I missing something with UTC to local (in which case the above test would only work if run in timezones behind GMT)?

sorry - realised the duration of toenddate adds another 24 hours, so behaviour is correct - i might add another assertion in there to make it more obvious