text:
[cluster-agent] apiextensions.k8s.io version should be update for CustomResourceDefinition

Hi,
Message from a 1.20 cluster :
Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
According to kubernetes releases, it seems like a good time to update this reference.

did you face any issues after updating to v1 version...

repo: CiscoDevNet/appdynamics-charts


text:
Patch upgrade feature

Pull Request summary:
Add Patch upgrade api support for new feature
Description of changes:
Create testing interface to trigger patch upgrade job. Sample usage below:
// Create session and chose vmanage device
session = create_manager_session(...)
device = DevicesAPI(session).get().filter(personality = Personality.VMANAGE)[0]
// The patch image with the specified version needs to be uploaded beforehand.
version = "20.15.1-023"
// Patch device. Requires passing the vmanage version vmanage will be patched to.
PatchAction(session, device).execute(version)
Checklist:

[x] Make sure to run pre-commit before committing changes
[x] Make sure all checks have passed
[x] PR description is clear and comprehensive
[x] Mentioned the issue that this PR solves (if applicable)
[x] Make sure you test the changes

Let's start with this https://github.com/CiscoDevNet/catalystwan/issues/495 so Task can be free of restart detection logic and can be reused in all APIs.

REPOSITORY MOVED TO NEW ORIGIN !
https://github.com/cisco-open/cisco-catalyst-wan-sdk

REPOSITORY MOVED TO NEW ORIGIN !
https://github.com/cisco-open/cisco-catalyst-wan-sdk

source: gharchive/pull-request

authors: AFaid JimOverholt sbasan

repo: CiscoDevNet/catalystwan

license_type: permissive

license_source: github-api


text:
An option to enhance the behavior of the Can Cross Lanes road asset flag

I would like to see an optional setting which would alter the behavior of the Can Cross Lanes road asset flag as follows:

Any non-vehicle lane that has vehicle lanes on both sides of it is considered a median.
When the Can Cross Lanes flag is cleared, in addition to the current behavior, vehicles cannot cross any non-vehicle lane that has been designated as a median, unless such a crossing has been explicitly authorized using the lane connector.

This is different from the standard behavior, in which vehicles simply cannot cross over the oncoming lanes to reach their destination, without going to an intersection.
This would allow the creation of roads with multiple medians, like Queens Blvd in NYC. Ramps connecting the express and local roadways could be configured using the lane connector, and rendered using the Intersection Marking Tool.
Screenshots?

Notes or questions?
Simply using the lane connector to restrict vehicles to the proper roadway wouldn't be any good, because emergency vehicles ignore it.
A possible alternative approach is to add a flag to the lane connector imposing its rule on emergency vehicles on a node-by-node basis. To really be usable, there would also need to be a shortcut similar to "Stay in lane" to easily set up lane connections that don't cross non-vehicle lanes.
Tagging #89 , #192 , #503 , #504 , #558 , #506 , #64 , #646

I'm willing to actually do this work. I know what I'm doing, but I would need guidance in how CSL modding works and where the right pieces are to make this happen.

Any non-vehicle lane that has vehicle lanes on both sides of it is considered a median.

Cool idea.
I also have a mod that can detect if there is median based on mesh. But I think your idea is good enough.

Interesting. Does this mod achieve what I'm looking for, and is it compatible with TM:PE?
I think doing it based on lane configuration would have advantages. It's nice not to be dependent on the shape of the road surface (assuming that's what you mean).

Tagging #89 , #192 , #503 , #504 , #558 , #506 , #64

If this gets implemented (I hope so, love the idea - see tagged issues above) note that some roads have very strange lane configs, for example an empty lane that spans entire width of road, or empty lanes that just seem randomly placed... Would possibly need some way for user to interact with the lanes of a segment to indicate certain lanes should be ingored, etc. Width of lane would also need investigating, for example I suspect the UK roads with cat's eyes use prop lanes between each vehicle lane to place the props along the road; those should still be crossable.

@aubergine10
for those weird roads we can use my median detection code based on mesh outline.

I don't have much to add to what @aubergine10 already said. Many tried, everyone failed. It's way more complicated than you might think.
Good luck 🤞🙃

#243 was a past attempt, likely worth looking at in any future attempt

Regarding Qeens Blvd image in OP, how do we keep traffic out of the outer access lanes unless it's planning to park/deliver there? Otherwise there will be loads of traffic using those lanes as a through-route just like all the other lanes.
Maybe an "redsidents/deliveries only" vehicle restriction, or make the lanes appear congested so pathfinder generally tries to route around them?

@kianzarrin does this new mod cause issues with your median detection? curb height adjuster

I thought of that too

Regarding Qeens Blvd image in OP, how do we keep traffic out of the outer access lanes unless it's planning to park/deliver there? Otherwise there will be loads of traffic using those lanes as a through-route just like all the other lanes.

Does speed limit help with this? The speed limit will be lower on the local roadways than on the express roadways. It could be set quite low (within reason) if that would help.

Maybe an "redsidents/deliveries only" vehicle restriction

This won't work because the local roadway doesn't really work that way. For example, the express roadway may not allow a  right turn; rather, you would have to take a ramp to the local roadway and turn right from there. Also, some minor cross streets only connect to the local roadways.

or make the lanes appear congested so pathfinder generally tries to route around them?

Sounds kludgy.  ;-)

Slow speed limit would certainly help, and with the new speed limits UI that's currently being tested it will be vastly easier for users to set/change default speed limits of lanes (eg. so speed limit approach would work well for existing assets).

Thanks for the feedback, everyone!
I want to avoid scope creep. It would be cool if this could solve all existing median-related problems, but I already suspected that it was just as likely to create problems as to solve them. That's why I proposed it as an optional setting.
This discussion, and #243, have shown me that there are too many things that could go wrong. This feature won't be much good if no one can enable it because of the problems it causes. My gut is telling me not to do it this way.
That leaves us with a couple of alternative options that I can think of:
Option 1: Just use the Lane Connector
In this case, the lane connector would need a flag on the node saying that it applies to all vehicles (including emergency vehicles and anything else otherwise exempt). And for usability, a shortcut to create sensible lane connections that don't cross non-vehicle lanes.
Option 2: Devise a way to configure the lanes on the road asset itself
This is by far the better solution, but I already know enough to know that it's not an easy one. The mods and assets I've seen suggest to me that we can't add our own properties to a road asset. I hope I'm wrong about this, because that would be the logical and straightforward way to do it.
Assuming that is not an option, I suggest that TM:PE add two dummy props at runtime: A Lane Movement Control prop, and a Delayed Lane Usage prop. Ideally these would get their own category in the Asset Importer dialog, but they could just be in the Roads category if necessary. They would render nothing, but TM:PE could detect them and use their settings as follows:
Lane Movement Control

Flags Forbidden: Left - Prevents leftward movement out of this lane, except for a left turn onto another road, or a U-turn where these would normally be allowed. Prevents leftward lane changes. Prevents access to buildings on the left side of the road from this lane or from any lane to its right.
Flags Forbidden: Right - Same as above, but reversing left/right.
Both flags can be applied to the same lane.
The lane connector always takes precedence over the rules established by this prop.

Special attention to how this interacts with left-hand driving may be needed.
Delayed Lane Usage

Probability - Indicates how likely vehicles are to avoid this lane. 100 means wait to use this lane until the last opportunity. The lower the probability of lane avoidance, the more often vehicles will use the lane to avoid traffic, with 0 basically nullifying the prop's effect.

This prop would also be great for center turning lanes.

One more thought: It would probably make sense to automatically apply the Lane Movement Control prop's effect at runtime to the inner lanes of any road asset where Can Cross Lanes is unchecked. That way, the same logic can be used on all roads.

Adding props carries its own problems - eg. what if road is moved using Move It, or bulldozed, etc... props need to respond accordingly.
To avoid changes to pathfinder, the goal would be find some way to semi-automate (user would still need to choose where traffic can join/exit) lane connectors and speed limits in relation to medians and the distinction between local/regional traffic lanes.
I think Continues Junction Median and Adaptive Roads mods already cover some of the groundwork for what's required; namely being able to have custom road flags and toggle medians on/off.

The idea for the props is that they are dummies, not rendering anything, which the person creating the road asset would add to the appropriate lanes to flag them as requiring special treatment by the pathfinder. They'd just be attached to the road asset itself, ready to be detected and acted upon by TM:PE, so moving and bulldozing wouldn't be an issue.
When placing the roads in your city, you wouldn't even be aware of them. You would just know that the medians are honored and the local roads used appropriately, and you would hopefully learn from the road asset descriptions that you should set up ramps using the Intersection Marking Tool, TM:PE's lane connector, and Node Controller Renewal. If this ever sees the light of day, I'll be creating guides and maybe YouTube videos for road asset creators and city creators.
I'll look more closely at the mods you mentioned, but I thought they were about rendering in response to TM:PE rules.

Rather than props, something like Adaptive Roads custom lane flags would probably be better approach; asset authors can specify flags, then AR mod lets users toggle the flags in-game, but the flags can also be read by mods. Flags can be used to toggle meshes, props, etc. - Kian will be best person to clarify that.
Looking at the road in google maps, it's a nightmare... There's so many junctions/filters to the central lanes that their whole purpose - to bypass local traffic - is utterly defeated. There's a major junction every 2 blocks, and often a filter junction between every major junction lolol.

Would there need to be multiple prefabs, eg. one (two?) with the filter lanes, one without filters? How are things like stop lines - but only on the filter lanes - going to work? Currently stop signs in CSL (and TMPE) affect all lanes in specific direction on the segment.

It's more about separating the thru traffic from the vehicles that are picking up and dropping off or trying to parallel park, the pedestrians, bicyclists, etc., rather than actually eliminating cross streets.
The stop signs (there are stoplights in some cases too), if achievable at all, aren't something I'm looking at doing initially if ever. On the real street, they're a relatively recent addition. You can see the remnants of the old ramp design in the pavement structure.
The ramps, or filters lanes, would be at nodes. The lane connector would govern the vehicle movement, and the Intersection Marking Tool would paint it. Here's a proof of concept I did:

My objective isn't a perfect recreation, though I think that's what the person who put the idea in my head was hoping for. I just like the general concept.

Ok, to clear up one thing because I see one thing confuse a bit:

Can Cross Lanes flag is applied to segment, to prevent cargo vehicles crossing the median when they deliver goods, it has nothing to changing lanes for normal vehicles,
median detection should apply to nodes - that's where vehicles changing lanes (in 99% cases), Can Cross Lanes flag is not available there and some asset configuration may spawn continuous median that should not be crossable (but it is without forced lane connection) and also can be spawned on demand with @kianzarrin's mod, but only for specific roads that has mesh or can be generated (afaik)

I'm going to step back from this and look for other smaller tasks to familiarize myself with modding Cities: Skylines before trying something this extensive.
I still want to come back to it, but I doubt that I would try to implement it as originally described. @aubergine10, since you liked the idea so much, does that mean it's all yours? 🤷♂

See #1223 which gives rough idea (which may or may not be valid) of what might be involved - median detection, creating/associating lanes with medians, ordering lanes by position on road, grouping lanes between medians, etc. In addition to that, UI would need updating, eg. lane connectors/arrows would need to limit to connectable lanes.

@aubergine10

@kianzarrin does this new mod cause issues with your median detection? curb height adjuster

Not that I know of.

@aubergine10 can we use None lane as median at middle nodes? what about vertical offset? what about mesh outline?
@Elesbaan70 said you know of examples that the above strategies will do more harm than good. but he cannot remember.

Someone came up with some examples of roads that had a "none" lane where there was no median intended.
The most common example was roads with cat eyes, but when I suggested checking the vertical offset, someone had an example of that too. I'll have to go find the conversation in GitHub.
Looking back at old discussions, I'm seeing a lot of me not knowing what I'm talking about 😆 and aubergine10 raising the concerns about using the "none" lane for median detection. But I'm not finding where I suggested checking the vertical offset. I could have sworn we talked about that. 🤔

None lanes are quite common - eg. in decorative networks, but also in roads such as those in UK Roads Revived assets - an example of running in to that issue here: https://github.com/CitiesSkylinesMods/TMPE/issues/1346

None lanes are quite common

What about lanes (including pedestrian or bike lanes) that are at a different vertical offset? Do you know of a scenario where this would not indicate a median?

@aubergine10 but is there any None lane in the middle of the road where the cars are supposed to cross?

and that has a vertical offset different than car lanes?

If vertical offset is an indicator of median, I think the lane type won't matter. But in this case there would need to be a limit--a range in which a median is indicated. Otherwise elevated tracks could become an issue in some cases. (I believe most of them have their supporting structure directly underneath so it would function as a median, but the supports could be off to one or both sides.)

@Elesbaan70 what is supports?

The structure that holds up (supports) the elevated track -- pillars, walls, etc.

@aubergine10 but is there any None lane in the middle of the road where the cars are supposed to cross?

Yes, sometimes

EDIT: and that has a vertical offset different than car lanes?

What about lanes (including pedestrian or bike lanes) that are at a different vertical offset? Do you know of a scenario where this would not indicate a median?

Not that I am aware of. But...
As you know, creators use existing road as template. If that road has lanes they don't want, they will get rid of them in various ways - eg. just removing meshes/textures, setting None on properties, etc., sometimes actually deleting the lane, other times just leave it sitting there untextured.
It is possible (but not visible to end users without detailed invetigation) that there are road assets with raised lanes that used to be a median, that the creator just unmeshed/textured etc - from creator and user perspective, the road works. From our perspective we now have something that looks like median that isn't a median. In this situation, is that "possibly median" over actual road vehicle lanes? If there is already traffic lanes driving "under" the "possibly median" then it's not a median from creator/user perspective.
Other random thoughts:

I've only ever seen bike lanes at same height as road (a possible exception although not tested in-game), sometimes with a median either side of bike lanes.

A pedestrian / bike / parking lane between opposing directions of traffic lanes should always be treated like a median IMO. I've seen all those things appear in middle of workshop road networks. Adjacent ped/bike/parking lanes = even more "median-y" than a single one of those lanes.

The complexity comes when we have a "potentially median width" gap between road vehicle lanes with "nothing easily discernable" in that gap. If there's mesh in the gap that's > curb height then we can probalby assume a median. Otherwise we need to look at the width of the gap (eg. it could be painted median).

I don't know what point Curb Height Adjuster (CHA) mod kicks in, but if we want to use veritical offsets as a differentiator between road surface and pavement height we'd likely need to do that work before CHA kicks in, or at least take in to account the user config of CHA.

If a "not clearly defined" median can be detected, is there any way to allow pedestrians to walk on it if we can determine it's walkable surface (gravel, pavement, asphalt)?

I assume all of this is roads only, and will exclude tracks, quays, and all other types of network. For tracks, I'm aware of at least one asset (see 5th screenshot) that potentially has central mesh higher than tracks.

My goodness, I was clueless when I created this issue!
What led to the conversation being reopened was this:

But as someone else pointed out on Discord, it's not really a good example of the median detection problem, because the cars are also crossing opposing traffic. The routing manager ought to be smart enough to prevent this when Can Cross Lanes is disabled, and I'll probably have a look at it myself at some point.
But I will eventually return to the Queens Blvd style roads, and would like to see some kind of solution to the median detection problem.

@aubergine10 but is there any None lane in the middle of the road where the cars are supposed to cross?

Yes, sometimes

Can you please give me example? without example its hard

https://github.com/CitiesSkylinesMods/TMPE/issues/1220#issuecomment-1094122182
@Elesbaan70 one can argue the asset has a bug because it does not uncheck CanCrossLanes.

@aubergine10 but is there any None lane in the middle of the road where the cars are supposed to cross?

Yes, sometimes

Can you please give me example? without example its hard to come up with a solution.

I can't remember which asset it was. Next time I'm in game I'll test all the workshop roads I have - hopefully I still have it subscribed.

But as someone else pointed out on Discord, it's not really a good example of the median detection problem, because the cars are also crossing opposing traffic. The routing manager ought to be smart enough to prevent this when Can Cross Lanes is disabled, and I'll probably have a look at it myself at some point.

As an interim measure, could we determine how many oncoming lanes a vehicle is trying to cross? If more than 1 lane, it should be treated as highly dubious.

one can argue the asset has a bug because it does not uncheck CanCrossLanes.

Correct, but many asset creators have no clue what most of the properties do, especially if they haven't discovered sites like cslmodding.info. It's often case of just fudging a template asset in to something that works for them, then share to workshop. And most road assets never get updated after being published.

one can argue the asset has a bug because it does not uncheck CanCrossLanes.

Except it does

I just realized I'm gonna have to address this in the displaced lanes feature, since the bug is only relevant as a bug in that context.

As an interim measure, could we determine how many oncoming lanes a vehicle is trying to cross?

This probably needs to be moved to the displaced lanes discussion, but I think a lane change across any oncoming lanes is dubious.
For purposes of lane changes (not turns/connections), I'm thinking it should work something like this:

CanCrossLanes==true, emergency vehicles can change lanes across oncoming traffic, others cannot
CanCrossLanes==false, no vehicles can change lanes across oncoming traffic

Correct, but many asset creators have no clue what most of the properties do, especially if they haven't discovered sites like cslmodding.info. It's often case of just fudging a template asset in to something that works for them, then share to workshop. And most road assets never get updated after being published.

I'm all for accounting for badly designed assets when we can, but we have to draw a line somewhere.

Yes, but what does "can cross lanes" mean to someone who does't currently know what it means. While the term makes sense to us, it doesn't necessarily make sense to everyone else. Do most users know what "enable bending nodes" means?

This probably needs to be moved to the displaced lanes discussion, but I think a lane change across any oncoming lanes is dubious.

If it's vehicle cutting across oncoming traffic to change to different origina-direction lane via a non-junction node, then yes, that is weird af and probably should never happen.
If it's making a delivery to building on other side of the road, then it's fairly common in UK and much of Europe.

For purposes of lane changes (not turns/connections), I'm thinking it should work something like this:
* CanCrossLanes==true, emergency vehicles can change lanes across oncoming traffic, others cannot

* CanCrossLanes==false, no vehicles can change lanes across oncoming traffic

I always thought the flag was about "can deliver to building on other side of road" / "can leave building and go directly to other side of road to start journey".

Yes, but what does "can cross lanes" mean to someone who does't currently know what it means. While the term makes sense to us, it doesn't necessarily make sense to everyone else. Do most users know what "enable bending nodes" means?

We're talking about asset creators, not just anyone. Assuming that no one knows how anything works will cripple any future development.

If it's making a delivery to building on other side of the road, then it's fairly common in UK and much of Europe.

Over a median? That's what we're talking about. That's the proper use of the Can Cross Lanes flag.

I always thought the flag was about "can deliver to building on other side of road" / "can leave building and go directly to other side of road to start journey".

Yes, but bear in mind that this was CO's solution to the median problem. Rather than trying to work out the existence of an actual median, they made crossing oncoming traffic the determining factor, and put a flag on the road asset to indicate whether this should be allowed. So displaced lanes are a new use case they had not anticipated, but it still fits.

@Elesbaan70 it seems like when I brought up median detection a few months ago, that idea got shot down.

@aubergine10 @Elesbaan70 All the issues you raised are all interesting and valid points. But none of them are serious enough to abandon this task all together.
Even if we cannot detect all medians, detecting some medians is an improvement that is easily achievable. At least it would make it possible for asset creators to make TMPE friendly roads.
What would be a serious (but even then I still don't think its a blocker) obstacle is a false positive. I have not seen any such example.
I think detecting medians using elevated None lanes is an easy yet effective phase 1 for this issue (you can do 80% of the work in 20% of the time).  Currently no one can create assets that prevents cars from crossing medians. After completing phase 1 at least informed asset creators will have a way to solve this problem. dealing with uninformed/old assets can come in later phases of this operation.
it probably would take me less time to write the code than to discuss it!!!!

I always thought the flag was about "can deliver to building on other side of road" / "can leave building and go directly to other side of road to start journey".

yes that is what it currently does. but it does not make too much sense because for the same reason (ie median) trucks cannot cross lane to access building, they cannot cross lane to do anything else either.

@aubergine10 @Elesbaan70 All the issues you raised are all interesting and valid points. But none of them are serious enough to abandon this task all together.

Who, me? I'm actually in favor of this. I just want to pick it apart and make sure we aren't risking false positives.

I think detecting medians using elevated None lanes is an easy yet effective phase 1 for this issue

I don't even think you have to limit it to None lanes. but the elevation difference needs to fall within a range (even for None) to avoid false positives on lanes that are above the roadway and don't divide it. (see image below)

it probably would take me less time to write the code than to discuss it!!!!

In any case, this isn't really very urgent for me, since I'm gonna have to account for crossing oncoming lanes regardless of the presence of a median. 🤷♂
Lanes above roadway that don't divide the road:

I always thought the flag was about "can deliver to building on other side of road" / "can leave building and go directly to other side of road to start journey".

This and only this. There no other use of m_canCrossLanes in the whole game codebase (that's why vehicles can cross median when building ahead is on fire). It's used when StartPathfind is trying to find a position on lane for forward and backward starting/ending point so pathfinding will ignore all lanes going backward direction (those further away aka positionB) on the segment closest to the target building.

All the issues you raised are all interesting and valid points. But none of them are serious enough to abandon this task all together.

I'd hate to see th is abandoned. If we can get even a fraction of it working it will be huge improvement for creators and users alike.

I think detecting medians using elevated None lanes is an easy yet effective phase 1 for this issue

Assuming that there are no vehicle lanes overlapping them to a sufficient degree. But yes, if we can get this it will be awesome.

@kianzarrin I think we should hold off on implementing this until displaced lanes are done. The two features have a lot of overlap, since we're basically talking about grouping lanes for lane transition rules, and we don't want a repeat of the LaneConnectionManager mix-up. ;-)
It might even turn out that combining the two features makes sense, but I won't know that until I get into it.

I am closing this issue because I've formally defined an enhancement to achieve what it was after. #1528

source: gharchive/issue

repo: CitiesSkylinesMods/TMPE

license: MIT


text:
UHF-6566: Custom language negotiator to make language manipulation ea…

…sier

Codecov Report

Merging #75 (c814a22) into main (5ffa6b9) will decrease coverage by 0.30%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main      #75      +/-   ##
============================================
- Coverage     51.63%   51.32%   -0.31%
  Complexity      351      351
============================================
  Files            45       45
  Lines           978      978
============================================
- Hits            505      502       -3
- Misses          473      476       +3

Impacted Files
Coverage Δ

...src/EventSubscriber/PartialMigrationSubscriber.php
86.36% <0.00%> (-13.64%)
:arrow_down:

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

authors: codecov-commenter tuutti


text:
Fix listing pagination off-by-one bug (and add tests to confirm)

Addresses #56 and #141

[X] This change addresses the issue in full

Description
This change corrects the off-by-one error in totalPages in the pagination metadata, and adds tests that confirm that the fix gives the intended result.
Type of change

[X] Bug fix (non-breaking change which fixes an issue)

How Can This Be Tested/Reviewed?
$ cd backend/core
$ yarn test:e2e:local

Thanks!

repo: CityOfDetroit/bloom


text:
⚠ Bofrost.be has degraded performance

In 7da7c8c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2016 ms

Resolved: Bofrost.be performance has improved in 789aaef.

repo: Ckal/Uptime


text:
⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1549 ms

Resolved: Bofrost.de performance has improved in b900951.


text:
⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1048 ms

Resolved: Bofrost.de performance has improved in b6008fd.


text:
⚠ Bofrost.fr has degraded performance

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

HTTP code: 200
Response time: 1556 ms

Resolved: Bofrost.fr performance has improved in 2e62150.


text:
⚠ Bofrost.at has degraded performance

In 1d92199, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1357 ms

Resolved: Bofrost.at performance has improved in 8603503.


text:
⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 801 ms

Resolved: Bofrost.de performance has improved in 961f8b1.


text:
⚠ Bofrost.at has degraded performance

In ff279c8, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1032 ms

Resolved: Bofrost.at performance has improved in ff2be0f after 305 days, 11 hours, 6 minutes.


text:
⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 834 ms

Resolved: Bofrost.de performance has improved in e78ceac after 6 minutes.


text:
⚠ Bofrost.de has degraded performance

In 3e1b12b, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1779 ms

Resolved: Bofrost.de performance has improved in 14dd49d after 2 hours, 20 minutes.


text:
⚠ Bofrost.fr has degraded performance

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

HTTP code: 200
Response time: 1499 ms

Resolved: Bofrost.fr performance has improved in 331257e after 10 minutes.


text:
⚠ Bofrost.lu has degraded performance

In d3b5622, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2450 ms

Resolved: Bofrost.lu performance has improved in d810bf0 after 13 minutes.


text:
⚠ Bofrost.lu has degraded performance

In e1b5f8b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1601 ms

Resolved: Bofrost.lu performance has improved in 0c6c171 after 31 minutes.


text:
⚠ Bofrost.fr has degraded performance

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

HTTP code: 200
Response time: 1320 ms

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


text:
⚠ Bofrost.at has degraded performance

In c13fa23, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1233 ms

Resolved: Bofrost.at performance has improved in 1e912aa after 6 minutes.


text:
⚠ Bofrost.be has degraded performance

In abfd436, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1211 ms

Resolved: Bofrost.be performance has improved in e281178 after 6 minutes.


text:
⚠ Bofrost.be has degraded performance

In 108dffb, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1242 ms

Resolved: Bofrost.be performance has improved in 7f649ff.


text:
⚠ Bofrost.be has degraded performance

In 7e47ce5, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1748 ms

Resolved: Bofrost.be performance has improved in e045f41.


text:
⚠ Bofrost.be has degraded performance

In 24c0685, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1790 ms

Resolved: Bofrost.be performance has improved in 25e9655.


text:
Some Ideas

Looking great so far. It's very consitent and i would think also easy to follow.
For me personally, even when leanring something new, i feel like it's too verbose, but too verbose is most likely better than the opposite, increasing the chance of misunderstandings. (I could go into detail why i think it's better to be "too verbose" imo because i have lots of reasons, but i don't feel like it's necessary. Just know that it's not a bad thing.)
There are just a few ideas i had. Not sure how to share them, so i pushed them to a separate branch in my fork.

Thanks for the feedback! I was pretty verbose on purpose because explanations like these have a lot of room for ambiguity, and I don't want to give the wrong idea about things. It's definitely not for someone wanting to throw a quick GUI together, but for someone that wants to actually learn about the details of how they work.
If you view it from that point of view, I think it's 'appropriately verbose', as I feel like I don't go on about some silly detail for three paragraphs. I just touch on a lot of things because there's a lot to explain, and the explanations themselves are pretty to the point. Feel free to tell me about spots where you think I am just waffling though ofc.
Regarding your ideas, I'll add the link. The second thing about the loop is a matter of coding preference I guess. I'll stew on it a bit, I think either way is fine, especially since it doesn't matter for the GUI stuff itself really.
Funny that you bring the tags thing up, I actually wanted to have another chapter that goes into exactly that, writing on_click handlers for those buttons. I decided to move it to advanced techniques for now, maybe I'll make it a chapter still, not sure. It'll definitely be mentioned though :)

Thanks for the feedback! I was pretty verbose on purpose because explanations like these have a lot of room for ambiguity, and I don't want to give the wrong idea about things. It's definitely not for someone wanting to throw a quick GUI together, but for someone that wants to actually learn about the details of how they work.
If you view it from that point of view, I think it's 'appropriately verbose', as I feel like I don't go on about some silly detail for three paragraphs. I just touch on a lot of things because there's a lot to explain, and the explanations themselves are pretty to the point. Feel free to tell me about spots where you think I am just waffling though ofc.
Regarding your ideas, I'll add the link. The second thing about the loop is a matter of coding preference I guess. I'll stew on it a bit, I think either way is fine, especially since it doesn't matter for the GUI stuff itself really.
Funny that you bring the tags thing up, I actually wanted to have another chapter that goes into exactly that, writing on_click handlers for those buttons. I decided to move it to advanced techniques for now, maybe I'll make it a chapter still, not sure. It'll definitely be mentioned though :)

yea regarding the verbose thing, i agree. One of the reasons i said it's good the way it is currently was pretty close to what you just said.
Regarding the loop, agreed. It is also fine the way it is for the record.
And i very much like the tags section. It has all the important information in it 👍 . And i consider it to be good to be in the main tutorial, because chances are just soo high for someone to need them, but if they end up looking at other mods, they'd find people using the name for everything, just how you explained as well, which would make their life way harder for no reason :D

yea regarding the verbose thing, i agree. One of the reasons i said it's good the way it is currently was pretty close to what you just said.
Regarding the loop, agreed. It is also fine the way it is for the record.
And i very much like the tags section. It has all the important information in it 👍 . And i consider it to be good to be in the main tutorial, because chances are just soo high for someone to need them, but if they end up looking at other mods, they'd find people using the name for everything, just how you explained as well, which would make their life way harder for no reason :D

Alright, seems we agree, appreciate the feedback. I'll get to work on some of the advanced sections, and after that prep it for 'release'.

Alright, seems we agree, appreciate the feedback. I'll get to work on some of the advanced sections, and after that prep it for 'release'.

authors: ClaudeMetz JanSharp

repo: ClaudeMetz/UntitledGuiGuide

license: Unlicense


text:
Fix compilation errors

This should fix some clang build errors when used as submodule for clickhouse.

@alexey-milovidov could you look into this?

I missed this PR.
PS. We build all contrib with -w and -isystem (similar to what compiler is doing when the library is in /usr/include).

authors: alexey-milovidov ildus

repo: ClickHouse-Extras/dragonbox


text:
Effecient way to load events

On prev and next, I am adding events to calendar. There are around 60-70 events per month. Adding events one by one in loop like this
this.calendar.addEvent(event)

takes a long time and hangs the browser.
Adding events all at once with this code
this.calendar.addEvents(events)

is better but it still hangs the browser for few seconds. I was trying to use the progress bar to wait for the load. event the progress bar stops for few seconds, while the events load.
Is there a more efficient way to load events?

I found a few improvements that could be made. Would a "setEvents" make more sense in your use case? Adding that function could also improve performance.
There are some things updated after each event is added - that should be delayed after all events are added. Vue watches some of those things so it probably triggers some unnecessary calls.

I do not find a setEvents function in calendar. Do you mean adding a new function? It would be great if you can make improvements to this. Please let me know if I can help in any way.

@ClickerMonkey any update on this?

Yes, I should have an update to dayspan shortly.

@ClickerMonkey BTW congratulations on officially being on Vuetify itself.

@developernaren dayspan 0.12.4 published, setEvents added to Calendar which should improve performance in your scenario. Let me know how it goes.

It is much better but there are still some lags.
There is an issue with next and prev buttons. If I use the prev and next button more than twice, Events stop loading completely and just the blank calendar appears.

It is much better, but there is still a bit of glitchiness and still the loader is not smooth.

Hello @ClickerMonkey  ,  Can we expect the same functionality to be moved into Vuetify v-calendar as you built in dayspan-vuetify? or it's not on roadmap? i saw the comment somewhere on vuetify that drug&drop and other features are out of scope for v-calendar component, but looks like something is happening there.

authors: ClickerMonkey developernaren ivanvorona

repo: ClickerMonkey/dayspan-vuetify


text:
VCI homepage and curation pages are not working

The VCI pages for single variants and the homepage list of curations are not opening. This is happening for multiple but not all users at the Broad. Here are the links: https://curation.clinicalgenome.org/dashboard/, https://curation.clinicalgenome.org/variant-central/74263d3f-ca29-4537-8849-344e90920f0b/interpretation/22a5d841-60d9-4e74-b1da-7643afebb812/

@msingerb  Thanks for reporting. We are investigating now.

@msingerb  This was an issue with AWS that affected API Gateway endpoints and AWS services in the US-WEST-2 Region. AWS immediately worked to resolve this issue and it looks like everything is back online again now. If you are still having issues then please let us know. Thank you again for reaching out to us.

Looks like it just started working again.
On Wed, Aug 24, 2022 at 1:21 PM Matt W. Wright @.***>
wrote:

@msingerb https://github.com/msingerb Thanks for reporting. We are
investigating now.
—
Reply to this email directly, view it on GitHub
https://github.com/ClinGen/gene-and-variant-curation-tools/issues/239#issuecomment-1226015837,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALJR2T4T5HGQ7EG7Y73MSC3V2ZKYLANCNFSM57QD3Q7A
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Moriel Singer-Berk
Senior Clinical Genomic Variant Curator
Broad Institute of MIT and Harvard
415 Main Street, Cambridge, MA 02142
@.***
Pronouns: she/her
[image: BroadInstLogoforDigitalRGB.png] https://www.broadinstitute.org/

authors: msingerb wrightmw

repo: ClinGen/gene-and-variant-curation-tools


text:
🛑 Authentik is down

In 4c2dbf0, Authentik (https://auth.cloudhub.social) was down:

HTTP code: 503
Response time: 606 ms

Resolved: Authentik is back up in e07be18 after 18 minutes.

repo: CloudHub-Social/Status


text:
🛑 Lemmy is down

In 5592d77, Lemmy (https://lemmy.cloudhub.social) was down:

HTTP code: 503
Response time: 477 ms

Resolved: Lemmy is back up in 3aaff04 after 15 minutes.


text:
2021-01-26

Description
Content1 ...
Content2 ...
Content3 ...

This PR has:

[ ] been self-reviewed.

[ ] concurrent read
[ ] concurrent write
[ ] concurrent read and write

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods.
[ ] added or updated version, license, or notice information
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious
for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold
for code coverage.
[ ] added integration tests.
[ ] been tested in a test IoTDB cluster.

Key changed/added classes (or packages if there are too many classes) in this PR

11

11

repo: CloudWise-Lukemiao/iotdb


text:
cant get armor mods to load.

This is how I have everything located on my steam deck except modengine.toml I could not find that at all. also I put chr, menu, parts in the mod folder as if modengine2 was working by its self. I am not sheer if this is how its suppose to work. realistically I wish I could just use modengione2 by itself I got it to work wonderfully on my pc but with my steam deck in I really wanted to get it to work on there. Any help would be greatly appreciated.
ELDEN RING
└── Game
|
├── mods
│ ├── lua.dll
│ ├── modengine2.dll
│ ├──chr
│ ├──menu
│ ├──parts
|
├── movie
├── sd
├── amd_ags_x64.dll
├── bink2w64.dll
├── dinput8.dll
├── eldenring.exe
├── eossdk-win64-shipping.dll
├── eossdk-win64-shipping.so
├── mod_loader_config.ini
├── modengine.toml
├── oo2core_6_win64.dll
├── regulation.bin
├── start_protected_game.exe
└── steam_api64.dll

I have sens edeted config_eldenring.toml to modengine.toml pointing it to randomizer folder I have also changed mod_loader_config timer to 2500 insted of 5000.
I am still unable to load mods that are in the sub folder under randomizer.
ELDEN RING
└── Game
├── SeamlessCoop
│   └── cooppassword.ini
├── mods
│   ├── lua.dll
│   ├── modengine2.dll
│   ├──chr
│   ├──menu
│   ├──parts
├── movie
├── randomizer
│     ├──chr
│     ├──menu
│     ├──parts
├── sd
├── amd_ags_x64.dll
├── bink2w64.dll
├── dinput8.dll
├── eldenring.exe
├── eossdk-win64-shipping.dll
├── eossdk-win64-shipping.so
├── mod_loader_config.ini
├── modengine.toml
├── oo2core_6_win64.dll
├── regulation.bin
├── start_protected_game.exe
└── steam_api64.dll

I got it to work Thank you for the code this is awesome.

can you explain how you got it to work ?
thanks


text:
Multi-expression matching support

Would it be possible (and useful) to have match accept multiple expressions? Each match expression will match the corresponding case expression and evaluated as an and for each expression in a case.
local a, b = 2, 5
match a, b+1 {
  case 1,   a   => { print 'no' }
  case 2,   4   => { print 'neither' }
  case b-1, 6   => { print 'nay' }
  case 2,   a*3 => { print 'THIS CASE will be selected' }
}

If implemented, will probably be neater to have "passthrough" case expressions too, that technically works as a wildcard that always matches for that case expression, albeit it might be difficult to come up with a symbol (or existing keyword) for it.

There is no case in clue

Oops, fixed that. Also unknowingly removed the print parentheses.
As for the latter concern, they do work and end up being if (_internal0 == b-1), etc. The precedence is another story, but in this case it's not a worry (yet)

Oops, fixed that. Also unknowingly removed the print parentheses.
As for the latter concern, they do work and end up being if (_internal0 == b-1), etc. The precedence is another story, but in this case it's not a worry (yet)

this is if statement is basically unintended behavior, since b won’t be defined to what you would expect it to be?

match branches can have any expression for its pattern, even if it's a useless one

repo: ClueLang/Clue


text:
Make a ReadMe for Buttons

Do this on main priority. @RavindraP04

@Rajdip019 Done #835

repo: Clueless-Community/seamless-ui


text:
Parse das chamadas JSON

Qual lib ou vamos utilizar NSURLSession para fazer o tratamento dos JSONs da nossa API?

Moya;
Alamofire;
ObjectMapper;
NSURLSession;
Outra?

Acho desnecessário o uso do ObjectMapper, dado a estrutura de modelos que temos. Não acredito que precisamos trabalhar com NSURLSession, dado os métodos públicos ainda não serem "Swiftly"!

Acho desnecessário o uso do ObjectMapper, dado a estrutura de modelos que temos. Não acredito que precisamos trabalhar com NSURLSession, dado os métodos públicos ainda não serem "Swiftly"!
Por fim, acredito que podemos utilizar Alamofire ou Moya. Não tenho experiência/contato com o Moya, mas o @brunogb recomendou o uso.

Nunca utilizei o Moya também, por mim eu gostaria que utilizássemos o Alamofire.

Pessoal, vale lembrar que o Moya é uma camada construída em cima do Alamofire, se forma que é redundante falar em usar Moya e Alamofire.

Eu já utilizei o Moya e recomendo. Fica bem facil ligar com os endpoints,
além de facilitar a organização do cliente da API. Acho que facilita também
os testes unitários uma vez que é possível fazer o mock chamadas usando o
Moya. :)
Em sex, 29 de abr de 2016 às 22:40, Thiago Holanda notifications@github.com
escreveu:

Pessoal, vale lembrar que o Moya é uma camada construída em cima do
Alamofire, se forma que é redundante falar em usar Moya e Alamofire.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/CocoaHeadsBrasil/CocoaHeadsApp/issues/79#issuecomment-215922146

Então vamos de Moya para o parse das chamadas JSONs, correto?
https://github.com/Moya/Moya

authors: FelipeCardoso89 Viniciuscarvalho igorcferreira unnamedd

repo: CocoaHeadsBrasil/CocoaHeadsApp

license: mit

license_source: bigquery


text:
Improving UI of the Navbar.

The Navbar needs improvement to enhance UI/UX.
I would like to add better hovering effect and change spacing and layout in the Navbar.

assign to me

repo: Code-Social/official-website


text:
ComboBox: Refactored HandleKeyDown

-Refactored HandleKeyDown
-(breaking) Changed LockScroll default to: true
-BugFix: Several ArgumentNull- and ArgumentOutOfRangeExceptions
-BugFix: Highlight class would be applied when it shouldn't
-Feature: Use PageUp and PageDown keys to scroll through menu
-Feature:  Full menu-cycling
-Feature: Added parameter: OpenMenuAfterClear to open the menu after clicking Clear icon
-Feature: Added parameters: TextColor, CheckBoxCheckedColor, CheckBoxUnCheckedColor, CheckBoxSize

Thanks 🥇

authors: Yomodo mckaragoz


text:
🛑 sensors.AFRICA - API is down

In c546afc, sensors.AFRICA - API (https://api.sensors.africa/docs) was down:

HTTP code: 0
Response time: 0 ms

Resolved: sensors.AFRICA - API is back up in d13e07e after 5 hours, 23 minutes.

repo: CodeForAfrica/upptime


text:
🛑 openAFRICA API is down

In 6705ac7, openAFRICA API (https://bulk.openafrica.net/api) was down:

HTTP code: 0
Response time: 0 ms

Resolved: openAFRICA API is back up in a3ac8cb.


text:
A11y - Add a descriptive aria-label for property links

Describe the task
Each property "Click here for Atlas Info" link is titled the same. Screenreader users use shortcuts of headers, page regions, and links to navigate the page quickly. For a screenreader user, they won't be able to tell the difference between the links. If you add an aria-label to the link it will override the text inside the link and show for screenreader users.
Acceptance Criteria

[ ] Add an aria-label="name of property atlas info" to the property link

Additional context
What it sounds like for VoiceOver users checking out links on the map page

Atlas info link does not show anymore, so this issue is not relevant. Closing

repo: CodeForPhilly/vacant-lots-proj


text:
Rule "escape_implicit_backslashes" is deprecated. Use "string_implicit_backslashes" instead.

See https://github.com/codeigniter4/CodeIgniter4/pull/8500#issue-2113867103

@kenjis when can we except new release.
I found out that his is the reason for CS Fixer inspection not working in PHPStorm editor

authors: kenjis najdanovicivan

repo: CodeIgniter/coding-standard


text:
Everything was deleted

When a second manga was with its chapter null, all actions changed both manga in my bookmark

Foi corrigido junto com a issue#9


text:
add challenges to list of resources

Overview

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.5.109-alpha.dde3da.0@codecademy/gamut-labs@25.0.1-alpha.dde3da.0@codecademy/styleguide@48.0.2-alpha.dde3da.0

📬Published Alpha Packages:@codecademy/gamut-kit@0.5.109-alpha.9e74c1.0@codecademy/gamut-labs@25.0.1-alpha.9e74c1.0@codecademy/styleguide@48.0.2-alpha.9e74c1.0

🚀 Styleguide deploy preview ready!https://61670759a9bfa61c3f344d5f--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.5.110-alpha.4f6f9b.0@codecademy/gamut-labs@25.1.1-alpha.4f6f9b.0@codecademy/styleguide@48.0.3-alpha.4f6f9b.0

🚀 Styleguide deploy preview ready!https://61674223d8fe06008f6ed542--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.5.118-alpha.c176dc.0@codecademy/gamut-labs@25.1.9-alpha.c176dc.0@codecademy/styleguide@48.0.13-alpha.c176dc.0

🚀 Styleguide deploy preview ready!https://6169c63106fb33352e9c6e7a--gamut-preview.netlify.appDeploy Logs

looks good! can you add the monolith PR with the alpha branch just so i can double-check functionality? 🙏 also looks like ya still have to update the Resources tests

@slin12 is deploying this PR as part of the challenges rollout.

authors: JahazielGuzman codecademydev

repo: Codecademy/client-modules


text:
Syntax highlight of chat buffer

The filetype of the gpt-persistent-session buffer is "markdown." How is Vim supposed to
highlight the ^A and >>> (the latter is an erroneous construct in markdown)? I attached
an image of what I get.

I use https://github.com/inkarkat/vim-SyntaxRange which works reasonably well.

authors: CoderCookE sagb

repo: CoderCookE/vim-chatgpt


text:
Xcode13+iOS15 mj_footer 显示位置的问题

描述bug
升级到Xcode13+iOS15以后，原来显示在界面外的 mj_footer 直接显示在界面内了
必现/偶发?
必现
怎么样重现这个bug
`
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) style:UITableViewStyleGrouped];
[self.view addSubview:_tableView];
_tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreFuntion)];
`
你期望的结果是什么？
mj_footer在未上拉时不可见，目前看是原先在 HomeIndicator 安全区下的内容被显示了出来，或者是显示的高度少计算了安全区的高度
截图

运行环境

iPhone13 Pro
iOS15
Xcode13

额外的
用Xcode12发布的appstore版本在iOS15使用时无此问题

虽然不清除具体为啥，设置了 ignoredScrollViewContentInsetBottom 忽略掉了

repo: CoderMJLee/MJRefresh


text:
One of my kata was stolen!

@kazk
Kata : https://www.codewars.com/kata/mumbling/
has now for creator @mcneal.... who signalled this by a comment: "It seems as if someone falsely assigned my account to be the creator of the mumbling kata."
Strangeness when you hold us! Ghosts at CW?

Who you gonna call? :sweat_smile:


text:
Could not filter completed kata

I filtered kata by 'kata I have not completed'. But still I can see the completed kata on the page. For example, when I filtered kata by 'kata I have not completed on 8 kyu', I can see the 'Multiply' kata on this list which I have solved long time ago.
Also I can see the past solutions on the 'Multiply' kata page. However, no matter how many times I have clicked the 'submit final' button, I can still find the same kata listed as uncompleted katas.

Now when I Filtered 'Kata I have not completed on Kyu 8', I get 50 katas which I have solved a long time ago. 5 days ago, there are only 3 abnormal katas. The number of abnormal katas is growing.

I filed an issue very similiar to this.  https://github.com/Codewars/codewars.com/issues/282
It's possible the two issues have the same cause; however there is at least one difference, since I cannot see my solutions to multiply and broken greetings--even though they are stored under "past solutions' on the training page:

Closing old issue. Please open a new one if this issue is still there.

authors: kazk paul-calvelage yangyanzhan


text:
Exhausted searching IDs in known runs

Hello,
I am also facing this issue where it's not able to parse the run ID from the fetched steps. . see the logs below:
Run codex-/return-dispatch@feat/improve_retry_strategy
Fetching Workflow ID for integration-tests.yaml...
Fetched Workflow ID: 120552602
Successfully dispatched workflow:
  Repository: ***
  Branch: main
  Workflow ID: integration-tests.yaml
  Workflow Inputs: {"commit_hash":"1495d0634a0e195b19a9908e53e99effbae7fab8"}
  Distinct ID: efc563f4-5c6d-4a77-9ec6-f18d3288ed85
Attempt to extract run ID from steps...
Exhausted searching IDs in known runs, attempt 1...

is it because the fetched workflow run doesn't have the branch value of "main"?
when I hit the endpoint that specific workflow run returns the head_branch, I am wondering if how it's parsing. would you be able to give some advice what I can do resolve this issue?
Thank you in advance.

looking into the code it seems like it's printing the value that must be provided in the config.
I have defined my workflow step like this
      - name: Dispatch Event to Processor Repo
        uses: codex-/return-dispatch@feat/improve_retry_strategy
        id: return_dispatch
        with:
          token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          repo: ***
          owner: ***
          ref: main
          workflow: integration-tests.yaml
          workflow_inputs: '{"commit_hash": "${{ github.sha }}"}'

function getBranchNameFromRef(ref: string): string | undefined {
const refItems = ref.split(//?refs/heads//);
if (refItems.length > 1 && (refItems[1]?.length ?? 0) > 0) {
return refItems[1];
}
}
any chance this code has a potential issue?

function getBranchNameFromRef(ref: string): string | undefined {
  const refItems = ref.split(/\/?refs\/heads\//);
  if (refItems.length > 1 && (refItems[1]?.length ?? 0) > 0) {
    return refItems[1];
  }
}

function isTagRef(ref: string): boolean {
  return new RegExp(/\/?refs\/tags\//).test(ref);
}

export function getBranchName(ref: string): string | undefined {
  let branchName: string | undefined = undefined;
  if (!isTagRef(ref)) {
    /**
     * The listRepoWorkflows request only accepts a branch name and not a ref (for some reason).
     *
     * Attempt to filter the branch name specifically and use that.
     */
    const branch = getBranchNameFromRef(ref);
    if (branch) {
      branchName = branch;

      core.debug(`getWorkflowRunIds: Filtered branch name: ${ref}`);
    } else {
      core.debug(
        `failed to get branch for ref: ${ref}, please raise an issue with this git ref.`,
      );
    }
  } else {
    core.debug(`Unable to filter branch, unsupported ref: ${ref}`);
  }

  return branchName;
}

looks like if i pass "main", it's going to return  undefined.

okay also the core issue is that it's looking for a distinct ID from steps fetched?
and if I don't pass in distinct Id, it seems like using uuid(), and i don't think idRegex against the runId would never match? how is this supposed to work? Could you explain if I missed something from the way I set up the Step

I've reworked a tonne of these particular pieces of logic and added extensive testing for them all in V2 which is due to release soon

If you find this is still an issue please let me know and I'll re-open this

Hey, I'm still seeing this issue. I'm trying to dispatch an action in the same repo.
Here's the dispatching action aws_cdk_deploy_on_cdk_update.yml:
# On pull requests that update datadog-cdk-constructs-v2 version, deploy the stacks to test the changes
name: AWS deploy to test latest Datadog CDK

permissions:
  contents: read # needed to checkout the code
  actions: write # needed to trigger the aws_cdk_deploy workflow

on:
  push:
    branches:
      - 'github-actions/update-dd-cdk-version'
      - 'yiming.luo/auto-update-cdk-version-6' # for testing

jobs:
  deploy:
    runs-on: ubuntu-latest
    env:
      GH_TOKEN: ${{ secrets.GH_ACTION_PAT }}
    steps:
      - name: Trigger AWS deploy Workflow
        uses: codex-/return-dispatch@2410062d00e50fbdc50dd9065a4e5f673e2455d3 # v2.0.3
        id: return_dispatch
        with:
          token: ${{ secrets.GH_ACTION_PAT }}
          repo: serverless-self-monitoring
          owner: DataDog
          ref: refs/heads/yiming.luo/auto-update-cdk-version-6
          workflow: aws_cdk_deploy.yml
          workflow_inputs: '{ "STACK_PREFIX": "cdkupdate" }'
          workflow_timeout_seconds: 1800
      - ...

Here's the receiving action aws_cdk_deploy.yml:
name: AWS deploy

on:
  workflow_dispatch:
    inputs:
      distinct_id:
        description: A dummy variable for compatability with GitHub Action codex-/return-dispatch, so this workflow can be triggered by aws_cdk_deploy_on_cdk_update.yml
        required: false
      ...

env:
  ...

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

When I push to yiming.luo/auto-update-cdk-version-6 branch, the dispatching action is run:
Run codex-/return-dispatch@2410062d00e50fbdc50dd9065a4e5f673e2455d3
  with:
    token: ***
    repo: serverless-self-monitoring
    owner: DataDog
    ref: refs/heads/yiming.luo/auto-update-cdk-version-6
    workflow: aws_cdk_deploy.yml
    workflow_inputs: { "STACK_PREFIX": "cdkupdate" }
    workflow_timeout_seconds: 1800
  env:
    GH_TOKEN: ***
Fetching Workflow ID for aws_cdk_deploy.yml...
Fetched Workflow ID:
  Repository: DataDog/serverless-self-monitoring
  Workflow ID: '54830463'
  Input Filename: 'aws_cdk_deploy.yml'
  Sanitised Filename: 'aws_cdk_deploy\.yml'
  URL: https://github.com/DataDog/serverless-self-monitoring/blob/main/.github/workflows/aws_cdk_deploy.yml
Fetched Workflow ID: 54830463
Successfully dispatched workflow:
  Repository: DataDog/serverless-self-monitoring
  Branch: refs/heads/yiming.luo/auto-update-cdk-version-6
  Workflow: aws_cdk_deploy.yml
  Workflow Inputs: {"STACK_PREFIX":"cdkupdate"}
  Distinct ID: 57c63979-19c7-41c4-8322-6b266ce3[16](https://github.com/DataDog/serverless-self-monitoring/actions/runs/12360643868/job/34498341289#step:2:17)3a
Attempt to extract branch name from ref...
Branch found for 'refs/heads/yiming.luo/auto-update-cdk-version-6': yiming.luo/auto-update-cdk-version-6
Attempting to identify run ID from steps...
Exhausted searching IDs in known runs, attempt 1...
Exhausted searching IDs in known runs, attempt 2...
Exhausted searching IDs in known runs, attempt 3...
Exhausted searching IDs in known runs, attempt 4...
Exhausted searching IDs in known runs, attempt 5...
Exhausted searching IDs in known runs, attempt 6...

For the PAT, I've tried both:

fine-grained token with:

actions: read and write
metadata: read-only

classic token with:

all of "repo" scope
workflow

Do you have any idea what's wrong? Thanks!

Ah damn, sorry you're having trouble, let's work it out 🚀
For aws_cdk_deploy.yml is there a step like:
    steps:
      - name: echo distinct ID ${{ github.event.inputs.distinct_id }}
        run: echo ${{ github.event.inputs.distinct_id }}

Without it the action cannot identify as it uses the step names to find the right run

I don't have such a step. Will try!

It worked! Thank you for your quick response!

Awesome, glad it's working, no problem at all :)
Let me know if you run into any more trouble, closing for now

authors: Codex- lym953 yuunlimm

repo: Codex-/return-dispatch


text:
🛑 Date is down

In 4d75698, Date (https://dubae.vip) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Date is back up in e51fdf0.

repo: Codifta/uptime


text:
Installation error

I tried to follow the instructions in readme to install monaco-vscode-api, but there were a few errors:

Console printed error and asked to install Python, I installed that.
Console printed error and asked to install VS 2022 & C++ dev kit, I installed that.

Now there is still error, but I can't understand, what's wrong.
P.S. I have installed node.js, so commands like npm and gyp work well. And I should also say, that my colleagues have same problem with monaco-vscode-api installation too.
Here is screenshot of errored console.

Hi @Hummel009 if I am not mistaken this does not work with python 3.12.x Try python 3.11.x. I usually build this with WSL on Windows, but I can also verify this today on Windows.

Hi @Hummel009 you have to install fitting spectre mitigation libraries. Like you I am using Visual Studio Community 2022, so in the installer you have to "Change" the installation and then go to "Individual components" and install the fitting libraries like you see in the screenshot below. @CGNonofr this is not a monaco-vscode-api issue, but could be mentioned in the README:

Sure! do you mind updating the README/troubleshooting? I'm not sure I understand fully the issue

@CGNonofr will do

Thanks a lot for your help! Now everything installed without any problems.

There is another problem after installation. When I am using Windows and trying to launch command «npm run build», appears new error saying, that rm not exist. And when I am using WSL, it says, that package.json is not found.

@Hummel009 building this repo from scratch is only possible on Linux and Mac. If you are using Windows consider using a WSL that's what I usually do.

@Hummel009 building this repo from scratch is only possible on Linux and Mac. If you are using Windows consider using a WSL that's what I usually do.

I think they try WSL without success, I'm not familliar at all with WSL though

Standard Ubuntu LTS, plus installing node.js and git should do

Still couldn't configure one problem with this repo; I don't think it's now related to the installation itself, more to the configuration or dependencies... Anyway, npm run build fails due to a few errors. No edits were made to the code, the installation was successful in WSL.

The Unexpected any value in conditional warnings are due to the eslint @typescript-eslint/strict-boolean-expressions plugin which is at least... bugous
I don't know about the first 2 errors.
It looks like eslint is not able to take typescript types into account...

I’m still trying to install the repository, as mentioned above, only pure Ubuntu LTS 24.04 + git + node. The problem persists; The npm si command cannot be executed, the run build command gives the errors that I attached in the screenshot above.
This month I tried several different Linux distributions, the problem was the same everywhere. At some point, I came across advice on the Internet for installing Yarn. After that, all the logs when installing the repository changed. However, this also did not lead to success.
Perhaps there are some special requirements? For example, a specific version of node or git. Also above were mentioned dependencies such as VS + spectre mitigation libraries and a special version of python, but as I understand it, this is not relevant outside WSL. Or relevant?

I’m still trying to install the repository, as mentioned above, only pure Ubuntu LTS 24.04 + git + node. The problem persists; The npm ci command cannot be executed, the run build command gives the errors that I attached in the screenshot above.
This month I tried several different Linux distributions, the problem was the same everywhere. At some point, I came across advice on the Internet for installing Yarn. After that, all the logs when installing the repository changed. However, this also did not lead to success.
Perhaps there are some special requirements? For example, a specific version of node or git. Also above were mentioned dependencies such as VS + spectre mitigation libraries and a special version of python, but as I understand it, this is not relevant outside WSL. Or relevant?

What version of Node and npm are you running?

I am using Node 20.15.0 and NPM 10.7.0. For the version 5.3.0 of the repo.
After installation of Ubuntu LTS 24.04 + this versions of Node and npm, I used three commands from the README of this repo. Everything was OK. Then I used npm ci, and the command ended with next error:
Installing vscode dependencies...
./scripts/install-vscode: line 36: yarn: command not found
npm error code 127
npm error path /home/hummel009/monaco
npm error command failed
npm error command sh -c patch-package && ./scripts/install-vscode

npm error A complete log of this run can be found in: /home/hummel009/.npm/_logs/2024-06-23T08_05_39_925Z-debug-0.log

I decided that I should install Yarn and I did npm install --global yarn. Then I tried npm ci again. Yarn was found, there were huge logs in terminal and they ended with next problem:
Unhandled Rejection at: Promise Promise {
  <rejected> Error: bad export type for `tree_sitter_tsx_external_scanner_create`: undefined
      at reportUndefinedSymbols (/tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:19748)
      at postInstantiation (/tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:17027)
      at /tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:17752
      at async /tmp/tmp.q25qugj5OU/node_modules/@vscode/l10n-dev/dist/main.js:329:10
      at async /tmp/tmp.q25qugj5OU/node_modules/@vscode/l10n-dev/dist/main.js:318:22
} reason: Error: bad export type for `tree_sitter_tsx_external_scanner_create`: undefined
    at reportUndefinedSymbols (/tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:19748)
    at postInstantiation (/tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:17027)
    at /tmp/tmp.q25qugj5OU/node_modules/web-tree-sitter/tree-sitter.js:1:17752
    at async /tmp/tmp.q25qugj5OU/node_modules/@vscode/l10n-dev/dist/main.js:329:10
    at async /tmp/tmp.q25qugj5OU/node_modules/@vscode/l10n-dev/dist/main.js:318:22
[11:30:26] The following tasks did not complete: editor-distro
[11:30:26] Did you forget to signal async completion?
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
npm error code 1
npm error path /home/hummel009/monaco
npm error command failed
npm error command sh -c patch-package && ./scripts/install-vscode

npm error A complete log of this run can be found in: /home/hummel009/.npm/_logs/2024-06-23T08_19_17_756Z-debug-0.log

Did you try installing Volta? we're relying on it here

@CGNonofr should "yarn" be added to the volta config? I was wondering if we should add a Dockerfile with minimum set of packages, so people could use it as a devcontainer. I could propose something...

@CGNonofr should "yarn" be added to the volta config? I was wondering if we should add a Dockerfile with minimum set of packages, so people could use it as a devcontainer. I could propose something...

Yarn is only used by the VSCode build script, so adding it in this project won't do much. It just guarantee yarn is present though
I'm open to anything making it easier to contribute :)

It just guarantee yarn is present though

Yes, that was the intention 🙂

I was able to really get a lot further with Volta, thanks for the advice!
So far the npm ci and npm run build commands have worked well, I can say. Some logs wrote errors in the process, but the resulting one said success.
But the npm start command in the demo has some errors in the process. Trying to open the editor in a browser causes the application to terminate with an error.

npm install vscode@npm:@codingame/monaco-vscode-api — deprecated warnings, vulnerabilities
npm install monaco-editor@npm:@codingame/monaco-vscode-editor-api — deprecated warnings, vulnerabilities
npm install -D @types/vscode — deprecated warnings, vulnerabilities
npm ci — a few «peer dependency» warnings, GYP errors, kerberos errors.
The process is lengthy, this is only part of it. I'll be recording and screenshoting more, and then publish here.

Ok those are in the VSCode project build process, I confirm there are a few warnings
Did you try removing the vite cache in the demo by removing node_modules/.vite? (or running npm ci)
Does the file pretended to be not existing exists on the disk?

Folder .vite in node modules of demo subfolder doesn't exist, I can't remove it.
Kerberos.o really doesnt't exist, as said in the log. But kerberos folders with kerberos headers exist. Perhaps some special version of make, cmake & gcc is needed?

Installing kerberos as a separate package helped get rid of this error. Now there is only one red error left, and it has something to do with git. Git is installed and I am authorized in it. Can you tell me what could be the problem?

In addition, there are a large number of references to unknown files and omissions in the log. I don't know if this is fatal, or if you also have this on installation.

Basically, I don't see anything else that seems serious. There are some suspicious logs, which I photographed just in case, I think I showed some of them last time, but everything else is normal.

If you wanna compare with the expected build log, you can compare with https://github.com/CodinGame/monaco-vscode-api/actions/runs/9599453082/job/26473217503 (Install dependencies section)

In addition to examining the logs, I also decided to reiterate the sequence of commands that your action executes. The first difference starts here:
Your log
patching file yarn.lock
patch -p1 -i /home/runner/work/monaco-vscode-api/monaco-vscode-api/vscode-paches/0059-fix-backport-fix.patch
patching file src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts
Installing vscode dependencies...
yarn config v1.22.22
success Set "ignore-engines" to true.
Done in 0.04s.
yarn install v1.22.22```

My log
```patching file package.json
patching file yarn.lock
patch -p1 -i /home/hummel009/Desktop/monaco-vscode-api/vscode-paches/0059-fix-backport-fix.patch
patching file src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts
Installing vscode dependencies...
Volta error: Node is not available.

To run any Node command, first set a default version using `volta install node`
Error details written to /home/hummel009/.volta/log/volta-error-2024-06-27_15_47_36.318.log
npm notice
npm notice New minor version of npm available! 10.7.0 -> 10.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.1
npm notice To update run: npm install -g npm@10.8.1
npm notice
npm error code 126
npm error path /home/hummel009/Desktop/monaco-vscode-api
npm error command failed
npm error command sh -c patch-package && ./scripts/install-vscode

npm error A complete log of this run can be found in: /home/hummel009/.npm/_logs/2024-06-27T12_45_57_116Z-debug-0.log```

Earlier this problem didn't appear because I can NPM installed before Volta. Perhaps clashing different installers is not good, but, one way or another, for some reason Volta does not work correctly for me if NPM was not installed before.

When I pre-install NPM + Yarn and then only install Volta on the system, all the logs are exactly the same as in the online build of this repository. However, npm start in demo still does not work. It is missing 4 files (last time it was missing 7), and they are not visible in the imports. As a result, when I open the browser at a given address and port, instead of the demo just a blank screen with a title.

authors: CGNonofr Hummel009 JonasCarlstroem kaisalmen

repo: CodinGame/monaco-vscode-api


text:
Removing the rest of the path array

In the livestream a path array was made to draw the path of the point.
This, however, was not included in the final video, therefore some unnecessary code for the path remained in the code.

Thank you!!

repo: CodingTrain/website


text:
求教 ConnectionLossException: KeeperErrorCode

我用spring-DM 集成jodis之后，本地代码测试正常，服务器报错。开始以为环境问题，我用测试例子打了个执行jar包，在服务器执行没问题。环境上应该没有问题的。。可以帮看一下我的错误，给我一个查找错误的方向吗？ 报错如下
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /zk/codis/db_test_codis_cluster/proxy/foo
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) [null:na]
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) [null:na]
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:226) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:215) [null:na]
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForegroundStandard(ExistsBuilderImpl.java:212) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForeground(ExistsBuilderImpl.java:205) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:168) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:39) [null:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl.createContainers(CuratorFrameworkImpl.java:193) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.ensurePath(PathChildrenCache.java:616) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.rebuild(PathChildrenCache.java:322) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:299) [null:na]
at com.wandoulabs.jodis.RoundRobinJedisPool.(RoundRobinJedisPool.java:242) [null:na]
... 56 common frames omitted

这个路径配的对么？
'/zk/codis/db_test_codis_cluster/proxy/foo'
为什么最后有个'foo'？

我用zkCli.sh 查看了三台zookeeper 的路劲，我在代码上这样的curatorClient("66.0.34.24:2181,66.0.34.23:2181,66.0.34.217:2181",30000).zkProxyDir("/zk/codis/db_test_codis_cluster/proxy")  的所以我查看了ls /zk/codis/db_test_codis_cluster/proxy 下面是[proxy_1,proxy_2] 根本没有foo.所以我也很奇怪怎么会有个foo

这是我初始化pool的类
package com.csii.rdb.mgmt.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import redis.clients.jedis.JedisPoolConfig;
import com.wandoulabs.jodis.JedisResourcePool;
import com.wandoulabs.jodis.RoundRobinJedisPool;
/**

jedis 连接池

@author Administrator

*/
public class RedisPoolSingleInstance {
private JedisResourcePool pool = null;
private String zkServerUri; // ZooKeeper服务URI
private String zkProxyDir; // ZooKeeper管理的数据结构路劲
private int zkSessionTimeoutMs; //ZooKeeper session timeout in milliseconds
private boolean blockWhenExhausted; // 连接耗尽时是否报异常，false 报异常，true 阻塞知道超时，默认是true
private Long maxWaitMillis; // 获取连接等待最大毫秒数，-1永不超时。
private int maxIdle; // 最大空闲连接数，默认是8
private int minIdle; // 最小空闲连接数，默认0
private int maxTotal; // 最大连接数
private boolean testOnBorrow; // 获取连接时检测有效性，默认false

private final Log log = LogFactory.getLog(getClass());

private RedisPoolSingleInstance() {
}

public synchronized JedisResourcePool getRedisPool() {
	if (null == pool) {
		pool = getJedisPo();
	}
	return pool;
}

private JedisResourcePool getJedisPo() {
	try {
		//创建jedis池 配置参数
		JedisPoolConfig poolConfig = new JedisPoolConfig();
		poolConfig.setBlockWhenExhausted(blockWhenExhausted);
		poolConfig.setMaxIdle(maxIdle);
		poolConfig.setMinIdle(minIdle);
		poolConfig.setMaxTotal(maxTotal);
		poolConfig.setMaxWaitMillis(maxWaitMillis);
		poolConfig.setTestOnBorrow(testOnBorrow);
		log.debug("ZookServer-->" +"zkServerUri: "+zkServerUri+"\r\nzkProxyDir: "+zkProxyDir);
		log.debug("RedisPoolConfig-->" +"blockWhenExhausted: "+blockWhenExhausted+"\r\nmaxIdle: "+maxIdle+"\r\nminIdle: "+minIdle+"\r\nmaxTotal: "+maxTotal+"\r\nmaxWaitMillis: "+maxWaitMillis+"\r\ntestOnBorrow: "+testOnBorrow);
		pool = RoundRobinJedisPool.create().curatorClient(zkServerUri,zkSessionTimeoutMs).zkProxyDir(zkProxyDir).poolConfig(poolConfig).build();
	} catch (Exception e) {
		log.error("RedisPoolSingleInstance: init pool error:", e);
	}
	return pool;
}

public void setBlockWhenExhausted(boolean blockWhenExhausted) {
	this.blockWhenExhausted = blockWhenExhausted;
}

public void setMaxWaitMillis(Long maxWaitMillis) {
	this.maxWaitMillis = maxWaitMillis;
}

public void setMaxIdle(int maxIdle) {
	this.maxIdle = maxIdle;
}

public void setMinIdle(int minIdle) {
	this.minIdle = minIdle;
}

public void setMaxTotal(int maxTotal) {
	this.maxTotal = maxTotal;
}

public void setTestOnBorrow(boolean testOnBorrow) {
	this.testOnBorrow = testOnBorrow;
}

public void setZkServerUri(String zkServerUri) {
	this.zkServerUri = zkServerUri;
}

public void setZkProxyDir(String zkProxyDir) {
	this.zkProxyDir = zkProxyDir;
}

public void setZkSessionTimeoutMs(int zkSessionTimeoutMs) {
	this.zkSessionTimeoutMs = zkSessionTimeoutMs;
}

}

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import redis.clients.jedis.JedisPoolConfig;
import com.wandoulabs.jodis.JedisResourcePool;
import com.wandoulabs.jodis.RoundRobinJedisPool;
/**

获取redis 连接池

@author Administrator

*/
public class RedisPoolSingleInstance {
private JedisResourcePool pool = null;
private String zkServerUri; // ZooKeeper服务URI
private String zkProxyDir; // ZooKeeper管理的数据结构路劲
private int zkSessionTimeoutMs; //ZooKeeper session timeout in milliseconds
private boolean blockWhenExhausted; // 连接耗尽时是否报异常，false 报异常，true 阻塞知道超时，默认是true
private Long maxWaitMillis; // 获取连接等待最大毫秒数，-1永不超时。
private int maxIdle; // 最大空闲连接数，默认是8
private int minIdle; // 最小空闲连接数，默认0
private int maxTotal; // 最大连接数
private boolean testOnBorrow; // 获取连接时检测有效性，默认false

private final Log log = LogFactory.getLog(getClass());

private RedisPoolSingleInstance() {
}

public synchronized JedisResourcePool getRedisPool() {
	if (null == pool) {
		pool = getJedisPo();
	}
	return pool;
}

private JedisResourcePool getJedisPo() {
	try {
		//创建jedis池 配置参数
		JedisPoolConfig poolConfig = new JedisPoolConfig();
		poolConfig.setBlockWhenExhausted(blockWhenExhausted);
		poolConfig.setMaxIdle(maxIdle);
		poolConfig.setMinIdle(minIdle);
		poolConfig.setMaxTotal(maxTotal);
		poolConfig.setMaxWaitMillis(maxWaitMillis);
		poolConfig.setTestOnBorrow(testOnBorrow);
		log.debug("ZookServer-->" +"zkServerUri: "+zkServerUri+"\r\nzkProxyDir: "+zkProxyDir);
		log.debug("RedisPoolConfig-->" +"blockWhenExhausted: "+blockWhenExhausted+"\r\nmaxIdle: "+maxIdle+"\r\nminIdle: "+minIdle+"\r\nmaxTotal: "+maxTotal+"\r\nmaxWaitMillis: "+maxWaitMillis+"\r\ntestOnBorrow: "+testOnBorrow);
		pool = RoundRobinJedisPool.create().curatorClient(zkServerUri,zkSessionTimeoutMs).zkProxyDir(zkProxyDir).poolConfig(poolConfig).build();
	} catch (Exception e) {
		log.error("RedisPoolSingleInstance: init pool error:", e);
	}
	return pool;
}

public void setBlockWhenExhausted(boolean blockWhenExhausted) {
	this.blockWhenExhausted = blockWhenExhausted;
}

public void setMaxWaitMillis(Long maxWaitMillis) {
	this.maxWaitMillis = maxWaitMillis;
}

public void setMaxIdle(int maxIdle) {
	this.maxIdle = maxIdle;
}

public void setMinIdle(int minIdle) {
	this.minIdle = minIdle;
}

public void setMaxTotal(int maxTotal) {
	this.maxTotal = maxTotal;
}

public void setTestOnBorrow(boolean testOnBorrow) {
	this.testOnBorrow = testOnBorrow;
}

public void setZkServerUri(String zkServerUri) {
	this.zkServerUri = zkServerUri;
}

public void setZkProxyDir(String zkProxyDir) {
	this.zkProxyDir = zkProxyDir;
}

public void setZkSessionTimeoutMs(int zkSessionTimeoutMs) {
	this.zkSessionTimeoutMs = zkSessionTimeoutMs;
}

}

log.debug("ZookServer-->" +"zkServerUri: "+zkServerUri+"\r\nzkProxyDir: "+zkProxyDir);
log.debug("RedisPoolConfig-->" +"blockWhenExhausted: "+blockWhenExhausted+"\r\nmaxIdle: "+maxIdle+"\r\nminIdle: "+minIdle+"\r\nmaxTotal: "+maxTotal+"\r\nmaxWaitMillis: "+maxWaitMillis+"\r\ntestOnBorrow: "+testOnBorrow);

这两行日志输出的结果对么？

对的。。。跟我写的测试例子的参数一样，测试例子没有加设置poolConfig。
package com.baozi.test;
import redis.clients.jedis.Jedis;
import com.wandoulabs.jodis.JedisResourcePool;
import com.wandoulabs.jodis.RoundRobinJedisPool;
public class TestJodis {
public static void main(String[] args) {
JedisResourcePool jedisPool = RoundRobinJedisPool.create().curatorClient("66.0.34.24:2181,66.0.34.23:2181,66.0.34.217:2181",10000).zkProxyDir("/zk/codis/db_test_codis_cluster/proxy").build();
Jedis jedis =jedisPool.getResource();
jedis.set("foo", "bar");
String value = jedis.get("foo");
jedis.del("foo");
jedis.close();
	Jedis jedis1 =jedisPool.getResource();
	jedis1.set("foo1", "barssss");
	String value1 = jedis1.get("foo1");
	System.out.println(value1);
	jedis1.del("foo1");
	jedis1.close();

	Jedis jedis2 =jedisPool.getResource();
	jedis2.set("foo1", "barssss");
	String value2 = jedis2.get("foo1");
	System.out.println(value2);
	jedis2.del("foo1");
	jedis2.close();

}

}

你把日志贴一下？

2016-03-15 16:19:50.102 [taskExecutor-7] DEBUG org.springframework.beans.CachedIntrospectionResults - Not strongly caching class [com.csii.rdb.mgmt.action.RedisCacheControl] because it is not cache-safe
2016-03-15 16:19:50.102 [taskExecutor-7] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Invoking init method  'createPool' on bean with name 'RedisCacheControl'
2016-03-15 16:19:50.104 [taskExecutor-7] DEBUG com.csii.rdb.mgmt.action.RedisPoolSingleInstance - ZookServer-->zkServerUri: 66.0.34.24:2181,66.0.34.23:2181,66.0.34.217:2181
zkProxyDir: /zk/codis/db_test_codis_cluster/proxy
2016-03-15 16:19:50.104 [taskExecutor-7] DEBUG com.csii.rdb.mgmt.action.RedisPoolSingleInstance - RedisPoolConfig-->blockWhenExhausted: true
maxIdle: 500
minIdle: 0
maxTotal: 100
maxWaitMillis: 1000
testOnBorrow: true
2016-03-15 16:20:51.926 [taskExecutor-7] ERROR com.csii.rdb.mgmt.action.RedisPoolSingleInstance - RedisPoolSingleInstance: init pool error:
redis.clients.jedis.exceptions.JedisException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /zk/codis/db_test_codis_cluster/proxy/foo
at com.wandoulabs.jodis.RoundRobinJedisPool.(RoundRobinJedisPool.java:244) [null:na]
at com.wandoulabs.jodis.RoundRobinJedisPool.(RoundRobinJedisPool.java:207) [null:na]
at com.wandoulabs.jodis.RoundRobinJedisPool$Builder.build(RoundRobinJedisPool.java:482) [null:na]
at com.csii.rdb.mgmt.action.RedisPoolSingleInstance.getJedisPo(RedisPoolSingleInstance.java:54) [null:na]
at com.csii.rdb.mgmt.action.RedisPoolSingleInstance.getRedisPool(RedisPoolSingleInstance.java:37) [null:na]
at com.csii.rdb.mgmt.action.RedisCacheControl.createPool(RedisCacheControl.java:33) [null:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) [na:1.6.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) [na:1.6.0]
at java.lang.reflect.Method.invoke(Method.java:611) [na:1.6.0]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [null:2.5.6.SEC01]
at java.security.AccessController.doPrivileged(AccessController.java:298) [na:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [null:2.5.6.SEC01]
at java.security.AccessController.doPrivileged(AccessController.java:298) [na:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [null:2.5.6.SEC01]
at org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean.afterPropertiesSet(OsgiServiceFactoryBean.java:167) [null:1.2.1]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) [null:2.5.6.SEC01]
at java.security.AccessController.doPrivileged(AccessController.java:298) [na:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) [null:2.5.6.SEC01]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423) [null:2.5.6.SEC01]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) [null:2.5.6.SEC01]
at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69) [null:1.2.1]
at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355) [null:1.2.1]
at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) [null:1.2.1]
at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) [null:1.2.1]
at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132) [null:1.2.1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:906) [na:1.6.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:929) [na:1.6.0]
at java.lang.Thread.run(Thread.java:796) [na:1.6.0]
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /zk/codis/db_test_codis_cluster/proxy/foo
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) [null:na]
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) [null:na]
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:226) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:215) [null:na]
at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForegroundStandard(ExistsBuilderImpl.java:212) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForeground(ExistsBuilderImpl.java:205) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:168) [null:na]
at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:39) [null:na]
at org.apache.curator.framework.imps.CuratorFrameworkImpl.createContainers(CuratorFrameworkImpl.java:193) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.ensurePath(PathChildrenCache.java:616) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.rebuild(PathChildrenCache.java:322) [null:na]
at org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:299) [null:na]
at com.wandoulabs.jodis.RoundRobinJedisPool.(RoundRobinJedisPool.java:242) [null:na]
... 56 common frames omitted
2016-03-15 16:20:51.928 [taskExecutor-7] DEBUG com.csii.rdb.mgmt.action.RedisCacheControl - RedisCacheControl.afterPropertiesSet(): redis pool is create failed.

你看着日志，有帮助吗

repo: CodisLabs/jodis


text:
Disable final update message when auto_describe is enabled in GitHub …

User description
…Action Runner

PR Type
enhancement, documentation

Description

Disabled the final update message in the GitHub Action Runner when auto_describe is enabled by setting final_update_message to False.
Updated the usage guide documentation to remove the enable_output configuration line.

Changes walkthrough 📝
Relevant filesEnhancement

github_action_runner.pyDisable final update message for auto_describe in GitHub Action Runner

pr_agent/servers/github_action_runner.py
Disabled final update message when auto_describe is enabled.  Added a line to set final_update_message to False in settings.

+1/-0

Documentation

automations_and_usage.mdUpdate usage guide to remove enable_output configuration

docs/docs/usage-guide/automations_and_usage.md

Removed documentation line for enable_output configuration.

+0/-1

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/review auto_approve

/review

Preparing review...

Persistent review updated to latest commit https://github.com/Codium-ai/pr-agent/commit/4f130072679ec0249af3c8b6a9f5c2b4821fdc9d

Preparing review...

Persistent review updated to latest commit https://github.com/Codium-ai/pr-agent/commit/4f130072679ec0249af3c8b6a9f5c2b4821fdc9d

repo: Codium-ai/pr-agent