feat: implement virtual nodes/endpoints, support broadcast/multicast API

With this PR we introduce the concept of virtual nodes and endpoints. It probably needs to be fleshed out a bit more and some CC APIs should likely NOT be supported, but let's try this out.
Like physical nodes, a virtual node can have multiple (virtual) endpoints. However, it may target multiple nodes (broadcast or multicast) with the following rules:

A virtual endpoint represents the physical endpoints with the same index, which belong to the the physical nodes targeted by the virtual node
A virtual endpoint supports a CC if at least one of the physical endpoints it targets does
A CC of a virtual endpoint is secure if ALL of the physical endpoints only support it securely. If some do and some don't, we cannot know for sure. In this case it is impossible to send a command that all nodes understand
The supported CC version is the minimum non-zero version that any of the physical endpoints support. If none support the CC, it is still 0

To use this feature, two new methods were added to Controller:

getBroadcastNode() returns a virtual node with the ID 255 (targets ALL nodes)
getMulticastGroup(...nodeIDs: number[]) returns a virtual node which targets the given nodes.

fixes: #1150
required for: https://github.com/zwave-js/zwavejs2mqtt/pull/25

I think this is ready to be tested

@AlCalzone Based on this apis I should:
await this.driver.getBroadcastNode().setValue(valueId)

await this.driver.getMulticastGroup(nodesArray).setValue(valueId)

Missing docs for getBroadcastNode and getMulticastGroup controller apis

Didn't get that far yesterday :)

Didn't get that far yesterday :)

Was just for reference in case you missed :)

Hi, I'm willing to test, i saw that https://github.com/zwave-js/zwavejs2mqtt/pull/25 of the mqtt project is merged to master?
Does that mean when rebuilding that from master and this branch i should be able to send mc / bc messages?

I think the zjs2mqtt branch was using the old approach with itering through nodes.

@AlCalzone I need to know how the setValue works with endpoints. I mean should I specify endpoint? What If I do and what If I don't? Is a broadcast/multicast request sent to all the endpoints if not?
@ODINServ I also would like to know if you would prefer to set the valueIds from the topic or in the payload. Actually broadcast requests were thinked differently and were using topics but IMO now we should simply call broadcast/set and add the valueId CC, property and property key, and the value in the payload

I need to know how the setValue works with endpoints. I mean should I specify endpoint? What If I do and what If I don't? Is a broadcast/multicast request sent to all the endpoints if not?

It should not be different from targeting single nodes. You can use endpoints if desired:

A virtual endpoint is to a virtual node what a physical endpoint is to a physical node. Since virtual nodes can target multiple physical nodes, virtual endpoints can target multiple physical endpoints by extension.
A virtual endpoint exists if at least one of the virtual node's underlying physical nodes has an endpoint with the same index.

Support of the CC is still tested - meaning a CC is supported if at least one of the underlying physical endpoints does. By extension this means if you're trying to send a broad/multicast command to an endpoint no node has, it will tell you that the CC is not supported.

Weird... one unrelated test is now failing on node 12 and 14. At least I can reproduce it locally - maybe it has to do with what https://github.com/zwave-js/node-zwave-js/pull/1196 fixes...

@ODINServ I also would like to know if you would prefer to set the valueIds from the topic or in the payload. Actually broadcast requests were thinked differently and were using topics but IMO now we should simply call broadcast/set and add the valueId CC, property and property key, and the value in the payload
Like
{
commandClass: ...,
property: ...,
propertyKey: ...,
endpoint: ...?
value: ...
}

I don't mind I can use both, my preference is the new one I can easily integrate that in openhab not sure how other tools manage that.
Only thing for your proposal is that the docs should contain some examples to use.
An completely different idea is to integrate it on the website.
Rename groups to association, then we could see this multicast feature as groups of endpoints under the groups tab.
The website can then also make sure that the correct nodes are matched with the command classes, and once a group is created using the website a new topic is created on which we can set values like of it is a normal device.
Groups can than also be detected via the Hass descovery in openhab / Hass , so than all zwave gouping logic is in the zwave2mqtr backend and not in the home automation tool.
The zigbee2mqtt also does this but not sure if the zwave protocol behaves the same.
For me personally I'm already happy with your proposal!

The website can then also make sure that the correct nodes are matched with the command classes, and once a group is created using the website a new topic is created on which we can set values like of it is a normal device

This requires much more effort :)

FYI: I plan to merge this without support for multiple endpoints. That will require changes in the same order of magnitude and is best left for a followup PR

@ODINServ zwavejs2mqtt pr is ready for the test. Let me know. Also feel free to open a feature request for groups management, I think it's a good idea but needs some work in the ui

I think this should be complete now. @robertsLando lets put this to a test - we should see quickly if something is missing.

@AlCalzone I'm waiting for @ODINServ feedback

Hey,
Question: I'm running the multicast branch of the mqtt project and this branch, is that correct?
I did some testing but without luck :(
It does not matter if i use the optional id in the topic
Broadcast
topic zwavejs2mqtt/_CLIENTS/ZWAVE_GATEWAY-server/broadcast/set:
Payload:
{
  "commandClass": 38,
  "property": "targetValue",
  "value": 99
}

Result:
08:41:34.823 CNTRLR   [Node 016] [+] [Multilevel Switch] targetValue: undefined         [Endpoint 0]
[Node 255] did not respond after 1/3 attempts. Scheduling next try in 500 ms.
Logs: zwave-1245-broadcast.log
Multicast
topic zwavejs2mqtt/_CLIENTS/ZWAVE_GATEWAY-server/multicast/set
payload:
{
  "commandClass": 38,
  "property": "targetValue",
  "value": 99,
  "nodes": [13, 14, 15]
}

Result (Not sure if it even was send to the nodes?):
08:46:43.473 DRIVER » [MULTICAST] [REQ] [SendDataMulticast]
                      │ transmit options: 0x25
                      │ callback id:      44
                      └─[MultilevelSwitchCCSet]
                          target value: 99
08:46:43.475 SERIAL « [ACK]

Logs: zwave-1245-multicast.log

Not sure if it even was send to the nodes?

Looks like it was:
08:47:37.294 DRIVER « [REQ] [SendDataMulticast]
                        callback id:     47
                        transmit status: OK

[Node 255] did not respond after 1/3 attempts

That is one thing I need to change. The broadcast "node" cannot acknowledge the receipt. Did it at least do something?

That is one thing I need to change. The broadcast "node" cannot acknowledge the receipt.

Oh wait... the transmission is acknowledged. Just the followup command to refresh the current value cannot be done over broadcast.

So this might be a problem... Refreshing the value must be done with singlecast followups.
When sending multicast I think it is okay to do that.
However after a broadcast, we might have to (theoretically) send up to 232 get requests to check if the value was actually refreshed.

Nothing happens at all, not for the broadcast and not for the multicast
I have two thing in mind:

Should the nodeId which i send in the mqtt request also be in the logging?

According to your example here:  https://github.com/zwave-js/zwavejs2mqtt/pull/25#discussion_r530317689

My assumption is that it is just not send because they are also not logged?

Could it be that it is not working since the nodes are secured included ?

Also i did an additional test by adding the endpoint.
That also seems not to matter, only the destination: 1 seems to be filled now
With endpoint:
12:51:25.869 DRIVER » [MULTICAST] [REQ] [SendDataMulticast]
                      │ transmit options: 0x25
                      │ callback id:      23
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      0
                        │ destination: 1
                        └─[MultilevelSwitchCCSet]
                            target value: 99

Without endpoint:
12:53:00.287 DRIVER » [MULTICAST] [REQ] [SendDataMulticast]
                      │ transmit options: 0x25
                      │ callback id:      27
                      └─[MultilevelSwitchCCSet]
                          target value: 99

But if i do that for a broadcast:
12:46:23.451 DRIVER   Virtual node 255, Endpoint 1: Trying to access endpoint instance before Multi Channel interview

Could it be that it is not working since the nodes are secured included ?

I think this seems to be the case
Node 16 is a fgs222 (unsecured)
Node 17 is a fgs223 (secured)
Only 16 is responding when i send:
{
  "commandClass": 37,
  "property": "targetValue",
  "value": false,
  "nodes": [16,17]
}

See logs: zwave-1245-unsecure.log

Yep, the security is the problem. It is not possible to send a secure command to multiple nodes, because sending secure commands requires a temporary nonce from the target node.
S2 can be used with multicast, but that isn't implemented yet.

Ok clear, any idea on a time line for that ?
I will rejoin everything unsecure because I'm also curious if the network becomes more stable than. But that's a bit of a hassle.
But i still I do think having everything encrypted for iot devices is a good thing. What is your opinion? I don't mind that mutch if some one can see state of things (but they could get some interesting information out of that), but controlling them is something else.
But anyhow I'm not controlling locks or something, and not planning to do that either.

I can't say for sure - if I find the time, probably at the end of the winter holidays. S2 is pretty complex. I have got a lot of the puzzle pieces together, but putting it all together will take quite a bit of effort.

But i still I do think having everything encrypted for iot devices is a good thing. What is your opinion?

Yes, it is a good thing, but not really feasible with S0. As long as S0 is the maximum security, I would advise (for maximum stability):

Only encrypt what is really necessary or irresponsible if not encrypted (e.g. smart locks)
Think about encrypting sensors (which could leak information if unencrypted)
Keep everything else unencrypted

I can't say for sure - if I find the time, probably at the end of the winter holidays.

Don't start building it only for me, I can live with some not encrypted nodes. I don't have smart locks or zwave sensors so that's fine.
Is saw indeed some flowcharts about S2 m/bcast looks like a lot of work indeed.
I don't have time today to rejoin them, or you might have a magic command to switch to unencrypted?
If not, I will take the hassle comming week, I can report back then if you want me to test further before merging.

Back to topic: I understand your message above as "it worked for the insecure node", so this feature should be ready.

@robertsLando Anything missing from a dashboard POV?

LGTM. @AlCalzone will this allow also to add 'virtual valueids' ? I'm thinking about the support for rgb #806

will this allow also to add 'virtual valueids'

I don't think this is necessary. A normal value ID will do just fine for RGB.


BUG: Question transformer cannot be left empty

In the context of the retriever agent, I should be able to leave the question transformer empty

added noop question transformer


scheduled drop-in doesn't show

Hi,... we manage to deploy the app but list of scheduled drop-ins are not showing.

Would you be able to direct us where might be the issue.

Same issue for me, it was working 3 months ago when I did the initial import, hasn't worked since semester 2 started. I deleted the lists and reimported the current team list with teachers names and school name etc so the new classes show but still none of the scheduled ones show and they don't appear in the teams list like they used to.


[SQL-DS-CACHE-124] [POAE7-1133] Fix q44 case

What changes were proposed in this pull request?
when agg result is more than default batch size, will return via multiple times.
How was this patch tested?
TPC-DS q44.
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@iyupeng @yma11 Please take a review, thanks.


Thank you so much :)

Thank you so much for making your Let's build a simple interpreter series, it's really helping me learn how interpreters work while I'm making my own programming language in JavaScript :smile:

I just finished part 6, and I went down my own little rabbit hole, and COMPLETELY BY MYSELF (I'm very proud of myself :smile:) implemented semicolons at the end of every line of code, (it throws an error if there's no semicolon) and, if statements where if there's 2 equations with an equal sign between them, it checks if they're equal, but it just returns the result if not. Also, I implemented multi-line programs! where it loops through each line and does all the above for it! Thank you so much for this amazing series


Can't use "@class AnyPromise" because of compiler error

Hello,
If I place @class AnyPromise; to any of my Objective-C headers instead of #import <PromiseKit/PromiseKit.h> Xcode fails to compile with error: Reference to 'AnyPromise' is ambiguous, pointing both to @compatibility_alias AnyPromise PMKPromise; at Umbrella.h line 68 and mine @class AnyPromise; line as candidates. What's going on and is any way to fix it?
Thanks,
Alex

Indeed. There is no AnyPromise class due to backwards compatibility with PromiseKit 1.x.
I've deprecated this for PromiseKit 3.
Instead you can do:
@class PMKPromise;
@compatibility_alias AnyPromise PMKPromise;

Got it! Thanks!


Added new property 'resizeThresholdDuration'

Closes #12
responsive.min.js and source map generated using uglify-js 3.3.15

This would be very helpful - @martynasma , is there anything holding back the merge?


Morphing between two instances of a component leaks proxy nodes

I put together an example of nanocomponent leaking proxy elements into the real DOM when morphing between two instances of the same component:
https://gist.github.com/bcomnes/fa4fa3a83807b4189356699c17207a0b
Two issues at play here:

You need to set the caller of on-load, an undocumented argument that is critical to firing lifecycle methods correctly. (see https://github.com/hypermodules/cache-component/blob/master/index.js#L40 for an example)
The real DOM reference is not properly set on the first morph of the second instance.  Subsequent visits will present a failing isSameNode test that results in leaked proxy nodes into the real dom. A possible fix is to set internal instance ID's but I haven't had a chance to bench how that affects performance: https://github.com/hypermodules/cache-component/blob/master/index.js#L49

Want me to PR these fixes to nanocomponent?

You need to set the caller of on-load, an undocumented argument that is critical to firing lifecycle methods correctly. (see https://github.com/hypermodules/cache-component/blob/master/index.js#L40 for an example)

Could you perhaps explain why this is critical? I believe you that it is, but I'm not sure I follow haha

The real DOM reference is not properly set on the first morph of the second instance. Subsequent visits will present a failing isSameNode test that results in leaked proxy nodes into the real dom. A possible fix is to set internal instance ID's but I haven't had a chance to bench how that affects performance: https://github.com/hypermodules/cache-component/blob/master/index.js#L49

Oh yeah, you're right - so what I suggest we do here is set an id property if there isn't one already. and then do the same check you proposed. That should take care of it all (:

From IRC:
01:49 <louisc> acorn throws the same error
01:54 <yoshuawuyts> bret: lol, you've found a super interesting edge case; I'm not sure how to fix it haha
01:55 <yoshuawuyts> bret: like: your solution accounts for morphing component -> component and making sure it comes through
01:56 <yoshuawuyts> bret: but what if the reference is lost in a regular morph
01:57 <yoshuawuyts> bret: oh no nevermind, the element onload id will still be transferred and it'll work lol
01:58 <bret> I don't even fully understand what's going on tbh. I think have a rough idea though
02:01 <yoshuawuyts> bret: no cool, you're totally right on the second instance
02:01 <yoshuawuyts> bret: I still don't completely follow on the first thing tho, what's the "caller" argument for?
02:02 <yoshuawuyts> ohhh right
02:02 <yoshuawuyts> now I see lol
02:02 <yoshuawuyts> bret: ok ok, replied to your thing - you're right in both cases. PRs super welcome!
02:03 <yoshuawuyts> bret: think setting an "id" by default is the right way to go, that way we don't have to do stuff like ccid and can also benefit from https://github.com/yoshuawuyts/nanomorph/pull/61
02:03 <bret> Good idea
02:03 <yoshuawuyts> bret: thanks heaps for tracking this down! :D :D
02:04 <bret> Does that not polite the global namespace though?
02:04 <bret> Pollute
02:04 <louisc> yoshuawuyts: is there some kind of node debug thing where I can watch bankai step through the code to see at what particular point it chokes?
02:04 <bret> Ids get hoisted to global cars I think
02:04 <bret> Vars
02:05 <yoshuawuyts> bret: it does, but that's cool I think - have never heard of perf issues regarding Ids
02:05 <bret> K
02:07 <yoshuawuyts> bret: using a similar scheme as onload has should work fine I think

Closed by 6.0.0


Development workflow help

Hi!
First, great project. Thank you for sharing!
I am adding some functionality to the backend to work with my use case. I wanted to know if the python scripts generate.py and index.py under create_llama/backend/app/engine are generated from the command npx -y create-llama@${CREATE_LLAMA_VERSION} ... in the Makefile. Essentially, I would like to know how I should be committing the changes I made in the dev environment so that I can see them later in production as well
Thanks for the help!

Thanks for asking @jucamohedano.
Generally, the Makefile first retrieves the sources from the create-llama project by calling npx -y create-llama@${CREATE_LLAMA_VERSION} ... it then overwrites the sources if needed by copying the files from the patch folder.
So you have two options:

Sending a PR to the create-llama project OR
adding your changes to the patch folder
The former is preferable if the change is also valuable to the create-llama project

Awesome! Thank you for the answer

@jucamohedano great! I'll reopen it as i have to write a contribution file hehe


Introduce automatic formatting into codebase.

Adds prettier
Adds github action that will format PRs into main.

Closes #4

Sadly formatting hook won't work until merged, but you can see my 4th commit is done by actions on my fork.


[Completion] Look through implicit expr when collecting possible callees

For example:
  class Base {
    init(_: Int) {}
    convenience init(_: Int) { self.init() }
  }
  class Derived: Base {
    convenience init(sub: Int) { self.init(sub) }
  }
  Derived(#^HERE^#

In this case, the call is type checked to Base.init(_:) and Derived is wrapped with MetatypeConversionExpr with type Base.Type. We need to look through it to get the TypeExpr with Derived.Type.
rdar://74233797

@swift-ci Please smoke test


Command options refactor

Addressing #1169

On a very quick pass, looks good to me. I am glad you've moved things away from LabelCommand, more straightforward for me as well.


fix: updating icon for error and done

With nerd font version 3.0 the current icons are deprecated.

Thanks, for PR. I guess windwp doesn't have any problem with it. Merging it.


Removed obsolete column parsing in MIMIC-IV

The "race" column is now obsolete in the latest version of the MIMIC-IV release. Keeping the parsing of this column will lead to error for the creation of MIMIC-IV dataset.

Hi @WaicongTam! Thanks for the PR! Could you specify the MIMIC-IV version you are using? It seems the 2.2 version still has the "race" column in the "admissions.csv" table.

Hi @zzachw , I double-checked the table (I am also using 2.2). The column has been renamed to "ethnicity" (same as MIMIC-III but in lowercase). I will commit and test the new modification and raise the PR again. Apologies for the recklessness and thanks for the great work.

Hi @zzachw the latest commit is with the new edits. Thanks!

Hello @zzachw, could you follow up this PR?

Hi @WaicongTam , according to the documents, the column name is still "race". https://mimic.mit.edu/docs/iv/modules/hosp/admissions/

Hi Chaoqi,
The document is inconsistent. If you scroll down or look at the columns of
the CSV, it’s  ethnicity.
Again, thanks for the great work!
On Thu, 12 Oct 2023 at 8:50 am, Chaoqi Yang @.***>
wrote:

Hi @WaicongTam https://github.com/WaicongTam , according to the
documents, the column name is still "race".
https://mimic.mit.edu/docs/iv/modules/hosp/admissions/
—
Reply to this email directly, view it on GitHub
https://github.com/sunlabuiuc/PyHealth/pull/203#issuecomment-1758596563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGNSOLRN662VU5T5EUWXJFTX64IBJANCNFSM6AAAAAA3TO3KYU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @WaicongTam , thanks. To verify, I just downloaded the MIMIC-IV and double-checked the column. The name is "race", please take a look at the screenshot.


task.json - "dataSourceName" options not documented - How to retrieve AzureRM subnets

We are trying to build a VSTS task and utilise DataSourceBindings to present a list of available vnets and contained subnets to the user. I came across issue https://github.com/Microsoft/vsts-tasks/issues/2414 that provided some guidance on how to use DataSourceBindings. As indicated the referred issue, there is currently no documentation available on how to handle this.
We managed to get the list of Vnets presented to the user with the following code:
{
    "target": "vnetName",
     "endpointId": "$(ConnectedServiceNameARM)",
    "dataSourceName": "AzureRMResourcesInRGBasedOnType",
    "parameters": {
         "ResourceGroupName": "$(vnetResourceGroupName)",
         "ResourceType": "Microsoft.Network/virtualNetworks"
    },
    "resultTemplate": "{ \"Value\" : \"{{{name}}}\", \"DisplayValue\" : \"{{{name}}}\" }"
}

An Azure subnet resource is always accociated to a vnet object and I'm having difficulties trying to extract the list of subnets from the virtual network. I was hoping to be able to use the #extractResource marco to help with this like the following but was unsuccesful.
{
    "target": "snetName",
    "endpointId": "$(ConnectedServiceNameARM)",
     "dataSourceName": "AzureRMResourcesInRGBasedOnType",
     "parameters": {
        "ResourceGroupName": "$(vnetResourceGroupName)",
        "ResourceType": "Microsoft.Network/virtualNetworks"
        },
        "resultTemplate": "{\"Value\":\"{{{ #extractResource subnets}}}\",\"DisplayValue\":\"{{{ #extractResource subnets}}}\"}"
}

Would this be possible and could someone provide some guidance on how to handle this?

Managed to get this working after the article https://blogs.msdn.microsoft.com/sriramb/2016/09/15/service-endpoints-data-sources/ helped me on my way.
        {
            "target": "snetName",
            "endpointId": "$(ConnectedServiceNameARM)",
            "endpointUrl": "{{{endpoint.url}}}/subscriptions/$(endpoint.subscriptionId)/resourcegroups/$(vnetResourceGroupName)/providers/microsoft.Network/virtualNetworks/$(vnetName)/subnets?api-version=2018-02-01",
            "resultSelector": "jsonpath:$.value[*].name"
        }


rofi-pass: 2015-08-06 -> 1.0

Upstream switched to (semantic) versioning, this commit reflects that
change.

/cc maintainers @hiberno


Add support for prefers-color-scheme CSS media query

For dark mode in macOS (among others):
https://drafts4.csswg.org/mediaqueries-5/#prefers-color-scheme
https://brehaut.net/blog/2018/a_dark_mode_less_mixin
This is still not implemented anywhere yet.

Implemented in Safari Tech Preview 68 now.

In the future, please provide documentation so that others can confirm :)
https://trac.webkit.org/changeset/237156/webkit

Just tested this feature on Safari Technical Preview (Release 76, Safari 12.2) and Firefox Nightly 67.0a1 and discovered the following issues:

Safari TP detects live color scheme changes and updates accordingly. Firefox Nightly requires a browser restart to detect color scheme changes.

Neither Safari TP nor Firefox Nightly honor the prefers-color-scheme media query when applied to a <link> element via the media attribute`. This is unfortunate, as it would make specifying separate stylesheets for light/dark schemes trivial:
<link rel="stylesheet" href="light.css" media="prefers-color-scheme: light">
<link rel="stylesheet" href="dark.css" media="prefers-color-scheme: dark">

I intend to file a bug for both the Webkit and Mozilla teams, but I thought I'd share this here given the popularity of caniuse.


MWPW-137994 | Icons uploads

MWPW-137994 | Icons uploads
Resolves: MWPW-137994
Test URLs:

Before: https://main--express--adobecom.hlx.page/express/?martech=off
After: https://MWPW-137994--express--adobecom.hlx.page/express/?martech=off

Codecov Report

Merging #365 (cd2d8a2) into stage (b40facf) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            stage     #365   +/-   ##
=======================================
  Coverage   30.40%   30.40%
=======================================
  Files         122      122
  Lines       24991    24991
=======================================
  Hits         7599     7599
  Misses      17392    17392

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


Display message when next execution widget doesn't contains any executions

Testing Done
Description
Fixes #83
Changed the Jelly Script for Next Execution Widget on the homepage sidebar for maintaining continuity with the other widget and representing a case where no executions are in process.
Output after change:

Submitter checklist

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[x] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[x] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Thanks for your PR.
Can you also do the same for the other Widget in this plugin ?

Parametrized next execution (for jobs with parameters)
Widget on the node page (for jobs stick to a node)
Possible next execution (for jobs with SCM polling that are triggered on SCM change)

Thanks

Thanks for your PR.
Can you also do the same for the other Widget in this plugin ?

Parametrized next execution (for jobs with parameters)
Widget on the node page (for jobs stick to a node)
Possible next execution (for jobs with SCM polling that are triggered on SCM change)

Thanks

Sure. I'll try my best.

Hi @jonesbusy, Sorry I was a bit busy last week, I'll wrap this up by the end of this week.

@jonesbusy, I've update the widget to support i18n for the next execution widget on sidebar. Also, I believe it would be best if we create a new issue for the following:
Parametrized next execution (for jobs with parameters)
Widget on the node page (for jobs stick to a node)
Possible next execution (for jobs with SCM polling that are triggered on SCM change)
as I would require a lot more time for these three. It's been a while since I have worked with Jenkins and in order to test these changes I'll have to read the developers guide for Jenkins too. Also, I am having a few issues with the test instance too.

@jonesbusy, I've updated the next execution widget to support i18n. Also, I believe it would be best if we create a new issue for the following:
Parametrized next execution (for jobs with parameters) Widget on the node page (for jobs stick to a node) Possible next execution (for jobs with SCM polling that are triggered on SCM change)
as I would require a lot more time for these three. It's been a while since I have worked with Jenkins and in order to test these changes I'll have to read the developers guide for Jenkins too. Also, I am having a few issues with the test instance too.

It's ok for me, just resolve the last review comment and we should be ok to merge.
Thanks

Hi! Any news here ? It's just matter of removing the .factorypath and we are good to go.
Thanks

Hi @jonesbusy, I'm extremely sorry, I've been really busy with my daytime work. I'll add a commit right away.

Not working for me after this new version released today

I had a plenty of jobs showing the next executions. Reverting to previous version resolve to me

I have the same. Sorry for the inconveniance, I didn't do interactive test on this PR.

I will rollback and perform a release.
Thanks for raising it

@jonesbusy and @gandadil, I'm really sorry for the inconvenience caused. I'm not sure why is this issue occurring. I'll try to figure it out on my end.

I can test a new version if need, I have 3 Jenkins instances all with this problem, 2 Linux and 1 windows. All with 2.446 Jenkins version

Thanks @gandadil I have also many instance that I can test. I would prefer in the future we detect such issue before (The plugin miss of lot of tests, there is only 20% coverage...)
This issue could be detected via HTML unit https://www.jenkins.io/doc/developer/testing/ if jelly view is the problem (I'm not sure yet)


ui-router fails to instantiate on Internet Explorer 9

Does ui-router still work with Internet Explorer 9?  My app works fine in Chrome and IE11, but on a Vista system running IE9 it always fails to instantiate ui-router.  Any ideas?

I have an app successfully running Angular UI Router on IE9 (specifically we test WinXP/IE9). So it's probably not UI-Router specific. Maybe the issues you're having are more generic to known IE issues with Angular? (e.g. https://code.angularjs.org/1.2.28/docs/guide/ie)

@michaelcox @Dev63 Can you guys share what versions of AngularJS and UI-Router you are using?
@michaelcox Would it be possible to verify your code against the latest stable of each?
I'm encountering a strange issue where the state change is not starting in IE9. It seems like everything works right up until the state change begins, and then fails silently.

@nicksloan : I am currently using AngularJS v1.3.10, although this issue likely occurred with earlier versions as well.  And ui-router v0.2.13.
It's possible that my problems relate to the generic IE/Angular issues pointed out by @michaelcox , but I haven't explored those yet.

My issues was #576. You might want to give it a look.

I'm using Angular 1.3.2 and UI-Router 0.2.13. It could be, however, that I never ran into your issue because my entire app requires authentication. So I have an $stateChangeStart interrupt that may be masking an underlying issue with a blank url field in the $stateProvider.

@michaelcox Don't think so. The behavior in #576 results in $stateChangeStart never firing because ui-router can't find a matching route.
I can also say that ui-router is definitely instantiating in IE9. I suspect @Dev63 may have misdiagnosed their issue.

Also, here is something relating to IE9:
https://github.com/angular/angular.js/issues/11439
another thing is to make sure to have this:
.run(['$state', '$stateParams', angular.noop]) to make sure when you refresh it instantiates.

Wierd.. I had similar issue when I used
https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.13/angular-ui-router.js (same with /0.2.15) but problem solved when using http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js
Don't no why..

https://gist.github.com/eddiemonge/f6a58169c2846731a1eb


There is an error. e is null

Fresh install on WP 6.6 and the current Mobilizon at avalonjazz.ca -- I enter the number of events and the url, and I get the pop-up error "There is an error. e is null"
I cannot claim my Mobilizon is 100% correctly installed, but there are no signs in the logs as to why this is happening, but it would be helpful to know what 'e' is and why it might be null.

Thanks for your report!
I could successfully reinstall the plugin and load the events from your website:

Are you using a firewall on your server? Maybe, an exception for this URL needs to be added.

Thanks for the reply -- I do have a firewall, but it isn't based on domain
names, just the IP address and it port-forwards the HTTP/HTTPS, but that
doesn't mean there isn't something else funky going on in my setup.
Knowing it works for you is very good to know!
I'll try a re-install of the plugin.  I'm noticing other quirks too, like I
can use Mastodon to connect to my WP hosted on an ISP, but not on the same
version of WP hosted behind my router. There are always puzzles to solve in
this business :)
On Wed, Jul 24, 2024 at 11:31 AM Daniel Waxweiler @.***>
wrote:

Thanks for your report!
I could successfully reinstall the plugin and load the events from your
website:
screenshot.png (view on web)
https://github.com/user-attachments/assets/535aaec6-e6c5-418a-a313-c71363a77415
Are you using a firewall on your server? Maybe, an exception for this URL
needs to be added.
—
Reply to this email directly, view it on GitHub
https://github.com/wordpress-connector-for-mobilizon/connector-mobilizon/issues/19#issuecomment-2248313115,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPLTK2ZHSDETHAHO27OU2TZN7CFZAVCNFSM6AAAAABLLKARWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBYGMYTGMJRGU
.
You are receiving this because you authored the thread.Message ID:
<wordpress-connector-for-mobilizon/connector-mobilizon/issues/19/2248313115
@github.com>

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***> -
Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com - Home
https://www.teledyn.com/

Here's the only log message about it:
[Tue Jul 23 23:24:25.664109 2024] [proxy_fcgi:error] [pid 1409826:tid
1409835] [
remote <IP_ADDRESS>:57894] AH01071: Got error 'PHP message: PHP Warning:
Undefin
ed array key "eventsCount" in
/mnt/wordpress/wp-content/plugins/connector-mobili
zon/includes/EventsListWidget.php on line 24', referer:
https://radio.teledyn.co
m/blog/wp-admin/widgets.php
On Wed, Jul 24, 2024 at 1:35 PM Gary Lawrence Murphy @.***>
wrote:

Thanks for the reply -- I do have a firewall, but it isn't based on domain
names, just the IP address and it port-forwards the HTTP/HTTPS, but that
doesn't mean there isn't something else funky going on in my setup.
Knowing it works for you is very good to know!
I'll try a re-install of the plugin.  I'm noticing other quirks too, like
I can use Mastodon to connect to my WP hosted on an ISP, but not on the
same version of WP hosted behind my router. There are always puzzles to
solve in this business :)
On Wed, Jul 24, 2024 at 11:31 AM Daniel Waxweiler <
@.***> wrote:

Thanks for your report!
I could successfully reinstall the plugin and load the events from your
website:
screenshot.png (view on web)
https://github.com/user-attachments/assets/535aaec6-e6c5-418a-a313-c71363a77415
Are you using a firewall on your server? Maybe, an exception for this URL
needs to be added.
—
Reply to this email directly, view it on GitHub
https://github.com/wordpress-connector-for-mobilizon/connector-mobilizon/issues/19#issuecomment-2248313115,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPLTK2ZHSDETHAHO27OU2TZN7CFZAVCNFSM6AAAAABLLKARWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBYGMYTGMJRGU
.
You are receiving this because you authored the thread.Message ID:
<wordpress-connector-for-mobilizon/connector-mobilizon/issues/19/2248313115
@github.com>

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***>

Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com -
Home https://www.teledyn.com/

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***> -
Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com - Home
https://www.teledyn.com/

A peculiar thing I hadn't noticed before: I was filling out the widget form
and still looking at it when I pressed the save button, but it wasn't until
yesterday that I closed the form and noticed that while the preview now did
show my events inline with my sidebar widgets, the save button would still
respond with that error about 'e'.
On Wed, Jul 24, 2024 at 1:40 PM Gary Lawrence Murphy @.***>
wrote:

Here's the only log message about it:
[Tue Jul 23 23:24:25.664109 2024] [proxy_fcgi:error] [pid 1409826:tid
1409835] [
remote <IP_ADDRESS>:57894] AH01071: Got error 'PHP message: PHP Warning:
Undefin
ed array key "eventsCount" in
/mnt/wordpress/wp-content/plugins/connector-mobili
zon/includes/EventsListWidget.php on line 24', referer:
https://radio.teledyn.co
m/blog/wp-admin/widgets.php
On Wed, Jul 24, 2024 at 1:35 PM Gary Lawrence Murphy @.***>
wrote:

Thanks for the reply -- I do have a firewall, but it isn't based on
domain names, just the IP address and it port-forwards the HTTP/HTTPS, but
that doesn't mean there isn't something else funky going on in my setup.
Knowing it works for you is very good to know!
I'll try a re-install of the plugin.  I'm noticing other quirks too, like
I can use Mastodon to connect to my WP hosted on an ISP, but not on the
same version of WP hosted behind my router. There are always puzzles to
solve in this business :)
On Wed, Jul 24, 2024 at 11:31 AM Daniel Waxweiler <
@.***> wrote:

Thanks for your report!
I could successfully reinstall the plugin and load the events from your
website:
screenshot.png (view on web)
https://github.com/user-attachments/assets/535aaec6-e6c5-418a-a313-c71363a77415
Are you using a firewall on your server? Maybe, an exception for this
URL needs to be added.
—
Reply to this email directly, view it on GitHub
https://github.com/wordpress-connector-for-mobilizon/connector-mobilizon/issues/19#issuecomment-2248313115,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPLTK2ZHSDETHAHO27OU2TZN7CFZAVCNFSM6AAAAABLLKARWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBYGMYTGMJRGU
.
You are receiving this because you authored the thread.Message ID:
<wordpress-connector-for-mobilizon/connector-mobilizon/issues/19/2248313115
@github.com>

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***>

Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com
Home https://www.teledyn.com/

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***>

Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com -
Home https://www.teledyn.com/

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***> -
Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com - Home
https://www.teledyn.com/

Thanks for providing these details, @teledyn! I will look into it more in detail.

@teledyn, the PHP error you posted happens when the options of the block are not available (number of events, optional group name), but I don't know why; This is normally handled by WordPress or the Gutenberg editor. From your last comment, I conclude that something goes wrong when saving the block editor. Have you tried to remove it completely and to re-add it from scratch?
I imagine you are using the block editor, right? Have you tried using a shortcut or widget for comparison?

I was using the widget, actually. My goal with this WP is to compose in
Emacs, and the only method I've found to do this requires the old editor.
That said, I am not very familiar with WP, so it is likely that while Emacs
can feed using the Classic Editor, perhaps my web-interface does not?
It is peculiar too that the editor screen does show my events, it just
refuses to save with that error.
Just so you know, I'm in no hurry to solve this, it would be nice, but the
band who's events I hoped to show are new, and I haven't really launched
this blog yet, I was just curious to see it work. I don't expect to get
the musicians excited about it until the new mobilizon release comes out. I
see the preview livestream is now scheduled, so I'll have all my fingers
crossed :)
On Sun, Aug 4, 2024 at 12:44 PM Daniel Waxweiler @.***>
wrote:

@teledyn https://github.com/teledyn, the PHP error you posted happens
when the options of the block are not available (number of events, optional
group name), but I don't know why; This is normally handled by WordPress or
the Gutenberg editor. From your last comment, I conclude that something
goes wrong when saving the block editor. Have you tried to remove it
completely and to re-add it from scratch?
I imagine you are using the block editor, right? Have you tried using a
shortcut or widget for comparison?
—
Reply to this email directly, view it on GitHub
https://github.com/wordpress-connector-for-mobilizon/connector-mobilizon/issues/19#issuecomment-2267601829,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPLTKYO2XT5NZU5OYPUH5DZPZK7VAVCNFSM6AAAAABLLKARWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRXGYYDCOBSHE
.
You are receiving this because you were mentioned.Message ID:
<wordpress-connector-for-mobilizon/connector-mobilizon/issues/19/2267601829
@github.com>

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***> -
Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com - Home
https://www.teledyn.com/

Could you share a screenshot of how it looks like in your editor please?
And have you tried using the shortcode?

here are the widget screenshots -- I haven't yet used shortcodes, so I'll
need to look into that, but unfortunately won't have time to try that until
the end of the week.  In these shots are my Firefox editor screen and the
widget, showing that the events are seen in the editor but then we get the
error when I try to save.
[image: Mobilizon Plugin Screenshot_2024-08-06_17-08-35.png]
[image: Mobilizon Plugin Screenshot_2024-08-06_17-13-49.png]
On Tue, Aug 6, 2024 at 4:59 PM Daniel Waxweiler @.***>
wrote:

Could you share a screenshot of how it looks like in your editor please?
And have you tried using the shortcode?
—
Reply to this email directly, view it on GitHub
https://github.com/wordpress-connector-for-mobilizon/connector-mobilizon/issues/19#issuecomment-2272141677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPLTK6KZYNFHV6K3ZBPBX3ZQE2KBAVCNFSM6AAAAABLLKARWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZSGE2DCNRXG4
.
You are receiving this because you were mentioned.Message ID:
<wordpress-connector-for-mobilizon/connector-mobilizon/issues/19/2272141677
@github.com>

--
Gary Lawrence Murphy - Toronto CA - Fediverse @.***> -
Tumblr https://teledyn.tumblr.com - Blog https://blog.teledyn.com - Home
https://www.teledyn.com/

Your attachments did not go through, maybe because you replied via e-mail.

Dang! Here they are again...


Experimental docs are out dated

Description
The dockerd docs don't mention the new experimental flag and what features that enables (https://docs.docker.com/engine/reference/commandline/dockerd/), and the README in the repo (https://github.com/docker/docker/tree/master/experimental) is missing a lot of the new experimental features added in 1.13, e.g. see https://sreeninet.wordpress.com/2017/01/27/docker-1-13-experimental-features/.
Also, the experimental README  says "Experimental features are not ready for production. They are provided for test and evaluation in your sandbox environments.". That doesn't seem to match what I've heard from maintainers that experimental features are (now) considered behaviorally stable; just the API/CLI might change. E.g. see https://github.com/docker/docker/issues/26451#issuecomment-249294540

cc @mstanleyjones @thaJeztah

Upstream PR in docker/docker at https://github.com/docker/docker/pull/31021


feat!(pitch): 💥 use double, triple, and quadruple prime symbols for Helmholtz notation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

17 of 17 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1188

Relevant Lines:
1188

💛  - Coveralls


Why flatten the args?

When I called redis.set('a', [1]), I should receive ['a', [1]] in argument transformer. But I got ['a', 1].
After I reviewed the code I found flatten(args) in https://github.com/luin/ioredis/blob/master/lib/command.ts#L187
It confused me. Is there anyone who could explain why to do that? Thank you.

It's more of a historical reason due to the convention of node_redis where for convenience users can provide an arbitrary number of parameters with an array. The sugar is less needed nowadays though given the prevalence of ES6 that users can now use the spread operator.

Okay, thank you for your reply. And are you willing to provide an option to disable this behavior?

I'd rather not to provide it as it seems a little weird to change method signatures based on an option. However, the parameters are only flattened for 1 level so redis.set('a', [[1]]) should work as expected (though also a little weird :-).

okay, but I just made a fork to try to solve this problem and submitted a pr (#1175). If you don't like it I can only push a fork version for my case. ;)


Transitions with HTTP Errors

I'm having an issue with loading partials that have 404/401/500 error codes. If I catch the error in the template provider, UI-Router deems it as a $transitions.onSuccess(). I still need to render the partials even though they are 404 or 401. Which is why they are returned in the catch using a scriptloader (this looks for embedded script tags and loads them with the partial). If I remove the .catch in the template provider than the $transitions.onError() fires but the partial doesn't load. I was using a hacky $broadcast but the $transition gets fired on normal $http requests and anything caught with a 404 becomes a success. Any ideas? I was going to use everything as a success and handle it there but the success event doesn't have http status code with it.
 var templateProvider = ['$http', '$stateParams', '$state', 'scriptLoader', '$q', function ($http, $stateParams, $state, scriptLoader, $q) {
            var url = '';
            if ($stateParams.path == null) {
                url = "Home";
            } else {
                url =
                    ($stateParams.path && $stateParams.path || "") +
                    ($stateParams.folder && $stateParams.folder || "") +
                    ($stateParams.app && "/" + $stateParams.app || "") +
                    ($stateParams.page && "/" + $stateParams.page || "") +
                    ($stateParams.q && "?q=" + $stateParams.q || "");
            }
            return $http({
                method: 'GET',
                url: url,
                headers: {
                    'x-Partial-Request': true
                },
            }).then(function (responseData) {
                return scriptLoader.loadScriptTagsFromData(responseData.data);
            }).catch(function (responseData) {
                return scriptLoader.loadScriptTagsFromData(responseData.data);
            }).finally(function (responseData) {
                return responseData;
            });
        }];

MM.run(['$rootScope', '$transitions', 'AuthFactory', function ($rootScope, $transitions, AuthFactory) {

    $transitions.onSuccess({}, function ($transitions$) {
        document.body.scrollTop = document.documentElement.scrollTop = 0
    });

    $rootScope.$on('status-code', function (broadcast, data) {
        switch (data) {
            case 401:
                AuthFactory.Reset();
                break;
            default:
                break;
        }
        console.log(broadcast, data);
    });
    $transitions.onError({}, function ($transitions$) {
        console.log("error", $transitions$._error.status);
    });
}]);

I feel like since I am returning HTML in the catch of templateprovider it is becoming a success?

I feel like since I am returning HTML in the catch of templateprovider it is becoming a success?

Yes, we wait for the promise to fetch the template, then continue the transition.  If the promise resolves successfully, we use that as the template.  If the promise is rejected, we reject the transition (and thus call onError)

It's not clear to me what your code means to do.

I still need to render the partials even though they are 404 or 401. Which is why they are returned in the catch using a scriptloader (this looks for embedded script tags and loads them with the partial)

Why do you want the transition to error if the (fallback?) partial succeded.  If the transition errors, then the state does not get activated in any way.


Fix currentUrl var in deprecation-warning.html

You need to fetch upstream, hard-reset to upstream/release-1.10, and then cherrypick a5e0fd5d8e94d914027a4da6441e2f7973cd7d0e I think, since the other commit is already present in release-1.10.

/lgtm
/approve


Add what to include in a source distribution

Useful for packaging systems.

Good point :)
It can be tested with check-manifest, but that would add other dependency that not sure is worth.
Manually: python setup.py sdist and check the content of the tarball in dist/
(https://docs.python.org/3/distutils/sourcedist.html)

Thanks for the tip, @juga0.
 In the last ~15m I couldn't figure out how to exclude the crap using the manifest file syntax I found here and here.
If you would like to see what I'm seeing, run the integration tests to generate the crap files.
# already be in your sbws virtualenv
cd tests/testnets
./run-network.sh simple-ipv4
# let it run ...
./run-network.sh simple-ipv6
# let it run ...
# now compare the contents of simple-* with what is checked into source control on GitHub

I can try reorganizing the placement of the generated files and directories in the integration tests if that would make including/excluding files easier for you. Just let me know.

If it helps, here's tree.
https://paste.debian.net/1022549/

Good that you tried it.
It wasn't trivial to find out how to add the rules, since prune works only for dirs and recursive-exclude for files.
Could you check it again?

(And i'm jjust wondering was the advantage of testnets vs chutney, but that's other topic)

Here's the full list of files in dist/sbws-0.0.0.tar.gz https://paste.debian.net/1022659/
The __pycache__ directories are near the bottom. They only are picked up from the test directory for some reason, even though I have some __pycache__ directories in sbws/.
I'll happily merge the rebased branch once the __pycache__ directories are removed or I'm told it doesn't matter that they exist! I would open a new PR for it.
Thanks!

Thanks for the feedback!
Added the rule for pycache.
Sorry, realized there's no need for rebase, so no other PR is needed.


Addition of All Contributors Photos in Readme | Readme Updation

We can add all the contributor's photos in Readme file as a token of appreciation for their work.
Please assign this to me.

Like this

Sorry, someone is already working on this. Do not be demotivated and raise a new issue.

Sorry, someone is already working on this. Do not be demotivated and raise a new issue.

Yes sir, I have raised new issues, please look into that and please assign that to me.


Problems with basePath

I think I have found a problem with the basePath setting in both the basic and typescript sample projects
These are hosted at
http://bendigouniathsclub.org.au/rs-basic/about/
http://bendigouniathsclub.org.au/rs-ts/about/
The nav links look OK using prettier in the dist folders
Blog
Blog
you on clicking the window.locaton changes though  the basePath  is unset and the

 is cleared but no new content appears.
I used the react-static create and choose basic in one project and typescript in another
For basic I have this diff
~/projects/rs-basic is 📦 ⚠ via ⬢ v12.16.3 at ☸  minikube
➜ diff ../react-static/packages/react-static/templates/basic/static.config.js static.config.js
--- ../react-static/packages/react-static/templates/basic/static.config.js	2020-07-07 22:27:03.206228677 +1000
+++ static.config.js	2020-07-16 22:20:12.301112552 +1000
@@ -2,6 +2,7 @@
 import axios from 'axios'

 export default {
+  basePath:'rs-basic',
   getRoutes: async () => {
     const { data: posts } = await axios.get(
       'https://jsonplaceholder.typicode.com/posts'

And for typescript I have
~/projects/rs-ts is 📦 ⚠ via ⬢ v12.16.3 at ☸  minikube
➜ diff  ../react-static/packages/react-static/templates/typescript/static.config.js static.config.js
--- ../react-static/packages/react-static/templates/typescript/static.config.js	2020-07-07 22:27:03.206228677 +1000
+++ static.config.js	2020-07-16 22:27:49.748280569 +1000
@@ -5,6 +5,7 @@
 // Typescript support in static.config.js is not yet supported, but is coming in a future update!

 export default {
+  basePath:'rs-ts',
   entry: path.join(__dirname, 'src', 'index.tsx'),
   getRoutes: async () => {
     const { data: posts } /* :{ data: Post[] } */ = await axios.get(

Also the links on the respective blog posts look a though the basePath is not used.
 react-static -v
7.4.2
node -v
v12.16.3
yarn -v
1.22.4

Apologies for not submittng a PR but perhaps I am doing something wrong, or not reading the instructions properly

The links are all absolute links to / and /home etc. Those will not be automatically modified to use the base path, I believe, because otherwise you would not be able to link to the actual root of the domain.

Hi
Thanks for your comments.
Firstly I think there is a difference between using the <Link to="/"/> component to stay within the react-static root world with its preloading and other goodness, and using a plain  to get to the Actual site root.
Secondly the links are built correctly with the link in the basePath:rs-basic its just that clicking on them does not take you to the correct content.  Inspect Element at http://bendigouniathsclub.org.au/rs-basic/
shows this snippet

Home
About
Blog
Dynamic

BUT clicking on navbar items takes you to a different window.location and no content
That is the react-static
 is still in the DOM of the page after a click, but no content is loaded..

BUT clicking on navbar items takes you to a different window.location and no content

I see, that is a weird bug indeed. My guess it's because the router doesn't take the base path into account, and the base path is added during "build", but not in the actual hydrated react environment.
You might need to add the basename property (using react-router) or the basepath property (using reach-router).
<Router basename="/rs-basic"/>

I will give that a try next time in working on my site.
If it works, then I think react-static should have this psuedocode
import {Router:NativeRouter} from 'reach/router'
const Router = ({children}) =>{
  const basePath = useBasepath()
  return (
   <NativeRouter basename={basepath}>{children}</NativeRouter>
}
export Router

Maybe its more complicated.
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-link/src/index.js
I'd also run
sed -i 's/useBasepath/useBasePath/g'

over the source code....

That did not work.
See https://github.com/reach/router/issues/78
They are grappling. There is a work around in the above...

For anyone playing along at home, you can add this to your static.config.js so you can experiment with yarn build && yarn serve and not have to deploy...
export default {
  basePath: "rs-basic",
  //devBasePath: "rs-dev",
  paths: {
    dist: "dist/rs-basic",
  },
  getRoutes: async () => {

nextjs have quite abit going on with their link component.
https://github.com/vercel/next.js/blob/canary/packages/next/client/link.tsx
I hate to say but trying to get this working is more effort than I have capacity for at present.
I hope someone can make this work at its pretty important..
Cheers

Take care of yourself first!


Fix binary sensor in Ambient PWS

Description:
Some Ambient stations return a battery sensor, which was not properly "casted" to a binary sensor. This PR fixes that.
Related issue (if applicable): N/A
Pull request in home-assistant.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
ambient_station:
  api_key: !secret ambient_pws_api_key
  app_key: !secret ambient_pws_app_key

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

Can be merged when build passes. :+1:


Feature request: drag and drop

At the momtent it seems like drag and drop of files (pathes) from external applications is not supported.
For me it's a must have feature for a Gui Toolkit.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1468471-feature-request-drag-and-drop?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

Not sure how I missed it, but I too reported this issue.
https://github.com/kivy/kivy/issues/3557
There I have a video example among other things.  Hope it helps as I would really like to start using python for my cross platform development as well.

Let's track it here https://github.com/kivy/kivy/issues/3557.


 So times on the moon will be ignored?

Yes indeed my mistake i logged back on ogame to see myself its my player sayingn nonsense
anyway i changed it back and simply updated the numbers the timers are shown

OGame is well documented in a german wiki, for example: http://owiki.de/index.php/Stern
Since I do not have an ogame account, this wiki helps me alot.

.. and thanks for the pr.


Set proper ownership command performance improvement

By changing the set ownership command from using the file module in combination with a with_items loop to a raw chown command, we can achieve a 98% performance increase here.
On a ceph cluster with a significant amount of directories and files in /var/lib/ceph, the file module has to run checks on ownership of all those directories and files to determine whether a change is needed.
In this case, we just want to explicitly set the ownership of all these directories and files to the ceph_uid
Added context note to all set proper ownership tasks
Signed-off-by: Kevin Jones<EMAIL_ADDRESS>(cherry picked from commit 47bf47c9d87fe057bc1402f7a1aa0a84d13b5fd0)

jenkins test luminous-centos-non_container-switch_to_containers


Fix syntax error in docs

This is actually valid syntax for object types in Flow:
type Foo = {
  prop1: 'value1';
  prop2: 'value2';
};

class Bar {
  prop: {
    prop1: 'value1';
    prop2: 'value2';
  };
}

[Try]

even though it's valid, I think it wouldn't hurt to be consistent.
https://flowtype.org/docs/syntax.html#object-types uses commas, https://flowtype.org/docs/objects.html uses semicolons. Facebook's internal style guide uses commas.
@baopham: if you want to make them all consistent, I think that'd be worth merging. I vote for making them all commas.


[question] Socket->reference()

\Amp\Loop::run(function () {
    echo "Driver -> " . get_class(\Amp\Loop::get()) . "\n";

    /**
     * @var $client \Amp\Socket\ClientSocket
     */
    $client = yield connect("<IP_ADDRESS>:12001");
    $client->reference();
});

I expect that loop will not close, but it is closed :(
Or reference() is used in some other scope ?
I try to connect a ClientSocket to server and do nothing :), is it possible ?

Ups, looks like I find why it is closed, seams like it is instantly destructed.

Why do you want to do nothing? You can just create a dummy repeat watcher if you need that.

I am writing a new project based on amphp for test/benchmark tcp server, and I have some unusual cases: (not really TCP, I can't test SYN, ACK)

I need to open N connections, close, reopen, ... (spam open/close)
....

I try to reference() ClientSocket so it is not closed instantly to keep up running clients and after some time close them. May be there is some better approach ?

Just have a dummy watcher and keep a reference to it. Reference is just for the watchers. As long as you don't do any ops, there won't be any watchers.

@kelunik Thank you, I am just curious for what is useful then reference() ?

@kelunik Thank you.


LED Adapter LD382

Hello
i have the LED Controller XCSOURCE Magic UFO-WiFi LED-Controller LD382 but your Adapter don't work with them i get the following message
wifilight.0	2016-12-21 21:35:10.367	error	wrong device type. not yet supported!
whats wrong? Could i help you to modify the adapter that it works with my controller?
Thanks

Hello,
it seems as if the device type is empty. Have a look to the configuration. The column "Type" ofr your device must contain LD382
if it dosn't work, let me now.

same problem, my device shown as HF-LPB100-ZJ002, but config for HF-LPB100-ZJ200 or another device what exist in devices.js file doesnt work, codes in this article doesnt work too. I found this link - http://www.emessaging.biz/blog/?p=629 (my nod32 doesn't allow me to connect to this site, but through google translate all ok :)) and codes from this link works for my UFO wifi led controller.
I edited devices.js file for simple on/off () and status request:
useCheckSum: true
on: [0x71, 0x23],
off: [0x71, 0x24],
statusRequest [0x81, 0x8A, 0x8B],
but i dont have skills for write a complete support for this type of device.

I have the same controller as vladitep. I can't find any type entry in the configuration. Only the one and almost equal entry HF-LPB100-ZJ002 but can't change it to LD382.
But i bought my controller at amazon and they describe it as LD382

Maybe it is LD382, but wifilight support only LD382A
You can modify file devices.js (opt/iobroker/node_modules/iobroker.wifilight) find section export.knownDeviceNames
and add line
'HF-LPB100-ZJ002': {type: 'LD382A' },
Now when wifilight sees HF-LPB100-ZJ002 it will use codes from LD382A.
But for me it doesnt work.
by the way, although official MiLight app works with my controller, but when i associated it with MiLight codes in devices.js it doesnt work

Thanks VLADITEP for the solution. It works for me! You are my Hero ;)
soef could you please add my controller to your Adapter?
Thanks

@simpixo: i will add the device. Is it a LD382A or LD382?
@vladitep: if the above sequences for on/off and statusRequest are working, i will add a new device called e.g. UFO.
btw: you don't have to use the add device button. You can manually add a device by pressing the small + button below. And then you can select the wanted type.

The controller description say it is a LD382! But at the moment it works as LD382A 😉
I must change it or your Adapter update change it 😜😂
Thanks

@soef: yes, for  HF-LPB100-ZJ002 codes for on, off and request is works, with checksum enabled. I can scan milight app for other codes that app sends to controller, like programs, color changing and so, but my skills don't allow me to add it to wifiligh adapter

I have to correct me. My controller works as LD382A but not all function works, i can't power on and off the LED Stripe and the programs don't work :(

I have added HF-LPB100-ZJ002 as LD382 device with the same configuration as LD382A. I think the only different is that LD382 has no white channel?? This is only for auto discover.
I've added a UFO device with the sequences from the website above. The response length is set to 17, but i do  not know if it is korrekt. There is a debg output if you switch the logLevel of the adapter to debug.

@vladitep: I think you have to go to the configuration and set the type manually to UFO.

Thats not correct my controller have an output for a white channel :-) But it works now correctly with your Adapter. Did you change something else in your code?
Very cool, thanks!!!

But now i get the following error when i change something manually in the objects. Whats wrong?
TypeError:	2016-12-23 08:40:27.713	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
TypeError:	2016-12-23 08:40:27.713	error	at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
TypeError:	2016-12-23 08:40:27.713	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:228:12)
TypeError:	2016-12-23 08:40:27.713	error	at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:270:10)
TypeError:	2016-12-23 08:40:27.713	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
TypeError:	2016-12-23 08:40:27.713	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
TypeError:	2016-12-23 08:40:27.713	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2226:37)
TypeError:	2016-12-23 08:40:27.713	error	at Object.options.stateChange (/opt/iobroker/node_modules/iobroker.wifilight/node_modules/soef/soef.js:1057:21)
TypeError:	2016-12-23 08:40:27.713	error	at Object.onStateChange (/opt/iobroker/node_modules/iobroker.wifilight/wifilight.js:139:12)
TypeError:	2016-12-23 08:40:27.713	error	at WifiLight.onStateChange (/opt/iobroker/node_modules/iobroker.wifilight/wifilight.js:211:22)
TypeError:	2016-12-23 08:40:27.713	error	this.dev.updateVal is not a function

@simpixo: only on, off and status request added for our type of controller. Other objects not exist.
My controller have white channel too.

@simpixo: there was an old function called, when setting the transition time state. this is fixed now.
ok, added the rgbw command for Setting the white Level.

обновил до 0.0.36 с MagicHome перестал работать
host.localhost	2016-12-27 22:37:39.655	error	instance system.adapter.wifilight.0 terminated with code 0 (OK) wifilight.0	2016-12-27 22:37:39.632	info	terminating wifilight.0	2016-12-27 22:37:39.589	error	at process._tickCallback (node.js:375:17) wifilight.0	2016-12-27 22:37:39.589	error	at nextTickCallbackWith3Args (node.js:469:9) wifilight.0	2016-12-27 22:37:39.589	error	at dgram.js:214:18 wifilight.0	2016-12-27 22:37:39.589	error	at exports._exceptionWithHostPort (util.js:930:20) wifilight.0	2016-12-27 22:37:39.589	error	at Object.exports._errnoException (util.js:907:11) wifilight.0	2016-12-27 22:37:39.589	error	Error: bind EADDRINUSE <IP_ADDRESS>:48899 wifilight.0	2016-12-27 22:37:39.576	error	uncaught exception: bind EADDRINUSE <IP_ADDRESS>:48899

Hello,
as the error message shows: EADDRINUSE <IP_ADDRESS>:48899, on this machine port 48899 is already in use.


Follow the on-call runbook to backport fixes to all supported Golang versions.
THIS IS A DUPLICATE TO FOR TESTING

This was a test.


2021 Roadmap

This is the new Cloud Native Buildpacks roadmap for 2021.

can we move the old roadmap into a roadmaps folder with 2020.md?

I'm not sure if you intend the list to be descending priority order. As highly voted as TestAPI was voted on in the github discussion, I'd consider it a lower priority compared to getting our stuff in order like "Spec Refactor" should be #1 or #2 in that list. We should also have "Better Documentation" as an item on here.


For a314fs, make it possible to remove a volume from a device (i.e. PI0:) and later insert volume again.

As the title says. Moreover, it could be nice to support multiple devices (PI0:, PI1:, ...) and be able to decide, through a config file on the RPi, what volume should go in each. The contents of a volume should be mapped to some directory on the RPi.

This is easy enough via soft links.  For example. in your pi0: directory on the Pi, just create a softlink to the /dev/usb... device and then if you put in or take out a usb flash drive, the pi will handle the mounting and unmounting for you.  So suddenly you have usb access for the workbench.  I do this with Amibian.  Basically look into softlinks and manage then with a quick menu script.

Hi @alexchaney . That sounds like a useful suggestion.
What I had in mind is for a314fs to work like a floppy disk drive, so that if you "eject" the volume then the disk icon will be removed from the Workbench, and when you insert a volume then the icon will come back. So it's a different use case I guess.


Google Maps JavaScript API loaded multiple

Hello,
Do you have an option to prevent load the Google Maps JavaScript API twice? I have another module that is require the GMaps API. Since your module doesn't separate the load of GMaps API, it's throwing the errors like "You have included the Google Maps JavaScript API multiple times on this page. This may cause unexpected errors.".
Maybe you can give the exception to load the GMaps API when it's not yet loaded.
Thanks

Hi, yes, i can add an attribute to prevent the autoload. I think I can do it this weekend.

Check the 2.0.4 version and let me know. You have to pass autoLoadLibrary: false and run the init method manually -after- the GMaps library is available.

@abydahana closing this. Feel free to reopen another issue if the problem persists.


cmake: 3.17.3 -> 3.18.0

Motivation for this change
New CMake version 3.18 available
https://cmake.org/cmake/help/v3.18/release/3.18.html
Things done
Patches had some conflicts, but they seemed to be trivial to resolve. Did that via git apply and merge on the cmake git itself - let me know if there's a more nixy way to do that.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions (Arch Linux)

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Yeah, git apply and git rebase on the project source tree is what I use myself. Not aware of any better way unfortunately.


Manga Demon Chapters Not Loading. Download HTTP Error 522

Source information
Manga Demon 1.4.10
Source language
English
Steps to reproduce

Go to Manga Demon
Pick a manga or manhwa
Click on chapter
Try downloading chapter

Expected behavior
The chapter pages should load and appear, and you can download the chapter too.
Actual behavior
What happens instead is that the pages don't load and you can't download the chapters, saying there is an "HTTP Error 522".
Mihon/Tachiyomi version
0.15.3
Android version
Android 12
Other details
This happens to every manga or manhwa. I have cleared my cache, web data, and cookies. I have even force stop the app and restart it.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

I don't have this issue i try all step but i can read and download chapters
Manga Demon 1.4.10
Tachiyomi version
0.15.3
Android version
Android 9

5xx errors are server side and nothing we can do about them


[FIX] Clarify that initialize_serverless_chrome_driver is not provided with mintapi

I was confused by the wording on the README that there was a preconfigured method that initialize_serverless_chrome_driver was provided but is actually a stub method as mentioned in #540 . So this PR is to clarify the language a bit to make it a bit more clear that this is not actually provided.

Thanks, great clarification :)


vector memory exhausted (limit reached?)

Hi,
when I read the maf file using
maf_parse = data.table::fread(file = "my.maf")
maf_parse[,.N,Tumor_Sample_Barcode]
I see all the samples listed but when I read the maf using read.maf as below , I am getting the error as below.
maf_parse_read = read.maf(maf = maf_parse)
-Validating
--Removed 5013 duplicated variants
Error: vector memory exhausted (limit reached?)

Try this? https://stackoverflow.com/questions/51295402/r-on-macos-error-vector-memory-exhausted-limit-reached

yes, clearing the large unused files and increasing the R_MAX_VSIZE solved the problem. Now I am able to read the file. Thanks for your help

Glad you could work this out. I am closing this issue. I will answer the rest on your older issue.


add ceresdb benchmark support

Thanks for this awesome tools.
We at CeresDB use this tool to do benchmark.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: jiacai2050:x: mrrtreeYou have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: jiacai2050:x: mrrtreeYou have signed the CLA already but the status is still pending? Let us recheck it.


[MIG-588] Error while attempting to record Conditions as events (RBAC shortcoming?)

Describe the bug
I'm seeing events containing conditions fail to emit from mig-controller. Not sure what is causing it, suspect we could be missing some RBAC rules that allow for recording of events. Or maybe we are just trying to emit an event with bad content.
@shubham-pampattiwar looks like you added this originallyin PR742, would you be able to take a look?
{"level":"error","ts":1615320626.5336251,"logger":"migration|fgpfc","msg":"Error recording conditions as events.","migration":"openshift-migration/61361c70-8113-11eb-9d40-f1e51499a0eb","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error
	/Users/dwhatley/code/go/pkg/mod/github.com/go-logr/zapr@v0.3.0/zapr.go:132
github.com/konveyor/mig-controller/pkg/controller/migmigration.(*ReconcileMigMigration).Reconcile.func1
	/Users/dwhatley/code/go/src/github.com/konveyor/mig-controller/pkg/controller/migmigration/migmigration_controller.go:178
github.com/konveyor/mig-controller/pkg/controller/migmigration.(*ReconcileMigMigration).Reconcile
	/Users/dwhatley/code/go/src/github.com/konveyor/mig-controller/pkg/controller/migmigration/migmigration_controller.go:259
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/Users/dwhatley/code/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.1.11/pkg/internal/controller/controller.go:215
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/Users/dwhatley/code/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.1.11/pkg/internal/controller/controller.go:158
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1
	/Users/dwhatley/code/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20181127025237-2b1284ed4c93/pkg/util/wait/wait.go:133
k8s.io/apimachinery/pkg/util/wait.JitterUntil
	/Users/dwhatley/code/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20181127025237-2b1284ed4c93/pkg/util/wait/wait.go:134
k8s.io/apimachinery/pkg/util/wait.Until
	/Users/dwhatley/code/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20181127025237-2b1284ed4c93/pkg/util/wait/wait.go:88"}

To Reproduce
Steps to reproduce the behavior:

In migmigration_controller.go, modify the event recorder as such so that errors are logged

	// Report reconcile error.
	defer func() {
		log.Info("CR", "conditions", migration.Status.Conditions)
		migration.Status.Conditions.RecordEvents(migration, r.EventRecorder)
		if err == nil || errors.IsConflict(errorutil.Unwrap(err)) {
			log.V(2).Error(err, "Error recording conditions as events.")
			return
		}
		migration.Status.SetReconcileFailed(err)
		err := r.Update(context.TODO(), migration)
		if err != nil {
			log.V(2).Error(err, "Error updating resource on reconcile exit.")
			log.Trace(err)
			return
		}
	}()

Run controller
See error written on every reconcile.

Closing as we haven't seen this recently and it could be environmental. Please reopen if it continues to surface.


Host Numeric Values Sometimes Appear in Enso

Summary
Currently it is possible to have a numeric value that is not part of the Enso Number state machine flowing through the code. This is simply found in the test project as follows:
sample_file = Enso_Project.data / "sample.txt"
bytes = sample_file.read_bytes
first = bytes.take_start 1
first . should_equal 67

Given that the value of the first byte is (2's complement) 67, you'd expect this to work. Instead, it tells you that "67 did not equal 67".
As far as I can tell, this comes down to the fact that we're not converting the byte value 67 to the equivalent long value before we dispatch methods on it. Given we perform type-based dispatch on things, the only methods we know to dispatch on Byte are the methods defined on Any. To this end, we hit the generic == implementation that also doesn't know how to handle this, and hence we end up in its False case.
Value
Interop will work more seamlessly.
Specification

[ ] Work out what the best fix for this is.
[ ] The fix should have as little performance impact as possible.

Acceptance Criteria & Test Cases

[ ] The above test case succeeds rather than fails.
[ ] The performance regression is minimal, if any.

Potential solutions are (off the top of my head):

Perform conversion during method dispatch (expensive, unlikely to be good for performance).
Add default dispatch rules for the remaining java numeric types (byte, short, int, float -- DefaultFooExports), and add additional rules to the various numeric methods to handle working with these. This is a significant amount of added boilerplate, but likely to be the much more performant.

There are probably additional solutions that I've not yet thought of.

It's very odd that this isn't occurring, however. In HostMethodCallNode::resolveHostArrayRead we use the hostValueToEnsoNode to perform this conversion, which should catch it. More digging is needed.


Refactor forc init + add forc new

Description

This PR changes forc init to forc new, and updates forc init functionality to be more similar to cargo init

Testing steps

[ ] Try pulling down the PR and creating a forc init project with combinations of the different flags

Read the Docs:

Sway Book: https://fuellabs.github.io/sway/latest
Rust SDK Book: https://fuellabs.github.io/fuels-rs/latest
TypeScript SDK: https://github.com/FuelLabs/fuels-ts

Join the Community:

Follow us @SwayLang: https://twitter.com/SwayLang
Ask questions in dev-chat on Discord: https://discord.com/invite/xfpK4Pe

Report Bugs:

Sway Issues: https://github.com/FuelLabs/sway/issues/new add

Converting to draft both because will a few comments to address, and so as not to merge it during the hackathon by accident since it's a breaking change.


⚠ Bofrost.de has degraded performance

In 5ef5594, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 796 ms

Resolved: Bofrost.de performance has improved in 7d077b4.


Namespace compliance - Tests can not be run on unix/case sensitive system

Renamed directories and file names in some test classes to comply with PSR-4 and case sensitive systems
Removed Suite/all and index in the test directory which refer to an old unused simpletest package not present in the dependencies
Added php-cs package in dev and fixed style for global harmony in files and IDE auto-completion help
Added php 5.6 and 7.0 test environments to play the tests and make sure there is no break between major environments
Added a php 8 test environment and fixed the error when calling a parent method on a class that has no inheritance

@SoloJr @mangomaxoasis , someone there ? :smile:

Hello @MockingMagician ,
Thank you for this suggestion and PR. Our team will need some time to review and validate the changes. I will keep you updated.
Have a nice day,

@fredericdelordm thanks for reply, little bit  :fearful: about team response delay when I looked at other open PR or issue
For information:

No base code change in that PR
Only PSR4 / PSR12 compliance that help our IDE and make sure we can run tests on case-sensitive system, not the case right now
Added docker environements to run tests locally in all PHP Major versions

Thanks for any update @fredericdelordm

Hi @MockingMagician
Tremendous work done there!
Once @fredericdelordm gives his approval, I'd be more than happy to accept the pull request :)

Hi @MockingMagician
Tremendous work done there!
Once @fredericdelordm gives his approval, I'd be more than happy to accept the pull request :)

@Solojr, @fredericdelordm, Happy to help ! @Mangopay :love_you_gesture: so helpful in our business


Create calendar react-play

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
A simple calendar app to add, update, and delete events.
Dependecies:

date-fns
lodash

Fixes # (issue) https://github.com/atapas/react-play/issues/199
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Thanks for the review @atapas . I'll work on the suggestions and issues.

Review ready

@vincentBCP Would you take up validation for cases like this? Like start date is ahead of the end date?

@vincentBCP Would you take up validation for cases like this? Like start date is ahead of the end date?

Sure. I'll add this validation.

@vincentBCP Would you take up validation for cases like this? Like start date is ahead of the end date?

Sure. I'll add this validation.

@atapas
I already pushed the changes for time validation, endTime should not be before the startTime now.
I just want to clarify, because I also got confused. The screenshot is correct the event is May 01 from 12:22 PM (noon) to 11:22 PM (evening). Tho, time range should be within the 24hr of the selected (date) only, because there is no feature implemented to create event the spans multiple days.

Thanks for the review @koustov . I'll be working on request changes.

Review ready

@vincentBCP Please resolve the merge conflicts

Resolved merge conflicts.

@all-contributors please add @vincentBCP  for Code


ERROR  Invariant Violation: requireNativeComponent: "RNUnityView" was not found in the UIManager.

Im trying to test out the Unity integration to React with just a simple unity project . Im using Expo with React and just created a single simple page following tutorial. I tried this s with one tutorial and met the same issue and then for a change I followed another tutorial . Still get the same error
And I'm Building this for Android , And i cant find any working solution, can someone help me .
`ERROR  Invariant Violation: requireNativeComponent: "RNUnityView" was not found in the UIManager.
This error is located at:
in RNUnityView (created by UnityView)
in UnityView (created by UnityAndRn)
in RCTView (created by View)
in View (created by UnityAndRn)
in UnityAndRn (created by HomeScreen)
in RCTView (created by View)
in View (created by HomeScreen)
in HomeScreen
in Unknown (created by Route(index))
in Suspense (created by Route(index))
in Route (created by Route(index))
in Route(index) (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by BottomTabView)
in RCTView (created by View)
in View (created by Screen)
in RCTView (created by View)
in View (created by Background)
in Background (created by Screen)
in Screen (created by BottomTabView)
in RNSScreen (created by Animated(Anonymous))
in Animated(Anonymous) (created by InnerScreen)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by InnerScreen)
in InnerScreen (created by Screen)
in Screen (created by MaybeScreen)
in MaybeScreen (created by BottomTabView)
in RNSScreenContainer (created by ScreenContainer)
in ScreenContainer (created by MaybeScreenContainer)
in MaybeScreenContainer (created by BottomTabView)
in RCTView (created by View)
in View (created by SafeAreaProviderCompat)
in SafeAreaProviderCompat (created by BottomTabView)
in BottomTabView (created by BottomTabNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by BottomTabNavigator)
in BottomTabNavigator
in Unknown (created by TabLayout)
in TabLayout
in Unknown (created by Route((tabs)))
in Suspense (created by Route((tabs)))
in Route (created by Route((tabs)))
in Route((tabs)) (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by SceneView)
in RCTView (created by View)
in View (created by DebugContainer)
in DebugContainer (created by MaybeNestedStack)
in MaybeNestedStack (created by SceneView)
in RCTView (created by View)
in View (created by SceneView)
in RNSScreen (created by Animated(Anonymous))
in Animated(Anonymous) (created by InnerScreen)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by InnerScreen)
in InnerScreen (created by Screen)
in Screen (created by SceneView)
in SceneView (created by NativeStackViewInner)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by ScreenStack)
in RNSScreenStack (created by ScreenStack)
in ScreenStack (created by NativeStackViewInner)
in NativeStackViewInner (created by NativeStackView)
in RCTView (created by View)
in View (created by SafeAreaProviderCompat)
in SafeAreaProviderCompat (created by NativeStackView)
in NativeStackView (created by NativeStackNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by NativeStackNavigator)
in NativeStackNavigator
in Unknown (created by RootLayout)
in ThemeProvider (created by RootLayout)
in RootLayout
in Unknown (created by Route())
in Suspense (created by Route())
in Route (created by Route())
in Route() (created by ContextNavigator)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by wrapper)
in wrapper (created by ContextNavigator)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by ContextNavigator)
in ContextNavigator (created by ExpoRoot)
in ExpoRoot (created by App)
in App (created by ErrorOverlay)
in ErrorToastContainer (created by ErrorOverlay)
in ErrorOverlay (created by withDevTools(ErrorOverlay))
in withDevTools(ErrorOverlay)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent), js engine: hermes`

I have exactly the same problem.

The only way I got this to work is to do an Expo prebuild, then follow the steps outlined in the documentation for Android. Seems like the package is not ready for Expo yet.

try npx pod-install on iOS.


Theme: Add pop-up authentication screen to let user reauthenticate

Let user authenticate without actually going back to login screen.

Anytime user's session is expired, instead of redirecting to login page, the following screen will pop-up, proving user to authenticate, without actually leaving current work-space.

Added.
Please give it a try guys. Use right click on logout button and then click anywhere in the current page.. see what happens.


Some CI cleanups

Rustup 1.24.3 is now released officially: https://blog.rust-lang.org/2021/06/08/Rustup-1.24.3.html
And do rustup self-update as a separate step to avoid "device or resource busy" error.

@bors r+

:pushpin: Commit 79fc7016cd89a3f3268375487432b4a5d587e136 has been approved by JohnTitor

:hourglass: Testing commit 79fc7016cd89a3f3268375487432b4a5d587e136 with merge 6a9bb9790a569cf0fb65394f55950546d646dfc9...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: JohnTitor
Pushing 6a9bb9790a569cf0fb65394f55950546d646dfc9 to master...


Add install script

I added a simple setup.py to simplify installation since this repository will be needed to run the LVSR experiments.
CC @rizar

This looks really cool, I will check it Monday!


active states and ui style tweaks for navi and footer

@davehorton What do you think of these changes stylistically?

Looks good!

Looks good!

Cool. I think this does a couple things for us. First it helps the pink stand out more for buttons and icons—gives them more visual importance. It also lets us keep the banner visible while the mobile nav is open which I think feels better.


New administrator tutorial

Committing new administrator tutorial and images (#1846)

It's out here:
http://airbnb.io/superset/tutorial.html
I just realized you're using an older version of Superset (actually Caravel) and some of the flows have changed a bit (saving a slice for instance). You should upgrade!
The user flows will keep on changing a bit more until they settle. This tutorial is still much better and up-to-date than the one we had before.

@mistercrunch oh cool, I'll definitely upgrade and try to keep the tutorial up-to-date moving forward.
Hoping to start hacking on a feature and get closer to the dev side, so should help me stay aligned with more of the UI changes y'all are making.
Thanks again for the merge and for the help.

Pretty cool. Any chance you would also work on the introduction/tutorial on advanced topics like Druid or celery or SQL Lab usage in superset. I kind of get lost in reading druid documentation and have no idea how it works in superset. Appreciate it.

@QiXuanWang yes, I'd love to develop out these docs. I'll start with Druid - I've been meaning to play around with the Druid / Superset setup recently - and tackle SQL Lab after. I'm unfamiliar with the celery configuration but it sounds like a fun learning opportunity, too.

Will be waiting for this :)
BTW, the three examples for adding new slice/dashboard is outdated too. The code structure seems got some major change so some of them are no longer within same file at all. Maybe it's too much for you but just write it here so someone else that owned those checkins could have a chance to rewrite something.
A non-related topic: I was thinking about adding one layer between get_data and actually passing to viewer. But realized that these data should be stored in SQL too. Was still struggling. Not sure if superset could do this though.


Vue dropdown example not working?

I rewrote 1:1 the usage example to create a dropdown and I get an error Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.
Example:

<template>

    Click me to open!

Lorum ipsum...

</template>

Code:
https://codesandbox.io/s/broken-tree-e5o9ep?file=/src/App.vue

Looks to me like that codepen isn’t respect the

Yeah, looks like code sandbox’s default Vue 3 sandbox doesn't support


Add CONTRIBUTING.md

I know that the Readme says that this is coming, but wanted to make this an explicit issue as I don't know where to really start here in terms of triaging/picking up issues. Would be super helpful to add this, and if you me to go ahead and make a PR I can do so.

👍 To have a base contributing.md
Another couple of bits that I will add issues for are a coc and a base PR template


(PUP-8736) Symlink puppet device certs to /etc

Prior to this commit, SSL certificates, along with the rest of the Puppet device configuration were stored under cache.
When the proxy Puppet agent for a device is the master, and the user executes a backup and restore (manually, or as automated in OpsWorks), the certificate and keys in the ssldir in each devicedir are lost, requiring certificate regeneration for those devices.
This commit symlinks the ssl directory from /opt/puppetlabs/puppet/cache/devices/DEVICE/ssl to /etc/puppetlabs/puppet/devices/ssl/DEVICE, ensuring that SSL certificates are not lost when cache is deleted.

jenkins please test this on debian8-64a,windows2019-64a

CLA signed by all contributors.

This results in an inverted path:
/etc/puppetlabs/puppet/devices/ssl/device.example.com

As opposed to:
/etc/puppetlabs/puppet/devices/bigip.example.com/ssl

Which mirrors:
/opt/puppetlabs/puppet/cache/devices/bigip.example.com

The following would maintain the same hierarchy:
Puppet[:ssldir] = ::File.join(Puppet[:deviceconfdir], device.name, 'ssl')
Puppet::FileSystem.mkpath(Puppet[:ssldir]) unless Puppet::FileSystem.dir_exist?(Puppet[:ssldir])

That would make devicessldir unnecessary in defaults.rb.

Hi @tkishel,
I inverted the paths, now the structure is as follows (target is the name of the device):
[root@nekf2sdw1q7eka5 ~]# ls -l /opt/puppetlabs/puppet/cache/devices/target/
total 0
drwxr-x--- 2 root   root     6 Jul 22 08:42 clientbucket
drwxr-x--- 3 root   root    21 Jul 22 08:42 client_data
drwxr-x--- 2 root   root     6 Jul 22 08:42 client_yaml
drwxr-x--- 2 puppet puppet   6 Jul 22 08:42 devices
drwxr-xr-x 2 root   root     6 Jul 22 08:42 facts.d
drwxr-xr-x 6 root   root    95 Jul 22 08:42 lib
drwxr-xr-x 2 root   root     6 Jul 22 08:42 locales
drwxr-x--- 2 puppet puppet   6 Jul 22 08:42 preview
lrwxrwxrwx 1 root   root    41 Jul 22 08:42 ssl -> /etc/puppetlabs/puppet/devices/target/ssl
drwxr-xr-t 3 root   root   136 Jul 22 08:42 state

jenkins please test this on debian8-64a,windows2019-64a

Tested this on Linux and Windows by removing cache/devices/<device> after requesting certificates. The cache directory was successfully regenerated with <device>/ssl being symlinked to the persistent deviceconfdir.

Thanks so much!


LIVERY REQUEST: Philippine Airlines A350-900

Since GeoFS Debuts It's A350XWB
Philippine Airlines (PAL) Just Delivered It's First A350-900 In 2018 Along With A321neo
I Made This Livery Originated By @Egan-31
P.S I Will Also Make An The Love Bus Livery Soon!

Hey @kolos26 Please Approved The New Livery Version Of PAL A350-900


Spacing before subequations

Summary
There is a bug in the subequations environment that causes a too large spacing if the line before fills the entire paragraph.
This can be fixed by adding
\usepackage{etoolbox}
\preto\subequations{\ifhmode\unskip\fi}

to the preamble.
Maybe you want to add this to kaobook.
MWE
\documentclass{kaobook}

% \usepackage{etoolbox}
% \preto\subequations{\ifhmode\unskip\fi}

\begin{document}

A line that does not fill the paragraph has normal spacing
\begin{subequations}
	\begin{alignat}{1}
		a \\
		b
	\end{alignat}
\end{subequations}
A line that does fill the paragraph has too much spacing before the eq.
\begin{subequations}
	\begin{alignat}{1}
		a \\
		b
	\end{alignat}
\end{subequations}
A line after the equation.

\end{document}

Done, thanks!

@fmarotta I get an error on my end with your fix, it seems to be because you need to put the fix after importing amsmath rather than before. Can you confirm the issue comes from your side?

Sorry, my bad. I've merged #221, which should fix the problem.


Allow usage of depth texture when contact shadows are disabled

Fixes #25535.
Binds the depth texture if DEPTH_TEXTURE is used in the shader, even if contact shadows are disabled.

Thanks!


?= violates the type safety of await

The await operator was designed to be type safe. That is, the await operator can operate on values of any type. When given a value that is not asynchronous, it returns its operand unchanged. For example, given the following:
async function get4Async() { return 4; }
function get4Promise() { return Promise.resolve(4); }
function get4Sync() { return 4; }

The following variables will all have the value of 4:
const n1 = await get4Async();
const n2 = await get4Promise();
const n3 = await (get4Promise());
const n4 = await get4Sync();
const n5 = await (get4Sync());
const n6 = await (Promise.resolve(4));
const n7 = await 4;

However, this does not work with the ?= polyfill:
const n1 ?= await get4Async();          // good
const n2 ?= await get4Promise();        // TypeError! get4Promise[Symbol.result] is not a function!
const n3 ?= await (get4Promise());      // good
const n4 ?= await get4Sync();           // TypeError! get4Sync[Symbol.result] is not a function!
const n5 ?= await (get4Sync());         // TypeError! (get4Sync())[Symbol.result] is not a function!
const n6 ?= await (Promise.resolve(4)); // good
const n7 ?= await 4;                    // TypeError! 4[Symbol.result] is not a function!

Even though all of these work with regular assignment, four of them throw a TypeError when used with "safe" assignment. Note of particular concern that the extra parentheses in n3, which are redundant with normal assignment, are now required with safe assignment!

We will not use the ?= syntax anymore.
https://github.com/arthurfiorette/proposal-safe-assignment-operator/issues/4
I just need more spare time to be able to rewrite it :)

Also, why this example would throw TypeError?
const n2 ?= await get4Promise();        // TypeError! get4Promise[Symbol.result] is not a function!

get4Promise is a function and thus would have Symbol.result in its prototype.

@arthurfiorette Because the proposal said specifically that async functions would define Symbol.result. It did not say that all functions would define Symbol.result. Since get4Promise was not defined as an async function, it would therefore not have Symbol.result.


feat: added Helm powerlint and docs gen scripts

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