Add BPF test facility to test skb->cb

Please see commit message for more details. I piggybacked one small bug fix (node_config.h include guard).
Add BPF test facility to test skb->cb

/test

ConformanceIngress shouldn't be related to this change. Let me make this ready-to-merge.


chore: add miHoYo to ADOPTERS.md

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Add miHoYo to ADOPTERS.md.

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

确认

Thanks for your work, It's a great honor for miHoYo to join this project.


Rename ConfigSource

In v0.42, we introduced a new field Provenance into TaskRun / PipelineRun status to pipe through some data needed for the provenance generation. It's an alpha feature gated by the dedicated feature flag enable-provenance-in-status.
For example, one subfield of it is currently named configSource for recording the source information of the remote task/pipeline definition.  But the issue with this naming is that it came from SLSA 0.2 spec. Since SLSA is evolving, we want to change this name to something not specific to SLSA.

Based on the discussion, other options are as follows and it seems like TektonSource is preferred.

TektonSource
Source
TektonSpecSource
SpecSource
TektonRemoteSource

Just want to surface this to broader audience. If there is no strong objections for the name TektonSource, I'll update the #5831 shortly.
cc @bobcatfish @Yongxuanzhang @dibyom @wlynch @jagathprakash.
Thanks!

If the original concern was this was a name borrowed from SLSA v0.2, and SLSA v1 isn't using the ConfigSource naming anymore, is this still a problem?
If we still want to rename, my preference would be to use RefProvenance or RefSource, since we're trying to describe the provenance of the resolved source of a ref.

TektonSource and Source - you're using Tekton so the prefix is probably redundant - I'd say these seem equivalent. Any objection to Source being too generic can also probably be applied to TektonSource
TektonSpecSource and SpecSource - same as above plus we're not trying to describe a spec, we're trying to describe a ref (that will resolve to a spec).
TektonRemoteSource - I'd drop the Tekton bit, but if the reason we want to move away from ConfigSource naming is because we don't have an Config resource type, then similar logic also applies here - we refer to the process of resolving particular refs as remote resolution, but we don't actually have a Remote resource. 🤷

Thanks @wlynch for sharing your thoughts. Great analysis.
I like RefSource!!
(Spec source is indeed confusing in the sense that people might wonder if the spec of SpecSource in a pipelinerun status refers to pipelinerun spec or pipeline spec. )

RefSource sounds good


Revert "Merge pull request #3 from apperian/master"

Reverts apperian/EASEJenkinsPlugin#13

This is old, closing it


Can't access s3 when using AWS IDMS v2

When requiring IDMS v2 on AWS, imgproxy fails to connect to s3. I think just updating the aws go sdk to v2 should fix this problem.

Sorry, it was unrelated


AttributeError: 'NoneType' object has no attribute 'startswith'

using the test example, I can't really run anything here
using dev branch of refgenie and
refgenie init -c test.yaml
Initializing refgenie genome configuration
Traceback (most recent call last):
 File "/home/nsheff/.local/bin/refgenie", line 10, in <module>
   sys.exit(main())
 File "/home/nsheff/.local/lib/python3.5/site-packages/refgenie/refgenie.py", line 394, in main
   refgenie_init(args.genome_config, args.genome_server)
 File "/home/nsheff/.local/lib/python3.5/site-packages/refgenie/refgenie.py", line 352, in refgenie_init
   CFG_FOLDER_KEY: os.path.dirname(os.path.abspath(genome_config_path)),
 File "/usr/lib/python3.5/posixpath.py", line 357, in abspath
   if not isabs(path):
 File "/usr/lib/python3.5/posixpath.py", line 64, in isabs
   return s.startswith(sep)
AttributeError: 'NoneType' object has no attribute 'startswith'

I solved this ( I think)


[HOLD for payment 2024-12-03] Got logged out of the app in web staging

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: Needs Reproduction
Reproducible in production?: Needs Reproduction
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @iwiznia
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1730209919216239
Action Performed:

Go to staging.new.expensify.com and signin
Do some browsing

Expected Result:
User able to use the app without any issue
Actual Result:
User got log out of the app
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @mallenexpensify

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Got it again today.

Alright, got it again. Seems I get it every day at the start of my day. Here's some data:

Page was stuck
I reloaded
Ended up on login screen

This is the logs and network requests after reloading:

Suspicious thing is accountID=unknwon.
Here are the logs:
10:44:19.051 index.ts:148 [OnyxUpdateManager] Listening for updates from the server
10:44:19.114 Log.ts:76 [info] [Onyx] set called for key: logs properties:  hasChanged: true - ""
10:44:19.124 hook.js:591 Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md
overrideMethod @ hook.js:591
T @ NativeAnimatedHelper.js:412
Z @ AnimatedEvent.js:92
event @ AnimatedImplementation.js:395
(anonymous) @ animated.js:66
useMemo @ react-dom.production.min.js:177
t.useMemo @ react.production.min.js:26
T @ animated.js:66
fo @ react-dom.production.min.js:160
vA @ react-dom.production.min.js:289
Il @ react-dom.production.min.js:279
pl @ react-dom.production.min.js:279
fl @ react-dom.production.min.js:279
al @ react-dom.production.min.js:267
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
e.exports @ _invoke.js:5
p.<computed> @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 20 more frames
Show lessUnderstand this warning
10:44:19.128 Log.ts:76 [info] [Onyx] set called for key: activeClients properties: 0,1,2,3 hasChanged: true - ""
10:44:19.129 Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
10:44:19.129 Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
10:44:19.129 Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
10:44:19.129 Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
10:44:19.129 Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
10:44:19.129 Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
10:44:19.129 Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: true - ""
10:44:19.129 Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
10:44:19.129 Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
10:44:19.129 Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
10:44:19.130 Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
10:44:19.134 Log.ts:76 [info] App launched - {"Platform":{"OS":"web","isTesting":false},"CONFIG":{"default":{"APP_NAME":"NewExpensify","AUTH_TOKEN_EXPIRATION_TIME":5400000,"ENVIRONMENT":"staging","EXPENSIFY":{"EXPENSIFY_URL":"https://www.expensify.com/","SECURE_EXPENSIFY_URL":"https://secure.expensify.com/","NEW_EXPENSIFY_URL":"https://staging.new.expensify.com/","DEFAULT_API_ROOT":"https://www.expensify.com/","DEFAULT_SECURE_API_ROOT":"https://secure.expensify.com/","STAGING_API_ROOT":"https://staging.expensify.com/","STAGING_SECURE_API_ROOT":"https://staging-secure.expensify.com/","PARTNER_NAME":"chat-expensify-com","PARTNER_PASSWORD":"e21965746fd75f82bb66","EXPENSIFY_CASH_REFERER":"ecash","CONCIERGE_URL_PATHNAME":"concierge/","DEVPORTAL_URL_PATHNAME":"_devportal/","CONCIERGE_URL":"https://www.expensify.com/concierge/","SAML_URL":"https://www.expensify.com/authentication/saml/login"},"IS_IN_PRODUCTION":true,"IS_IN_STAGING":true,"IS_USING_LOCAL_WEB":false,"PUSHER":{"APP_KEY":"268df511a204fbb60884","SUFFIX":"","CLUSTER":"mt1"},"SITE_TITLE":"New Expensify","FAVICON":{"DEFAULT":"/favicon.png","UNREAD":"/favicon-unread.png"},"CAPTURE_METRICS":false,"ONYX_METRICS":false,"DEV_PORT":8082,"E2E_TESTING":false,"SEND_CRASH_REPORTS":true,"IS_USING_WEB_PROXY":false,"APPLE_SIGN_IN":{"SERVICE_ID":"com.chat.expensify.chat.AppleSignIn","REDIRECT_URI":"https://staging.new.expensify.com/appleauth"},"GOOGLE_SIGN_IN":{"WEB_CLIENT_ID":"921154746561-gpsoaqgqfuqrfsjdf8l7vohfkfj7b9up.apps.googleusercontent.com","IOS_CLIENT_ID":"921154746561-s3uqn2oe4m85tufi6mqflbfbuajrm2i3.apps.googleusercontent.com"},"GCP_GEOLOCATION_API_KEY":"","FIREBASE_WEB_CONFIG":{"apiKey":"AIzaSyDxzigVLZl4G8MP7jACQ0qpmADMzmrrON0","appId":"1:921154746561:web:7b8213357d07d6e4027c40","projectId":"expensify-chat"},"USE_REACT_STRICT_MODE_IN_DEV":false}}}
10:44:19.134 Log.ts:76 [info] [Migrate Onyx] start - ""
10:44:19.135 Log.ts:76 [info] [API] Called API.paginate - {"command":"OpenReport","reportID":"64819207","reportActionID":"","emailList":"","accountIDList":"","parentReportActionID":"0","shouldRetry":false,"clientLastReadTime":""}
10:44:19.135 Log.ts:76 [info] [API] Preparing request - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
10:44:19.135 Log.ts:76 [info] [API] Applying optimistic data - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
10:44:19.136 Log.ts:76 [info] [Network] Making API request - {"command":"OpenReport"} {request: {…}, response: undefined}
10:44:19.136 Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameCardIsVirtual because there are no cards linked to the account - ""
10:44:19.137 Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameReceiptFilename because there are no transactions - ""
10:44:19.137 Log.ts:76 [info] [Migrate Onyx] Skipped migration KeyReportActionsDraftByReportActionID because there were no reportActionsDrafts - ""
10:44:19.137 Log.ts:76 [info] [Migrate Onyx] Skipped TransactionBackupsToCollection migration because there are no transactions - ""
10:44:19.137 Log.ts:76 [info] [Migrate Onyx] Skipped migration RemoveEmptyReportActionsDrafts because there were no reportActionsDrafts - ""
10:44:19.138 Log.ts:76 [info] [Migrate Onyx] finished in 6ms - ""
10:44:19.165 rocket-loader.min.js:1 [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.  Consider marking event handler as 'passive' to make the page more responsive.
That response is:

so why 404 but with onyx data? Logs for that request are here

Odd about that request:

Throwing exception with message: '404 Public room not found' from auth/command/OpenReport.cpp:120

Why would it think it's a public room?

Ohhh probably because of:
8db414413d7c9c0e-EZE	2024-10-31 13:44:19 513		/api.php	staging-www1.rno	undefined	[<IP_ADDRESS>->/api.php] Malformed REQUEST: 'authToken', ignoring (should match '([vV]\d:[\w\d+\/]+={0,2}:)?[0-9A-F]{1,1024}') ~~ value: '<REDACTED> (strlen: 4)'
8db414413d7c9c0e-EZE	2024-10-31 13:44:19 513		/api.php	staging-www1.rno	undefined	[<IP_ADDRESS>->/api.php] Malformed REQUEST: 'email', ignoring (should match '((?:DELETED_\d@)*[\w\.'#%+-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}|^\+?[1-9]\d{1,14}$)') ~~ value: 'null'

Why I have no authToken or email?!?

The session onyx key has this:

@MarioExpensify @iwiznia any chance this can be worked on Externally? Guessing not

Hey @mallenexpensify @iwiznia, I still haven't got a chance to take a look at this one in detail. I'll try to reproduce it locally (possibly later today) and report back.

I get this every day or really every time I close my computer and come back a few hours later.

I know I was on staging.new.expensify.com  yesterday in Chrome cuz I was testing.  Just hopped on there again and didn't got logged off.  Site's wonky right now though, so likely not the best time to test :/

@slafortune I'm off the next week, can you please keep an eye on this issue til I'm back? Thx

I'm taking this over as discussed here

When re-authentication fails in App we set an error message at the key shown in the session data screenshot, 'passwordForm.error.fallback'. So I want to find the request that failed authentication initially, and then why it failed to re-authenticate.
Here are all the requests that returned 407 for Ionatan on that day.
https://www.expensify.com/_devportal/tools/logSearch/#sort=asc&size=10000&query=blob%3A"jsonCode%3A '407" AND email%3A"ionatan%40expensify.com" AND timestamp%3A[2024-10-31T00%3A00 TO 2024-10-31T23%3A59].
We know that when the OpenReport request was made at 2024-10-31 13:44:19 508, the app no longer had an AuthToken.
So if we look at the requests on staging before that time which returned 407, specifically the first one, then it shows that AuthenticatePusher encountered an expired authToken.

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 776
<EMAIL_ADDRESS><EMAIL_ADDRESS>db2.sjc
Checking authToken validity for accountID=2536717 / partnerID=83 / partnerUserID=expensify.cash-78a46e99-5eea-28e8-1810-965c31336f03 / isValidated=true / expiresAt=1730337365754797 / isPasswordless=true

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 776
<EMAIL_ADDRESS><EMAIL_ADDRESS>db2.sjc
Throwing exception with message: '407 Unauthorized - Invalid token' from auth/lib/AuthToken.cpp:1230

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 777
<EMAIL_ADDRESS><EMAIL_ADDRESS>db2.sjc
Error processing command 'Get' (407 Unauthorized - Invalid token), ignoring.

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 777
<EMAIL_ADDRESS><EMAIL_ADDRESS>db2.sjc
command 'Get_account' timing info (ms): prePeek:0 (count: 0), peek:0 (count:1), process:0 (count:0), postProcess:0 (count:0), total:0, unaccounted:0, blockingCommitThreadTime:0, exclusiveTransactionLockTime:0. Commit: worker:0, sync:0. Queue: worker:0, sync:0, blocking:0, pageLock:0, escalation:0. Blocking: prePeek:0, peek:0, process:0, postProcess:0, commit:0. Upstream: peek:0, process:0, total:0, unaccounted:0.

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 777
<EMAIL_ADDRESS><EMAIL_ADDRESS>staging-www1.sjc
Bedrock\Client - Request finished ~~ host: 'db2.sjc' command: 'Get' jsonCode: '407 Unauthorized - Invalid token' duration: '1' net: '0.735' wait: '0.265' proc: '0' commitCount: ''

8db0f9509bea9c0e-EZE
2024-10-31 04:41:38 777
<EMAIL_ADDRESS><EMAIL_ADDRESS>staging-www1.sjc
Got an authorization error Expensify\Error\Auth\AuthTokenExpired - 9b953676-e64d-4262-bf74-1bf0ff888e4d ~~ command: 'AuthenticatePusher' exceptionJsonCode: '407' exceptionUserMessage: 'Your session has expired. Please sign in again.' exceptionMessage: '' exceptionFile: '/git/releases/expensify.com/75ecd63/lib/Auth.php' exceptionLine: '263' exceptionCode: '666'

Now the Reauthentication middleware should make a call to Authenticate. How can I find that request? I need to be able to identify it to the user. I should be able to use the autoGeneratedLogin. That's created on login as the partnerUserID, and there's a log line for that. So probably the first occurrence of that log line before the authentication expired. Here are the logs.

8dac3f583a2fba68-EZE
2024-10-30 14:55:39 009
<EMAIL_ADDRESS><EMAIL_ADDRESS>db1.sjc
Creating login expensify.cash-78a46e99-5eea-28e8-1810-965c31336f03 with partnerID 83. Primary email<EMAIL_ADDRESS>is validated.

So the autoGeneratedLogin should be expensify.cash-78a46e99-5eea-28e8-1810-965c31336f03. Oh right, that also matches the partnerUserID in the AuthenticatePusher call that failed. Great!
After AuthenticatePusher fails, here are logs to find the next call to Authenticate with that partnerUserID.
Here's the next call.

8db0f9521e1d9c0e-EZE
2024-10-31 04:41:39 008
<EMAIL_ADDRESS>staging-www1.sjc
Processing 'Authenticate' for 'expensify.com' from '<IP_ADDRESS>' ~~ command: 'Authenticate' useExpensifyLogin: 'false' partnerName: 'chat-expensify-com' partnerPassword: '' partnerUserID: 'expensify.cash-78a46e99-5eea-28e8-1810-965c31336f03' partnerUserSecret: '' email<EMAIL_ADDRESS>appversion: '9.0.55-9' referer: 'ecash' platform: 'web' api_setCookie: 'false' isFromDevEnv: 'false' clientUpdateID: '2681857372' browserGUID: '67230a8302213' HTTP_CF_BOT_SCORE: '99' HTTP_CF_JA3_HASH: '550518ce2834286070c227fa8bc8c9d9'

That request seems to have completed successfully, so the mystery continues...

Oh wow, so we have a unit test that should ensure this is working, but the test makes no sense to me. I tweaked it and now it's failing, which is expected and in line with what happens in the issue.

Is the test that makes no sense the one we just added here https://github.com/Expensify/App/pull/51805?

Oh shoot I better pull main since that was updated recently.

I left a comment asking about what we're doing with those tests and what the purpose is, because it looks like they're only adding tests but no actual fixes. Hopefully I'm just missing where the fixes are happening.
Anyways, I also figured out a way to reproduce this error, specifically the fact that a user will be signed out if their auth token expires and then the re-authenticate request fails to fetch. Here are some draft PRs I've created just to demonstrate the error.
Make AddComment invalidated auth tokens for testing purposes only
https://github.com/Expensify/App/pull/52281
Steps to reproduce with those PRs:

Send a message
Send another message

You will be logged out, when instead the re-auth should be retried, succeed, and you will not get logged out.

I ran the test with this PR Fix re-authentication when it fails to fetch, and the single commit from Demonstrate reauth failing to fetch once cherry picked into that branch, and I confirmed that the user does not get signed out.
I need to polish some things up there, merge main, and figure out why the unit test isn't passing after the fix even though it works with a manual test. If anyone wants to work on the PR while I'm gone please go ahead 🙂

@zirgulis will look into this as we're working on the linked issue, definitely related!

@neil-marcellini @adhorodyski I checked this PR locally and want to share some findings.
Tests in the APITest.ts file are failing because of a RequestThrottle.ts was changed here to a class and getLastRequestWaitTime() in APTest.ts aways returns 0. Reverting it back to be function based fixes the tests and they pass.
More interesting stuff happens in NetworkTest.ts. When I run npm run test tests/unit/NetworkTest.ts every time it produces different results, it seems there's some test pollution occurring somewhere when executing one test after the other. If I comment out the rest of the code and run each test isolated the test passes. Even after adding this test  in combination with Neil's fix it passes and the user doesn't get logged out.
I've been working on resolving the test pollution issue, but I haven't had any success yet.

Thanks for the update!

Issue not reproducible during KI retests. (First week)

@muttmuure latest update https://github.com/Expensify/App/issues/51185#issuecomment-2484197715

The PR is coming along well https://github.com/Expensify/App/pull/52727. We just need the test steps written out and to make sure the automated test is valid and working.

do we need a checklist for this one?

I don't know if we need a test case for this which means.... we should create one and let QA decide if they want to add or update one in TestRail.
Can you propose the regression test steps please @allgandalf ?

@allgandalf can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~021864120074677263168

Thx @allgandalf , I agree with you, this is a bit extreme + edge case so a test is tricky.  I created the test case and will let QA decide what's best.

https://github.com/Expensify/Expensify/issues/451337

Contributor+: @allgandalf paid $250 via Upwork


[Ray] Ray manager

Issue #, if available:
Description of changes:

Create a singleton to manage ray cluster resource. Also, it will only init the ray cluster if config has changed to avoid needless shutdown

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

What's the use-case for initializing a ray cluster with changed configuration? Usually we call ray.init() only once in the source code.

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

We cannot. Ray sees the total resource and will continue to assign jobs if there are more resources.

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

We cannot. Ray sees the total resource and will continue to assign jobs if there are more resources.

If that’s the case, we should actually revise the scheduler in ray rather than calling init and shutdown. This may be problematic in the distributed training setting. Also, what’s the expected speed boost?

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

We cannot. Ray sees the total resource and will continue to assign jobs if there are more resources.

If that’s the case, we should actually revise the scheduler in ray rather than calling init and shutdown. This may be problematic in the distributed training setting. Also, what’s the expected speed boost?

Then what logic should you have in the scheduler? Whether to use only half the resource(number of physical cores) for scheduling? What if there's no hyperthreading for this cpu.

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

We cannot. Ray sees the total resource and will continue to assign jobs if there are more resources.

If that’s the case, we should actually revise the scheduler in ray rather than calling init and shutdown. This may be problematic in the distributed training setting. Also, what’s the expected speed boost?

Then what logic should you have in the scheduler? Whether to use only half the resource(number of physical cores) for scheduling? What if there's no hyperthreading for this cpu.

This might be something handled by the scheduler. You can ask the process to provide additional information on the priority/resource requirement. Also, if such logic is only used in Tabular, you may not put it to core.

Sometimes we need to assign the resources used by ray. This can happen in tabular, where some models are trained faster with only all physical cores while some are trained faster by using virtual cores. In such a scenario, we will need to re-init the ray cluster

Does it have to be optimized this way? Should we actually assign different resource requirements to different jobs and ask ray to schedule that?

We cannot. Ray sees the total resource and will continue to assign jobs if there are more resources.

If that’s the case, we should actually revise the scheduler in ray rather than calling init and shutdown. This may be problematic in the distributed training setting. Also, what’s the expected speed boost?

Then what logic should you have in the scheduler? Whether to use only half the resource(number of physical cores) for scheduling? What if there's no hyperthreading for this cpu.

This might be something handled by the scheduler. You can ask the process to provide additional information on the priority/resource requirement. Also, if such logic is only used in Tabular, you may not put it to core.

We are already providing resource requirement of a job to ray, and we are providing the total resource. The thing is ray will keep schedule job if there's resources. We cannot simply double the job's resource requirement so that we allocate half amount of job. This way each job is getting double resources, which is incorrect


Fix the build dependency to avoid issue #39

It should be changed to refer ^0.3.8 or higher, after the bug in pkg_config was fixed.

See also alexcrichton/pkg-config-rs#22.

Now obsolete as your upstream patches already got accepted, I'm currently releasing qmlrs 0.1.1 which requires pkg-config  ^0.3.8. Thanks!


Group Critique

This is an exercise in the old guide that was not yet brought over.
It might have been intentional as this is an that can sometimes devolve
into too much of a discussion.
That being said, there are times where a less-structured discussion of
sketches and storyboards after heat map might make sense.
Opening this PR for discussion. If we want to keep this, should it make
its way onto one of the schedules?
If we don't want to keep there, where should it redirect to?

I've pushed up c1dc7bf7eddb2719ee600a48d11832a006b6a2bc which adds "less structured" and recommends Speed Crit with a link for teams that find they need more structure. Let me know what you think.


Preparing the WaveFox v1.6.116

In this release, it is planned to fix all the existing problems.

Remove deprecated code.
Refactoring.
Improve compatibility with themes from the repository.
Reduce dependence on proprietary Mozilla code and move everything possible to the web standard.
Reduce reliance on experimental keys with partial browser support.

Decided not to postpone all changes to v1.6.116. ESR v1.6.115 must receive all possible changes prior to release. After the release will receive only critical fixes as needed.


Feature: Assessment Flow v1

Description

As part of the transition to being a more generic health study application, we are releasing a new assessment flow for daily reporting that captures additional symptoms and any chronic issues to make it far easier to log new reports, in under a minute.
Bug fixes were spotted during the development process to other parts of the application.

closing PR as several bug fixes were addresses since opening this.


Implement an @export_input annotation for exporting StringName/String as an enum of input actions

Based off https://github.com/godotengine/godot-proposals/discussions/7559, this adds a new annotation which allows exporting string based variables as an enum down which contains every input action from the project input map, this also has an option to allow either built-in actions in the enum dropdown.
Docs are also included, but could be better improved on.

The boolean type as a parameter is hard to understand if you don't know what it's supposed to type. Like @rpc() parameters, I think a string parameter like "allow_builtin" would be preferable here.

@bruvzg i added the changes you requested, anything more?

Please squash your commits, see pull request workflow.

I let this simmer for a bit. I am not against this export annotation, but I'm not fully convinced on it, either.

First of all, I do think having a full-on proposal may help freshen up ideas more.

As already noted in the discussion, it's already kinda possible to replicate what this annotation would do, so it's worth questioning if this is worth being in core.

The name @export_input is misleading. It sounds like it's a special way to export InputEvent resources. It should probably something like @export_action, @export_input_action, @export_action_name, etc.
This annotation can be useful, but scales badly in a large project. A lot of the times you do not want absolutely every action to choose from. A way to filter out only a specific subset of them (e.g. by RegEx) could be interesting.

The way enum options are currently displayed in the Inspector does not scale well. There's also nothing like a search bar.

I'm wondering if a more broad annotation type could be introduced to accomplish this and potentially more. Something more expandable and not "very specific" as is in this PR.

@Mickeon

@dalexeev Also said this, I am not sure whether to make a new proposal or continue in the existing one i linked, also as for "Why should be in core?" is because it is quite tedious to do and repetitive and requires @tool.
Already fixed, title is just outdated.
Was thinking of using EditorNode like someone said in the proposal I linked, but I don't there is an option for custom options, I/Someone else could add this in the future if a better way exists, but for now this is the best we can have I think, also i ensured for a way to exclude built-in actions to make it clean, also this could be just me, but I don't think i have ever seen a project use more than 15 input actions.
I don't know to be honest, maybe @export("input_action:allow_builtin;") but not sure, would require a proposal.

Some bonus points:

I first was going to add a way to set String/StringName's value to input action, looked at proposals and found the linked post, thought it could be easy to add (which is kinda true?) and decided to give it a shot.
This is my first contribution to godot.
This feature was mainly looked for because I wanted any easy to set names to input actions easily.

Should allow_builtin be renamed to show_builtin?

It should be show_builtin or maybe include_builtin, because "allow" is from the perspective of what the code does internally, but in practice it's about showing them.

When you add/remove/rename an action, the inspector isn't updated automatically.

Many, many such cases. If this were to be fixed, so should situations where the script is modified but the open Inspector is not updated, and there's no catch-all solution unfortunately.

It should be show_builtin or maybe include_builtin, because "allow" is from the perspective of what the code does internally, but in practice it's about showing them.

I can do that quickly.

Many, many such cases. If this were to be fixed, so should situations where the script is modified but the open Inspector is not updated, and there's no catch-all solution unfortunately.

I am not sure if i can fix that.

Built-in actions should be listed last when allow_builtin is enabled. Otherwise, you have to scroll down the list a lot to find non-built-in actions. I think most of the time, you'll still want to select your own actions as opposed to built-in actions when built-in actions are allowed.

I can try doing that.

Discussed during a GDScript meeting. We concluded that this PR is super interesting, but we aren't sure that adding a new annotation is the way to go. We should instead take your PROPERTY_HINT_INPUT_NAME and expose it for the new @export_custom annotation. That way, users can create their own field with input_name values, but without having to create a new annotation just for this.

@adamscott
So is anything needed from me?

@adamscott So is anything needed from me?

If you could create a new PR with only your code that creates PROPERTY_HINT_INPUT_NAME, it could solve the issue.


feat: Add Support for Custom Headers in gRPC Reflection Requests

It would be beneficial to have a feature that allows users to add custom headers, methods and bodies to link resources.
DSL Proposal
schema
  #Currently only src is supported
  @link(src: "https://abc.com", type: Grpc)

  # Proposal is to support other HTTP fields in link
  @link(
    src: "https://abc.com"
    method: GET
    body: "..."
    headers: [{}]
    type: Grpc
  ) {
  query: Query
}

Technical Requirements

Add unit & integration tests and integration test wherever requried.
For method use the predefined Method type in config.
For headers use the predefined Vec<KeyValue> type in config.
Ensure a validation error is thrown if http fields are provided with a file path.
Except src and type, all other fields are optional.

Additional Requirements

Update the documentation on the website

/bounty $100

/attempt #2781


Left and right reversed

Hi,
I use the board based on IWR1642, Ubuntu 20.04 and Python 3.8.
When I use your code, The data your code has responded to will appear reversed left and right.
Compared to TI's official demo(mmWave_Demo_Visualizer), it looks reversed.
I tested readData_AWR1642.py

Hi,
you just need to modify line 287 to:
x = detObj["x"]

thanks your answer!


toml: allow inline comments in multiline arrays

previously, if you had comments on individual items in a multiline
array, e.g.
children = [
  "michael",
  "gob", # i don't care too much for this one
  "lindsay",
]

topiary would confusingly move the comment below the element it was
placed next to-
children = [
  "michael",
  "gob",
  # i don't care too much for this one
  "lindsay",
]

which can destroy the intent of the comment. this rule update now
preserves inline comments and won't insert a linebreak after a separator
if followed by one.

@nbacquey thanks for the pointers! let me know if i've addressed comments to satisfaction.


Fix: handle logical CUDA device IDs for GPUStatsMonitor if CUDA_VISIBLE_DEVICES set

What does this PR do?

CUDA device IDs may be different from the real GPU IDs if CUDA_VISIBLE_DEVICES set. For example, if I set CUDA_VISIBLE_DEVICES="3,4,5,6", the CUDA device enumeration will be:

cuda:0  -->  GPU 3
cuda:1  -->  GPU 4
cuda:2  -->  GPU 5
cuda:3  -->  GPU 6

The previous version of GPUStatsMonitor callback will log the wrong devices when users have set a non-trivial CUDA_VISIBLE_DEVICES environment variable.
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together?
[X] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[X] Did you verify new and existing tests pass locally with your changes?
[X] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[X] Is this pull request ready for review? (if not, please submit in draft mode)
[X] Check that all items from Before submitting are resolved
[X] Make sure the title is self-explanatory and the description concisely explains the PR
[X] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @XuehaiPan! Thanks for opening this PR.

In the file pytorch_lightning/callbacks/gpu_stats_monitor.py:

Line 187:121: E501 line too long (123 > 120 characters)

Do see the Hitchhiker's guide to code style

Hey @XuehaiPan,
Mind removing this line there: https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py#L230
It was relying was filtering the available GPUS. There is an associated test with it.
Best,
T.C

Mind removing this line there: https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py#L230

gpus_metrics contains all GPUs' memory.used fields, but they are enumerated in the real GPU IDs. If CUDA_VISIBLE_DEVICES is set to integer strings, it's easy to map the GPU IDs to CUDA device IDS. But if CUDA_VISIBLE_DEVICES is set to UUID strings, it could be hard to determine the device mapping.


Clicking buttons on both controllers Crashes Unity

Overview
When using the MRTK (confirmed it's no an issue if done manually) using the button on one or the other controller is fine.
However, if you click any button on either controller at the same time (doesn't have to be the same button), Unity crashes.
Expected Behavior
Unity shouldn't crash :D and you should be able to use both controllers buttons simultaneously
Actual Behavior
Unity crashes when buttons on both controllers are used at the same time.
Steps to reproduce
Using either the MRTK or the example scenes
1: Open scen
2: Add scene defaults
3: Run Scene
4: Click buttons at the same time on both controllers
Unity Editor Version
MRTP4
Mixed Reality Toolkit Release Version
Master

I wonder if this is a crash caused by the InteractionManager?
@DDReaper can you PM me the crash report?

I doubt it's the interaction manager, as I'm using that in other projects without issue, but happy to be proved wrong.
I'll try and get it tomorrow, however, you should be able to easily recreate the crash yourself

Yeah, I'll def try to get the crash report when I get in tomorrow.

I looked into this very briefly yesterday and saw a message about a nullable object not having a value. I have a feeling this is somewhere in the Toolkit's InputManager.

Here's the error from the editor just before the crash:

Assertion failed
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Assert(Boolean)
HoloToolkit.Unity.InputModule.FocusManager:GetPointer(IPointingSource) (at Assets\HoloToolkit\Input\Scripts\Focus\FocusManager.cs:789)
HoloToolkit.Unity.InputModule.FocusManager:GetSpecificPointerEventData(IPointingSource) (at Assets\HoloToolkit\Input\Scripts\Focus\FocusManager.cs:441)
HoloToolkit.Unity.InputModule.InputManager:RaiseSourceUp(IInputSource, UInt32, InteractionSourcePressInfo, Object[]) (at Assets\HoloToolkit\Input\Scripts\Utilities\Managers\InputManager.cs:430)
HoloToolkit.Unity.InputModule.InteractionInputSource:InteractionManager_InteractionSourceReleased(InteractionSourceReleasedEventArgs) (at Assets\HoloToolkit\Input\Scripts\InputSources\InteractionInputSource.cs:919)
UnityEngine.XR.WSA.Input.InteractionManager:OnSourceEvent(EventType, InteractionSourceState, InteractionSourcePressType) (at C:\buildslave\unity\build\Runtime\VR\HoloLens\ScriptBindings\GestureSource.cs:481)

(Filename: Assets/HoloToolkit/Input/Scripts/Focus/FocusManager.cs Line: 789)

I noticed that these errors also get raised after pressing any button by itself as well.

Glad you managed to find the source :D

I think it's definitely because we're switching pointers and the pointer index is briefly empty.

I was curious about that behaviour. Is there any reason the pointers cannot be handled independently, why does it need a "Master", why not both (or all, including Gaze)?

Yeah, I'm trying to figure out why we're even unregistering the pointer when we switch.
Cause that's really what the problem is.

I got a fix

this is pretty much what happened

that is the problem I tried it and it crashed

I am not sure if my problem is related to this one.
For me, the crash happens, after i release the Trigger on the backside of the controller (no message, Unity just disappears). Nothing happens, while i click and hold the trigger.
If i pause Unity while i hold the trigger and then release it, it crashes immediatly after i resume.
I am using MRTP4 and the latest master branch. I also tried Pull Request #1350 (applied as patch), but same result.

Probably related in some way, but I'd still like you to open a separate issue for this detailing your repro steps please.

Wow, you are really fast. Thank you in advance!
#1363


Host header not set when using RequestBuilder header()

The Host header is no longer being set starting in Hyper 0.9.2. Here is an example that can reproduce the issue: https://github.com/smerrell/hyper-header-issue
The main.rs looks like this:
extern crate hyper;

use std::io::Read;

use hyper::Client;
use hyper::header::Host;

fn main() {
    let client = Client::new();
    let mut res = client.get("http://<IP_ADDRESS>")
        .header(Host {
            hostname: "rust-lang.org".to_owned(),
            port: None,
        })
        .send()
        .unwrap();

    let mut body = String::new();
    res.read_to_string(&mut body).unwrap();

    println!("response: {}", body);
}

It is set by default to 0.9.2, you can use wireshark or some other tool to monitor network traffic. Here are the results I got when running on 0.9.2
Frame 40740: 103 bytes on wire (824 bits), 103 bytes captured (824 bits) on interface 0
Ethernet II, Src: Apple_1a:d2:1d (b8:f6:b1:1a:d2:1d), Dst: Apple_e9:a3:8b (24:a2:e1:e9:a3:8b)
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
Transmission Control Protocol, Src Port: 54788 (54788), Dst Port: 80 (80), Seq: 1, Ack: 1, Len: 37
Hypertext Transfer Protocol
    GET / HTTP/1.1\r\n
    Host: <IP_ADDRESS>\r\n
    \r\n
    [Full request URI: http://<IP_ADDRESS>/]
    [HTTP request 1/1]
    [Response in frame: 40742]

When I changed the Cargo.toml from 0.9.2 to 0.9.1 and re-ran the app I got this result on Wireshark:
Frame 40169: 112 bytes on wire (896 bits), 112 bytes captured (896 bits) on interface 0
Ethernet II, Src: Apple_1a:d2:1d (b8:f6:b1:1a:d2:1d), Dst: Apple_e9:a3:8b (24:a2:e1:e9:a3:8b)
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
Transmission Control Protocol, Src Port: 54784 (54784), Dst Port: 80 (80), Seq: 1, Ack: 1, Len: 46
Hypertext Transfer Protocol
    GET / HTTP/1.1\r\n
    Host: http://rust-lang.org\r\n
    \r\n
    [Full request URI: http://http://rust-lang.org/]
    [HTTP request 1/1]
    [Response in frame: 40170]

I've been trying to figure out how to set the header and request without using the RequestBuilder to see if that is the issue or not but I haven't quite been able to figure out how to do that. If I do figure it out, I'll put what I find here. Thanks!

Yep, seems this was changed when proxy support was added, which received tweaks to allow the host/port to be found from the original URL, even though the proxy would use a new URL.
A fix would perhaps be to check for the Host header before pushing it, or similar, such as using extend().

As 0.10.x is no longer actively developed, I'm going to close as wontfix. If anyone wants to send a PR to fix it, I'll merge!


[Draft - not to land] Experiment with Proxy model and support for Https proxies

@swankjesse it's getting ugly. But java.net.Proxy seems fundamentally broken.


igluctl: add support for Java 9

https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j

Bringing it forwards. @oguzhanunlu  please test and close if it was already fixed.

Currently, scalac 2.12.4 doesn't support jvm 9 as target. Running scalac -target under igluctl/ gives following:
scalac error: Usage: -target:<target> where <target> choices are jvm-1.5, jvm-1.6, jvm-1.7, jvm-1.8 (default: jvm-1.8)

Assembled igluctl and tested few schemas using JRE 9 on localhost and they worked fine. De-scheduling this issue for now.

Assembled igluctl and tested few schemas using JRE 9 on localhost and they worked fine. De-scheduling this issue for now.

It basically means that Java 9 support was added implicitly by some another ticket (most likely #287). Leaving open so far to check if anyone else will hit this issue.


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

I'm a former prepress engineer and digital printing machines operator. Still trying to learn how to write code and create software.
I like to solve problems and learn new things. I want to become a full-fledged developer and make good software.


🤺 Fight the warning in Release action

The workflow file using changesets/action is currently using @master as the version. This branch has been frozen and deprecated. Please update your workflow to either use @v1 or a specific commit SHA that is tagged.

This change should fix this

could you please add me write access for to be able to merge? @jodator


Replace Ordering.explicit() with Comparator.comparing()

PR Checklist

Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change

PR Type
What kind of change does this PR introduce?

[x] Refactoring (no functional changes)

Fixes
Issue Number: #305
What is the current behavior?
Guava Ordering.explicit() is used which offers the same functionality that standard Comparator
What is the new behavior?
Standard Comparator is being used
Other information
From what I have seen, original code took a List as the sorting order for items, then sorts a List of claims so it matches the first List. This is now be done using Comparator.comparing() instead of using an external library.

It seems java.util.Comparator hasn’t been included on the desugaring, and the comparing() method requires API Level 24, so I’m cancelling this PR but leaving the bug as opened


Bindings with backslash causes error

Running vim 8.0.851 on linux, newest nerdtree.
I'm trying to make '' open the selected file in a new vertical split.
I got it working just fine with Backspace, but can't seem to get '' working.
It actually registers the bind but merely crashes. The backslash seems to be perhaps escaping a quotation mark?
My bind in my .vimrc looks like this.
let NERDTreeMapOpenSplit='<BS>'
let NERDTreeMapOpenVSplit='\'

When '' is pressed on on a file in nerdtree the following error occurs:
E114: Missing quote: "\")
E116: Invalid arguments for function nerdtree#ui_glue#invokeKeyMap

Is there an alternative way for me to make this bind, or is it not possible with the current interpretation?

I was able to confirm this bug.  I would say avoid doing this for now.  This is pretty low priority... we've never seen anyone complain about this before.

Definitely not a dealbreaker. I'm merely trying to attain some sort of consistency with split binds for all places applicable. Backspace and backslash are the ones I've gone with, so it's only a slight nuisance. Thanks for confirming for starts!

Is there any workaround for it? I'm using this key for spiting in many places of my system.

@und3rdg I am using for many things as well - never managed to find a workaround.

Thank you for this @PhilRunninger it works great.


added Konkuk University Glocal campus

Added Konkuk University Glocal campus

@yjrep Regrettably, I have to close the request without merging, because this organization is a research center, not a college, nor a university. Please ensure that you are familiar with this repository rules located at the bottom of this page.
If this institute has some teaching unit, it may be better to apply for an appropriate licensing option (which may also be free) at https://www.jetbrains.com/community/education/#courses.
Thank you for your understanding!

@philipto Hi! I am not sure where you have gathered your information about the Konkuk Univ. Glocal campus as a research center but this is a full academic institute. You can see from https://www.kku.ac.kr/mbshome/mbs/wwwen/subview.do?id=wwwen_030107000000
What does it take to update, please advise. Thanks!

@yjrep Yes, you are right. I apologize for the mistake. I looked through this page https://konkuk.ac.kr/ and got an impression that the organization is completely research. The page that you suggested confirms I was mistaken and you were correct.
Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Adding support for Ubuntu 15.04

Added fact 'is_systemd' to detect if Ubuntu 15.04 is running in upstart or systemd mode, systemd is default but still optional.
Added support in params to detect Ubuntu 15.04.
Added support for Ubuntu 15.04 path to systemctl by changing how the path ENV is handled in config.pp (Ubuntu 15.04 uses /bin/systemctl)

Sure can.  I'll do that in a few minutes.  I'm working through your code at the moment as well to patch it up as It doesn't update consul version if it's already installed.  This is due to the 'creates' section in staging and how this module is using it.  I have a plan of attack to make use of versioning and am about half way through patching it... well fully done with consul, investigating web_ui at the moment.

@asasfu I'm not an expert in systemd but can you double check to see if we need to add a new $init_selector for systemd called consul.service like so:
$init_selector = $consul::init_style ? {
    'launchd' => 'io.consul.daemon',
    'systemd' => 'consul.service',
    default   => 'consul',
  }

Please check this PR for more context https://github.com/solarkennedy/puppet-consul/pull/125

@asasfu this looks great! Can you please write a unit test for this? After that this should be good to merge!

I'm not sure what happened on that Travis CI build but it kinda went tits up...   I have never done a unit test before... :(

Also, i'm curious, how do you guys handle the 'consul reload' .... if the ENV variable(s) are not set such as CONSUL_RPC_ADDR=facter ipaddress:8400  then consul reload fails during the puppet run...

All params are set in config.json, nothing is via ENV.
In this case, if you want a specific rpc address just pass the rpc key in $consul::config_hash (this will basically convert the hash into a json object and dumps it in config.json. So you can pass any configuration option supported by consul).
If you dont set rpc key or if ENV var CONSUL_RPC_ADDR is not set, it defaults to client_addr https://www.consul.io/docs/agent/options.html#rpc

Ah you're right, it doesn't affect the puppet run's consul reload, just the user if he wants to type consul members or something needs to set his ENV or set client_addr to <IP_ADDRESS> or use reverse_proxy... because if client_addr is set to the specific IP it seems that when you run consul members from the command line it tries to contact <IP_ADDRESS>:8400

Ok, my commit history time issue was corrected and I fixed up the spec tests.  This should be ready for production.
On a side note: When Puppet loads all of its providers and checks its confines to decide which Service provider matches your system.  Do you guys know if there's a way to get the provider that it picked via the confines?  That'd be really nice.  Since their confines do all the work and then it's just one place to track that information down from in order to decide what init_style puppet has decided to be correct for your system, based on confines that they maintain.

:bullettrain_side: LGTM

Do you guys know if there's a way to get the provider that it picked via the confines?

I'm not exactly sure if thats possible :confused:

Thanks!
Yea you can't get a provider for something in puppet and have that data influence the catalog; the catalog is compile first and then applied to the host where providers are determined at the last moment.

Hey hey, you wanna know something you can do?!  While i'm preparing the ability for URL upgrade/downgrade I finally figure out how to stop the service before removing consul bin.
service_name = 'consul'
actionstop = 'start' # e.g., (start|stop|restart|status)
actionstart = 'start' # e.g., (start|stop|restart|status)
require 'puppet'
service = Puppet::Type.type(:service).newservice(:name => service_name)
service.provider.send(actionstop)
REMOVE CONSUL BIN
service.provider.send(actionstart)
So I just need to create a function that does all the work and does those steps as well.

@aj-jester and @solarkennedy you mind looking at this commit to see if you have any suggestions or gripes.  I know it has some conditionals in it but it works for all cases that should be presented.  It also leaves staging files behind per version rather than cleaning up, something I can add(cleanup) if wanted.
https://github.com/sfu-rcg/puppet-consul/commit/707af3f303be931bfda112fc1c9117b58d0ec60c

My work is likely considered complete on that patch.  Can you guys take a peek.  I'll be submitting it as a pull request tomorrow.  It has tested good on both my masterless and mastered puppet client.  I'm not sure what or any tests you may want written for this prior to merging?

Also now that I've done my testing, I've finally come across what I was looking for, that might be helpful to you guys when doing up params to decide init_style.
$prov = inline_template("<%= Puppet::Type.type(:service).newservice(:name => 'nonexistant').provider %>")
$provsub = split($prov, 'provider=([A-Za-z]+)')
notify { "Provider is: ${provsub[1]}": }
again though, this only supports providers already setup in confines by puppet, this doesn't support any site.pp overrides for provider or anything, so those slight edge cases like Ubuntu 15.04 and Fedora 22 in Puppet 3.x will still return the wrong provider as this is ASKING puppet what they think the provider should be.  But still altogether, really cool.

Ok part 2, even better.  Provider with and without override provided by an upper class or site.pp via:
Service { provider => 'systemd' }
With override, what I'm doing here is calling to defaults and return provider:
$defaultprovscoperbe = inline_template("<% @def = scope.lookupdefaults('Service') %><%= @def[:provider] %>")
Without override, here I'm retrieving service provider with no allowance for anyone to have overridden it earlier and they'd have to use consul::init_style to actually override it then for example:
$prove = inline_template("<% @def2 = Puppet::Type.type(:service).newservice(:name => 'anyservice') %><%= @def2[:provider] %>")
Finally, no parsing needed this time, tested and showing proof:
notify { "Default Provider is: ${defaultprovscoperbe} and Provider is: ${prove}": }

Last part, part 3.
This is the final piece of code as I noticed a parse needed to happen on the default provider on part2 and then this supports merging.
If you provide a Service { provider => systemd } in your site.pp or even parent class calling consul then you would override service { 'consul': } unless it was service { 'consul': provider => 'upstart' } as the more specific class wins if it defines that parameter or hash key/value.
I've provided the way to do this via ruby so that you can decide which one you would like, the one that is overridden by the user via Service { provider => systemd } or the one that doesn't care if you overrode it at all, it takes only what puppet's confines say the provider is.
I highly prefer the overridden one for services because you should probably always allow the user to have the final say on the provider if they needed to specify it in the first place then they've decided puppet isn't handling their provider via confines and needs fixing.
$merged_override_wins = inline_template("<% @puppet_decided = Puppet::Type.type(:service).newservice(:name => 'anyservice')[:provider].to_s %><% @override = scope.lookupdefaults('Service')[:provider].instance_variable_get(:@value) %><% @override = @puppet_decided if @override.nil? || @override.empty? %><%= @override %>")
notify { "Merged provider with override being the winner: ${merged_override_wins}": }
$non_overridden = inline_template("<%= Puppet::Type::Service.new(:name => 'anyservice')[:provider] %>")
notify { "Provider is: ${non_overridden}": }
Might be a consideration to use this code to decide your init_style rather than what is currently in params.  Then you would be modifying your conditional to match what they have in /usr/lib/ruby/vendor_ruby/puppet/provider/service/
/usr/lib/ruby/vendor_ruby/puppet/provider/service/
base.rb         daemontools.rb  freebsd.rb      init.rb         openbsd.rb      openwrt.rb      runit.rb        smf.rb          systemd.rb      windows.rb
bsd.rb          debian.rb       gentoo.rb       launchd.rb      openrc.rb       redhat.rb       service.rb      src.rb          upstart.rb
Then you'd just have a selector stating what init script you're building based off that.  No need to say, centos < 7 is redhat and centos >= 7 is systemd, ubuntu < 8 is debian, ubuntu > 8 is upstart, ubuntu > 15 is systemd.  Kinda seems like a lot of decisions we're making that puppet or the user already does for us now that we know how to grab their decisions.
Thoughts?


pull request for e2e test at 11/24/2016 15:56:08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix(patch): Log less when --no-progress in thresholds subcommand

Description
Suppress some logs in thresholds subcommand when using --no-progress:

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Minimal checklist:

[x] I have performed a self-review of my own code
[ ] I have added DocC code-level documentation for any public interfaces exported by the package
[ ] I have added unit and/or integration tests that prove my fix is effective or that my feature works

Thanks, nice.


Rename 1.3.1 to 1.4

Tracks the effort to rename 1.3.1 to 1.4.

Fixed by https://github.com/openthread/ot-reference-release/pull/79


conversion: follow-up touch-ups

Reference: https://github.com/opencontainers/image-spec/pull/492#issuecomment-305273976
Signed-off-by: Vincent Batts<EMAIL_ADDRESS>

:+1: Sorry, I could've sworn I included those fixes.

LGTM


Adding Sports

I want to add Sports as one more option ;
Can you assign this to me _ Hacktobrfest_23 : )

Its actually unnecessary I think the current category buttons are enough @Bharath-KumarReddy


Can't Clear Session

Can't Clear Session.
My application requires that when a user is added a Client is created with clean session set to false and presubscribe to topics that are determined by the user role.
<<<< That works fine.  Even the update to topics if the user role changes works (both unsubscribe and subscribe).
What fails is upon user deletion
I set connection with the Client to clean session true - and it does not change the session state of the client at the broker, nor do unsubscribes work.  I can manually remove the user and topics by subbing to them with a clean session state using the console and mosquitto_sub.
Any ideas?

Was problem in another piece of my code that became apparent only after doing some line by line commenting.  I'll admit it didn't make sense from the start.
Closing.


Allow passing a function for children

It would be nice if we could render based on whether or not the element is currently sticky rather than just changing a class on the parent.
I would like to be able to pass a function that gets the current sticky state passed to it:
<StickyContainer>
  <Sticky>
    {({sticky}) => (
      <div style={{
        height: sticky ? 100 : 50
      }}/>
    )}
  </Sticky>
</StickyContainer>

This is the meat and potatoes of the v6.0.0 branch.


(Provenance-Event) MSH updates from the official HL7 v2 to FHIR mapping

User Story:
As ReportStream, I want to follow the HL7 org's HL7 v2 to FHIR mapping as close as possible, so our FHIR data conforms to a community created spec.
Description/Use Case
This is a follow-up to #7561, to be done when the FHIR team finishes the mapping for Provenance-Event.
We followed the published HL7 v2 to FHIR spec to generate our HL7 v2 to FHIR and FHIR to HL7 v2 conversions.  The original mappings are published via their HL7 v2 to FHIR mapping pages. HL7 has published updates to the mappings via published via Google Docs (these Google docs are now the official delivery of the mappings).  We want to update any mappings used by the UP now while we are not processing data as doing it later can impact data already processed by the pipeline.
Risks/Impacts/Considerations

The result of changing the mappings while we are processing data in UP is the same as updating the COVID 19 schemas.  Replaying a piece of data may fail as the mappings are different, or a mapping change while data is being processed may cause an issue in the data as well. A future plan to be able to update these mappings is needed, such as adding mappings to the HL7 v2 to FHIR conversion first for 60 days, then to the FHIR to HL7 v2 after.
Mappings labeled as under construction can be a risk, so bring up to the team for review before implementing them.

Dev Notes:

You need to carefully inspect our mapping docs vs the new mappings.
Comparing the mappings for a segment will take you down to inspecting the mappings for data types which are reusable in other segments, so coordinate with other developers inspecting other segments to limit duplicate work.
You will also need to verify extension names. E.g. some are at the original website linked from the resource that uses them.  We may be able to reduce the number of reportstream.cdc.gov or ibm.com extensions being used in favor of official extension names.
Some of the mappings are not possible either because of limitations in our conversion library or due to repetitions having multiple values for data that otherwise if supposed to go into just one FHIR property (e.g. Provenance to store multiple Observation values). See the comments in our mapping docs, but you may need to ask the team for feedback on those.
Skip any HL7 fields that we do not have data for, otherwise you have nothing to test with.
Do not change the source HL7 v2 test data for the integration tests as they are based on real data and we want to keep those as pristine as possible.

Acceptance Criteria

The MSH segment ReportStream mapping docs are updated with the latest HL7 v2 to FHIR mapping changes as appropriate. We need to make sure we are still functionally lossless, so some mappings may not be appropriate for this mission.
The Linux4Health MSH HL7 v2 to FHIR UP conversion mappings are updated with the latest HL7 v2 to FHIR mapping changes as appropriate.
The RS MSH FHIR to HL7 v2 UP conversion mappings are updated with the latest HL7 v2 to FHIR mapping changes as appropriate.
The Data Tests integration test data is updated to reflect the changes to the conversion mappings.

As of this posting, Provenance-Event is still under construction. No action can be taken in this ticket yet.
Translation status available here.

@luis-pabon-tf Please move to ready for grooming or let me know if we should icebox this story.


WebJobs: Support for .fsx files.

WebJobs currently supports a number of scripting file formats e.g. python, php etc.., but does not have support for F# .fsx files. It would be great to have this added.

added in cab4bfda7e70fb031309a0399e58856b10759779


Can't work after update into Big Sur Mac OS

I have a problem with Go live server after updating my Mac OS into Big Sur.
Live Server can’t work into Specific Html File when pressing Go Live button or pressing
“Cmd L + O”.
When I hadn’t updated my Mac yet, I could open Chrome immediately by pressing Go Live in Specific File. But now I can’t open it by pressing “Cmd L + O” or Go Live with the HTML file open.

Me too. My live server doesn't work either after updating my Mac OS into Big Sur

Me too. My live server doesn't work either after updating my Mac OS into Big Sur

Related on Stack Overflow: I am experiencing issues with the Live Server during execution


Add skipping of commented or empty lines

For this I ignore inline comments, this can be implemented at a later stage.
closes #36

@mstruebing Thank you for your contributing!
I've left a comment. Could you please fix it?

For this I ignore inline comments, this can be implemented at a later stage.
closes #36

So this PR should not close the issue because it's partially completed

@artem-russkikh I suggest opening another issue for unrealized things. What do you think about it?

@mgrachev yes, that's better
I'll update and open new issue

@mstruebing Thank you very much! ❤


adding Maza Support

The checks are failing but I think there is a backend issue?
File "/usr/local/lib/python3.11/site-packages/sphinx/cmd/build.py", line 313, in main
locale.setlocale(locale.LC_ALL, '')
File "/usr/local/lib/python3.11/locale.py", line 626, in setlocale
return _setlocale(category, locale)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
locale.Error: unsupported locale setting
make: *** [Makefile:20: html] Error 1
Exit status: 2

The CI errors should be fixed on current master now.
Please rebase against current master, and make sure the CI checks pass.


WIP: Terms of service review page

 Terms of Service review page (first time login only) to be deployed to testing for research


[zh] translation for the run-app section

related: #29329
Translation for the run-app section in issue 29329.
Modified:
content/zh/docs/tasks/debug-application-cluster/audit.md
content/zh/docs/tasks/debug-application-cluster/debug-cluster.md
content/zh/docs/tasks/debug-application-cluster/debug-running-pod.md
content/zh/docs/tasks/debug-application-cluster/determine-reason-pod-failure.md
content/zh/docs/tasks/run-application/delete-stateful-set.md
content/zh/docs/tasks/run-application/horizontal-pod-autoscale.md

@steven-my Please remove 'Fixes #29329' from your commit message and recommit this PR. This PR is related to #29329 but it is NOT supposed to close it. You can use related: #29329 to link this PR to the umbrella issue.

Hi @tengqm , thanks for review my changes. I modified files as your comments.

/retitle [zh] translation for the run-app section

Thanks.
/approve

/lgtm


Ctrl + [ clashes with editor:outdent-selected-rows on Win32

The win32 keymap maps Ctrl + [ to editor:outdent-selected-rows on win32. This mapping is specified in the win32 keymap.
This is my preffered way of escaping insert mode, but I'm not certain about how to fix it.
Maybe just make the vim keymap selector more specific than the win32 one?
The vim selector is .vim-mode:not(.command-mode)
The win32 selector is .workspace .editor:not(.mini)

I just installed Atom today for the first time, on Ubuntu, and I am having a similar issue:

Can someone confirm that these are related, before I open another issue?


Trying to consume from one topic and produce to another hangs

It appears to be impossible to use a BrokerRouter for producing if it is already being used for consuming on another topic.  The following code illustrates the problem I'm seeing.
Is this invalid use of a BrokerRouter?
using KafkaNet;
using KafkaNet.Model;
using KafkaNet.Protocol;
using System;

namespace kafka_net_test
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new KafkaOptions(new Uri[] { new Uri("kafka://localcluster:9092"), });
            var brokerRouter = new BrokerRouter(options);

            long offset = 0;
            var producer = new Producer(brokerRouter, 1);
            producer.BatchSize = 1;
            producer.BatchDelayTime = TimeSpan.FromDays(1);

            {
                // Prime topic with a message if necessary
                //var task = producer.SendMessageAsync("Test", new Message[] { new Message("Test Message") });
                //task.Wait();
                //offset = task.Result[0].Offset;
            }

            // Start a consumer to get that message
            var consumerOptions = new ConsumerOptions("Test", brokerRouter);
            consumerOptions.MinimumBytes = 1;
            consumerOptions.BackoffInterval = TimeSpan.Zero;
            consumerOptions.MaxWaitTimeForMinimumBytes = TimeSpan.MaxValue;
            var consumer = new Consumer(consumerOptions);
            consumer.SetOffsetPosition(new OffsetPosition { PartitionId = 0, Offset = offset });
            var messageStream = consumer.Consume();

            foreach (var message in messageStream)
            {
                // Send message to another topic
                var task = producer.SendMessageAsync("Test2", new Message[] { new Message { Value = message.Value } });
                // ------------------------------------
                // If batch size is 1:
                // Blocks above and never gets here (until eventual timeout)
                // Message never shows up in topic
                // ------------------------------------
                task.Wait();
                // ------------------------------------
                // If batch size is greater than 1:
                // Blocks above and never gets here (until eventual timeout)
                // Message never shows up in topic
                // ------------------------------------
            }
        }
    }
}

Nevermind.  It appears that it is actually Kafka that is failing to send the response to the metadata request after the fetch request.

OK, after more investigation, there is actually a problem with kafka-net.  The problem is that a kafka broker (in <IP_ADDRESS> at least) will not process a produce request while a fetch request is waiting for data.  This is a problem with kafka-net because as soon as it yields the results of one fetch request, it sends a new fetch request immediately in another thread.  This ultimately makes it impossible to use the BrokerRouter to do any publishes that end up being sent to the same broker.
Note: I think this is really poor behavior by Kafka.  Its network protocol is described as though it could work this way (with correlation ids and all) but it does not seem to work that way.

In fact, they document that it does not work this way because all requests on a particular socket are ordered:
"The server guarantees that on a single TCP connection, requests will be processed in the order they are sent and responses will return in that order as well. The broker's request processing allows only a single in-flight request per connection in order to guarantee this ordering. Note that clients can (and ideally should) use non-blocking IO to implement request pipelining and achieve higher throughput. i.e., clients can send requests even while awaiting responses for preceding requests since the outstanding requests will be buffered in the underlying OS socket buffer. All requests are initiated by the client, and result in a corresponding response message from the server except where noted."

See discussion here<EMAIL_ADDRESS>This reply suggests that Consumers and Producers should actually not reuse the connection used by the BrokerRouter at all, and each instance should create its own connection for fetch/produce requests.  The claim by the protocol wiki page that you should only ever need one connection between each broker and a client is no longer true and is going to be removed.  The new Java consumers will all maintain their own connections.

Thanks warren, ill have a close read of that.    So I am just getting back into things now.


[Bug] crud.addFunctionToDataTablesDrawEventQueue('addOrRemoveCrudCheckedItem') is not called

Bug report
What I did
I have added the $this->crud->enableBulkActions(); to the corresponding controller.
What I expected to happen
I expected that when I tried to access crud.checkedItems it would yield me an array.
What happened
It says crud.checkedItems is undefined
What I've already tried to fix it
I ran the crud.addFunctionToDataTablesDrawEventQueue('addOrRemoveCrudCheckedItem') command in console and triggered an ajax call so that the addOrRemoveCrudCheckedItem queue entry would be run and it worked. But when I refreshed the page, I saw that this wasn't firing automatically.
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug is it still there.
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
PHP 8.2.13 (cli) (built: Nov 24 2023 13:10:01) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
with Zend OPcache v8.2.13, Copyright (c), by Zend Technologies
LARAVEL VERSION:
<IP_ADDRESS>
BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.2.2
backpack/crud: 6.6.5
backpack/generators: v4.0.3
backpack/logmanager: v5.0.1
backpack/pro: 2.1.2
backpack/theme-coreuiv2: 1.2.3
backpack/theme-coreuiv4: 1.1.1
backpack/theme-tabler: 1.2.5
Note: it works on local. One detail I've noticed is that the script that is related to bulk operations is loaded inline in local environment and via a url when in production.
Thank you for your time

Update
I have found out that this issue only happens until the user navigates to another page. When the user clicks to a pagination button below the table, it triggers the required script which then let's the bulk operation actions work properly.

Hey @zeknoss
It seems like you are trying to Create a New Operation With a Bulk Action .
Bulk delete is working, and the instructions say to mimic BulkDelete to build a custom one.

If Bulk Delete is working, that means crud.checkedItems is not always undefined.
Can you check vendor/backpack/pro/resources/views/buttons/bulk_delete.blade.php and try again?

Hey @karandatwani92
That's actually the way I created my custom bulk action button. I followed the examples from Backpack itself.
In the bulk_delete.blade.php file it checks if the crud.checkedItems is defined and contains more than 0 entries. However, since the script that adds the whole operation regarding the bulk actions into the hooks queue is not called yet in the first page, checking and unchecking the items does not do anything. After I paginate to another page, it works.
You can see my code below:
@if ($crud->hasAccess('update'))

    <button class="btn btn-primary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
        Set Order Status
    </button>

New

Processing

Succeeded

Cancelled

@endif

@push('after_scripts')
@if ($crud->hasAccess('update'))

    <button class="btn btn-primary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
        Set Order Status
    </button>

New

Processing

Succeeded

Cancelled

@endif

@push('after_scripts')

@endpush

Hello @zeknoss
Sorry for the delay here.
I think the issue is with your javascript. You moved the crud.checkedItems call to outside of the function, thus making the return statement an ilegal statement at that point.
Just by changing that check inside the function everything works as expectected:

@if ($crud->hasAccess('update'))

    <button class="btn btn-primary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
        Set Order Status
    </button>

New

Processing

Succeeded

Cancelled

@endif

@push('after_scripts')

@endpush

Closing, please re-open or comment if you are still experiencing issues.
Cheers


cannot update

Issue Type: Bug
when i begin to update the vsode ,it will tell me it has another process
VS Code version: Code 1.56.0 (cfa2e218100323074ac1948c885448fdf4de2a7f, 2021-05-04T22:09:06.405Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
AMD Ryzen 7 5800H with Radeon Graphics          (16 x 3194)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
14.87GB (8.41GB free)

Process Argv
--crash-reporter-id e53a6827-04ab-4582-9761-e13dfc8f3b25

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

vscode-sql-formatter
adp
1.4.4

scala-lsp
dra
0.2.3

shell-format
fox
7.1.0

markdown-extended
jeb
1.0.19

vscode-language-pack-zh-hans
MS-
1.56.2

python
ms-
2021.5.840043038

vscode-pylance
ms-
2021.5.2

jupyter
ms-
2021.6.832593372

azure-account
ms-
0.9.8

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
vspre833cf:30267465
pythonptprofiler:30281270
vshan820:30294714
pythondataviewer:30285071
vscus158:30286553
vscgsv2:30301612
bridgeflight:30299254
vscod805cf:30301675

Can you try a Windows restart first?

Can you try a Windows restart first?

yes,i tried

Maybe restart Windows again, launch VS Code from a command prompt using code  - - disable-extensions  and then check for updates.

Maybe restart Windows again, launch VS Code from a command prompt using code --disable-extensions  and then check for updates.

thanks!I updated successfully.would you mind to tell me what happens about my vscode?is it  need to reinstall?

No, the --disable-extensions switch only applies to the one launch. Now that it has updated can you launch it normally?

yes

Please close your issue, or say what other help you need with it.


Documentation for Phinx via Code added

Documentation Added for calling Phinx via code.

@alexbowers check out https://github.com/robmorgan/phinx/tree/i413-fluent-phinx

That's only a basic starting point... I'd actually like to see a bigger refactor project that inverts Phinx more completely and makes the fluent interface the core part, and the console application a wrapper.

I don't seem to be able to add comments to those files.
But a few thoughts from me so far:
All numbers refer to line numbers:
64: I prefer to have paths which have ../ ../ in them to be `dirname(dirname(DIR)). That way, when debugging, we get the actual path, rather than a convoluted way to get to it.
97, 110: Not a particarly nice set of parameters there, passing null through first. Maybe TextWrapper could be refactored to remove them since we can't pass through values to it anymore?

@shadowhand Is there anything else required for a merge?
Also, the documentation requires updating again. I'm a little busy at the minute, so if you wouldn't mind could you please update the docs with the new code examples and PR them into my branch?
If not, I'll probably get around to them tomorrow.

@shadowhand Documentation has been updated.

@shadowhand Any idea when this will be merged in along with Fluent.
I have an application which will require updating when this is merged; and having it done sooner rather than later would be nice.

@alexbowers honestly, creating the Fluent interface doesn't make a lot of sense without the refactor, which is a large task and cause the code to diverge significantly. There are already multiple ways to work around this without the fluent interface in your application, or you can import the existing class I created into your project.
tl;dr: there are no plans to add the fluent interface soon, handle it in your own project for now.

Okay. I was going to look into the refractor this evening. Is it not worth
me looking into it yet?
On 14 Jan 2015 14:09, "Woody Gilk"<EMAIL_ADDRESS>wrote:

@alexbowers https://github.com/alexbowers honestly, creating the Fluent
interface doesn't make a lot of sense without the refactor, which is a
large task and cause the code to diverge significantly. There are already
multiple ways to work around this without the fluent interface in your
application, or you can import the existing class I created into your
project.
tl;dr: there are no plans to add the fluent interface soon, handle it in
your own project for now.
—
Reply to this email directly or view it on GitHub
https://github.com/robmorgan/phinx/pull/440#issuecomment-69920450.

@alexbowers I'm not opposed to you trying, but it requires significant understand of the codebase and how the 3 parts (manager, env, migrations) all work together.

@shadowhand Any chance of getting this docs merged in too?

@alexbowers honestly I would prefer not to document/encourage usage of the current interfaces until the underlying architecture is improved. Even the current names are pretty bad.

Okay. can we draft up a RFC at some point if we're heading towards backwards incompatibility?
That will also allow some of us to fork off and create a new architecture

I'm closing this. The current interfaces should not be documented as is.


Timelion not available

Dear All,
I ve deployed Kibana-oss with security and alerting plugins thanks to puppet. Everything is Ok 👍🏻 Great job to the contributors !
Is it possible to have timelion with this setup ? (I ve also try with apt install opendistroforelasticsearch-kibana (instead of oss + plugin) but it makes no difference.
Thank you for the clarification.

Hey @BornTKill, Timelion changed in Kibana 7.0. You should see it as one of the options if you create a new visualization. If you want the navigation icon on the left back, add timelion.ui.enabled: true to kibana.yml.


Changed whatsapp icon, and added the required CSS.

Thank you for you contribution :)
you can join this open source community for more - https://chat.whatsapp.com/ELpn6eu6b1A0lPXZ9Fr8nO


[Improvement] Reduce number of extra divs

Hello there! Firstly, thank you for a such great product. As I've said in title, there can be made improvement to minimize output from extra divs.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
No extra divs necessary.

Current Behavior
Some part of code is wrapper with div to make it possible to be returned by React (extended old behavior of React, changed since introduction of Fibers).
Context
Since next.js version 4 supports only React 16+, we can use some of it's new possibilities, such as
component that returns only it's children:
const Fragment = ({ children }) => children;

By using the Fragment we can replace all div that act only as wrapper (for instance in <NextScript />).

Duplicate of #2708

I'll fix this sometime 👍


libcamera-apps - does not display on monitor, preview window not available.

Hello,
After fiddling around, and installing required libraries and components, I am able to build and run libcamera-apps. However, I am running on a RPI, with no X installed. I would like to see the camera output on my monitor, without no x windows, just like in raspbian bullseye.
I did enable egl display (I had to install libepoxy) and compiled with it, and I still get preview window unavailable on the top when I run it.
Here is my cmake .. output:

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No previous build - default to Release build
-- Platform: arm64
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'libcamera'
--   Found libcamera, version 0.0.0
-- libcamera library found:
--     version: 0.0.0
--     libraries: /usr/local/lib/aarch64-linux-gnu/libcamera.so;/usr/local/lib/aarch64-linux-gnu/libcamera-base.so
--     include path: /usr/local/include/libcamera
-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: program_options
-- Checking for libavcodec
-- LIBDRM_LINK_LIBRARIES=/usr/lib/aarch64-linux-gnu/libdrm.so
-- LIBDRM display mode enabled
-- X11_LINK_LIBRARIES=/usr/lib/aarch64-linux-gnu/libX11.so
-- EPOXY_LINK_LIBRARIES=/usr/lib/aarch64-linux-gnu/libepoxy.so
-- EGL display mode enabled
-- ENABLE_QT not specified - set to 1
-- QT display mode will be unavailable!
-- Checking for OpenCV
-- OpenCV library found:
--     version: 4.5.4
--     libraries: -lopencv_core;-lopencv_imgproc;-lopencv_objdetect
--     include path: /usr/include/opencv4
-- OpenCV support is included
-- TFLite support not being included
-- Configuring done
-- Generating done
-- Build files have been written to: /home/can/libcamera-apps/build

Both libdrm and egl libraries are enabled as seen on above.
And here is my make output:

[  2%] Building CXX object image/CMakeFiles/images.dir/bmp.cpp.o
[  4%] Building CXX object image/CMakeFiles/images.dir/yuv.cpp.o
[  6%] Building CXX object image/CMakeFiles/images.dir/jpeg.cpp.o
[  8%] Building CXX object image/CMakeFiles/images.dir/png.cpp.o
[ 10%] Building CXX object image/CMakeFiles/images.dir/dng.cpp.o
[ 12%] Linking CXX shared library libimages.so
[ 12%] Built target images
[ 14%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/post_processing_stage.cpp.o
[ 16%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/negate_stage.cpp.o
[ 18%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/hdr_stage.cpp.o
[ 20%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/pwl.cpp.o
[ 22%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/histogram.cpp.o
[ 25%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/motion_detect_stage.cpp.o
[ 27%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/sobel_cv_stage.cpp.o
[ 29%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/face_detect_cv_stage.cpp.o
[ 31%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/annotate_cv_stage.cpp.o
[ 33%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/plot_pose_cv_stage.cpp.o
[ 35%] Building CXX object post_processing_stages/CMakeFiles/post_processing_stages.dir/object_detect_draw_cv_stage.cpp.o
[ 37%] Linking CXX shared library libpost_processing_stages.so
[ 37%] Built target post_processing_stages
Generating version string: 1bf0ccacf2ef-intree 09-09-2022 (16:41:10)
[ 37%] Built target VersionCpp
[ 39%] Building CXX object preview/CMakeFiles/preview.dir/null_preview.cpp.o
[ 41%] Building CXX object preview/CMakeFiles/preview.dir/preview.cpp.o
[ 43%] Building CXX object preview/CMakeFiles/preview.dir/drm_preview.cpp.o
[ 45%] Building CXX object preview/CMakeFiles/preview.dir/egl_preview.cpp.o
[ 47%] Linking CXX shared library libpreview.so
[ 47%] Built target preview
[ 50%] Building CXX object core/CMakeFiles/libcamera_app.dir/libcamera_app.cpp.o
[ 52%] Building CXX object core/CMakeFiles/libcamera_app.dir/post_processor.cpp.o
[ 54%] Building CXX object core/CMakeFiles/libcamera_app.dir/version.cpp.o
[ 56%] Building CXX object core/CMakeFiles/libcamera_app.dir/options.cpp.o
[ 58%] Linking CXX shared library libcamera_app.so
[ 58%] Built target libcamera_app
[ 60%] Building CXX object encoder/CMakeFiles/encoders.dir/encoder.cpp.o
[ 62%] Building CXX object encoder/CMakeFiles/encoders.dir/null_encoder.cpp.o
[ 64%] Building CXX object encoder/CMakeFiles/encoders.dir/h264_encoder.cpp.o
[ 66%] Building CXX object encoder/CMakeFiles/encoders.dir/mjpeg_encoder.cpp.o
[ 68%] Linking CXX shared library libencoders.so
[ 68%] Built target encoders
[ 70%] Building CXX object output/CMakeFiles/outputs.dir/output.cpp.o
[ 72%] Building CXX object output/CMakeFiles/outputs.dir/file_output.cpp.o
[ 75%] Building CXX object output/CMakeFiles/outputs.dir/net_output.cpp.o
[ 77%] Building CXX object output/CMakeFiles/outputs.dir/circular_output.cpp.o
[ 79%] Linking CXX shared library liboutputs.so
[ 79%] Built target outputs
[ 81%] Building CXX object apps/CMakeFiles/libcamera-still.dir/libcamera_still.cpp.o
[ 83%] Linking CXX executable ../libcamera-still
[ 83%] Built target libcamera-still
[ 85%] Building CXX object apps/CMakeFiles/libcamera-vid.dir/libcamera_vid.cpp.o
[ 87%] Linking CXX executable ../libcamera-vid
[ 87%] Built target libcamera-vid
[ 89%] Building CXX object apps/CMakeFiles/libcamera-hello.dir/libcamera_hello.cpp.o
[ 91%] Linking CXX executable ../libcamera-hello
[ 91%] Built target libcamera-hello
[ 93%] Building CXX object apps/CMakeFiles/libcamera-raw.dir/libcamera_raw.cpp.o
[ 95%] Linking CXX executable ../libcamera-raw
[ 95%] Built target libcamera-raw
[ 97%] Building CXX object apps/CMakeFiles/libcamera-jpeg.dir/libcamera_jpeg.cpp.o
[100%] Linking CXX executable ../libcamera-jpeg
[100%] Built target libcamera-jpeg

As seen it is building preview, drm_preview and egl_preview and linking the libpreview.so
I am not sure which library is responsible of displaying images on console, so I enabled all the previews, with no luck.
Also, on ubuntu22, I have been unable to get a image display using cam application from libcamera package, so I am thinking it is a distribution specific problem, but I don't know what it is.
Any ideas/help/recommendations greatly appreciated.
Best Regards,
Can

On the command line, you will need to use the DRM preview - which according to your build logs, is correctly enabled.
What distribution are you running?  Do you have FKMS enabled in your config.txt file?

Is there anything more to look at here?  If not, I will close this down.

@naushir libcamera-apps does compile on ubuntu 22 on RPI4 with success. Thank you.


Datafile handling pkg

This commit defines the data exported from the broker creation
and imported on cluster join. It contains the submariner k8s broker
URL, the token for connection, and the IPSec PSK as a k8s secret.

Thanks for looking guys!


Disable AeroSpace on a per-native Space basis

I read through the docs about the interaction with native Spaces.

The intended workflow of using AeroSpace workspaces is to only have one macOS Space (or as many monitors you have, if Displays have separate Spaces is enabled) and don’t interact with macOS Spaces anymore.

Could it be possible to disable AeroSpace (e.g. ⌘E) for a specific native Space, so I can have some spaces tiled and some with floating windows? This would help me personally as I've bounced off of most tiling WMs I've tried due to the aggressive window management, and I can stick apps that are less flexible about window sizing in their own floating space.
edit: one example is Messenger and Discord apps, neither of which can get narrow enough to correctly tile on the 1440x932 resolution of a 15" Air, I'd rather just shove those in a floating space off somewhere.

Could it be possible to disable AeroSpace (e.g. ⌘E) for a specific native Space

It's not possible to know what specific Space is currently active without using private APIs (which goes against values of the project)

and I can stick apps that are less flexible about window sizing in their own floating space.

Instead of dedicated Space for floating windows you can create yourself a dedicated workspace for floating windows.
alt-shift-2 = ['layout floating', 'move-node-to-workspace 2']

# Tile windows back
alt-shift-1 = ['layout tiling', 'mode-node-to-workspace 1']
alt-shift-3 = ['layout tiling', 'mode-node-to-workspace 3']
alt-shift-4 = ['layout tiling', 'mode-node-to-workspace 4']
# etc

Now you can use alt-shift-2 shortcut to float the window and send it to workspace 2, which effectively makes your second workspace a workspace for floating windows

This won't work as expected when you open new windows while workspace 2 is already active (you'd need to manually press alt-shift-2 every time you open a new window), I think it could be fixed by introducing one more condition in on-window-detected callback:
[[on-window-detected]]
if.workspace = '2'
run = 'layout floating'

Since I think it's a good idea, which is easy to implement, I introduced if.workpsace in main branch https://github.com/nikitabobko/AeroSpace/commit/d68f1deae34e19e36cc9956730a2e54a47b3bc9f
It will become available in the next update, though you can build from sources, if you eager to try it

If AeroSpace will ever introduce dynamic twm capabilities #260, the desired workflow will be even easier to support by using floating normalization

Since I think it's a good idea, which is easy to implement, I introduced if.workpsace in main branch https://github.com/nikitabobko/AeroSpace/commit/d68f1deae34e19e36cc9956730a2e54a47b3bc9f
It will become available in the next update, though you can build from sources, if you eager to try it

Released in 0.12.0-Beta


SAMZA-2134:Enable table rate limiter by default.

By default rate limiter will be enabled. The user need to provide a rate limiter for the
table descriptor or disable read/write rate limiter explicitly.

@weisong44  Can you help view this RB?  Thanks

Add @sborya to take a look as well.


Terminal running in background

Issue Type: Bug
When using Ctrl+F5 to run a file, it will not close unless the code exits or it is ended with Shift+F5/status bar stop button. However, when overriding the currently running code with another Ctrl+F5 command, the first one will not instantly abort, but rather keep running as a background process. This will only end with repeated presses of Shift+F5/status bar stop button.
 This is probably an issue for them

This happens in Python, I think the details for that are in the original post.

Thanks, please file an issue for them
\extPython


Lookup function for SuiSelect options

This one addresses #47. It currently works with SuiSelect only, will have to implement it for SuiMultiSelect later, if you accept this as a solution to above issue. I have added a working example into demo app, it mocks API requests with filtering options array.

Once you merge my changes into this PR, all that is left is to add this functionality into the multi select, and just make the documentation a tad more clear - perhaps a code example on the page, as currently it shows it working but not what it is actually doing (the search page mentions the promise etc).

Oh, I see you already finished this yourself. Thank you :)

No problem - was looking through it all and it didn't take too long to make work for the multi select etc. It is ever so slightly different from your implementation however, the LookupFn returns a single value when looking up an initial value rather than an array - all explained in the docs (which will be in 0.6.0 in about an hour)


pulumi plugin install 403

Hi, it possible to play with it?
When I try pulumi plugin install resource grafana v0.0.3 is error: [resource plugin grafana-0.0.3] downloading from : failed to download plugin: grafana-0.0.3: 403 HTTP error fetching plugin from https://get.pulumi.com/releases/plugins/pulumi-resource-grafana-v0.0.3-linux-amd64.tar.gz How to deal with it?
Thanks

I get the same error but on Mac, so 403 for pulumi-resource-grafana-v0.0.3-darwin-arm64.tar.gz.
Looks like it is stored in an S3 bucket, do we have READ access for these files?

If you are stuck on this, it's possible to manually install this Grafana resource provider.

Download the archive from the release for your current environment: https://github.com/lbrlabs/pulumi-grafana/releases/tag/v0.0.3 (See https://github.com/lbrlabs/pulumi-grafana/issues/22)
Run the following command pulumi plugin install resource grafana v0.0.3 --file pulumi-resource-scaleway-v0.0.3-linux-amd64.tar.gz (dont forget to adjust the archive name to match the file you downloaded above)
run pulumi plugin ls to verify the plugin is installed (as grafana).

I believe this is: https://github.com/pulumi/pulumi/issues/10882
You can install this manually with
pulumi plugin install resource grafana v0.0.3 --server github://api.github.com/lbrlabs

Following the publication if v0.0.4, you may install the plugin using the command below
pulumi plugin install resource grafana v0.0.4 --server github://api.github.com/lbrlabs

Thanks, it works!


search and replaced all URLs

GitHub Issue (if applicable): #3069
Trello Link (if applicable):
Explanation of Bugfix/Feature/Modification:
I performed a search & replace on all URLs to include the new ynab url

I see a previous PR addressing the same issue has already been made now.


Added Code Of Conduct And README.md Shields

Added Code Of Conduct To Standardise Commits
Added Shields To README.md For Useful Information:

Issues
Forks
Stars
Licence
Releases
Latest Commit

I'm gonna close this now.