Policyfile node integration

This patch integrates policy_name and policy_group into the node object, with the following behavior changes:

Policyfile attributes can be set on Chef::Node objects
Policyfile attributes are included in the serialization format (JSON)
Policyfile attributes are persisted between runs, when using a Chef Server that supports them
Policyfile attributes can be set in the JSON file passed to chef-client -j JSON_FILE
Policyfile attributes are shown by knife search and knife node show, if present
Policyfile attributes are searched in the knife search "fuzzy" query (which is invoked when the given query doesn't match the key:value format).
The use_policyfile feature flag in config is effectively a no-op.

See also the related Chef Server change, which will be released in Chef Server 12.3: https://github.com/chef/chef-server/pull/514
Tasks:

[x] Add getters and setters for policy_name and policy_group to Node
[x] Add policy_name and policy_group to node json, with fallback for older chef servers
[x] dynamically select policyfile mode or not based on presence of policyfile attributes on node, -j JSON, etc.
[x] propagate policy_name and policy_group to and from -j JSON, Chef::Config and node
[x] add policyfile stuff to knife node show
[x] add policyfile stuff to default query in knife search
[x] ensure compatibility mode still works (e.g., test kitchen)

Punted:

warn if use_policyfile true is in config (deprecate and remove in 13): I don't think there's an overwhelming case to nag and eventually break users over this.
support policy_name/policy_group in bootstrap: This will be a separate pull request, as this one is already very large.

For the commit titled "Add policyfile attrs to node create/save": in chat, it was suggested that since policyfiles are "beta" it would be okay to just not implement compatibility at all. I wouldn't mind doing that, but, on the other hand, it's not a ton of work to implement the compatibility fallback and it doesn't look that dangerous to do so. Therefore, what I've implemented is backcompat with Chef Server 12.2, but also added a test to assert we remove that compatibility in 13.0, on the grounds that we don't need to maintain full major version cross-compat since policyfiles are beta when we're making the initial change. I'm okay to change it if there's a strong feeling that we'd rather not accept the added complexity in node save right now.

Just a nit on where to put the comments about the backcompat.  I think it goes better in the path where the branching logic is than on the backcompat methods.

K, I'll move the comments, no problem. Agree we don't really need to have back compete here, but also it was pretty easy to do and doesn't seem to add a lot of risk or a lot of future cleanup effort, so that pushed me over the edge to "sure, why not."

@chef/client-core this one is ready for review now. I have attempted to make the pull request reviewable on a commit-by-commit basis since the aggregate change is fairly large.

:+1:
mostly could just use sprinkling some more YARD around on it i think.

@lamont-granquist added a ton of comments. GTG?

Also need another +1

:+1: i'll test it out in compat mode as well

Thanks. I will merge when travis is happy w/ the rebase. Let me know if you find anything in your testing


Make EnterpriseDBDatabase detection less broad

Description
The current implementation of EnterpriseDBDatabase picks up database with just "edb" in the url anywhere vs. an actual edb url.
Fixes #2363
Work Around
You can manually override the (wrongly) detected dialect with databaseClass: liquibase.database.core.MySQLDatabase or databaseClass: liquibase.database.core.DB2Database etc. in your liquibase.properties file.

Dev Handoff Notes (Internal Use)
Links

Fixed Issue: https://github.com/liquibase/liquibase/issues/2363
Test Results: https://github.com/liquibase/liquibase/pull/2364/checks

Testing

Steps to Reproduce:

https://github.com/liquibase/liquibase/issues/2363
Connect to a non-postgresql url with "edb" in the url somewhere. Like jdb:mysql:localhost/testedb

Guidance:

Impact: Fixes all databases, but change is only in edb code

Dev Verification
Added automated test to catch the problem
┆Issue is synchronized with this Jira Bug by Unito

I updated the code to check the connection to know if it's an edb database vs. purely relying on the url.
I left the jdbc:edb and jdbc:postgres checks in there around it, though, for performance reasons.


Hitting CTRL+C doesn't stop docker-compose.exe containers (Docker for Windows / Ubuntu 16 WSL)

Your Windows build number:  Version 10.0.17134.1 (Windows 10 Pro, Spring 2018 edition)

It's also worth mentioning this problem happened with earlier versions of WSL too. I'm also running Ubuntu 16 inside of WSL with the version of Bash that comes included.

What you're doing and what's happening:

I have Docker for Windows installed which installs both the Docker daemon and Docker Compose. You can access docker-compose.exe directly from inside of WSL. For example you could start up a project by running docker-compose.exe up.

What's wrong / what should be happening instead:

Everything loads in the foreground of the process like you would expect, but pressing CTRL+C does not terminate any containers. The ^ character gets added to the screen  and you drop back into your prompt.
But if you run a docker ps you'll notice everything is still running. This is not related to the bug where Docker Compose occasionally doesn't stop containers with an ABORT message. This happens every single time.
The expected outcome would be that all of the containers managed by Docker Compose for that project would stop and then you would regain control over your terminal.

Workaround for now:

Of course you could type docker-compose.exe stop afterwards but that's not fun.
Alternatively you could also install Docker / Docker Compose inside of WSL and configure Docker to use your Docker for Windows host. This is what I do for now but it's not ideal since you need to keep both your WSL and Docker for Windows versions in sync for both Docker and Docker Compose.

I suspect that this is fixed in 17618. #3160 and others.


Basic auth prevents health check

We have a basic auth protection for our app. Unfortunately that leads to a 401 http code which is treated as an error. Could you change the check so that it does not fail the code?
 state     since                    cpu    memory          disk           details
#0   running   2016-07-26 07:09:10 PM   0.0%   79.5M of 256M   110.7M of 1G
+ curl --fail -I https://xyz-B.eu-gb.mybluemix.net
curl: (22) The requested URL returned error: 401 Unauthorised
++ on_fail
++ finally
++ rm /var/folders/gb/xyz_manifest.XXXXXXXXXX.eZF3dqmA
++ echo 'DEPLOY FAILED - you may need to check '\''cf apps'\'' and '\''cf routes'\'' and do manual cleanup'
DEPLOY FAILED - you may need to check 'cf apps' and 'cf routes' and do manual cleanup

It looks like you are having problems with this script, not our plugin. https://github.com/18F/cf-blue-green/blob/93f8d628d950272b7428d3156c36ae7abe613b3c/bin/cf-blue-green
However, our plugin allows you to define a custom smoke-test script instead. So you can decide what http codes are valid or not.


Please add me to Slack Channel

I'm submitting a ...

[ ] bug report
[ ] feature request
[x] other

Assalamu alaikum
Can you please add me to the Slack Channel. I would really love to contribute to this repository.
My Email Id<EMAIL_ADDRESS>

Invited.


how could i clear the old ERROR in orchestrator?

hi @shlomi-noach ,
I  had  Worker 1 failed executing issue  error on orchestrator GUI after reconfigured   replication with ssl  cert .
The replication chain is
 (Top Master) GCP --native replication-----> mysql01( master) ---semi-sync--> mysql02(slave)
                                             |--------------------semi-sync--> mysql03(slave).

the error occured on mysql03(slave).  orchestrator version is 3.1.4, mysql version is  Percona server 5.7.20.
i fixed by restart the mysql03 slave thread.
the mysql03 (slave) is up and running as below.
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.#0.0.##0
                  Master_User: repl
                  Master_Port: #####
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000008
          Read_Master_Log_Pos: 333198406
               Relay_Log_File: relay-bin.000009
                Relay_Log_Pos: 5864149
        Relay_Master_Log_File: mysql-bin.000008
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 333198406
              Relay_Log_Space: 5864350
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: Yes
           Master_SSL_CA_File: /####/ca.pem
           Master_SSL_CA_Path:
              Master_SSL_Cert: /####/mysql-slave.pem
            Master_SSL_Cipher:
               Master_SSL_Key: /####/mysql-slave.key
        Seconds_Behind_Master: 0
mysql> SELECT * from performance_schema.replication_applier_status_by_worker;
+--------------+-----------+-----------+---------------+----------------------------------------------+-------------------+--------------------+----------------------+
| CHANNEL_NAME | WORKER_ID | THREAD_ID | SERVICE_STATE | LAST_SEEN_TRANSACTION                        | LAST_ERROR_NUMBER | LAST_ERROR_MESSAGE | LAST_ERROR_TIMESTAMP |
+--------------+-----------+-----------+---------------+----------------------------------------------+-------------------+--------------------+----------------------+
|              |         1 |        58 | ON            | 3a121e8e-93b9-11ea-adec-42010a500075:2454048 |                 0 |                    | 0000-00-00 00:00:00  |
|              |         2 |        59 | ON            | 3a121e8e-93b9-11ea-adec-42010a500075:2453811 |                 0 |                    | 0000-00-00 00:00:00  |
|              |         3 |        60 | ON            | 3a121e8e-93b9-11ea-adec-42010a500075:2442188 |                 0 |                    | 0000-00-00 00:00:00  |
|              |         4 |        61 | ON            |                                              |                 0 |                    | 0000-00-00 00:00:00  |
+--------------+-----------+-----------+---------------+----------------------------------------------+-------------------+--------------------+----------------------+

but  orchestrator GUI still shows the error.
how could i clear the ERROR in orchestrator?
i tried to click the skip query, but no luck ,shows bad connection/command etc.
thanks
Best Regards,
Larry

I’m sorry. I really don’t understand the question. What is worker 1? What is the error? Can you please paste output of “orchestrator-client -c topology”?

sorry about that @shlomi-noach ,
1. the output of the topoloy is
  [root@ ~]# /usr/local/orchestrator/resources/bin/orchestrator-client --auth dbadmin    -c topology -alias pcimicro
Enter host password for user 'dbadmin':
prd-#######-v12-####mysql01:3306   [0s,ok,5.7.20-19-log,rw,ROW,>>,GTID]
+ prd-#######-v12-####mysql02:3306 [0s,ok,5.7.20-19-log,ro,ROW,>>,GTID]
- prd-#######-v12-####mysql03:3306 [unknown,invalid,5.7.20-19-log,ro,ROW,>>,GTID]

the error is Last SQL error on mysql03, ```
Last SQL error
"Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction '3a121e8e-93b9-11ea-adec-42010a500075:606536' at master log mysql-bin.000006,end_log_pos 543323203. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any."

thanks

The problem is that orchestrator is unable to access the server. Are firewall rules changed? Are accounts changed? Are privileges changed?
Re: forget, you could, but that's not the issue.

thanks @shlomi-noach ,
confirmed with DevOps, new firewall rules added, which block orchestrator's access to mysql03 .
but i only test access with 3 mysql nodes.
thanks again.

close


Add Versions config and Preview Support to OOD-daemon

OOD service supports version config mechanism
The current on-metachain version mechanism is as follows:

The service list points to the latest version, differentiated by nightly and beta chains; this always points to the latest officially released service version list (excluding preview).
Each service maintains a service versions list, indicating available and stable versions, including preview versions. With each release, the corresponding service versions will be updated. Unstable or severely bugged versions will be removed from the list.

Compared to the previous OOD-daemon that could only use the latest version, the OOD-daemon can now be configured to select the version of service components:
In the system-config.toml, the service_version field is used for configuration, with a default value of default.
service_version = "=1.0.722"
#service_version = "*"
#service_version = "default"

The service_version can take the following values:

default
The default value, using the version configured in the service list, which is the mechanism used previously.

A valid semantic version
The design of the semantic version is consistent with cargo's version, which can be referred to at https://semver.org/.
For example:

service_version = "=1.0.722" forces the use of version 1.0.722 and no longer automatically updates to a new version with system releases.

service_version = “*” uses the latest version of the service. If preview=true is configured, it will use the latest version including preview; otherwise, it will use the latest non-preview version.

Since OOD-daemon only supports this feature from the new version, the semver configuration cannot select old versions, otherwise, it will cause the service to repeatedly jitter and upgrade. Therefore, there is a need for an epoch version restriction, and the specific version requirements are as follows:
nightly >= 719
beta >= 75

The patch number of the target version selected by the configured service_version must meet the above requirements.
Preview mechanism introduced
For beta and subsequent official versions, each time a version is released, it will first be published as a preview version. After running for a period of time, it will switch to the official version. During this time, internal testing and some advanced external users can configure preview=true to test and try this version.
In system-config.toml, the preview field is configured, with a default value of false.
preview = true
#preview = false

When preview=true is configured, if you want to use the latest preview version, you need to use service_version=”*" or another semver configuration to ensure that the latest preview version can be selected.

Complete at 6b79d496604e1570b6f59ceae183e43317b3dc2a and Release with v<IP_ADDRESS>


Loading back into a world produces a seam where biomes aren't blending

Seems to be an issue with Terralith so far; next step is to reproduce on a separate profile with only Terralith installed

If I can successfully reproduce the issue with just Terralith, try asking on the Stardust Labs discord and including screenshots of the issue (else I'll need to isolate the conflict causing the problem)

Was not able to reproduce with only the Terralith mod, so time to put the troubleshooting hat on!

Doesn't seem connected to Chunky Pregenerator or Xaero's map mods or Shutup Experimental Settings, so that's a relief! Still poking around to see if I can figure out why this is happening (and it's still happening consistently on the current build)

view from above of the issue in question in Xaero's world map


refactor: migrate mako to jinja2 for alert actions html

Codecov Report

Merging #293 (f6ad553) into main (ac3bc17) will decrease coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #293      +/-   ##
==========================================
- Coverage   75.25%   75.12%   -0.13%
==========================================
  Files          27       27
  Lines        1944     1934      -10
==========================================
- Hits         1463     1453      -10
  Misses        481      481

Impacted Files
Coverage Δ

...alert_builder/build_core/alert_actions_html_gen.py
91.17% <100.00%> (-1.14%)
:arrow_down:

...alert_builder/build_core/alert_actions_template.py
91.66% <0.00%> (-8.34%)
:arrow_down:

...ework/modular_alert_builder/build_core/__init__.py
91.01% <0.00%> (+1.12%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ac3bc17...f6ad553. Read the comment docs.

:tada: This PR is included in version 5.5.8 :tada:
The release is available on:

v5.5.8
GitHub release

Your semantic-release bot :package::rocket:


EPIC: UX v2

[x] https://github.com/rollchains/spawn/issues/134
[x] https://github.com/rollchains/spawn/issues/166
[x] https://github.com/rollchains/spawn/issues/160
[x] https://github.com/rollchains/spawn/pull/176
[x] https://github.com/rollchains/spawn/issues/155
[x] https://github.com/rollchains/spawn/issues/167
[x] https://github.com/rollchains/spawn/issues/174
[x] https://github.com/rollchains/spawn/issues/202
[x] https://github.com/rollchains/spawn/pull/214

All handled that we plan to do


[FEATURE REQUEST] Implement Riot RSO

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
New feature to implement before using riot api
Describe the solution you'd like
Riot has a privacy policy where we can't display a player's data if they are private. Allow private users to sign in with riot games to unprivate their accounts through the riot rso.

This must be done before the other Valorant API issues


Merge Sort in Python

Please assign me this .

Can I work on this? @Taneesha-creates

@pratham-bhatnagar The issue had already been assigned.
You can go through the rest of our issues, and we hope that you find some to your liking! Enjoy contributing :)


Decoder fails for nested Item where all attributes are optional and absent

this was reported by @pomadchin - in this edge case the High Level API returns the error zio.dynamodb.DynamoDBError$ItemError$DecodingError: field 'attributes' not found in Map(Map(String(id) -> String(1))) - the decoded item is missing the top level field name for the nested item which has absent fields

re-opened so that we can isolate this fix in a separate release


Remove dependency for raft-rs and kvproto

Signed-off-by: Little-Wallace<EMAIL_ADDRESS>I think the repo raft-engine shall be a based library and could be used by other developer even if they does not use raft-rs (maybe some other raftlib) and kvproto.  I will implement the trait RaftEngine in tikv:component/raft_engine and define the trait RaftEngine in tikv:component/engine_traits. Their dependencies will be as following:
tikv ----> component/engine_traits, component/raft_engine
component/raft_engine --> raft-engine, component/engine_traits, kvproto, raft-rs
component/engine_rocks --> component/engine_traits, kvproto, raft-rs

rest LGTM. Thanks very much!


refactor(chmod): move from walker to walkdir, simplify the code and a…

…dd tests

Has been around for two weeks and improves the code coverage (+0.75%), landing!


"Image already under the maximum width/height" when it's not

Description
When I try to resize a large image (4096x2733, 1.4MB) by Bulk Resize to a max image width/height of 2048, my logs show that the image resize was skipped because "Image already under the maximum width/height." I tried setting the width to 2048 and height to 0 as well, but it still skips.
Any idea why it's skipping?
Steps to reproduce

In Imager Resizer Settings > Bulk Resize, select Bulk Resize for an Asset folder that includes large image (4096x2733).
In modal with resize options, set width and height to 2048 (or height to 0).

Additional info

Plugin version: 2.0.4
Craft version: 3.0.34

Can't seem to replicate this on my end. Would you be able to share your volume settings? Wondering if you have images set to resize on upload, and what any defaults are?
Have you also tried resizing it from the element action (go to Assets, select the file, and select Resize on the cog icon button)?
Maybe even try re-indexing assets in that volume?

Here's my volume settings, which are based on nystudio107's Craft 3 Multi-Environment setup.
<?php
return [

    // All environments
    '*' => [
        'ASSET_HANDLE' => [
            'path' => '@basePath/ASSET_PATH',
            'url' => '@baseUrl/ASSET_PATH',
        ],
    ],

    // Live (production) environment
    'live'  => [
    ],

    // Staging (pre-production) environment
    'staging'  => [
    ],

    // Local (development) environment
    'local'  => [
    ],
];

I did some more experimenting and it seems like I have issues with some images while other images seem to work fine. For the images that don't work, I also tried to resize from the element action and tried re-indexing the assets in the volume. But both attempts didn't work.
I've uploaded a video to demonstrate this. In the video, the first image works. However, the second image doesn't resize.
https://drive.google.com/file/d/1NK8Qp1oxn7RJoyKlb9d_Dl1d_0-xXBg8/view?usp=sharing

I’m experiencing this too. At a glance, it seems like the plugin overwrites the width and height.
The test image I’m using is from Unsplash. Volume is S3.

Whilst logging throughout the flow and forcing a resize, there seems to be an issue even with the original width and height.

After updating asset indexes (via Assets interface)
5760 × 3840 px

Logging $image->getWidth() and $image->getHeight() at the start of Resize::_resizeImage
2000 × 1333 px

Logging $dimensions[0] and $dimensions[1] inside Resize::_resizeImage
2048 × 1365 px

I’m wondering if this might be an issue with a dependency (i.e. Craft, Imagine, GD)?

@engram-design Do you have any thoughts on this?

Might be worth trying 2.0.6 as well.

@engram-design Thanks, Josh. We’ll give that a shot and report back.

Closing for now, but hit me up if its still an issue. My testing at least seems to be playing the game.


Whats the source of genetic map (GRCh38)?

Hi,
Thanks for your published a well prepared genetic map for GRCh38.
I am a bit confusing about this resources, as I know, there is a very old source of orginal hapmap genetic map (Its based on b35 and liftover to GRCh37) geneticMap-GRCh37, and 1kg project seems to be following this version (with some additional updates for some groups) 1000-genomes-genetic-maps. So there seem to be some different sources here. Could you please share some additional clarification about the source of the attached gentic map?
Moreover, if this file was gradually liftover from the original b35 version, can I further liftover this file if I wish to do some work based on a newer reference genome (such as CHM13)? Will this bring some negative effects?
Please feel free to correct me if I'm wrong.
Regrads
Zhang

For the source, I'll have to dig as I have been using these files for quite a while now.
I think you can lift them over as errors in this file will not have a dramatic impact on phasing.
Assuming a constant recombination rate is already working pretty well. These files basically add an additional accuracy boost for small sample sizes.

Hi @odelaneau @octpus616
Sorry to reopen this issue.
YRI,CEU or EAS population using the same genetic map files are reasonable?
I am a new one about PHASING GENOTYPE.
Thanks in advanced!


Mac support for 4.11+

requires rebuild of mac dylibs for Orion update.
Currently no timetable for this fix from Leap Motion.

I imagine it's the same for Linux? I tried firing up UE4 on Linux with Leap Motion but got errors on a bunch of classes in the plug-in.
Looks great on Windows, though!

Is there any workarounds currently to get the plugin running on macos?

Last version with mac support is with Leap SDK 2.0 which can be found here: https://github.com/getnamo/leap-ue4/tree/UE4.10.
Otherwise your best bet is to ask/wait for Leap Motion to support Orion on Mac OSX.


[nanodbc] enable unixODBC dependecy from vcpkg (fixes #13112)

What does your PR fix?
Fixes #13112

Which triplets are supported/not supported? Have you updated the CI baseline?
No changes

Does your PR follow the maintainer guide?

Yes

@mc-askia ,Thanks for your pr, Have you tested the port usage?

@JonLiu1993, Thank you for the review. Yes, it's tested. As a matter of fact, the fixed bug #13112 was reported by our company as well. With this fix, everything is working as intended.


Multiple repl consoles, with the ability to pick them out of atom window.

Hi,
From the docs, I collect, that this ability is not in atom. Pyzo tries to give this but they are still not able to solve taking shell window out.
I was wondering if it is possible with Hydrogen or if the team is thinking on these lines.
Basically, I am looking for the ability to test different configurations of cells on different consoles and see compare which one would be the best to make a script. The ability to pull out the console windows will help me use many monitors.
Thanks..

@vaibhawc It is very unclear what you are asking for here. Please elaborate more on what you wish to see, and what do you mean by console and configurations.

I am asking for I there can be multiple python shells which can be bound to the editor and its tabs so as I can run some lines in one script and choose another set of lines from another script both open in the editor.

@vaibhawc I see. Unfortunately this is a language specific request. Hydrogen aims to support all languages, and because not all have shells, this is better suited for a plugin. Thanks for your suggestion though.


ValidationException coudn't be fully localized

Laravel Version: 9.7.0
PHP Version: 8.1.3

Description:
\Illuminate\Validation\ValidationException end of message saying "and  more errors" coudn't be translated to any other languages rather than default English.
That problem definetely coming from summarize method of \Illuminate\Validation\ValidationException class
protected static function summarize($validator)
    {
        $messages = $validator->errors()->all();

        if (! count($messages)) {
            return 'The given data was invalid.';
        }

        $message = array_shift($messages);

        if ($additional = count($messages)) {
            $pluralized = $additional === 1 ? 'error' : 'errors';

            $message .= " (and {$additional} more {$pluralized})";
        }

        return $message;
    }

I propose to replace a default hardcoded string  " (and {$additional} more {$pluralized})" to something like __('validation.more_errors', ['count' => 1]) in order to be more accurate when it comes to localization process.
Steps To Reproduce:
Throw any ValidationException with more than one error.

https://github.com/laravel/framework/issues?q=is%3Aissue+ValidationException+translate
https://github.com/laravel/framework/pulls?q=is%3Apr+ValidationException+translate

This message isn't meant for users in production. The exception handler reports it in the local/staging environment for developers. Method ValidationException@errors() returns localized translations.

Heya, Please try to search the issue and PR trackers first before posting, thanks.
Thanks @derekmd


[QUESTION] how to mutate headings, mapped data through events ?

Prerequisites

[x] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[x] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[x] Checked that your question isn't already asked before.
[x] Filled in the entire issue template

Versions

PHP version: 8.0.0
Laravel version: 8.16.1
Package version: 3.1.26

Description

am not sure if this should be a question or feature.

atm if we want to set rtl on the sheet it wont work when using WithMapping, WithHeadings, so as away around we can instead use array_reverse for both sheet head & data.
however instead of having to repeat the same logic on each export class, we can mutate the heading and mapped data through an event while keeping everything else intact.
Additional Information

setup and export class with WithMapping, WithHeadings
use https://docs.laravel-excel.com/3.1/exports/extending.html#rtl-right-to-left-sheets
the expected result should be aligned from right to left "the actual data doesnt really matter, we just need the sheet direction to be inverted"

That doesn't sound like a good idea to be honest. Provide a failing test for RTL in a PR and we'll see why it fails.

can i make a test PR instead ?

What do you mean with test PR?

am sorry, i meant a test repo.

I would prefer a failing unit test so we have a regression test once we find a fix

sadly am new to tests but i will try my best.

sorry for the long delay, sadly i dont have time to add tests any time soon, so anyone with similar issue plz feel free to take over.

sorry for the long delay, sadly i dont have time to add tests any time soon, so anyone with similar issue plz feel free to take over.


Reorganize the code a bit so that Piranha can be used as a binary and as library

This is a refactoring.
Trying to make the code structure conform the recommended guideline - https://doc.rust-lang.org/cargo/guide/project-layout.html
Our piranha.rs was actually lib.rs we just were not exposing it as a library. This PR does this refactoring (and manages all the access modifiers appropriately).
While doing this, I also realized that I was unnecessarily exposing SourceCodeUnit, while all I needed was its content (Which is part of PiranhaOutputSummary). So I made that pub(crate) and updated the tests to use PiranhaOutputSummary.

Flaky coveralls. Note I have not changed any Java files.


endToEnd feature doesn't produce message to topic at first kminion start

Using kminion v2.2.8 as deployment and deploying it with strimzi kafka 3.7.0 to k8s. When topic management is enabled, kminion creates topic and consumer group, but does't produce anything until restarted, after restart working as expected.
Tested other versions down to 2.2.3, lower versions create topic and write init messages, after that same behavior, no messages until deployment restart.
Tried to create topic manually, if topic management enabled, kminion stiil make attempt to create topic, and then nothing until restart.
When i disable topic management and create topic manually, kminion work as expected at first run
Logs from first deploy when topic management is enabled:
{"level":"info","ts":"2024-07-02T09:53:27.112Z","logger":"main","msg":"successfully connected to kafka cluster"}
{"level":"debug","ts":"2024-07-02T09:53:27.113Z","logger":"main.e2e","msg":"validating end-to-end topic..."}
{"level":"debug","ts":"2024-07-02T09:53:27.113Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"2","bytes_written":47,"write_wait":0.000017434,"time_to_write":0.000046283,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.115Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"2","bytes_read":486,"read_wait":0.000052535,"time_to_read":0.002121352,"err":null}
{"level":"info","ts":"2024-07-02T09:53:27.115Z","logger":"main.e2e","msg":"e2e topic does not exist, creating it...","topic_name":"kminion-end-to-end","partitions_per_broker":1,"replication_factor":1,"broker_count":3,"total_partitions":3}
{"level":"debug","ts":"2024-07-02T09:53:27.115Z","logger":"main.kgo_client","msg":"opening connection to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-0.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"0"}
{"level":"debug","ts":"2024-07-02T09:53:27.123Z","logger":"main.e2e_hooks","msg":"kafka connection succeeded","host":"kf-kminion-test-staging-kf-kminion-test-staging-broker-0.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc","broker_id":0,"dial_duration_ms":8}
{"level":"debug","ts":"2024-07-02T09:53:27.123Z","logger":"main.kgo_client","msg":"connection opened to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-0.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"0"}
{"level":"debug","ts":"2024-07-02T09:53:27.123Z","logger":"main.kgo_client","msg":"issuing api versions request","broker":"0","version":3}
{"level":"debug","ts":"2024-07-02T09:53:27.123Z","logger":"main.kgo_client","msg":"wrote ApiVersions v3","broker":"0","bytes_written":35,"write_wait":0.000006043,"time_to_write":0.000142217,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.129Z","logger":"main.kgo_client","msg":"read ApiVersions v3","broker":"0","bytes_read":475,"read_wait":0.000044843,"time_to_read":0.005659602,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.129Z","logger":"main.kgo_client","msg":"connection initialized successfully","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-0.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"0"}
{"level":"debug","ts":"2024-07-02T09:53:27.129Z","logger":"main.kgo_client","msg":"wrote CreateTopics v6","broker":"0","bytes_written":147,"write_wait":0.014105967,"time_to_write":0.000040174,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.240Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"0","bytes_written":47,"write_wait":0.000034667,"time_to_write":0.000157164,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.241Z","logger":"main.kgo_client","msg":"read CreateTopics v6","broker":"0","bytes_read":1108,"read_wait":0.000031119,"time_to_read":0.111869374,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.241Z","logger":"main.kgo_client","msg":"opening connection to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T09:53:27.245Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"0","bytes_read":486,"read_wait":0.00015292,"time_to_read":0.005544891,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.246Z","logger":"main.kgo_client","msg":"immediate metadata update had inner errors, re-updating","errors":"UNKNOWN_TOPIC_OR_PARTITION{__consumer_offsets}","update_after":0.25}
{"level":"debug","ts":"2024-07-02T09:53:27.253Z","logger":"main.e2e_hooks","msg":"kafka connection succeeded","host":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc","broker_id":1,"dial_duration_ms":11}
{"level":"debug","ts":"2024-07-02T09:53:27.253Z","logger":"main.kgo_client","msg":"connection opened to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T09:53:27.253Z","logger":"main.kgo_client","msg":"issuing api versions request","broker":"1","version":3}
{"level":"debug","ts":"2024-07-02T09:53:27.253Z","logger":"main.kgo_client","msg":"wrote ApiVersions v3","broker":"1","bytes_written":35,"write_wait":0.000017597,"time_to_write":0.000056001,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.261Z","logger":"main.kgo_client","msg":"read ApiVersions v3","broker":"1","bytes_read":475,"read_wait":0.000051631,"time_to_read":0.008207835,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.261Z","logger":"main.kgo_client","msg":"connection initialized successfully","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T09:53:27.262Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"1","bytes_written":47,"write_wait":0.020249493,"time_to_write":0.000154321,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.271Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"1","bytes_read":486,"read_wait":0.000101679,"time_to_read":0.009705721,"err":null}
{"level":"info","ts":"2024-07-02T09:53:27.271Z","logger":"main.e2e","msg":"initializing consumer and waiting until it has received the first record batch"}
{"level":"info","ts":"2024-07-02T09:53:27.272Z","logger":"main.e2e","msg":"starting to consume end-to-end topic","topic_name":"kminion-end-to-end","group_id":"kminion-end-to-end-fa4b069a-3d88-4872-802a-c11b21cd1197"}
{"level":"debug","ts":"2024-07-02T09:53:27.329Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"2","bytes_written":47,"write_wait":0.000083413,"time_to_write":0.000303764,"err":null}
{"level":"debug","ts":"2024-07-02T09:53:27.330Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"2","bytes_read":486,"read_wait":0.000248975,"time_to_read":0.000940289,"err":null}

Logs after kminion deployment restart:
{"level":"debug","ts":"2024-07-02T10:05:49.669Z","logger":"main.kafka_service","msg":"successfully connected to kafka cluster","advertised_broker_count":3,"topic_count":5,"controller_id":2,"kafka_version":"at least v3.6"}
{"level":"info","ts":"2024-07-02T10:05:49.669Z","logger":"main","msg":"successfully connected to kafka cluster"}
{"level":"debug","ts":"2024-07-02T10:05:49.669Z","logger":"main.e2e","msg":"validating end-to-end topic..."}
{"level":"debug","ts":"2024-07-02T10:05:49.669Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"2","bytes_written":47,"write_wait":0.000007317,"time_to_write":0.000100092,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.670Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"2","bytes_read":564,"read_wait":0.000058359,"time_to_read":0.000606991,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.670Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"2","bytes_written":47,"write_wait":0.000007399,"time_to_write":0.000037833,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.671Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"2","bytes_read":564,"read_wait":0.000038534,"time_to_read":0.000503031,"err":null}
{"level":"info","ts":"2024-07-02T10:05:49.671Z","logger":"main.e2e","msg":"initializing consumer and waiting until it has received the first record batch"}
{"level":"info","ts":"2024-07-02T10:05:49.671Z","logger":"main.kgo_client","msg":"immediate metadata update triggered","why":"forced load because we are producing to a topic for the first time"}
{"level":"info","ts":"2024-07-02T10:05:49.671Z","logger":"main.e2e","msg":"starting to consume end-to-end topic","topic_name":"kminion-end-to-end","group_id":"kminion-end-to-end-f4edccc9-32fa-4499-b5f4-84fea9e3a68a"}
{"level":"info","ts":"2024-07-02T10:05:49.671Z","logger":"main.kgo_client","msg":"producing to a new topic for the first time, fetching metadata to learn its partitions","topic":"kminion-end-to-end"}
{"level":"debug","ts":"2024-07-02T10:05:49.674Z","logger":"main.e2e_hooks","msg":"kafka connection succeeded","host":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc","broker_id":1,"dial_duration_ms":8}
{"level":"debug","ts":"2024-07-02T10:05:49.674Z","logger":"main.kgo_client","msg":"connection opened to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T10:05:49.674Z","logger":"main.kgo_client","msg":"issuing api versions request","broker":"1","version":3}
{"level":"debug","ts":"2024-07-02T10:05:49.675Z","logger":"main.kgo_client","msg":"wrote ApiVersions v3","broker":"1","bytes_written":35,"write_wait":0.000014843,"time_to_write":0.000051426,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.682Z","logger":"main.kgo_client","msg":"read ApiVersions v3","broker":"1","bytes_read":475,"read_wait":0.000047556,"time_to_read":0.007340048,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.682Z","logger":"main.kgo_client","msg":"connection initialized successfully","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T10:05:49.682Z","logger":"main.kgo_client","msg":"wrote FindCoordinator v3","broker":"1","bytes_written":80,"write_wait":0.016164308,"time_to_write":0.000102471,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.682Z","logger":"main.kgo_client","msg":"wrote Metadata v9","broker":"1","bytes_written":47,"write_wait":0.005584565,"time_to_write":0.000073832,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"read FindCoordinator v3","broker":"1","bytes_read":143,"read_wait":0.000137425,"time_to_read":0.007741936,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"opening connection to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-1.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"1"}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"read Metadata v9","broker":"1","bytes_read":564,"read_wait":0.007836293,"time_to_read":0.000221633,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"metadata refresh has identical topic partition data","topic":"kminion-end-to-end","partition":0,"leader":1,"leader_epoch":0}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"metadata refresh has identical topic partition data","topic":"kminion-end-to-end","partition":1,"leader":2,"leader_epoch":0}
{"level":"debug","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"metadata refresh has identical topic partition data","topic":"kminion-end-to-end","partition":2,"leader":0,"leader_epoch":0}
{"level":"info","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"done waiting for metadata for new topic","topic":"kminion-end-to-end"}
{"level":"info","ts":"2024-07-02T10:05:49.690Z","logger":"main.kgo_client","msg":"initializing producer id"}
{"level":"debug","ts":"2024-07-02T10:05:49.691Z","logger":"main.kgo_client","msg":"wrote InitProducerID v4","broker":"2","bytes_written":38,"write_wait":0.000011606,"time_to_write":0.000115139,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.691Z","logger":"main.kgo_client","msg":"read InitProducerID v4","broker":"2","bytes_read":26,"read_wait":0.000048221,"time_to_read":0.000401465,"err":null}
{"level":"info","ts":"2024-07-02T10:05:49.691Z","logger":"main.kgo_client","msg":"producer id initialization success","id":2,"epoch":0}
{"level":"debug","ts":"2024-07-02T10:05:49.691Z","logger":"main.kgo_client","msg":"opening connection to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-2.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"2"}
{"level":"debug","ts":"2024-07-02T10:05:49.691Z","logger":"main.kgo_client","msg":"opening connection to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-0.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"0"}
{"level":"debug","ts":"2024-07-02T10:05:49.693Z","logger":"main.e2e_hooks","msg":"kafka connection succeeded","host":"kf-kminion-test-staging-kf-kminion-test-staging-broker-2.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc","broker_id":2,"dial_duration_ms":1}
{"level":"debug","ts":"2024-07-02T10:05:49.693Z","logger":"main.kgo_client","msg":"connection opened to broker","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-2.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"2"}
{"level":"debug","ts":"2024-07-02T10:05:49.693Z","logger":"main.kgo_client","msg":"connection initialized successfully","addr":"kf-kminion-test-staging-kf-kminion-test-staging-broker-2.kf-kminion-test-staging-kafka-brokers.kafka-mks-test.svc:9092","broker":"2"}
{"level":"debug","ts":"2024-07-02T10:05:49.693Z","logger":"main.kgo_client","msg":"wrote Produce v8","broker":"2","bytes_written":145,"write_wait":0.001524208,"time_to_write":0.000130014,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.695Z","logger":"main.kgo_client","msg":"read Produce v8","broker":"2","bytes_read":76,"read_wait":0.000051515,"time_to_read":0.002352019,"err":null}
{"level":"debug","ts":"2024-07-02T10:05:49.695Z","logger":"main.kgo_client","msg":"produced","broker":"2","to":"kminion-end-to-end[1{0=>1}]"}

Hi @alarex, this is probably related to this #268.


Right-to-left text support [enhancement]

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
This is a request to provide right to left text support, as in gedit in the following snapshot:

Steps to Reproduce

Write some text in English.
Press enter, and type some text in Arabic/Hebrew/Other-right-to-left-language.
The text will be inverted. You won't be able to highlight parts of the written text using the mouse.

Expected behavior:
To invert the writing direction once a right-to-left language is detected. This should be done (as in gedit) on the visual level (i.e. it isn't necessary to modify any data in the saved file).
Actual behavior:
A right-to-left language is written on the opposite side of the line.
Reproduces how often:
%100
Versions
Atom    : 1.26.1
Electron: 1.7.11
Chrome  : 58.0.3029.110
Node    : 7.9.0
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Thanks for contributing!
We noticed that this is a duplicate of issues like https://github.com/atom/atom/issues/12282 and https://github.com/atom/atom/issues/10132 - you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Fixing setting up custom shell in container terminal

Hey guys,
i wanted to set custom shell to bash instead of sh which is default. I set environment ENV SHELL /bin/bash, but it was still picking up default option sh every time. I have found in code when you trying to check if somebody wants to set custom shell that you are accessing to array like to object, so i have added simple reduce function to make it actually object.
Hopefully everything is ok ;)
Let me know if you have any questions.
Vojta
Signed-off-by: Vojta Bartos<EMAIL_ADDRESS>

Thanks for the PR! Code LGTM
@mchiang0610 can you test functionality

@jeffdm anything specific to run it with?

Not much to test-  containers with $SHELL = bash should start with bash now instead of sh.
Merging


Github sync repository is no longer working

Describe the bug
Hi there,
I'm working on a blitz since around a month with no issue ... which was great.
But since 1 hour, I cannot sync the blitz with my github repository anymore.
I tried to disconnect, re-connect and re-import but nothing works.
If you have any idea, that would be great.
Thanks a lot.
Best
Link to the blitz that caused the error
https://stackblitz.com/edit/github-ge7qn2?file=src%2Fscripts%2Fnavigation.js,src%2Fcomponents%2FNavigation.twig,src%2Fstyles%2Fnavigation.scss,src%2Fcomponents%2FHeader.twig
Steps to reproduce

go to the project
save
commit
you'll see the fetch issue with github repository

Expected behavior
Synch to work!
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 114
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 72977367,
  "usedJSHeapSize": 68065287,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = e809191e

Additional context
No response

Hey, @ghisleouf thanks for the issue, it should be fixed now, can you confirm?

Hey @ghisleouf I'm going to close this issue but if this wasn't fixed for you, feel free to reopen. Thanks again for the report!


Printing the gantt chart

As anyone experimented with printing? Is there a possible plugin available?
Thanks so much,
Yves

I`m currently using PhantomJS to print the gantt. Like this it is possible to generate a image or use pdf. Additionally PhantomJS has a zoom factor and with this factor it is possible to fit the gantt nicely on a A4 or A3 page.
To print the gantt directly in the browser would be possible too as it is a normal website. A difficult thing will be if the gantt is wider than the paper. In this case the browser tries to wrap the text which is not possible as the gantt uses absolute elements. Thus the gantt will be cut-off.

Maybe there's another option using a common browser like Firefox and Chrome along with Xvfb.

The FAQ contains a section on how to print the gantt. See also commit 0ada11b.


Rename JSONPath to ReferencePath

Amazon States Language Reference Path is a subset of JSONPath (eg. can only point to one node unambiguously).

Codecov Report

Merging #82 into master will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #82   +/-   ##
=======================================
  Coverage   99.43%   99.43%
=======================================
  Files           7        7
  Lines         535      535
  Branches       83       83
=======================================
  Hits          532      532
  Misses          1        1
  Partials        2        2

Impacted Files
Coverage Δ

src/awsstepfuncs/abstract_state.py
98.91% <100.00%> (ø)

src/awsstepfuncs/json_path.py
100.00% <100.00%> (ø)

src/awsstepfuncs/state.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9aef528...466e2a1. Read the comment docs.


Research using service workers to improve connection stability

We can use Service Workers API to re-fetch failed requests to test pages.

We can implement it except for iOS browsers.

[ ] Support Android, desktop
[ ] Document limitations


fix: accept numbers for boundaries

@RandellDawson this should fix the error you were seeing.  Totally my fault, sorry!


Physics gun minimum position set to camera

The Physics gun minimum position (when you scroll to move the object you carry) is not set to the player position but to the camera position
nanos.world   2023-03-16 19-42-03 - Trim.zip

yeah I suffered from that effect too, I will try to improve it in the Physics Gun tool implementation!


Error when installing requirements

i have installed python 3.10 and venv. Trying to "pip install -r requirements.txt"
ERROR: Ignored the following versions that require a different python version: 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10
ERROR: Could not find a version that satisfies the requirement jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip" (from jax[cuda12-pip]) (from versions: 0.4.13, 0.4.14, 0.4.16, 0.4.17, 0.4.18, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.23, 0.4.24, 0.4.25)
ERROR: No matching distribution found for jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip"

I believe this should be fixed now. Can you try again?

I believe this should be fixed now. Can you try again?

WARNING: jax 0.4.25 does not provide the extra 'cuda12-pip'
INFO: pip is looking at multiple versions of jax[cuda12-pip] to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following versions that require a different python version: 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10
ERROR: Could not find a version that satisfies the requirement jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip" (from jax[cuda12-pip]) (from versions: 0.4.13, 0.4.14, 0.4.16, 0.4.17, 0.4.18, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.23, 0.4.24, 0.4.25)
ERROR: No matching distribution found for jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip"

I think this is a problem in my system, I have Windows, there is no CUDA in jax for Windows as I understand it

Hello @ibab,
I'm getting same error while installing requirements in WSL-2 Kali. Looks like fix doesn't work or I'm doing some kind of mistake while installing requirements. Error message under bellow;
Used command: pip install -r requirements.txt
ERROR: Could not find a version that satisfies the requirement jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip" (from jax[cuda12-pip]) (from versions: 0.4.3, 0.4.4, 0.4.6, 0.4.7, 0.4.9, 0.4.10, 0.4.11, 0.4.12, 0.4.13, 0.4.14, 0.4.16, 0.4.17, 0.4.18, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.23, 0.4.24, 0.4.25) ERROR: No matching distribution found for jaxlib==0.4.25+cuda12.cudnn89; extra == "cuda12_pip"

I think this is a problem in my system, I have Windows, there is no CUDA in jax for Windows as I understand it

Hi @kesevone Are you installing via WSL or trying to install on windows? I use wsl and getting same error.

I think this is a problem in my system, I have Windows, there is no CUDA in jax for Windows as I understand it

Hi @kesevone Are you installing via WSL or trying to install on windows? I use wsl and getting same error.

I'm trying to install on regular Windows, now I'll try on wsl

I think this is a problem in my system, I have Windows, there is no CUDA in jax for Windows as I understand it

Hi @kesevone Are you installing via WSL or trying to install on windows? I use wsl and getting same error.

I'm trying to install on windows, now I'll try on wsl

If you successfully install on WSL can you tell me too

pip install dm-haiku

I got the same error and try this
pip install git+https://github.com/deepmind/dm-haiku
It work on my case.

I get an error on startup
INFO:jax._src.xla_bridge:Unable to initialize backend 'cuda':  INFO:jax._src.xla_bridge:Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig' INFO:jax._src.xla_bridge:Unable to initialize backend 'tpu': UNIMPLEMENTED: LoadPjrtPlugin is not implemented on windows yet. INFO:rank:Initializing mesh for self.local_mesh_config=(1, 8) self.between_hosts_config=(1, 1)... INFO:rank:Detected 1 devices in mesh Traceback (most recent call last):   File "c:\Users\Maksim\Desktop\grok-1\run.py", line 72, in <module>     main()   File "c:\Users\Maksim\Desktop\grok-1\run.py", line 63, in main     inference_runner.initialize()   File "c:\Users\Maksim\Desktop\grok-1\runners.py", line 282, in initialize     runner.initialize(   File "c:\Users\Maksim\Desktop\grok-1\runners.py", line 181, in initialize     self.mesh = make_mesh(self.local_mesh_config, self.between_hosts_config)                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "c:\Users\Maksim\Desktop\grok-1\runners.py", line 586, in make_mesh     device_mesh = mesh_utils.create_hybrid_device_mesh(                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\Maksim\AppData\Local\Programs\Python\Python311\Lib\site-packages\jax\experimental\mesh_utils.py", line 373, in create_hybrid_device_mesh     per_granule_meshes = [create_device_mesh(mesh_shape, granule)                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\Maksim\AppData\Local\Programs\Python\Python311\Lib\site-packages\jax\experimental\mesh_utils.py", line 373, in <listcomp>     per_granule_meshes = [create_device_mesh(mesh_shape, granule)                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\Maksim\AppData\Local\Programs\Python\Python311\Lib\site-packages\jax\experimental\mesh_utils.py", line 302, in create_device_mesh     raise ValueError(f'Number of devices {len(devices)} must equal the product ' ValueError: Number of devices 1 must equal the product of mesh_shape (1, 8)

That just means you don't have the appropriate number of devices. The mesh_shape is the configuration for what is expected, in this case 8 devices to distribute the model over and run inference on. If you don't allocate exactly 8 gpus, it will not work, granted running inference with this model will require a minimum of 8 large GPUs anyway.

@AndreSlavescu I have tried with 1. i did mesh_shape (1, 1) instead mesh_shape (1, 8)

I also have the same problem. Have you fixed it now?

I got the same error, but running only:
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
worked for me, so it's probably because of the dm_haiku problem as described above

I got the same error, but running only:
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
worked for me, so it's probably because of the dm_haiku problem as described above

Thanks, works for me too

@AndreSlavescu I have tried with 1. i did mesh_shape (1, 1) instead mesh_shape (1, 8)

In theory that should work in terms of not breaking at that point, but you won't have enough memory to load onto a single GPU, so you will get a CUDA OOM errror.

same issue

@AndreSlavescu I have tried with 1. i did mesh_shape (1, 1) instead mesh_shape (1, 8)

In theory that should work in terms of not breaking at that point, but you won't have enough memory to load onto a single GPU, so you will get a CUDA OOM errror.

yep, I have up.. 300GB dowloaded for nothing :D

running these commands after the error completes the installation
pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install -r requirements.txt

@AndreSlavescu I have tried with 1. i did mesh_shape (1, 1) instead mesh_shape (1, 8)

In theory that should work in terms of not breaking at that point, but you won't have enough memory to load onto a single GPU, so you will get a CUDA OOM errror.

yep, I have up.. 300GB dowloaded for nothing :D

If you want to try it and don’t have access to a 8 gpu cluster, there are cloud compute solutions with AWS sagemaker EC2 instances, lambda labs, coreweave, and a few more where you might be able to get an 8xA100 80GB (640GB total) allocation.

change requirements.txt
dm-haiku==0.0.12
jax[cuda12-pip]==0.4.25 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
numpy==1.26.4
sentencepiece==0.2.0

INFO:jax._src.xla_bridge:Unable to initialize backend 'cuda':
INFO:jax._src.xla_bridge:Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
INFO:jax._src.xla_bridge:Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
INFO:rank:Initializing mesh for self.local_mesh_config=(1, 8) self.between_hosts_config=(1, 1)...
INFO:rank:Detected 1 devices in mesh
Traceback (most recent call last):
  File "/workspace/grok-1/run.py", line 72, in <module>
    main()
  File "/workspace/grok-1/run.py", line 63, in main
    inference_runner.initialize()
  File "/workspace/grok-1/runners.py", line 282, in initialize
    runner.initialize(
  File "/workspace/grok-1/runners.py", line 181, in initialize
    self.mesh = make_mesh(self.local_mesh_config, self.between_hosts_config)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/grok-1/runners.py", line 586, in make_mesh
    device_mesh = mesh_utils.create_hybrid_device_mesh(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/.pyenv_mirror/user/current/lib/python3.12/site-packages/jax/experimental/mesh_utils.py", line 373, in create_hybrid_device_mesh
    per_granule_meshes = [create_device_mesh(mesh_shape, granule)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/.pyenv_mirror/user/current/lib/python3.12/site-packages/jax/experimental/mesh_utils.py", line 302, in create_device_mesh
    raise ValueError(f'Number of devices {len(devices)} must equal the product '
ValueError: Number of devices 1 must equal the product of mesh_shape (1, 8)

How do you solve this?

I was able to run Grok-1 yesterday. As people have commented, what did the trick for us at CloudWalk (a Brazilian fintech) was to use our K8 cluster with at least 8xA100 GPUs (80 GB family). Grok-1 uses almost all the memory from the GPUs (so using only 1 or 2 GPUs will not give you enough memory).
Another thing that solved our problems was running: pip install -U "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
Then, we just needed to run python run.py, and voilà.

You can also pull this container to run grok: ghcr.io/nvidia/jax:grok from JAX Toolbox


Enable listening with IPv6 or IPv4 (previously only IPv4 was possible)

I found that I couldn't specify an IPv6 address to listen on, so I made this tiny modification to enable it.
Any of the following are possible with it;
...

server.serve(Port(80), "localhost")
server.serve(Port(80), "<IP_ADDRESS>")
server.serve(Port(80), "::1")
server.serve(Port(80), "<IP_ADDRESS>")
server.serve(Port(80), "::")

The change is simply to call getAddrInfo with Domain.AF_UNSPEC then to use the result from getAddrInfo as arguments to createNativeSocket so we get a socket that matches the capabilities as probed by getAddrInfo.

Thanks for the PR, will merge and work with this and then tag a release.

Sorry, in the end I had to revert this as Windows stopped working with this change.

Sorry!  It has taken/is taking a while to look into that.  Everything is all Linux-y around here, so there is an overhead involved in testing on Windows, and I keep on finding other things to focus on than setting up a Windows VM!
That is the intent, though - I will test on Windows (and hopefully fix it!).  I noticed that in the Linux error case too, the error message given by Github wasn't particularly useful, but when I ran the test locally the error message was good, making fixing easy.  I suspect the same might be true with Windows.
I noticed another anomaly with the Windows checks.  As I looked into this, I took a peek at closed pull-request checks (initially just to check whether the failure on this one was new) and I noticed that in all tests, Windows takes an extraordinarily long time to complete, somewhere between 3 - 6 times as much time to complete the checks compared to Linux.  I wondered if that might be related in some way to this problem?

@finitemonkey Oh it is all good, I totally understand the Linux focus, it is the same here. My bar for Windows is something like "if someone is using Windows for testing / development, I'd like it to work for that". It does not need to be optimal or perfect, just works for dev purposes. This does mean if IPv6 is troublesome on Windows, it would be fine with me to only support it on non-WIndows systems.
When I ran it locally I found that pre-merge the tests passed (though a bit slower), post-merge they never completed. I did not look into the cause either yet.

I found some time (and a Windows machine!) to do some testing with, but unfortunately I haven't found out what is going on here.
The tests and server compile fine and the server appears to run as it should (apart from being unreachable, obviously!).  netstat -p TCPv6 -qn  shows the server listening and also shows an established connection when using either a browser or the test scripts to connect to the server.
Proto   Local Address     Foreign Address    State
TCP     [::1]:8081        [::1]:0            LISTENING

Proto   Local Address     Foreign Address    State
TCP     [::1]:8081        [::1]:60630        ESTABLISHED
TCP     [::1]:60630       [::1]:8081         ESTABLISHED

However, connections just hang via IPv6.
Notably, the server does work fine with this PR when given an IPv4 address to work with (and of course, it works fine on Linux), which makes me think that this is either an IPv6 bug in one of the libraries that the server is relying on (on Windows only) or something to do with the Windows default networking set-up for IPv6.  I suspect the Windows networking set-up due to the fact that a connection is established but unresponsive - it feels like a lost ICMP packets sort of issue.  Sadly, my lack of familiarity with Windows (and indeed ICMPv6!) isn't helping here!
Looking around online, I found a couple of suggestions for similar problems and so I tried the suggestions provided, but neither disabling the Windows firewall nor setting the network profile to "private" fixed the issue for me.
So, although it would be better to fix it on Windows, perhaps the best option is to just hide it behind an OS-specific switch for now as you suggested and wait until somebody with more familiarity with that platform comes along and is motivated to fix it?


fix(chat): add scroll down buttons for external entities (Issues #1544, #1510)

Description:
add scroll down buttons for external entities
Issues:

#1544
#1510

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review


codeium: init at 1.2.26

Codeium language server and jetbrains plugin
Related to https://github.com/NixOS/nixpkgs/pull/223593 for jetbrains plugins functionality
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[X] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

it would be easier to split this into two PRs, first codeium then the plugin. I am interested in experimenting with codeium and fixing its vim plugin

Merge conflict, please rebase...


ReflectionTypeLoadException in MRTK

Describe the bug
When I import MRTK in unity, this error will occur, how can I fix it?
To reproduce
Steps to reproduce the behavior:
Create an empty project in unity 2018.3.11f
Change platform to UWP
Enable VR with Mixed Reality Toolkit
Import MRTK v2 RC1
Click "Add to scene and configure"
Launch project
Expected behavior
No error
Screenshots
ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
System.Reflection.Assembly.GetExportedTypes () (at :0)
System.Reflection.Assembly.get_ExportedTypes () (at :0)
Microsoft.MixedReality.Toolkit.Input.MixedRealityControllerMappingProfile.CollectControllerTypes () (at Assets/MixedRealityToolkit/Definitions/Devices/MixedRealityControllerMappingProfile.cs:43)
Microsoft.MixedReality.Toolkit.Input.MixedRealityControllerMappingProfile.get_ControllerMappingTypes () (at Assets/MixedRealityToolkit/Definitions/Devices/MixedRealityControllerMappingProfile.cs:30)
Microsoft.MixedReality.Toolkit.Input.MixedRealityControllerMappingProfile.AddMappings () (at Assets/MixedRealityToolkit/Definitions/Devices/MixedRealityControllerMappingProfile.cs:68)
Microsoft.MixedReality.Toolkit.Input.MixedRealityControllerMappingProfile.Awake () (at Assets/MixedRealityToolkit/Definitions/Devices/MixedRealityControllerMappingProfile.cs:62)
Your Setup (please complete the following information)

Unity Version 2018 3.11f
MRTK Version MRTK V2.0.0 RC1

Target Platform (please complete the following information)

HoloLens

Additional context
Add any other context about the problem here.

Thanks for filing this issue! Can you try to grab the latest mrtk_development and see if you're still hitting this issue? Given the callstack/information here this should have been addressed by:
https://github.com/microsoft/MixedRealityToolkit-Unity/pull/4432
Feel free to reopen if this didn't address the issue.


Adding support for 'deprecatedSince' and 'since'

The Proposal
Introduce support for the following additional fields:
deprecatedSince:   An optional field that  complements the ‘deprecated’ field on OpenAPI Specification 3.0.   It is proposed that this field be used to provide information on the API version this deprecation came into effect.
since:   An optional field that allow API contracts to declare the API version on which a specific schema, parameter or operation was introduced.
Justification
This information is critical to developers integrating with an API and helps them keep their integrations in sync with the latest releases.
Proposed specification changes
Introduce optional ‘deprecatedSince’, and ‘since’  fields that would have a string data type and format specifier to support semantic versioning (x.y.z)
The new definitions of the Operation, Schema and Parameter object with these proposed additions is as below.
The proposed fields are as follows:
Operation Object

Field Name
Type
Description

deprecatedSince
string
An optional specifier that complements the ‘deprecated’ field. Used to indicate the API version on which this operation was deprecated.Follows semantic version. It is proposed that this field be ignored if the ‘deprecated’: true is not present in the definition

since
string
An optional specifier to indicate the API version on which this operation was introduced.

Parameter object

Field Name
Type
Description

deprecatedSince
string
An optional specifier that complements the ‘deprecated’ field. Used to indicate the API version on which this parameter was deprecated. Follows semantic version. It is proposed that this field be ignored if the ‘deprecated’: true is not present in the definition

since
string
An optional specifier to indicate the API version on which this parameter was introduced.

Schema Object

Field Name
Type
Description

deprecatedSince
string
An optional specifier that complements the ‘deprecated’ field. Used to indicate the API version on which this schema field was deprecated.Follows semantic version. It is proposed that this field be ignored if the ‘deprecated’: true is not present in the definition

since
string
An optional specifier to indicate the API version on which this schema field was introduced.

Paging @philsturgeon, who is looking at deprecation in the context of JSON [Hyper-]Schema

Hey @sekharbans. I would be really interested in understanding the use-case for deprecatedSince.
Something I like about the Sunset header (for deprecating endpoints) is that it has one option: the data it will be deprecated. If that date is in the past, then you have your "since" answer: that field should no longer be used, because its supposed to have been removed already. Panic!
If we're talking API versions instead of dates, does it matter? If I have schema 1.0.0 and then I have 1.3.0 and I suddenly notice that it's deprecated in 1.3.0, do I really care if it was deprecated in 1.1.0 or 1.2.0? If it's deprecated its deprecated so stop using it :)

@philsturgeon The Sunset response header is still in draft. It indicates the upcoming retirement of a resource or an API and so it is not ideal for other API elements deprecation: fields, enumerated values, and behavior.
I don't think there is support for multiple Sunset headers to communicate multiple deprecations happening at a different time. The Sunset response header contains a single timestamp when a resource is expected to become unresponsive.

I was not proposing the Sunset header. It is certainly not appropriate for this. I was explaining "future date" as a method of deprecation seems clearly useful, but I am confused about the use-cases (and usefulness) of since.

@sekharbans would you mind editing out all of the (unchanged) property entries from the tables above? They don't really add anything, and make it unclear as to whether you think any existing text needs changing.

Tooling for automated change logs would be a great use case.
In general, it is is useful to know when a specific operation / schema has been altered. Typically for complex enterprises with multiple integrations -  it even helps with planning as @tanjav  was pointing out.

If I'm building an automated changelog tool:
I read v1-5.yaml, foo is not deprecated.
I read v1-6.yaml, foo is deprecated.
I know that it was deprecated in v1.6.
You didn't explain anything any further you just said that it is useful. I'm trying to mine for information to find out how it is useful.

Going by your example:
Say you did NOT have to compare with  v1-5.yaml (or by extension any earlier contract version). The current contract (say version 1.12 )  had information that  foo was deprecated since v1.6.
And from planning point of view - a realization that the integration has been relying on a field that has been deprecated 6 versions back might cause a higher severity rank than an alteration recently introduced perhaps with the latest version release.

It would be impossible to build an automated changelog tool without having both versions to compare for changes, so if we're using this as a use-case then we've just invalidated our use case. We'd need to add addedSince, changedSince, etc, all keywords being added just to support something that OpenAPI-diff would be better suited to handle.

the integration has been relying on a field that has been deprecated 6 versions

Crikey, you'd be lucky for the field to still be there after six versions. That's probably already been deleted, which will probably be triggering all sorts of errors.
Would it not have been more useful to maybe look at one of the previous six versions that was released? Probably the 6th most recent version?
What workflow is happening when 6 versions are sneaking by and then you need to know just how much of a panic to be in?
Again this is why I mentioned Sunset, as it sets a date forward to let folks know that chance is coming, instead of giving them a huge fright months later when they actually notice.

My point is you would not even need a tool to compare multiple versions to find when a specific change was introduced - if the current contract could give you that information.
So in summary - i guess there are two questions we have been deliberating on:

Is there a valid case around needing to know when a change was introduced?  I guess we agree there may be a need
What is the easiest way to surface this information?

My point is you would not even need a tool to compare multiple versions to find when a specific change was introduced - if the current contract could give you that information.

An OpenAPI specification is currently only able to describe the current contract. It tells you what type a property is, what the description is, what it expects to be valid, if it's deprecated, etc., but it cannot provide historical information on any of this.
To find changes over time you would always need to compare multiple versions.

Is there a valid case around needing to know when a change was introduced? I guess we agree there may be a need

There is, and I feel like OpenAPI Diff covers that use case. If that tool needs more work, then that's what should be done.

What is the easiest way to surface this information?

Again, OpenAPI Diff.
I do not think that the OpenAPI specification can switch from being descriptive of the current situation, to being descriptive of all past situations, like "event sourcing" for contracts.
You mentioned wanting to know when a change was introduced, but deprecations are not the only change. Changing types or formats or evolving contracts or anything else will always happen, and we cannot provide keywords that help describe those changes over time without really reimagining what OpenAPI is at a fundamental level.

Interesting note, this has been mentioned as part of https://github.com/OAI/OpenAPI-Specification/issues/782, with the keyword deprecatedVersion.

I also see no need for deprecatedSince as deprecated alone would suffice. since on the other hand may make sense.

Agreed that deprecatedSince has little value being added to the spec.
However, since would be immensely useful. Diffing two specs would be a cumbersome way of determining what minimum version of API provider is necessary to support a particular operation/schema/parameter.  since would provide the ability, from a single spec, to show the consumer when something was introduced.
Use Case
In enterprise application development, consumers often will be looking at the latest version of API documentation, but may be running an older release.  Adding since would allow the consumer to easily see if their instance of API provider supports what's in the latest spec/documentation, or what version they must upgrade to get that feature/data.

I'm not sure if you've spotted this floating around: https://tools.ietf.org/html/draft-dalal-deprecation-header-00 It's very new.
Let's let HTTP take care of this itself? Documentation is one way to do things, but REST is supposed to leverage the uniform interface to communicate as much as possible in the message itself, so if HTTP is getting since/version/date whatever then we don't really need OpenAPI to do it too.
Folks can add the deprecated header to their OpenAPI docs to let the documentation have visual identifiers for people. :clinking_glasses:

What do you think about allowing deprecated field to be object also. Instead of Sunset this can be based on aforementioned Deprecation header. Version can be inferred implicitly.
e.g.
deprecated: "2019-04-12" yields Deprecaton: version="v1" date="2019-04-12" header.
deprecated: true yields Deprecaton: version="v1" date="2019-04-12" as per [0]
[0] https://tools.ietf.org/html/draft-dalal-deprecation-header-00

The value of "Deprecation" response header field could consist of at
least 1 standard property: "date" or "version" as shown below.
Either of "version" or "date" is REQUIRED and both are also allowed.

The HTTP Deprecation header has Deprecation: true so dates are not always required, which is an exact match for deprecated: true in OAS.
As for dates, I still don't know that I'd need them recorded in the design document. If it's deprecated, it's deprecated, it doesn't matter how long ago it was deprecated you need to get on with switching away from it, and if you're getting runtime errors from your HTTP middlewares reporting the Sunset/Deprecation headers you'll know how urgent it is.
Remember, knowing when it was deprecated is less interesting than knowing when it will be removed, and deprecation doesn't tell us that, only the Sunset header does. Unless we add some sunset logic to OAS, I'd suggest deprecated: true and some human words in the description field.
There is some interesting stuff we can do to extend OAS deprecated with linking to a replacementOperationId if you'd like to chat about that over on #782?
Also, in the interest of combining conversations, let's chat about deprecation over there perhaps? This conversation has somewhat run its course, with HTTP headers speeding along and generally being a bit better equipped to handle this stuff. If you disagree lmk and we can reopen!

However, since would be immensely useful. Diffing two specs would be a cumbersome way of determining what minimum version of API provider is necessary to support a particular operation/schema/parameter. since would provide the ability, from a single spec, to show the consumer when something was introduced.
Use Case In enterprise application development, consumers often will be looking at the latest version of API documentation, but may be running an older release. Adding since would allow the consumer to easily see if their instance of API provider supports what's in the latest spec/documentation, or what version they must upgrade to get that feature/data.

@philsturgeon I see this was closed, but I don't see much discussion for since, which would be immensely useful to us too, for the reason the quoted comment by @erik-hansen correctly states. Is there any currently implemented way to get this "semantic"?


Table Not retriving newData when row update and fixed Columns is set.

Description
When fixedColumns parameter in options prop is set onRowUpdate not receive newData arguments with the new changes.
You can see the wrong behavior in the link below:
https://codesandbox.io/s/material-table-starter-template-forked-005gz?file=/src/index.js
To reproduce try to update data, click on update action button then update some information, finally confirm operation. After that delete fixedColumns parameter in options prop and try again, this time it will work normally.

OS:  Ubuntu
Browser: Firefox
Version: 86.0

Thank you very much for this!  We would love to merge a PR for this issue, otherwise we will get to it when we can.
We really appreciate you bringing this to our attention!


add currentIndex method

I've added this simple method, to help with pagination.
When browsing the examples, I noticed the pagination example had a bug. When reloading the example page, the page renders correctly, but pagination is stuck on index 0. The reason for that is afterRender() checks if i===0, so the first link is highlighted on every subsequent visit. There's no method to get the current index, so you could do i===$.scrollify.currentIndex() to have the right item highlighted.
I hope this is a welcome addition. Technically it's simple, but enough to get it to work. I can help with  modifying the examples, if necessary.

Good spot. Thanks!


[SPARK-46734][INFRA] Combine pip installations for lint and doc

What changes were proposed in this pull request?
1, Combine pip installations for lint and doc together
2, pip list before run tests
Why are the changes needed?
1, to avoid potential conflicts, for example:
existing sphinx==4.5.0 requires docutils<0.18,>=0.14, while unpinned sphinx requires docutils<0.21,>=0.18.1. If we install them with different commands, upgrade of sphinx might be broken.
2, to make it easier to debug, for example: https://github.com/apache/spark/pull/44727#issue-2081096515
sphinxcontrib-* were installed twice with different versions, which is confusing.
Does this PR introduce any user-facing change?
no, infra-only
How was this patch tested?
ci
Was this patch authored or co-authored using generative AI tooling?
no

on second thought, I think we can install them with single command now.

Merged to master.


Doesn't work for me on OS X

iMac:noise damienkatz$ cargo install rocksdb --verbose
Updating registry https://github.com/rust-lang/crates.io-index
Fresh libc v0.2.12
Compiling rocksdb v0.3.5
Running rustc /Users/damienkatz/.cargo/registry/src/github.com-88ac128001ac3a9a/rocksdb-0.3.5/src/main.rs --crate-name rocksdb --crate-type bin -C opt-level=3 --cfg feature=\"default\" --out-dir /Users/damienkatz/noise/target-install/release --emit=dep-info,link -L dependency=/Users/damienkatz/noise/target-install/release -L dependency=/Users/damienkatz/noise/target-install/release/deps --extern libc=/Users/damienkatz/noise/target-install/release/deps/liblibc-d9dba2869ce64308.rlib --extern rocksdb=/Users/damienkatz/noise/target-install/release/librocksdb.rlib
error: linking with cc failed: exit code: 1
note: "cc" "-m64" "-L" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "/Users/damienkatz/noise/target-install/release/rocksdb.0.o" "-o" "/Users/damienkatz/noise/target-install/release/rocksdb" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/damienkatz/noise/target-install/release" "-L" "/Users/damienkatz/noise/target-install/release/deps" "-L" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib" "/Users/damienkatz/noise/target-install/release/librocksdb.rlib" "/Users/damienkatz/noise/target-install/release/deps/liblibc-d9dba2869ce64308.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/libstd-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/libcollections-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/librustc_unicode-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/librand-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/liballoc-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/liblibc-d16b8f0e.rlib" "/usr/local/lib/rustlib/x86_64-apple-darwin/lib/libcore-d16b8f0e.rlib" "-l" "rocksdb" "-l" "System" "-l" "pthread" "-l" "c" "-l" "m" "-l" "compiler-rt"
note: ld: library not found for -lrocksdb
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: aborting due to previous error
error: failed to compile rocksdb v0.3.5, intermediate artifacts can be found at /Users/damienkatz/noise/target-install
Caused by:
Could not compile rocksdb.
Caused by:
Process didn't exit successfully: rustc /Users/damienkatz/.cargo/registry/src/github.com-88ac128001ac3a9a/rocksdb-0.3.5/src/main.rs --crate-name rocksdb --crate-type bin -C opt-level=3 --cfg feature="default" --out-dir /Users/damienkatz/noise/target-install/release --emit=dep-info,link -L dependency=/Users/damienkatz/noise/target-install/release -L dependency=/Users/damienkatz/noise/target-install/release/deps --extern libc=/Users/damienkatz/noise/target-install/release/deps/liblibc-d9dba2869ce64308.rlib --extern rocksdb=/Users/damienkatz/noise/target-install/release/librocksdb.rlib (exit code: 101)

I've got rocksdb installed via brew.

Hey @Damienkatz! rustc is not able to link this library against your copy of rocksdb. Does following the instructions in the readme for installing rocksdb work? You can tell rustc about other directories to look for shared libraries, as well. I'd maybe also try to compile one of the test rocksdb C programs, like https://github.com/facebook/rocksdb/blob/master/db/c_test.c to make sure your copy of rocksdb is usable.

rocksdb is installed by default in /usr/local/lib, make sure that's in your $LD_LIBRARY_PATH!


add receive modal

closes #90

The copy toast alert does not sit well with the current position, I think. Maybe below the qr code? There's some estate there.

This is displayed using rm.Load.Toast.Notify(values.String(values.StrCopied)) there's no way to change the position except the Notify method is modified to receive a position variable, which i think would be overkill for this PR

ify(values.String(values.StrCopied)) there's no way to change the position except the Notify method is modified to receive a position variable, which i think would be overkill for this PR

Okay.


Apply the SunPy package template

SunPy has created a package template and is going through the process of applying the template to the packages it maintains. They're also setting up the infrastructure so that when the template gets updated, then automated pull requests get created to do the updates.
The main benefits of applying this template are helping with software sustainability:

The long-term maintenance burden will be reduced.
After funding for XRT ends, using the package template would simplify the process of having SunPy potentially take over XRTpy maintenance.

An example pull request to apply this template to sunkit-instruments is https://github.com/sunpy/sunkit-instruments/pull/133.
Thanks to @nabobalis and @wtbarnes for suggesting this!

@nanobalis mentioned that one sticking point is that applying this template now means that we would have to switch back to tox from nox.  This is because the OpenAstronomy workflows do not currently support nox.

We/I can work on adding that, in theory it shouldn't be "hard".


New package: Microsoft.DotNet.Framework.DeveloperPack.4.5 version 4.5.1

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115297&drop=dogfoodAlpha

@wingetbot run

@wingetbot run

I actually re-submitted it in https://github.com/microsoft/winget-pkgs/pull/115302 because I missed to add silent flags


Plugin not starting and not logging info/error messages on ES 2.4.4

I'm running ES 2.4.4 in a docker image that I build on top of elasticsearch:2.4.4, I'm installing the plugin with the command:
plugin install -b com.automattic/elasticsearch-statsd/<IP_ADDRESS> and according to the output it is indeed installed. If I run the container and run bin/plugin list I get:
root@29451a42fee0:/usr/share/elasticsearch# bin/plugin list
Installed plugins in /usr/share/elasticsearch/plugins:
    - delete-by-query
    - cloud-aws
    - statsd
    - license
    - head

I have the following in my elasticsearch.yml file:
metrics.statsd.host: statsd
metrics.statsd.port: 8125
metrics.statsd.prefix: elasticsearch.elasticsearch2
metrics.statsd.node_name: elasticsearch2-1

the service starts up fine and the cluster is ok but I'm not getting any metrics data and I'm not seeing the log message that says reporting has started, nor do I get any errors from the plugin...
I tried setting metrics.statsd.host to the ip of the nodes (which resolves from inside the container) and still nothing...
when I curl _nodes/plugins I can see the plugin is installed with the correct version:
{
"name": "statsd",
"version": "<IP_ADDRESS>",
"description": "StatsD monitoring plugin for Elasticsearch",
"jvm": true,
"classname": "com.automattic.elasticsearch.plugin.StatsdPlugin",
"isolated": true,
"site": false
}

what could be wrong here?

My statsd input was configured wrong, seems to be working :)

Although I'm still not seeing any message similar to
[INFO ][com.automattic.elasticsearch.statsd.StatsdService] [Ludi] StatsD reporting triggered every [8s] to host [<IP_ADDRESS>:32768]

in the logs, but still getting data


bump version to 0.1.2 for next release cycle

@ZhijunZhao @yuwzho @aovechki

@xscript,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #18 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master     #18   +/-   ##
======================================
  Coverage    73.3%   73.3%
======================================
  Files          27      27
  Lines         708     708
  Branches       92      92
======================================
  Hits          519     519
  Misses        162     162
  Partials       27      27

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 10a9081...d1526d3. Read the comment docs.


Staging environment adds

What are you changing in this pull request and why?
Adding additional information about Staging environments as outlined here
Checklist

[ ] Review the Content style guide so my content adheres to these guidelines.
[ ] For docs versioning, review how to version a whole page and version a block of content.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding or removing pages (delete if not applicable):

[ ] Add/remove page in website/sidebars.js
[ ] Provide a unique filename for new pages
[ ] Add an entry for deleted pages in website/vercel.json
[ ] Run link testing locally with npm run build to update the links that point to deleted pages

@jtcohen6 Feel free to make any suggested changes or additions to the language and I'll pass to my team for editorial review after.

528dd5d

Added notes in blog posts!


Fix enumeratedValues parsing

Checks that enumeratedValues elements do not contain unexpected tags.
Also checks that enumeratedValues contains at least one enumeratedValue.

Fixed the warnings. I'm not sure if // TODO: is this correct? probably not, need tests comment is obsolete, maybe @ryankurte could say something.

bors try

bors try

Fixed.

bors try

It would be good also to check if  contains items with identical names or values.

@burrbull, agree, but this semantic information check matches svd2rust better. Added an issue for this.

@Disasm can you resolve conflicts?

Done!
I excluded fix of these lines: https://github.com/rust-embedded/svd/blob/d7464ff910afa321717b1a97bf46afc13a6148a0/src/svd/register.rs#L65-L68
Maybe it's better to add it with a separate change.

bors try

bors r+


Henry Ecker: Watch whatsappgroupslits.com

Henry Ecker requests the watch of the watch_keyword whatsappgroupslits\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

whatsappgroupslits\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Organize README with updated information

Other than a quick switch from college to university, this looks fantastic! Are we no longer displaying the architecture.png?

I agree with Justin, this looks fantastic. You added a lot of important information that wasn't there. Great job!

The information added is especially important for anyone outside the project trying to contribute.
I read through everything and it looks good to be merged. Well done.


Scatter point hint accuracy

It can be difficult or impossible to display hints for a particular scatter plot point by default, which may be an artifact of how the mouse pixel position resolves to plot coordinates.
Some kind of tolerance may need to be applied to capture points near the mouse position, though this could be confusing if the X coordinate of the hint is not the same as the actual X coordinate location of the mouse, for instance if the hint for a line is also being display. Since it's up to the user code to display to the hint anyway maybe it's more appropriate for the user code to handle this situation, which should be possible since HintInfo provides the xValue.
The relevant code is here: https://github.com/terezka/elm-plot/blob/master/src/Plot.elm#L700

I'm working on something to solve this in the next version! Thanks for the inspiration!