Choose sourcecode license

We need an open-source license for the project.
Review material(s)

Producing Open Source Software - Chapter 2 Choosing a License and Applying It

Task

[ ] Discuss license choices and implications
[ ] Decide on a sourcecode license
[ ] Add sourcecode license terms to project root directory

In order to keep this decision participatory and focused, I propose we consider two license options and choose one together:

MIT
AGPL

I would prefer that we protect this project sourcecode from being subsumed into closed-source (or proprietary) software.

If you don't want your code to be used in proprietary programs, use the GNU General Public License, version 3 - Producing Open Source Software - Chapter 2 - Choosing a License and Applying It

Additionally, we are producing software that will be run on servers, in addition to web browsers.

If users interact with your code primarily over a network ... then consider using the GNU Affero GPL instead. - Producing Open Source Software - Chapter 2 - Choosing a License and Applying It

My preference is that we protect this project sourcecode under the GNU AGPL v3, as a commonwealth resource.


upgrading an app will revert its answers

SURE-1287
What kind of request is this (question/bug/enhancement/feature request):
bug
Rancher version:
v2.2.8
Steps to reproduce (least amount of steps as possible):

deploy an app from catalog
make changes to answers via api
upgrade app (to same version), all the answers are reverted to default

Result:
all the answers are reverted to default which would be unexpected, especially without warning

@aemneina, reproduced on v2.5. Just to clarify - we see default values for answers before we upgrade? In the dialog where we get to select a Template Version and configure the app, right?
Is this important only if we choose the same version to upgrade to? When we choose a version different from the current, do we expect to see default values then?

Spoke with @StrongMonkey about this behavior. This is not a backend issue, as the UI overrides the settings (hardcoded UI component) and sends the default template values to the backend, even if a user removes a field from settings. This requires a change in the UI, rather than Rancher itself. We will have to decide if we should pursue the change and work with the UI team on it.
@SheilaghM


Fix #728 and Fix #918 : Buffer size configurable using instance of RioSettings

This PR addresses GitHub issue: #728 and #918 .
Briefly describe the changes proposed in this PR:

Add default value of the buffer size as RioSetting
Add support of the setting in HTTPRepositoryConnection

The failing build has nothing to do with the changes in this PR. Please remove changes to .travis.yaml from this PR (please rebase your branch to avoid polluting the commit history). Otherwise, this PR looks good, I just need some more time to consider #448 before I'm ready to merging it though.

Please resolve the conflicts for this PR and we should be ready to merge it. Thanks for your patience!

@jamesrdf Hi I found that code was removed from the latest develop branch. I will reopen this PR in new place with reference to this place.


fix: docker auto push tag name

use github.sha will be commit SHA and like
dc3c9651342529fcfde47dd0949a0ced18ce9e4a in
https://hub.docker.com/repository/docker/apache/dolphinscheduler-api/tags?page=1&ordering=last_updated
we should prefer use tag name instead of
commit SHA

Codecov Report

Merging #13858 (7a4898e) into dev (9d9ae9a) will decrease coverage by 0.02%.
The diff coverage is 36.65%.

:exclamation: Current head 7a4898e differs from pull request most recent head de48803. Consider uploading reports for the commit de48803 to get more accurate results

@@             Coverage Diff              @@
##                dev   #13858      +/-   ##
============================================
- Coverage     39.11%   39.10%   -0.02%
- Complexity     4437     4459      +22
============================================
  Files          1140     1155      +15
  Lines         42053    42268     +215
  Branches       4753     4760       +7
============================================
+ Hits          16448    16527      +79
- Misses        23800    23928     +128
- Partials       1805     1813       +8

Impacted Files
Coverage Δ

...cheduler/api/service/impl/ExecutorServiceImpl.java
50.49% <ø> (+0.87%)
:arrow_up:

...hinscheduler/common/constants/TenantConstants.java
0.00% <0.00%> (ø)

...apache/dolphinscheduler/common/utils/LogUtils.java
0.00% <0.00%> (ø)

...datasource/api/datasource/DataSourceProcessor.java
0.00% <0.00%> (ø)

...er/plugin/datasource/ssh/SSHDataSourceChannel.java
0.00% <0.00%> (ø)

...in/datasource/ssh/SSHDataSourceChannelFactory.java
0.00% <0.00%> (ø)

...ler/plugin/datasource/ssh/SSHDataSourceClient.java
0.00% <0.00%> (ø)

...lphinscheduler/plugin/datasource/ssh/SSHUtils.java
0.00% <0.00%> (ø)

...in/datasource/ssh/param/SSHDataSourceParamDTO.java
0.00% <0.00%> (ø)

...server/master/event/WorkflowStartEventHandler.java
0.00% <0.00%> (ø)

... and 46 more

... and 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[hotfix][docs-zh] Fix invalid links in "Concepts & Common API" page of "Table API & SQL"

What is the purpose of the change
There are several invalid links in page https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/dev/table/common.html
because of missing  tags or some other mistakes.
Brief change log

Remove unnecessary prefix

line 300 {{ site.baseurl }}/zh/dev/table/common.html#table-identifier-expanding --> #table-identifier-expanding

Move  tag to right place

line 416

Add missing  tags

line 850
line 1078
line 1394

Remove redundant prefix

line 1286 {{ site.baseurl }}{% link dev/types_serialization.zh.md %}#pojos --> {% link dev/types_serialization.zh.md %}#pojos

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Add  tags for all titles according to @klion26 's advice.
Hi, @klion26.
Could you help to review this PR at your convenience ?
Thank you~

kindly ping @klion26

Thanks. I'll merge it!


Added x_deprecated => 1 to metadata, to aid various tools & systems

Hi,
This adds the x_deprecated field to the metadata files, which will let various tools and systems automatically identify this as a deprecated CPAN distribution.
For example, in the CPAN Pull Request Challenge, I don't assign dists which have this set to true.
Cheers,
Neil

Thank you


perforce-server 2016.1.1405859

Merged in https://github.com/Homebrew/homebrew-binary/commit/cac873c575ab3f1bf13271896ab59f25b8a5684e. Thank you once again 🙇


Add support of regex patterns through predefined file

I consolidated and shifted this pull request into another as per the request to utilize the latest updates in CLT for improved outcomes in failed tests. This will also simplify future merges due to multiple changes: https://github.com/manticoresoftware/clt/pull/7


about can not open the link of URL = "https://docs.google.com/uc?export=download"

In your python file of "prepare_data_yelp_yahoo.py", the link :url = "https://docs.google.com/uc?export=download" can not open, and the erorr was that “requests.exceptions.SSLError: HTTPSConnectionPool(host='docs.google.com', port=443): Max retries exceeded with url”

I had the same problem. How to solve it?


How to receive various images in a HTML?

I have a FOR and inside him  the call to URL to your API for put a image like a cover from a post in my blog, but when I render in the browser, I obtain the same image in all post. How to I change this?

Hey @dinamiqo
You can have a look to this issue( #9 ) for more information about this browser feature.
Thanks

Thanks, friend! :smile:

You're welcome 😃


Off mode

I think Homekit Off mode should refer to EasyControl Away mode which can be triggered by /system/awayMode and targetted temperature for Away.
WDYT?

Btw also is possible to turn off cooling in setup of thermostat - here example with heatOnly setup - https://github.com/PJCzx/homebridge-thermostat

I'll look into turning off the cooling option, didn't know such a thing even existed. As for off mode to refer to away mode I'm not sure. When you turn the thermostat to "Off" in homebridge, it stops showing the target temperature, and only shows the current temperature. The result is that you don't quite know what the away mode temperature is set to (unless you check the easycontrol app). Another reason to keep it as a switch, is that it's easier to apply automations ( When leaving -> turn on away mode switch; I'm not sure if such an options exists for thermostat)

Switched off the "Cool" and "Off" options, as those were not needed. Only "Heat" (representing manual mode) and "Auto" (representing scheduled mode) remains. Now it shows up as a single button in homekit, without needed to select anything. Decided to keep the "Away mode" switch as I think that's the better way to do it.
Newest version implementing these fixes is v1.1.1 on npm.


BigchainDB Web Proxy to add headers to requests

Currently, the requests from public websites (like
bigchaindb.com/getstarted and tutorials.bigchaindb.com/crab) cannot have the
app_id and app_key required to access IPDB in the web page.
We pass such requests through a web proxy that adds the required headers
to any POST requests from *.bigchaindb.com.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1743   +/-   ##
=======================================
  Coverage   98.58%   98.58%
=======================================
  Files          59       59
  Lines        2896     2896
=======================================
  Hits         2855     2855
  Misses         41       41

I will not have time to review this.


Add support for Serde serialization/deserialization

This adds optional support for Serde serialization/deserialization framework. This enables serializing (into HEX strings) and deserializing (from any string color format) for all data formats with strings that Serde supports.

Thank you.


Potential for time skew in JFR event time?

I was looking at the source code of async-profiler and noticed that the TSC time is queried at JFR event record creation time, which occurs towards the end of the sampling signal handler.
The code leading to the writing of the JFR event entails locks, stack walking, calling into JVMTI internals, etc.
It seems to me there is a potential for time jitter and for the JFR event time to lag the actual sample time by a meaningful margin.
Is the approach of waiting to query the time appropriate or should the time be queried closer to interrupt / instruction pointer resolution?

Thank you for raising the question.
Did you observe a real problem with the way how timestamps are recorded, or is it more like an assumption from studying the code?
I haven't encountered issues with timestamps before, but if there are some, I will be glad to know details.

I started looking at the source code after noticing potential time skew in data.
I visualized per-thread CPU samples taken at 977 Hz from a JVM with dozens of active threads and noticed that hot CPU threads were still reported as executing multiple sampling periods after GC pauses purportedly began. You can clearly see these GC pauses across all the threads (CPU samples disappear) but the threads all appear to enter and leave the GC pause at different times. When I saw the visualization - which I later confirmed by looking at the raw JFR events - I immediately thought that's too much jitter: it kinda looks like CPU sample times aren't being recorded properly.
I'm receptive to other theories. But the approach of not reading the time as close to stack walk initiation didn't sit well with me, so I filed this issue. There are plenty of other potential theories, of course. I'll comment here if I learn anything more.

Thank you for your input - it's useful.
I think it's easy to adjust the code to get timestamps earlier - at least, before collecting stack traces. I can make a branch to see if it makes data more accurate.
Anyway, there are delay possibilities that async-profiler cannot directly affect, e.g., a latency between an event occurs and a signal is delivered.

I've committed the fix to record timestamps early.
Please check if it improves your use case.

Thank you for the code change!
I've performed limited testing of a build from VCS and the recorded times appear to be a bit better. I looked at the commit and the new timing logic appears reasonable to me.
But I haven't done very comprehensive testing, so there may still be problems with skew. But I don't suppose there's much we can do about it.


When Git commits are missed, the files are not included with the next commit

Here is what I know:
Stream A and Stream B have common history.
I migrated Stream A.  The end result of File 1 in Git matched the end result in RTC, so all was well.
I migrated the portion of Stream B from the branching point forward.  Then I rebased the history so that Stream A had a complete set of history.  The end result of File 1 in Git did not match the end result in RTC.
It turns out that some of the Git commits were missed in the migration of Stream A prior to the branch point.  I expected that any code changes that were not migrated as part of a Git commit (for example, if the script stopped because of a merge conflict and then was manually restarted) would be included in the very next Git commit.  This would result in the code changes being associated with the wrong comment, but I was ok with that if it only happened occasionally.  Upon investigation, that is not what actually happens.  The code changes that are missed do not go into the very next Git commit--they go into the next Git commit that touches that file.  In my case, the missed Git commit happened before the branching point.  The catchup of the missed code change happened after the branching point.  Unfortunately, in my case, this means that Stream B never got this code change--resulting in an incorrect file.
I'm going to think this through some more...would committing file changes whenever the script stops fix the problem?

I just went back through my logs for the migration of Stream A and found this:
The following resources had uncommitted changes and were overwritten:
A copy of each file is available in "C:\temp...".
File1
Other files
Successfully loaded items into the sandbox.
Continuing to investigate...

I had several files that didn't match and were listed in the logs as I described above.  I had a few files not match due to the capitalization change as I described in .
I just discovered one file that was listed differently in the logs:
The following resources had uncommitted changes and were overwritten:
A copy of each file is available in "C:\temp...".
pathToADifferentFile
Successfully loaded items into the sandbox.
The flow target was updated.
Saved working directory and index state WIP on mybranchname: hash1 commitComment1
HEAD is now at hash1 commitComment2
diff --git pathToMyFile
index 0f24917..3edcb7c 100644
--- pathToMyFile
+++ pathToMyFile
I'm not sure yet what the Git ouptut means.
@@ -2539,15 +2539,10 moreComments

The code changes that are missed do not go into the very next Git commit--they go into the next Git commit that touches that file.

Well that almost cant be the case... After every accept the command "git add -A" will be executed (this means all changed files) will be added to git with the following commit.
You can test this, when you do a change (for example an accept a change) using eclipse and using resume in the script you will see that the change gets added.
If you miss some changes there needs to be another explanation.

would committing file changes whenever the script stops fix the problem?

I don't think so, usually when you hit issues while accepting changesets, your workspace doesnt change. So there is nothing changed on the filesystem and therefore you cant commit anything.
So at the moment I am clueless, how this could happen... Sorry

The error message saying the resources had uncommitted changes and were overwritten is a RTC message (at least that is what I think since the path where the file is saved has ".jazzshed" in it.
The details are still fuzzy to me, but here is what I think is happening:

The script has issues when trying to resume Delivery A and stops.
I manually resume Delivery A.
Without doing a manual "git add -A", I restart the script.
RTC realizes it has files in the workspace that it doesn't know how it got there and prints the message "The following resources had uncommitted changes and were overwritten." (This confuses me a bit since I'm using the same repository workspace for both, so I'm not sure why it would think it has uncommitted changes.)  RTC removes the changes from Delivery A.
The script continues and accepts Delivery B.  Since the only changes in the filesystem are from Delivery B, "git add -A" only picks up the changes from Delivery B.  Delivery A is completely gone.
The script continues and accepts deliveries C-E and adds them appropriately to Git.
Delivery F touches the same file that had issues in Delivery A.  In the script, RTC resumes Delivery F.  The resume pulls in all changes to the file to bring it to current with Delivery F, essentially pulling in changes from both Delivery A and Delivery F.  When the script does "git add -A", the changes from Delivery A and Delivery F are added to the Git repo.

I'm running a test now to see if doing the manual "git add -A" when the script stops fixes the problem.

More interesting would be if it fixes the problem when you do the git add -A after you reload the workspace manually

When you test, do a git status after each action... So you know when git add -A does something. :)

Good news!  Running "git add -A" seems to have fixed my migration problems.  I ran a test of migrating a complete stream and rebasing, and this time the contents of every file was correct.  (The only issue I hit was with the capitalization of some of the file names.)  Details are below.
My script stopped 7 times.  One time I accidentally stopped the script as I thought it was stuck on a conflict but it actually was not, so we'll throw away this case.  5 of the cases behaved in the same way.  1 case behaved strangely.
5 cases that behaved the same way:

Script output showed a conflict it could not recover from.
"git status" showed changes not staged for commit
the History view in Eclipse showed a changeset that was resumed, but this delivery had not been converted to a commit in the Git repo's history yet
I manually resolved the conflict in Eclipse
"git config --replace-all user.name 'My Users Name'"
"git config --replace.all user.email myusersemailaddress"
"git add -A"
"git commit -m "myComment" --date "myDate" --author="My Users Name "
"git status" returned "nothing to commit, working directory clean"
I restarted the script
Script output did NOT show "The following resources had uncommitted changes and were overwritten."

1 case that behaved strangely:

Script output showed a conflict it could not recover from.
"git status" showed "nothing to commit, working directory clean"
the History view in Eclipse showed a changeset that was resumed, but this delivery had not been converted to a commit in the Git repo's history yet
I manually resolved the conflict in Eclipse
"git config --replace-all user.name 'My Users Name'"
"git config --replace.all user.email myusersemailaddress"
"git add -A"
"git commit -m "myComment" --date "myDate" --author="My Users Name "
"git status" returned "nothing to commit, working directory clean"
The commit was not made as Git thinks there is nothing to commit.
I restarted the script
Script output DID show "The following resources had uncommitted changes and were overwritten."
I can't figure out why Git thought there was nothing to commit in this case.  Luckily this was after the branch point, so it did not create a problem when the branch was rebased.  Was it user error and I was somehow running git status on the wrong branch?

I've asked about the changes being overwritten in https://jazz.net/forum/questions/198772/what-causes-the-message-the-following-resources-had-uncommitted-changes-and-were-overwritten-to-be-displayed

"git config --replace-all user.name 'My Users Name'"
"git config --replace.all user.email myusersemailaddress"

These two are not really necessary but they wont hurt as well. :)
Usually I do a git add -A (mostly just "." instead of -A) and then copy the commit command from the output of the rtc2git (last executed command... appropriate git command). The same like you described.
Do I understand right, that until now you didnt figured out what caused to have some missing files? Something needs to make them disappear....
I still think the checkout/branch does revert them.... Could you test this somehow?
Neverthless I think im going to add a condition when resuming, that you need to have a clean branch. Probably I just call this method: https://github.com/WtfJoke/rtc2git/blob/develop/rtcFunctions.py#L212 (after renaming the method of course :smile: )

Script output DID show "The following resources had uncommitted changes and were overwritten."

If you remove the --force (in load) or --overwrite-uncommited (in other commands like set component) you might be able to figure out why this message gets displayed

I just reread through this entire thread and realized you asked me to run "git stash -list."  I was able to run "git stash list" and I am seeing WIP listed.  I initially added the "stash" command for when the script was switching branches.  Since it's not doing that anymore, do you think I should remove it?  Do you think that's causing problems?

Do I understand right, that until now you didnt figured out what caused to have some missing files?
I'm not sure what you mean?  I never had missing files--some of my files were missing updates to their content.

some of my files were missing updates to their content.

Yeah I meant that. Are those missing updates in one of your stashes?
Just due the fact, that the current version doesnt support multiple stream I think im going to delete that stash command before the checkout. User probably doesnt even realize something is stashed, I think its better that the checkout fails in this case.

Unfortunately, I didn't keep good enough notes to remember which commit had the missing content, but it's very likely.

I think im going to delete that stash command before the checkout

I think im going to add a condition when resuming, that you need to have a clean branch.

I implemented these two changes. Im pretty sure, with these there shouldnt be any loose changes or "missed" commits.
As usual, in case you hit this issue with those changes again, let me know and reopen this issue. :)


Another (URGENT; sorry!) update to Financial Access blog post

Sudha,
So sorry to do this again. We found an error in the blog post: https://acl2020.org/blog/increasing-financial-accessibility/. Since it concerns the Sponsors, we want to fix it ASAP. Could you please make the following change in the last para:
"financial subsidies to more than 80 conference participants." ---> "financial subsidies to more than 80 conference participants and writing support to over a thousand authors."
I have updated the original doc here, if you want to refer: https://docs.google.com/document/d/1uosxMoeWuHMhc8Sf5VQfQgKfHozEghyIZwbCqXCc_j0/edit?ts=5ef3b3d4#
I also noticed in the published blog post that there is a huge gap between the Figures and corresponding captions --- it is hard to tell that it is the Figure caption. Is there a way you can reduce it? Not a big deal if it is too much effort.
Vinod

@vinodkpg  I have updated the text in the blog https://acl2020.org/blog/increasing-financial-accessibility/
I can't seem to figure out how to reduce the gap. But hopefully the 'Figure 1' and "Figure 2" in the beginning of the caption will help people know which caption is for which image. Sorry about this. Only if I had more time.. :)

Thanks a million, Sudha!!! Don't worry about the Figure captions :)


Add support for changing shapes from crop view toolbar

It would be great to have a way to change the shape from the crop view toolbar, just like we can change the ratios. For example, tapping on the 'shape' button in the toolbar would bring up a list of shapes, and tapping one would change the crop shape. This list of shapes could be set in the config, just in case the programmer doesn't want to show the heart or star in the list.
I had a go at this, but didn't get very far due to time constraints and limited knowledge of the codebase. Adding this enhancement request in case somebody else wants to have a go at this.

Good suggestion! I can add this feature in the next release.

Awesome!! Something else I was toying with was adding a slider for the corner radius when .roundedRect is selected, and hiding this slider when a different shape is selected. Not sure if that's something worth adding too.

I will think about it. Maybe I just expose some APIs to allow user to add extra controls. 🤔

@roddymunro
I know this issue has been here for a long time. Now when I check it again, I think there might not be many people having this requirement. Also you can always provide crop shape options when creating CropViewController, like the one demo in the Example project

For adding a slider for the corner radius, you can always do it in your own UIs.
So I decide to close this issue for now. You can reopen it anytime if you want to discuss more.


Implemented fuzzy search #135

Changes Description
Revamped icon search functionality with an advanced fuzzy search algorithm that vastly improves search
accuracy and delivers better results. This optimized solution replaces the traditional search method, which
couldn't handle misspellings or partial matches effectively. The new algorithm utilizes Monge-Elkan Algorithm, allowing users to find
the exact icon they need quickly and effortlessly.
NOTES
The match algorithm uses default value of THRESHOLD to be 0.8, which is fairly optimal to keep unnecessary clutter at bay, while maintaining context. with search text. If you want to be more pedantic with the search, then try increasing the threshold value to around 0.85 to 0.90.
REFERENCES
To know more about Monge-Elkan Algorithm, refer linked references below:
https://link.springer.com/chapter/10.1007/978-3-642-00382-0_45
https://anhaidgroup.github.io/py_stringmatching/v0.3.x/MongeElkan.html
https://cs.stackexchange.com/questions/32530/a-reference-for-pseudocode-for-monge-elkan-algorithm
Screenshots

 Final Output

Initial Output

Fixes #135

@monarxxjain i am very much impressed with your PR. Can you take a pull and recheck if it's still working fine?

Fuzzy search implementation seems to work fine. Apart from some UI bugs in navbar and hero section, everything seems to work fine! However, those bugs are in the upstream repo itself, so nothing to be concerned of.
However, one minor bug introduced due to #173,  No result found h4 tag is shown, even even element already exists.
https://github.com/Bookingjini-Labs/bookingjini-icons/blame/63735c0894b64fb1cd9890c233c51f2ed48ba0d9/website/index.html#L140

Screenshot

Fixed that in last commit :-)


PROPERTY_VALUE_NOT_ALLOWED

hey
when adding "Brand" is getting this error
raise CallrException(data["error"]["message"], data["error"]["code"])
callr.callr.CallrException: ('PROPERTY_VALUE_NOT_ALLOWED [from]', -32602)

is accept only SMS as sender so far
Thank you

Hello,
Please send support requests to<EMAIL_ADDRESS>Regards


contact service /controller_manager/load_controller

when i run my launch file : ros2 launch yass_description launch_sim.launch.py
PS : i try the same code the past week and every thing was okay
i forget the last week like i said the launch file was normally work but before i launch the launch file i was firstly i launch gazebo server manually by this ros2 launch gazebo_ros gzserver.launch.py
i get this error
[INFO] [launch]: All log files can be found below /home/bakir/.ros/log/2022-12-08-21-47-16-356515-bakir-31434 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [gzserver-1]: process started with pid [31435] [INFO] [gzclient-2]: process started with pid [31437] [INFO] [robot_state_publisher-3]: process started with pid [31439] [INFO] [spawn_entity.py-4]: process started with pid [31441] [robot_state_publisher-3] Link chassis had 3 children [robot_state_publisher-3] Link camera_link had 1 children [robot_state_publisher-3] Link camera_link_optical had 0 children [robot_state_publisher-3] Link caster_wheel had 0 children [robot_state_publisher-3] Link laser_frame had 0 children [robot_state_publisher-3] Link left_wheel had 0 children [robot_state_publisher-3] Link right_wheel had 0 children [robot_state_publisher-3] [INFO] [1670532439.275094272] [robot_state_publisher]: got segment base_link [robot_state_publisher-3] [INFO] [1670532439.276391190] [robot_state_publisher]: got segment camera_link [robot_state_publisher-3] [INFO] [1670532439.276466972] [robot_state_publisher]: got segment camera_link_optical [robot_state_publisher-3] [INFO] [1670532439.276511764] [robot_state_publisher]: got segment caster_wheel [robot_state_publisher-3] [INFO] [1670532439.276546880] [robot_state_publisher]: got segment chassis [robot_state_publisher-3] [INFO] [1670532439.276582165] [robot_state_publisher]: got segment laser_frame [robot_state_publisher-3] [INFO] [1670532439.276619167] [robot_state_publisher]: got segment left_wheel [robot_state_publisher-3] [INFO] [1670532439.276655215] [robot_state_publisher]: got segment right_wheel [spawn_entity.py-4] [INFO] [1670532441.504195779] [spawn_entity]: Spawn Entity started [spawn_entity.py-4] [INFO] [1670532441.512939750] [spawn_entity]: Loading entity published on topic /robot_description [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead. [spawn_entity.py-4]   warnings.warn( [spawn_entity.py-4] [INFO] [1670532441.540668685] [spawn_entity]: Waiting for entity xml on /robot_description [spawn_entity.py-4] [INFO] [1670532442.305614442] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30 [spawn_entity.py-4] [INFO] [1670532442.314110482] [spawn_entity]: Waiting for service /spawn_entity [spawn_entity.py-4] [INFO] [1670532445.398296029] [spawn_entity]: Calling service /spawn_entity [gzserver-1] [INFO] [1670532449.102033277] [camera_controller]: Publishing camera info to [/camera/camera_info] [spawn_entity.py-4] [INFO] [1670532449.182340765] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [myboot] [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 31441] [INFO] [ros2-5]: process started with pid [31545] [ros2-5] Could not contact service /controller_manager/load_controller [ERROR] [ros2-5]: process has died [pid 31545, exit code 1, cmd 'ros2 control load_controller --set-state active joint_state_broadcaster']. [INFO] [ros2-6]: process started with pid [31598] [ros2-6] Could not contact service /controller_manager/load_controller [ERROR] [ros2-6]: process has died [pid 31598, exit code 1, cmd 'ros2 control load_controller --set-state active diff_drive_base_controller'].
so i think the error was in causes of late to contact service /controller_manager/load_controller
if you need any additional information i will give it for you
may laptop in think-pad i5-5300u with 8gb in RAM i have no graphic card

I suggest you look at how we do things in ros2_control_demos and check your launch files and URDFs against those examples


[Outlook] (typo) Update term from host to client

Docs Build status updates of commit 3fe84fb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/outlook/compare-outlook-add-in-support-in-outlook-for-mac.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Replace exported.Acknowledgement with RecvPacketResult type

Thank you @webmaster128 for the valuable feedback!
Summary
Replace the exported.Acknowledgement interface with a concrete RecvPacketResult type.
Problem Definition
There are multiple references to Acknowledgement which can be confusing. They were each designed at different instances which is why there tends to be a naming overlap.
The concrete Acknowledgement type in generated into channel types is actually a recommended acknowledgement and is not required to be used.
The exported.Acknowledgement interface is simply an interface for managing OnRecvPacket as pointed out by @webmaster128 offline.
With the 05-port router refactor, core IBC will need a way to distinguish between applications which are using async acknowledgements and which don't use an acknowledgement at all. Currently async acks are indicated by returning nil (which isn't necessarily intuitive)
Proposal
Replace the exported.Acknowledgement interface with a RecvPacketResult type:
type RecvPacketResult struct {
    Status             RecvPacketStatus
    Acknowledgement    []byte
}

// enums
type RecvPacketStatus uint32

const (
    SUCCESS RecvPacketStatus = 0;
    FAILURE RecvPacketStatus = 1;
    ASYNC   RecvPacketStatus = 2;
)

We can use proto or regular go definitions. Exact naming and type structure can be changed, I just chose a starting point.
The OnRecvPacket interface:
    OnRecvPacket(
        ctx sdk.Context,
        channelVersion string,
        packet channeltypes.Packet,
        relayer sdk.AccAddress,
    ) exported.RecvPacketResult

Usage:
        if data.HasForwarding() {
-               // NOTE: acknowledgement will be written asynchronously
-               return nil
+               return exported.RecvPacketResult{
+                       Status: exported.ASYNC,
+               }
        }

        // NOTE: acknowledgement will be written synchronously during IBC handler execution.
-       return ack
+       return exported.RecvPacketResult{
+               Status:          exported.SUCCESS,
+               Acknowledgement: ack.Bytes(),
+       }
 }

In msg server, something like:
-       ack := cbs.OnRecvPacket(cacheCtx, channelVersion, msg.Packet, relayer)
-       if ack == nil || ack.Success() {
+       res := cbs.OnRecvPacket(cacheCtx, channelVersion, msg.Packet, relayer)
+       if res.Status == exported.SUCCESS || res.Status == exported.ASYNC {

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

in msg_server suggested changes we should also break the WriteAcknowledgement() interface to just accept []byte instead of the ack interface.
@@ -465,8 +466,8 @@ func (k *Keeper) RecvPacket(goCtx context.Context, msg *channeltypes.MsgRecvPack
        //
        // Cache context so that we may discard state changes from callback if the acknowledgement is unsuccessful.
        cacheCtx, writeFn = ctx.CacheContext()
-       ack := cbs.OnRecvPacket(cacheCtx, channelVersion, msg.Packet, relayer)
-       if ack == nil || ack.Success() {
+       res := cbs.OnRecvPacket(cacheCtx, channelVersion, msg.Packet, relayer)
+       if res.Status == exported.ASYNC || res.Status == exported.SUCCESS {
                // write application state changes for asynchronous and successful acknowledgements
                writeFn()
        } else {
@@ -477,8 +478,8 @@ func (k *Keeper) RecvPacket(goCtx context.Context, msg *channeltypes.MsgRecvPack
        // Set packet acknowledgement only if the acknowledgement is not nil.
        // NOTE: IBC applications modules may call the WriteAcknowledgement asynchronously if the
        // acknowledgement is nil.
-       if ack != nil {
-               if err := k.ChannelKeeper.WriteAcknowledgement(ctx, msg.Packet, ack); err != nil {
+       if res.Acknowledgement != nil {
+               if err := k.ChannelKeeper.WriteAcknowledgement(ctx, msg.Packet, res.Acknowledgement); err != nil {
                        return nil, err
                }
        }

I think this simplifies and actually becomes less code as well! 🚀
 func (k *Keeper) WriteAcknowledgement(
        ctx sdk.Context,
        packet exported.PacketI,
-       acknowledgement exported.Acknowledgement,
+       acknowledgement []byte,
 ) error {
        channel, found := k.GetChannel(ctx, packet.GetDestPort(), packet.GetDestChannel())
        if !found {
@@ -304,19 +304,14 @@ func (k *Keeper) WriteAcknowledgement(
                return types.ErrAcknowledgementExists
        }

-       if acknowledgement == nil {
-               return errorsmod.Wrap(types.ErrInvalidAcknowledgement, "acknowledgement cannot be nil")
-       }
-
-       bz := acknowledgement.Acknowledgement()
-       if len(bz) == 0 {
+       if len(acknowledgement) == 0 {
                return errorsmod.Wrap(types.ErrInvalidAcknowledgement, "acknowledgement cannot be empty")
        }

        // set the acknowledgement so that it can be verified on the other side
        k.SetPacketAcknowledgement(
                ctx, packet.GetDestPort(), packet.GetDestChannel(), packet.GetSequence(),
-               types.CommitAcknowledgement(bz),
+               types.CommitAcknowledgement(acknowledgement),
        )

@damiannolan should we reopen as this got swallowed in the port router investigations?
implementation on main could close #3557


Only members under the organization can be invited after /cherry-pick-invite

I think we should use chatOps bot to reach it for community security.

If any one need it, can ask the bot self or EE help he o her.

We have fixed it in inner IM channel.


Easy to contribute

Good For Newcomers

[x] #356
[x] #345
[x] #346
[x] #370
[x] #381
[x] #343
[x] #249
[x] #162
[x] #342
[x] #322
[x] #301

Contribution guidance

(1) Left comment under the issue that you want to take

(2) Clone and compile your Flink CDC project

git clone https://github.com/your_name/flink-cdc-connectors.git
cd flink-cdc-connectors
mvn clean install -DskipTests

(3) Check to a new branch and start your work

git checkout -b my_feature
-- develop and commit

(4) Push your branch to your github

git push origin my_feature

(5) Open a PR to https://github.com/ververica/flink-cdc-connectors

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


measure time for each example

add 15ms or 1s050 after L=123 I=27, in grey too.

Maybe move 15ms before `L= and I=.
start measuring after the "before each"es and stop measuring before the "after each"es

use the it() return value


Display subreddit and make it clickable (together with user)

[ ] Pass subreddit info in result type (name it generic stuff like subSource or sth)
[ ] UI first pass (@frizensami) - on top of the
[ ] UI second pass (@yewsiang)


#[serde(alias = "somename")] stopped working after 0.6

After when going from 0.5 to 0.6 it looks like alias is broken
Using:
wasm-bindgen = "0.2.91"
serde = { version = "1.0.196", features = ["derive"] }
serde_json = "1.0.113"
serde-wasm-bindgen = "0.6.3" //0.5 works... fails if i go higher
console_error_panic_hook="0.1.7"

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum FilterAction {
    Append,
    Remove,
    Keep,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum FilterType {
    Standard,
    Boundingbox,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct FilterInput {
    #[serde(alias = "filtertype")]
    pub filter_action: FilterAction,
    #[serde(alias = "type")]
    pub filter_type: FilterType,
    ...

This is my input

get error:
panicked at src\lib.rs:228:58:
called `Result::unwrap()` on an `Err` value: Error(JsValue(Error: unknown variant `Append`, expected `Standard` or `Boundingbox`
Error: unknown variant `Append`, expected `Standard` or `Boundingbox`

Its like its setting values from json filtertype to rust filter_type when it should have used json type.
Is it a bug or have I just been lucky it been working ?

Hm... the last change that transitioned from 0.5 to 0.6 was #40, but I don't see why it would cause this particular breakage.

To be clear, does it break on transition to any 0.6 or only 0.6.3? Did you try pinning exact versions so that Cargo doesn't fetch the latest 0.6.x?

I'll do a new try later this week, so I know better when it breaks. I can try and create a simple sample repo with the bug. 👍

@RReverser
Made a small sample containing 0.5.0(wasm1) and 0.6.0 (wasm2)
https://github.com/vegarringdal/wasm_test

You can see from the Cargo.lock that wasm2 is not 0.6.0 but 0.6.3: https://github.com/vegarringdal/wasm_test/blob/9238388d3217b95fd3cd86bc4a6598c05af72c63/wasm2/Cargo.lock#L87-L89
That's what I suspected and why I mentioned pinning exact version to narrow it down further. I believe you can do that by specifying version as =0.6.0 instead of 0.6.0.

Ill have a new look, though it would use the version I had here
https://github.com/vegarringdal/wasm_test/blob/9238388d3217b95fd3cd86bc4a6598c05af72c63/wasm2/Cargo.toml#L14

Yeah, no, Cargo auto-updates the version to whatever is compatible according to semver. It's usually the right choice, but not very helpful when debugging an issue.

I have clearly missed this part 😂

Error is after version 0.6.2, update repo

Error is after version 0.6.2, update repo

What do you mean by "update repo"? Looks like you didn't push any new changes?

That said, if it's 0.6.2+ rather than after 0.6.2 (0.6.3+), then I suspect it might be due to this change https://github.com/RReverser/serde-wasm-bindgen/commit/ce7669e1d175d999a733497e87152f55808ee8f2

HI
I pushed this change :-)
https://github.com/vegarringdal/wasm_test/commit/0b2fa8a8e28f78150b2a2737fe3c6785164d2241

That said, if it's 0.6.2+ rather than after 0.6.2 (0.6.3+), then I suspect it might be due to this change > > https://github.com/RReverser/serde-wasm-bindgen/commit/ce7669e1d175d999a733497e87152f55808ee8f2

Not sure if Serde supports field indices in combination with aliases.
I dont know :-)

Fixed in 0.6.4. Thanks for the report!

Thank you.


potential pitfall: PDA constraint check doesn't validate bump against findProgramAddress

Suppose we have the following accounts struct for some kind of initialization instruction in a program:
#[derive(Accounts)]
#[instruction(authority_bump: u8)]
pub struct Initialize<'info> {
    #[account(init, payer=payer, space = <space>)]
    state: Account<'info, State>,

    #[account(
        seeds = [
            state.key().as_ref()
        ],
        bump = authority_bump,
    )]
    authority: AccountInfo<'info>,

    payer: Signer<'info>,
    system_program: Program<'info, System>,
}

and suppose the state address is such that the authority PDA can be derived with say 254 and 250 bump seeds.
The #[account( seeds = [ state.key().as_ref() ], bump = authority_bump )] constraint check will successfully validate for authority addresses derived from any of these seeds.
I believe this is dangerous because most users will assume that the check will assert that the bump is the same as the one from calling findProgramAddress. This would break frontend client assumptions because now the authority is not "stateless" anymore as the clients can't deterministically derive it by using findProgramAddress but would first have to fetch the correct bump seed from the state account.
I think the default should be that the #[account( seeds = [ state.key().as_ref() ], bump = authority_bump )] constraint check validates the seed against findProgramAddress as this is the most common use case and what most developers will expect.
For the cases where other bump seeds can be valid there we could have a flag (e.g. any_pda_is_valid):
    #[account(
        seeds = [
            state.key().as_ref()
        ],
        bump = authority_bump,
        any_pda_is_valid,
    )]

The current behavior is that find_program_address is used to validate the bump in two cases.

Anytime the account is initialized. E.g., #[account(init, seeds = <>, bump = <>)]
Anytime the bump value is omitted. E.g., #[account(seeds = <>, bump)]

While create_program_address is used in the third case.

#[account(seeds = <>, bump = <>)]

The rationale here is that find_program_address is expensive, and so we want to avoid using it whenever possible. When 1) is used,  #[account(seeds = <>, bump = <>)] is safe because it can only be initialized with a find_program_address check. For 2), it's safe since it uses find_program_address. For 3), without init, it's not necessarily the case that the bump is the same as the one used by find_program_address, and so the best practice is to store the bump in the account on creation, which is what one should do with non Anchor programs.
In short, I believe the current API satisfies your use case. To run find_program_address every time, use option 2).

I didn't know you can call it with #[account(seeds = <>, bump)]. I've tried with #[account(seeds = <>)] but it complained so I assumed the bump needs to be there.
But in any case, 2. doesn't fully satisfy my use case because I want to store the bump in the state during initialization so I can validate the authority in other instructions by loading it from there and doing the cheaper create check. This is not convenient because if I use 2., during initialize, I don't know what the bump is from within the instruction (it's not passed as an argument in this case). So I would again have to run findProgramAddress to retrieve the bump which is a waste.
The only other way I could do it is just forgo the #[account()] macro on the address and do the find from the instruction but seems like an anti pattern since the purpose of the whole accounts structs is to not to have to do account validation from instruction.
I'd argue that this use case is too common to not have it be default vs. the create_program_address style check which I consider to more of a rare/special use case (there isn't even a default method find PDAs beyond the first bump).
Also, the current implementation is a bit confusing IMO with all the special cases seeds = <>, bump, seeds = <>, bump =<>, these two with combination with init... It's not at all obvious when it will do the find check vs the create and it creates a bit of an mental overhead when reading the contract trying to remember which is which.
With the any_pda_is_valid approach it would be much more streamlined - if it's present, do the create check, if it's not do the find check, and it would be consistent accross init and no init flags. Much more intuitive IMO.

@armaniferrante @kklas
regarding 1) from armani: are you sure find_program_address is always used when initializing? In fact, in the example you used, I think find_program_address is not used https://github.com/project-serum/anchor/blob/11764a1fa5ef9daaedd8fcca81e3059d78fd81fa/lang/syn/src/codegen/accounts/constraints.rs#L314
So with the above in mind I think it's actually simpler than armani described. bump = <> is not a check but an assigment, so because we are assigning a bump, we know that create will be used. If we are not assigning a bump (just bump), find will be used. So there a just two cases and whether u use init or not has no effect on whether find or create will be used, only the existence of the bump assigment matters.
I'd prefer too if the API was #[account(seeds = <>)] instead of #[account(seeds = <>, bump)] in the case of no bump assignment. The latter is very unintuitive imo.
I agree it would be nice to have access to the result of the find call inside the program without having to call find again.

@paul-schaaf the bump check is here https://github.com/project-serum/anchor/blob/master/lang/syn/src/codegen/accounts/constraints.rs#L336-L344. It's only run on init, even if the bump value is explicitly given.

This would make intuitive sense to me. What are the reasons against this?

There's no reason to use any bump other than the one given by find_program_address (at least not that I"m aware of). And so this check is added for safety reasons, as explained in the original post. That is, without you, one could accidentally allow two different accounts to be created with two different bumps, when only one was meant to be created.

one other idea would be to forbid bump = target inside the macro when there's an also an init in the constraint. if it's always find_program_address anyway, why even give the option to pass in a target if that target has to be the result of find_program_address.
then, we can wait until a user complains that there is no option for non-chanonical seeds at which point we construct a new constraint which takes care of that (e.g. target_non_can)

To summarize my suggestion:
1. Init with find check
a) bump is passed as an instruction argument (and thus can be used inside the instruction method) - not possible with current API
    #[account(
        init,
        seeds = <>,
        bump = authority_bump,
    )]

b) bump is not passed as an argument
    #[account(
        init,
        seeds = <>
    )]

2. Init with create check
bump must be passed as an instruction argument - not possible with current API
    #[account(
        init,
        seeds = <>,
        bump = authority_bump,
        any_pda_is_valid
    )]

3. find check
a) bump is passed as an argument - not possible with current API since it will do a create check
    #[account(
        seeds = <>,
        bump = authority_bump,
    )]

b) bump is not passed as an argument
    #[account(
        seeds = <>
    )]

4. create check
bump must be passed as an argument
    #[account(
        seeds = <>,
        bump = authority_bump,
        any_pda_is_valid,
    )]

This way we have:

consistent API
most common use case as default
all init/find/create use cases covered

I just independently ran across this issue, and to my surprise and horror, a valid PDA bump after the first expected bump succeeded.  (The case above where create_program_address is used.)  If I shipped this way, then all funds that would have gone to the platform could have simply been sent to a blackhole PDA by an attacker.
After reading this thread, I searched for how this should be done and found the recommendation in: sea level attacks
#[derive(Accounts)]
#[instruction(key: u64)]
pub struct BumpSeed<'info> {
    #[account(seeds = [key.to_le_bytes().as_ref()], bump = data.bump)]
    data: Account<'info, Data>,
}

#[account]
pub struct Data {
    value: u64,
    bump: u8,
}

I had no idea that form of verification was even possible, but it does make sense now.
Something like @kklas suggestion does feel more like 'shipping a secure default' than the current API.  Though these new defaults are slower performance-wise, something like any_pda_is_valid provides that optimization later on.

The current state of this as of v0.21.0 (the next version) will be as follows

Init with a bump target, i.e. #[account(init, seeds=[...], bump = <target>)], will be a compiler error. Instead one should always use bump without a target, i.e. #[account(init, seeds=[...], bump)], which will run find_program_address. If the bump is needed one can use ctx.bumps.get("<my-account-name>"). In no cases, should the developer ever pass a bump in to instruction data.
On all other uses of #[account(seeds = [...], bump = <target>)], my comment above still holds. That is, create_program_address will be used when the <target> is provided. And find_program_address will be used without a target. In all cases, it's recommended to store the bump on the account data during init and then later use that stored bump as  a target for subsequent seeds constraints. If one does this, then all uses will be safe.

Thanks, that sound like an improvement.  So instructions will look like this to store bumps?  It would be nice if it wasn't a string lookup, but I assume there are reasons.
 pub fn instruction(
        ctx: Context<MyContext>,
    ) -> ProgramResult {
        let account_a = &mut ctx.accounts.account_a;
        account_a.bump = ctx.bumps.get("account_a");

        let account_b = &mut ctx.accounts.account_b;
        account_b.bump = ctx.bumps.get("account_b");

        Ok(())
    }

@akutruff correct (though note that .get() returns an Option<u8>). The string lookup can probably be replaced if we implement PartialEq on all the main account types.


How to open port 587 on postal to connect with mailing application?

Hello. In posta i have port 25 open.  But i need to open port 465 or 587. The reason is i need to connect smtp with sendbluster or ultramailer. Those application use local network port and local network close port 25.  Thats why i cant connect postal smtp with those applicatio.
Do anyone know how can i fo that with full process?

Connecting on other ports shouldn't be required but if you want it, you will have to use something like iptables to forward ports internally.

Connecting on other ports shouldn't be required but if you want it, you will have to use something like iptables to forward ports internally.

if i forward port 25 to 587 then will port 25 be stop? i want both port 25 and 587 open and also if i do that dont i need to configure anything in postal?

Postal can only bind to one port. Using iptables to forward the other ports to 25 means that effectively they're all open. As its part of the network configuration of the server, you don't have to configure anything in Postal.

Postal can only bind to one port. Using iptables to forward the other ports to 25 means that effectively they're all open. As its part of the network configuration of the server, you don't have to configure anything in Postal.

i forwared it by
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
sudo /sbin/iptables-save
but still port 587 not connecting with send bluster

If you ran that command, you'll see it ends with 2525 which is port 2525. If you want a different port, specify a different one.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 587
sudo /sbin/iptables-save
result is same. if you can hep i can give you my server info so you can check

If you ran that command, you'll see it ends with 2525 which is port 2525. If you want a different port, specify a different one.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 587
sudo /sbin/iptables-save
result is same. if you can hep i can give you my server info so you can check

Hello,
What's the response you get when doing:
telnet domain 587

Also did you restart the server afterwards?
postal restart

Also did you restart the server afterwards?
postal restart

yes i did. also i did too many things now and reinstall postal for need experiment for this.
but i dont thing i will get solution here. because no one replying and you are repling but not giving full things and replying in every 10 to 12 hour. i cant sit idle. so if you really want to help please give me like full coomand one by one or give your mail address. thanks

See here


pkg/kvstore: inform user when etcd gets a new LeaseID

It is useful to have the leaseID that cilium-agent got as soon it gets
a new lease.
Signed-off-by: André Martins<EMAIL_ADDRESS>

This change is

test-me-please

Coverage decreased (-0.004%) to 44.201% when pulling 361afb53fefccf4cae78d66ef216124532ad1209 on pr/print-lease-id-info into a9861d12a67254d2ff8ecea174c0c8a460dee4d4 on master.


[Concurrency] Fix default actor isolation issue in face of TaskExecutor preference

Description: The task executor API did not properly account for taking the default actor locking into account when running code on it, we just took the job and ran it without checking with the serial executor at all, which resulted in potential concurrent executions inside the actor -- violating actor isolation.
Here we change the TaskExecutor enqueue API to accept the "target" serial executor, which in practice will be either generic or a specific default actor, and coordinate with it when we perform a runSynchronously.
The SE proposal needs to be amended to showcase this new API, however without this change we are introducing races so we must do this before the API is stable.
Scope/Impact: Without this patch, task executors circumvent default actor locking and break actor isolation -- potentially allowing concurrent execution on given actor.
Risk: Low, adjusts code to take a path including locking the actor as it should have. No ABI or API impact.
Testing: Added tests verifying the situations this fixes
Reviewed by: @rjmccall
Original PR: https://github.com/swiftlang/swift/pull/74658
Radar: rdar://130337134

@swift-ci please test


Show issue resolution in header

Features

adds reference to PR/commit that closed the current issue/PR
clicking the label will scroll to the event
clicking the reference will visit it

Notes

I ended up leaving it red (@hkdobrev will love this) because this can also appear on RED PRs that are closed by other merged PRs
Sadly this has to wait for the whole discussion to load, which might be a few seconds later on long discussions.

 I feel that we should start handling this directly. Do you think it's a good idea to detect it and avoid triggering all the features again? The only concern is for the features that have a "unload" feature that listen to the github-injection event to remove the listeners.


fix doing multiple detach in ebpfsyncer

Close() function takecare of doing the detach no need to use netlink to do another detach.
Probably old problem was related to some of race
issues in the controller however if it came again
we should fix it and not doing this.
changes passed UT, e2e and ebpfsyncer ut
go test -exec sudo ./...
ok      github.com/openshift/ingress-node-firewall/pkg/ebpfsyncer       47.630s

manual e2e test run results
JUnit report was created: /tmp/test_e2e_logs/e2e_junit.xml

Ran 11 of 11 Specs in 175.744 seconds
SUCCESS! -- 11 Passed | 0 Failed | 0 Pending | 0 Skipped

Signed-off-by: Mohamed Mahmoud<EMAIL_ADDRESS>

/assign @martinkennelly

/lgtm

/lgtm

/override ci/prow/ingress-node-firewall-e2e-metal-ipi


feat(design): add a media-gallery component

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Currently, the API of the image-gallery is really awkward. This replaces it with a much more clear API.
Fixes: #439
What is the new behavior?
This creates a much more simple API that allows a user to handle component behaviors.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
Eventually, we will fully replace the image gallery with this component.

@lderrickable love the change, makes sense to me.

@lderrickable would you mind also picking up keyboard/accesibility support on this?

@lderrickable this PR looks good to me. Needs squash with all co-authors names.

with all co-authors names.

What does that mean?

with all co-authors names.

What does that mean?

https://docs.github.com/en/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors
I've been trying to do this more and more of late, to properly attribute the authors of a piece of code, as most of the time, code (especially on a shared branch like this) isn't the work of one single individual.

ok, do you want to approve and I can add it to the squash commit?

/azp run

/azp run


Feature/merge trajectories

Move trajectory merging from QuantumCollocation direct_sums into NamedTrajectories.
This will help with initialization (currently, there is no well-defined choice for what to batch on in initialization). This will allow for trajectory initialization routines to initialize single trajectory objects, which can be merged after the fact).

Version bump is needed, which will inform QC compatibility update. Ref placeholder to QC PR


python310Packages.aiobiketrax: 0.2.0 -> 0.2.1

Description of changes
https://github.com/basilfx/aiobiketrax/blob/master/CHANGELOG.md#v021

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 188430 run on x86_64-linux 1

2 packages built:

python310Packages.aiobiketrax
python39Packages.aiobiketrax


Allow sideloading to check for uniqueness using other identifiers than id

To check if a sideloaded resource already exists in the global scope, it should be allowed to check using something else than id

Hi. I use a preexisting database with uuid primary indexes like b504fabe-5782-4b62-89bd-f33f1d78449a instead of numeric indexes.
Currently Optimus is hardcoded to use index name id and index type of integer.
It's very easy to fix.
So lines like return (int) Utility::getProperty($entry, 'id'); (e.g. https://github.com/esbenp/architect/blob/master/src/ModeResolver/IdsModeResolver.php#L41 ) should be changed to return Utility::getProperty($entry, $entry->getKeyName());
And lines like
            return $objectOrArray->{$property};
e.g. https://github.com/esbenp/architect/blob/master/src/Utility.php#L21
should be replaced with
            return $objectOrArray->getAttributes()[$property];
I don't understand why the (int) is a must in your code. Anyway, we can define it by the Model property 	$incrementing
Is there any chance you are going to fix it soon?
Thank you very much!

@gruz you can do a pull request ;P

Submitted a pull request #5
I don't think it covers all possible situations, I know laravel not well enough. But in my case it works and I believe is a good start for your to fix other possible issues here.

#5


Union of unions doesn't work as I expected

I am trying to create a union of union types, and it doesn't work as I expect it to.
/* @flow */

type Foo = 'foo' | 'stuff'
type Bar = 'bar'

type Status = Foo | Bar

type Thingy = {
  id: string;
  status: Status
}

function doStuff(thing: Thingy): Thingy {
  thing.status = 'bar'
  return thing
}

Running flow on this gives the following error:
/Users/jergason/code/flow-test/durp.js:14:18,22: string
This type is incompatible with
/Users/jergason/code/flow-test/durp.js:3:12,26: union type

I expected to be able to create a union out of two union types, but it appears the Status type doesn't pick up values from the Bar type. If I change the code to thing.status = 'foo' or thing.status = 'stuff' it works. If I change the types to:
type Foo = 'foo'
type Bar = 'bar' | 'baz'

then I can assign thing.status = 'bar' or thing.status = 'baz' without problem. It looks like it is only happening when the first type in the union is also a union.
This is on flow 0.12 on Mac OS X.

Yeah, I can reproduce this too. Here's a slightly simpler test case:
/* @flow */

// no eror
var ok: ('foo' | 'bar') | 'baz' = 'baz'

type FooBar = 'foo' | 'bar'
type Baz = 'baz'
type FooBarBaz = FooBar | Baz

// error
var bad: FooBarBaz = 'baz'

/*
test.js|11 col 22 error|  string
|| This type is incompatible with
test.js|6 col 15 error|  union type
||
test.js|7 col 12 error|  string literal baz
|| This type is incompatible with
test.js|6 col 15 error|  union type
||
*/

Just chiming in here to "vote" for this one to get fixed

Ran into the same thing trying to use a union to represent the different action types in Flux:
type FooActionTypes = {
  type: 'foo/1';
} | {
  type: 'foo/2';
};

type BarActionTypes = {
  type: 'bar/1';
} | {
  type: 'bar/2';
} | {
  type: 'bar/3';
};

type Action =  FooActionTypes | BarActionTypes;

function handle(action: Action) {}

// this call errors with something like "Object literal type incompatible with FooActionTypes union type"
handle({
  type: 'bar/1'
});

handle({
  type: 'foo/1'
});

It'd be nice if the docs advised against nesting unions and intersections until this is fixed. It's an easy trap to fall into and it costs a few hours.

Is there an ongoing work to fix this that I can follow ?

I just ran into this issue and it appeared to only surface once I split types across files.

This issue renders flow extremely clunky and essentially unusable for our type system, and we're thinking about switching to TypeScript for this reason alone...

Yeah we also started considering typescript as an alternative as we keep hitting this issue over and over, although migration seems like a lot of work so for now we've decided to not type check and hopefully this will be resolved soonish.
@samwgoldman BTW your pull #583 does seem to resolve the issue (at least all occasions we've run into). You did say your fix was pretty hacky on IRC, but do you thing it could still land as temporary fix ? I'm sure users of flow would much rather have a hacky fix for this issue than it being just broken.

I should comment that we have also started maintaining a separate build of flow with #583, and it works for everything we care about.

@Gozala et al FYI there are a couple of issues in play here - first has to do with nested unions, second with unions that include externally defined types. Fixes in the works for both. What prevented us from taking @samwgoldman 's nesting fix as-is was (as he mentioned) the regression in error message quality, but we're on it. Thanks for your patience!


Annotations are not saved in desktop build(s) version 2.0

While testing the AppImage, I discovered that the "Export" function of Annotations don't work. I am guessing it has got to do with the change from Tauri 1 and Tauri v2 change in the API of allowing files to be saved.

Tested as fixed in https://github.com/tecoholic/ner-annotator/releases/tag/v2.1.0


Typed Arrays and Dictionaries without initial value are shared

Godot version:
3.1 8dd00ed
OS/device including version:
Windows 10
Issue description:
When I append value to array, other array have this value inside.
This is broken code
extends Node2D

var offerts_parameters_array : Array
var offerts_array : Array

func _ready() -> void:
	offerts_parameters_array.resize(0)
	offerts_array.resize(0)

	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append("SOPA")
	offerts_array.append(["OA"])
	offerts_array.append(["OA"])
	offerts_array.append("SOA")
	print(offerts_parameters_array)
	print(offerts_array)

and this is Output
[[OPA], [OPA], [OPA], SOPA, [OA], [OA], SOA]
[[OPA], [OPA], [OPA], SOPA, [OA], [OA], SOA]

When I didn't use typed GDScript then it seems to work correct:
extends Node2D

var offerts_parameters_array = []
var offerts_array = []

func _ready() -> void:
	offerts_parameters_array.resize(0)
	offerts_array.resize(0)

	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append(["OPA"])
	offerts_parameters_array.append("SOPA")
	offerts_array.append(["OA"])
	offerts_array.append(["OA"])
	offerts_array.append("SOA")
	print(offerts_parameters_array)
	print(offerts_array)

and this is Output
[[OPA], [OPA], [OPA], SOPA]
[[OA], [OA], SOA]

Looks like decorating with export (Array) also causes the break to occur.

Hmm, Im wondering if the default value of
var array: Array should actually be null and cause a crash if not initialized. it would help to enforce giving a default value and would avoid the bug all together.

That might require more changes, since you aren't allowed to assign null to variables statically typed as built-in types that don't extend Object (like Array or Dictionary).

I think typed variables should require an initial value, that's really what "var array: Array should actually be null and cause a crash if not initialized." is trying to get you to infer, but I think it's better to be explicit and tell someone "This isn't going to work as expected without an initial value".

Yeah, I misunderstood.
Like you said, better to have an explicit warning.

As seen in #27997, it seems to be the same for Dictionary.

Looks like decorating with export (Array) also causes the break to occur even when the variable isn't Typed.

This still seems to be the case in v3.3.3.stable.official [b973f997f]

This still appears to be occurring in v3.5.2.stable.official [170ba337a] as well.


Support environment variables in .code-workspace files

The C/C++ extension has a nice feature where in its c_cpp_properties.json you can interpolate environment variables (e.g. ${env:USER_SPECIFIC_PATH}/some/dependency). It would be great to incorporate this for .code-workspace files too (and any other settings file parsing that doesn't currently support it).

There is https://github.com/Microsoft/vscode/issues/44755, but I guess you talk about settings in general. I am quite sure we have a duplicate for this already @sandy081

Duplicate of #2809


build: detect which namespace gflags uses

gflags 2.0 and earlier used the google namespace while versions 2.1
and 2.1.1 switch to the gflags namespace, breaking both API and ABI
compatibility. Then 2.1.2 restores 2.0 ABI compatibility and provides a
GFLAGS_NAMESPACE macro.  Considering a year passed between 2.1.1 and
2.1.2 and the latter still isn't marked stable on Gentoo we define the
macro if it isn't provided.
Use of pkg-config has been removed because 2.1 and later dropped
libgflags.pc in the process of moving to cmake. :(
(note: we will be sticking with gflags 2.0 for now but this has been kicking around in my local tree so long I may as well just commit it)

lgtm


update to libraries

As is the bundled solid.js files outputs "ReferenceError: require is not defined" on page load, I believe function require() is not defined in the file since i did see it defined in solid-0.14.1.min.js and now my demo works :)

Oops nevermind.


Invalid Header Value

I am using Ubuntu 16.04. When launching, it gets to the end of the config stage and says that the Header Value is invalid. I suspect that it's adding a new line at the end of the key, but I have checked a million times and there is no new line at the end of the apikey.txt file.
Here's the full traceback:

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "main.py", line 426, in run
self.generate_linode()
File "main.py", line 143, in generate_linode
region = client.get_regions()[3]
File "/home/audrey/.local/lib/python2.7/site-packages/linode/linode_client.py", line 518, in get_regions
return self._get_and_filter(Region, *filters)
File "/home/audrey/.local/lib/python2.7/site-packages/linode/linode_client.py", line 658, in _get_and_filter
return self._get_objects(obj_type.api_list(), obj_type, filters=parsed_filters)
File "/home/audrey/.local/lib/python2.7/site-packages/linode/linode_client.py", line 489, in _get_objects
response_json = self.get(endpoint, model=model, filters=filters)
File "/home/audrey/.local/lib/python2.7/site-packages/linode/linode_client.py", line 505, in get
return self._api_call(*args, method=requests.get, **kwargs)
File "/home/audrey/.local/lib/python2.7/site-packages/linode/linode_client.py", line 462, in _api_call
response = method(url, headers=headers, data=body)
File "/home/audrey/.local/lib/python2.7/site-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/home/audrey/.local/lib/python2.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/home/audrey/.local/lib/python2.7/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/home/audrey/.local/lib/python2.7/site-packages/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/home/audrey/.local/lib/python2.7/site-packages/requests/adapters.py", line 440, in send
timeout=timeout
File "/home/audrey/.local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/home/audrey/.local/lib/python2.7/site-packages/urllib3/connectionpool.py", line 357, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python2.7/httplib.py", line 1057, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1096, in _send_request
self.putheader(hdr, value)
File "/usr/lib/python2.7/httplib.py", line 1035, in putheader
raise ValueError('Invalid header value %r' % (one_value,))
ValueError: Invalid header value 'Bearer 296d3[snip, API key]5bcfe7\n'

On the last line of that traceback it says you have a /n character at the end of the api key.
Open apikey.txt and check to make sure the 64 character api key is all that's in the file (no new lines or spaces).
I just pushed a commit to check for /n characters in the apikey.txt file and if so remove them.
Please open another issue if the problem persists.


withNativePhpClassesAdded does not honor null or nativeclass

If I use the json mapper with "withNativePhpClassesAdded" than the defaultfactory is creating the native $type with a possible null value
I have a constructor like this:
    public function __construct(
        public readonly ?DateTime $dateTime,
    ) {
    }

The method in the factory is called with every value => results in error
        $factory->addFactory(\DateTime::class, static function (string $value) {
            return new \DateTime($value);
        });

I am not sure about the structure of the factories ... but it seems that a call with a null value is not needed here

This seems to be an issue with the Constructor middleware. In hindsight I believe the default factory should benefit from the logix inside the PropertyMapper. Some refactoring is required and might take some more time.
Suggested test case
public function testCanHandleCustomConstructorWithNullableDateTime(): void
    {
        $factoryRegistry = FactoryRegistry::withNativePhpClassesAdded();
        $mapper = JsonMapperBuilder::new()
            ->withDocBlockAnnotationsMiddleware()
            ->withObjectConstructorMiddleware($factoryRegistry)
            ->withPropertyMapper(new PropertyMapper($factoryRegistry))
            ->build();

        $json = (object) [
            'date' => null,
        ];

        $result = $mapper->mapToClass($json, PopoWithConstructor::class);

        self::assertNull($result->getDate());
    }

With
<?php

declare(strict_types=1);

namespace JsonMapper\Tests\Implementation;

use DateTimeImmutable;

class PopoWithConstructor
{
    private $date;

    public function __construct(?DateTimeImmutable $date)
    {
        $this->date = $date;
    }

    public function getDate(): ?DateTimeImmutable
    {
        return $this->date;
    }

    public function setDate(?DateTimeImmutable $date): void
    {
        $this->date = $date;
    }
}

For the native classes this workaround should work I think:
        $factory->addFactory(\DateTime::class, static function (?string $value) {
            return new \DateTime((string) $value);
        });
        $factory->addFactory(\DateTimeImmutable::class, static function (?string $value) {
            return new \DateTimeImmutable((string) $value);
        });


Buggy fixedWidth scrolling

Issue description:  I believe there is a bug in scrolling carousel on last page. It doesn't show every time a reload a page. It either doesn't scroll the last item fully visible (so it is cropped), or it sometimes add one more page, when I click "next" on last page (resulting in no movement and 5 pages in pager).
I guess it might be linked to padding on container as well - with padding, cropped last item can be seen. With no padding, pager updates to 5 on click. Sometimes the cache bugs on codepen, so be patient when changing the padding :)
Also the active "dot" in navigation is not always visible, sometimes it is hidden.
Demo link/slider setting: https://codepen.io/zipper/pen/YJJPQE
Tiny-slider version: 2.8.7, I don't have the issue on my project, when 2.6 is used
Browser name && version: Latest FF, Chrome
OS name && version: Win 10

The slider pager fails eg. when no padding is used, 10 items are present and only 8 are visible. Version 2.7.4 was ok.

I think we should check these issues one by one.
I just fixed an issue which will cause the last item not fully visible in some case.


support hide options by CSVDownload component

add hide/show control to CSVDownload component

Just installed the component and first thing I wanted to do is hide the options. This would a good addition. Great job.

Thanks for comment!


Fix RenameTestCases renaming words starting with numbers and special chars

Fixes #545

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.46 :warning:

Comparison is base (5ba1c66) 96.96% compared to head (ae233da) 96.50%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #546      +/-   ##
==========================================
- Coverage   96.96%   96.50%   -0.46%
==========================================
  Files          49       49
  Lines        4840     4842       +2
==========================================
- Hits         4693     4673      -20
- Misses        147      169      +22

Impacted Files
Coverage Δ

robotidy/transformers/RenameTestCases.py
100.00% <100.00%> (ø)

... and 11 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


New project creation - builds are failing - jenkins services in a state where they cannot be scaled up or down

Create new project fails - build fails - project jar is not found:
https://jenkins-almusertest1-jenkins.8a09.starter-us-east-2.openshiftapps.com/job/almightytest/job/june16a/job/master/1/console
 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.5.2:install (default-install) on project june16a: Failed to install artifact com.example:june16a:jar:1.0.1: /root/.mvnrepository/com/example/june16a/1.0.1/june16a-1.0.1.jar (No such file or directory) -> [Help 1]
Steps to recreate:

Login to openshift.io
Create a new space
Create a new project - quickstart/Vert.X - accept all defaults

I think that the root cause of this is that the Jenkins services can not be scaled up or down, For the Jenkins service, the up/down icons are disabled.
How does the user resolve debug/resolve this issue?

@jstrachan do you have any ideas on this?

the task appears to have completed successfully, wondering if that's not your problem..

@ldimaggi Please specify the steps to reproduce.

 Failed to install artifact com.example:june16a:jar:1.0.1: /root/.mvnrepository sounds like you've run out of diskspace on the .m2 PV.  We only have 1GB per PV and the .m2 dir is mounted on one.  If you're running lots of tests then I'd say this is probably the issue.
To trash the PV (persistent volume) you need to delete the jenkins-mvn-local-repo PVC (persistent volume claim) in your jenkins namespace. I'm not sure if you manually delete the PVC and update tenant if it will be recreated, but it's worth a go.
If it fails you can always recreate it by running the following command replacing foo with your username
oc apply -f https://raw.githubusercontent.com/fabric8io/fabric8-team-components/master/jenkins-openshift/src/main/fabric8/jenkins-mvn-local-repo-pvc.yml -n foo-jenkins

Hmm...
Well - that caused a different error...   ;-)
https://jenkins-almusertest1-jenkins.8a09.starter-us-east-2.openshiftapps.com/job/almightytest/job/june17a/job/master/1/console
On Fri, Jun 16, 2017 at 4:53 PM, James Rawlings<EMAIL_ADDRESS>wrote:

Failed to install artifact com.example:june16a:jar:1.0.1:
/root/.mvnrepository sounds like you've run out of diskspace on the .m2
PV. We only have 1GB per PV and the .m2 dir is mounted on one. If you're
running lots of tests then I'd say this is probably the issue.
To trash the PV (persistent volume) you need to delete the
jenkins-mvn-local-repo PVC (persistent volume claim) in your jenkins
namespace. I'm not sure if you manually delete the PVC and update tenant if
it will be recreated, but it's worth a go.
If it fails you can always recreate it by running the following command
replacing foo with your username
oc apply -f https://raw.githubusercontent.com/fabric8io/fabric8-team-components/master/jenkins-openshift/src/main/fabric8/jenkins-mvn-local-repo-pvc.yml -n foo-jenkins
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-ui/issues/1526#issuecomment-309131605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnOPdJL1j-SAVusttNq34XkS0wFvLcGks5sEutPgaJpZM4N7-P2
.

--
Len DiMaggio<EMAIL_ADDRESS>JBoss by Red Hat
314 Littleton Road
Westford, MA 01886  USA
tel:<PHONE_NUMBER>
cell:<PHONE_NUMBER>
http://www.redhat.com
http://community.jboss.org/people/ldimaggio

Thanks - but that did not resolve this.

So you deleted the PVC and get the exact same error with the new empty PV?
Does this happen on a fresh create project wizard too?  Only this seem to be the only occurrence of this error so am surprised at the steps to recreate.  I've been able to create vertx quickstarts and run their pipelines.

Yes - watch the screencasts here - just ran the test again today:
https://drive.google.com/drive/folders/0B1s-ZoxD8FjUZmRjcE1rRG1QWjg?usp=sharing

James discovered that:
Over time, a user's maven .m2 Persistent Volume runs out of space - as does the user's content repo
Current solution is to create a Jenkinfile that mounts the .m2 folder and runs rm - rf

@ldimaggi is this still an issue?

Yes - there is nothing to prevent this happening to a user over time.

This issue was moved to openshiftio/openshift.io#897


make filter/date params available in cli tool

small addition to make the filter features introduced in #3 also available via the CLI tool

Could you please add a format example to these parameters? It's not clear how does one specify these filters.

sure, good idea! I've added examples to the help string now.

Done, and uploaded to PyPi. Thank you!


python312Packages.google-cloud-monitoring: 2.22.1 -> 2.22.2

Changelog: https://github.com/googleapis/google-cloud-python/tree/google-cloud-monitoring-v2.22.2/packages/google-cloud-monitoring
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 339490 run on x86_64-linux 1

4 packages built:

python311Packages.google-cloud-monitoring
python311Packages.google-cloud-monitoring.dist
python312Packages.google-cloud-monitoring
python312Packages.google-cloud-monitoring.dist


Why no log in console

I have configured the log settings:
"metrics": {
    "enabled": true,
     "logger" : {
          "plain" : true,
          "json" : false
    }
}

But there is not any log message in the console.

I didn't see the interval log message with time spend.

Any help?

I do not understand the question. This is not log-related, it's internal metric log format related.

What I mean is I can't see the status of import in console. I have set the log config as below
"logger" : {
"plain" : true
}
and this in log4j.xml,

I could see the status report after each interval time formerly.

在logs目录下有一个jdbc.log,这个文件里有输出的日志信息


Utils.isValidISODateDashOnly requires update

Steps to repro:
https://github.com/pnp/office365-cli/blob/d0cc2b201286d5ae944cae3c86c9808b5e4d9491/src/Utils.ts#L83
Actual:
This line will stop working once the date becomes DD-MM-2021 since the regex is 19|20
Expected:
To work in 2021

Testing iso format date only with dashes works for me. The 19|20 is only meant to match the beginning of a 4 digit year and can be followed by any 2 additional digita. Am I understanding this correctly?
2021-10-10 passes regex.

@DaveCalGH, I have not idea of what this regex is doing to be honest. I saw 19|20 and that seemed somehow suspicious to me.
Following your explanation, I would have to test it myself before logging issues just like that. I will dedicate some time to see if it would work correctly. Even if, I do not think we need the 19 in the first 2 chars anyway.
Thank you!

The regex is matching iso date only format yyyy-mm-dd which it appears to properly do. Any years starting with 19 or 20 would work correctly. If we are expecting allow the year 2100, then you're correct this would fail.
I think the iso standard allows any 4 digits but atleast personally I find it more helpful for a system to guide me as the user with this kind of restriction to prevent values well out of the range of what is typically expected. To align more closely with iso, replacing  /^(19|20)/d/d. With /^(1|2)/d/d/d would allow a much wider range of years but i cant find what the max limit of a sharepoint date is.

Thanks for the detailed explanation David @DaveCalGH! This is fully my bad, I should have tested that before logging an issue. Apologize for that and it seems like I wasted some of your time, but I learned something. I will be more careful next time.
Lets close this.