Reboot loop after connecting Android TV

Describe The Bug:
Installed homebridge-cast, generated certificate, set up certificate in json, rebooted homebridge. It connects to the TV and then bootloops homebridge.
To Reproduce:
Install homebridge-cast, set up android TV.
Expected behavior:
No bootloop.
Logs:

[12/13/2023, 8:24:34 PM] Homebridge v1.7.0 (HAP v0.11.1) (Homebridge A3B5) is running on port 51631.
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] Found matching chromecast accessory: Lounge Room TV
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:34 PM] Lounge Room TV 4601 is running on port 46469.
[12/13/2023, 8:24:34 PM] Please add [Lounge Room TV 4601] manually in Home app. Setup Code: 268-17-438
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] Found matching chromecast accessory: Lounge Room TV
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:34 PM] Lounge Room TV 4094 is running on port 35429.
[12/13/2023, 8:24:34 PM] Please add [Lounge Room TV 4094] manually in Home app. Setup Code: 268-17-438
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:34 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
Start Remote Connect
Start Remote Connect
<IP_ADDRESS> Remote secureConnect
<IP_ADDRESS> Receive : {"remoteConfigure":{"code1":639,"deviceInfo":{"model":"R4","vendor":"SCBC","unknown1":1,"unknown2":"11","packageName":"com.google.android.tv.remote.service","appVersion":"5.2.473254133"}}}
Create Remote {"remoteConfigure":{"code1":622,"deviceInfo":{"model":"Docker Container","vendor":"HP","unknown1":1,"unknown2":"1","packageName":"androitv-remote","appVersion":"1.0.0"}}}
Sending {"remoteConfigure":{"code1":622,"deviceInfo":{"model":"Docker Container","vendor":"HP","unknown1":1,"unknown2":"1","packageName":"androitv-remote","appVersion":"1.0.0"}}}
[12/13/2023, 8:24:35 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast remote connected
<IP_ADDRESS> Receive : {"remoteSetActive":{}}
Create Remote {"remoteSetActive":{"active":622}}
Sending {"remoteSetActive":{"active":622}}
<IP_ADDRESS> Remote secureConnect
<IP_ADDRESS> Receive : {"remoteStart":{"started":true}}
<IP_ADDRESS> Receive : {"remoteSetVolumeLevel":{"unknown1":89,"unknown2":25,"playerModel":"remote-submix","unknown4":0}}
<IP_ADDRESS> Receive : {"remoteImeKeyInject":{"appInfo":{"appPackage":"com.google.android.katniss"}}}
[12/13/2023, 8:24:35 PM] TypeError: this.accessory.context.config.tvApps is not iterable
at CastPlatformAccessory.setCurrentApp (/homebridge/node_modules/homebridge-cast/src/platformAccessory.ts:388:53)
at AndroidRemote.emit (node:events:517:28)
at RemoteManager. (/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/index.js:66:66)
at RemoteManager.emit (node:events:517:28)
at TLSSocket. (/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/remote/RemoteManager.js:87:21)
at TLSSocket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
at readableAddChunk (node:internal/streams/readable:308:9)
at TLSSocket.Readable.push (node:internal/streams/readable:245:10)
at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
<IP_ADDRESS> Receive : {"remoteConfigure":{"code1":639,"deviceInfo":{"model":"R4","vendor":"SCBC","unknown1":1,"unknown2":"11","packageName":"com.google.android.tv.remote.service","appVersion":"5.2.473254133"}}}
Create Remote {"remoteConfigure":{"code1":622,"deviceInfo":{"model":"Docker Container","vendor":"HP","unknown1":1,"unknown2":"1","packageName":"androitv-remote","appVersion":"1.0.0"}}}
Sending {"remoteConfigure":{"code1":622,"deviceInfo":{"model":"Docker Container","vendor":"HP","unknown1":1,"unknown2":"1","packageName":"androitv-remote","appVersion":"1.0.0"}}}
[12/13/2023, 8:24:35 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast remote connected
[12/13/2023, 8:24:35 PM] Got SIGTERM, shutting down Homebridge...
<IP_ADDRESS> Receive : {"remoteSetActive":{}}
Create Remote {"remoteSetActive":{"active":622}}
Sending {"remoteSetActive":{"active":622}}
<IP_ADDRESS> Receive : {"remoteStart":{"started":true}}
<IP_ADDRESS> Receive : {"remoteImeKeyInject":{"appInfo":{"appPackage":"com.google.android.katniss"}}}
[12/13/2023, 8:24:35 PM] TypeError: this.accessory.context.config.tvApps is not iterable
at CastPlatformAccessory.setCurrentApp (/homebridge/node_modules/homebridge-cast/src/platformAccessory.ts:388:53)
at AndroidRemote.emit (node:events:517:28)
at RemoteManager. (/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/index.js:66:66)
at RemoteManager.emit (node:events:517:28)
at TLSSocket. (/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/remote/RemoteManager.js:87:21)
at TLSSocket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
at readableAddChunk (node:internal/streams/readable:308:9)
at TLSSocket.Readable.push (node:internal/streams/readable:245:10)
at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
[12/13/2023, 8:24:36 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:36 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:36 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:36 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:38 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:38 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:38 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:38 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:40 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:40 PM] [GoogleCastPlugin] [Lounge Room TV] Connecting to Chromecast on <IP_ADDRESS>:8009
[12/13/2023, 8:24:40 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:40 PM] [GoogleCastPlugin] [Lounge Room TV] Chromecast client - error: Error: read ECONNRESET
[12/13/2023, 8:24:40 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

Plugin Config:
{
"devices": [
{
"name": "<IP_ADDRESS>",
"displayName": "Lounge Room TV",
"type": "tv",
"volumeService": true,
"motionService": false,
"tvCert": {
"key": "-----BEGIN RSA PRIVATE KEY-----\r\n KEY \r\n-----END RSA PRIVATE KEY-----\r\n",
"cert": "-----BEGIN CERTIFICATE-----\r\n CERT \r\n-----END CERTIFICATE-----\r\n"
}
}
],
"platform": "GoogleCastPlugin"
}
Screenshots:

Environment:

Plugin Version: 1
Homebridge Version: 1.7.0
Node.js Version: 18.18.2
NPM Version: 9.8.1
Operating System: Ubuntu/Docker

Appears to occur because you have no apps setup in the config. Please add an app e.g. Netflix in the plugin config for this TV for now, and let me know if that works. Will fix this bug shortly.

Hi @teh-hippo thanks for the info. I have not encountered this error, however I run Homebridge on a Mac mini so you may be right about it being something to do with slower platforms. I have a Rpi with Homebridge installed so will try this out today with similar config.

I too am having the issue reported above, running on a PI 4
[03/03/2024, 23:54:10] Error: Accessory <IP_ADDRESS> experienced an address collision.     at BridgeService.handlePublishExternalAccessories (/var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:419:15)     at processTicksAndRejections (node:internal/process/task_queues:95:5)

I‘m having the same issue:
[19/04/2024, 21:10:23] [homebridge-cast] [Schlafzimmer] Chromecast connected Start Remote Connect Error: error:04800066:PEM routines::bad end line     at node:internal/tls/secure-context:70:13     at Array.forEach (<anonymous>)     at setCerts (node:internal/tls/secure-context:68:3)     at configSecureContext (node:internal/tls/secure-context:157:5)     at Object.createSecureContext (node:_tls_common:117:3)     at Object.connect (node:_tls_wrap:1750:48)     at /var/lib/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/remote/RemoteManager.js:49:37     at new Promise (<anonymous>)     at /var/lib/homebridge/node_modules/homebridge-cast/node_modules/androidtv-remote/dist/remote/RemoteManager.js:40:14     at Generator.next (<anonymous>) {   library: 'PEM routines',   reason: 'bad end line',   code: 'ERR_OSSL_PEM_BAD_END_LINE' } Error: connect ECONNREFUSED <IP_ADDRESS>:6467     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {   errno: -111,   code: 'ECONNREFUSED',   syscall: 'connect',   address: '<IP_ADDRESS>',   port: 6467 } <IP_ADDRESS> Pairing Connection closed true false

I’m having the same issue as those above, running on an Intel Mac mini

I'm having same issue, running on RPi4... anyone has a way to go around it?
[23/10/2024, 16:12:48] [GoogleCastPlugin] Found matching chromecast accessory: MachuPachu
[23/10/2024, 16:12:48] [GoogleCastPlugin] [MachuPachu] Connecting to Chromecast on <IP_ADDRESS>:8009
Start Pairing Connect
[23/10/2024, 16:12:50] MachuPachu 7780 is running on port 46589.
[23/10/2024, 16:12:50] Please add [MachuPachu 7780] manually in Home app. Setup Code: 926-57-833
[23/10/2024, 16:12:50] [GoogleCastPlugin] [MachuPachu] Chromecast connected
<IP_ADDRESS> Pairing connected
<IP_ADDRESS> Pairing secure connected
[23/10/2024, 16:12:50] [GoogleCastPlugin] Found matching chromecast accessory: MachuPachu
[23/10/2024, 16:12:50] [GoogleCastPlugin] [MachuPachu] Connecting to Chromecast on <IP_ADDRESS>:8009
Start Pairing Connect
[23/10/2024, 16:12:50] Error: Accessory MachuPachu experienced an address collision.
at BridgeService.handlePublishExternalAccessories (/var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:418:15)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
Receive : 7,8,2,16,200,1,90,0
Receive : {"protocolVersion":2,"status":"STATUS_OK","pairingRequestAck":{}}
[23/10/2024, 16:12:51] Got SIGTERM, shutting down Homebridge...


Sensors and plugs are visible in Homebridge but not in Homekit

Hello,
A short description of my problem:
I see the sensors and plugs I added via the Phoscon app in Homebridge (v1.8.5, Node-js v22.12.0), but not in Homekit (Homepod mini v18.2 - 22K155).
Is this a known issue with the latest version of Homebridge and a Homepod mini?
Unfortunately I updated my Raspi pi and Docker to the latest version 1 week ago and at the same time updated the Homepod mini to the above version. Now I can't figure out which change could have caused this problem. Before the update, everything worked without any problems.
Before the update I was using the homebridge-hue app, but since the developer of both apps is the same I figured it shouldn't make a difference which app I use. BTW even with the hue app I can see the sensors in the homebridge app but unfortunately not in Homekit.
I see the following warnings or comments in the protocol:
[12/26/2024, 9:11:40 AM] [deCONZ] warning: recommended version: node v22.11.0
[12/26/2024, 9:11:42 AM] [deCONZ] 1 gateways
[12/26/2024, 9:11:42 AM] [deCONZ] created debug dump file /var/lib/homebridge/homebridge-deconz.json.gz
(node:116406) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ... to show where the warning was created)`

I can see other sensors like Timer and Pihole in Homekit as usual.
I wonder if you are facing the same problem.

If the devices are visible in Homebridge, then the plugins work correctly.  Make sure the (child) bridge(s) is/are paired with HomeKit.  If this fails, or the bridges cannot be reached by HomeKit, the issue is with your home network, most likely the Docker network settings.

Hi ebaauw, thank you very much for your reply. It was actually because I really had to pair the child bridge with Homekit again separately. I didn't have to do that with the older versions of Homebridge, which is why it wasn't on my radar.
For all those who have the same issue:

Click on "Plugins" in Homebridge
on the 3-dot symbol of the "Homebridge deCONZ" plugin
Bridge settings
Scan the QR code with the Homeapp -->  Bridge with all devices should now have been added to Homekit


Preserve SIL when merging modules

Fixes rdar://problem/18913977.
Next steps in this area:

Emit default argument generators with shared linkage and serialized bit set in Swift 4 mode
Finish investigating emitting inlineable functions with shared linkage

So @jrose-apple, the problem is that while we constructed a SIL module with the right sections, nothing was forcing them to be read in. Also, I'm going to disable the SIL optimizer when there's no primary file. Does the general approach here look reasonable?

You can't just disable the SIL optimizer when there's no primary file; that's WMO mode. Really in merge-modules we don't want to run any SIL passes—mandatory, optimizing, whatever. I took a manual stab at it at one point by passing -disable-sil-perf-optzns but today that still runs the "Onone passes". @swiftix, @gottesmm, would you be okay with -disable-sil-perf-optzns actually turning off all the optimization passes?

Ah. My bad on the primary file check. How do I detect that we have no source files?

I don't know if that's the right check either. Last time I talked to @gottesmm about this we thought it probably made sense to add more SIL stages, and then be more careful about mixing them.

@slavapestov SGTM! In terms of general approach, IMO greater granularity is in general better. Not having to recompile when debugging is good.

@swift-ci Please test

@swift-ci Please test

This is now ready for review -- @graydon, @jrose-apple, @gottesmm.

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - f731ea506836fa927e80dbd9f34edd27c296b960
Test requested by - @slavapestov

Looks like swift-xcode-playground-support exposed a real bug here.

Reduced test case:
import Foundation

func replace(rgx: NSRegularExpression, in: String, with: String, x: NSRange) -> String {
  return rgx.stringByReplacingMatches(in: `in`, options: [], range: x, withTemplate: with)
}

It's crashing while deserializing the generic environment of _T0So19NSRegularExpressionC15MatchingOptionsVs10SetAlgebra10FoundationsAEPxqd__cs8SequenceRd__8Iterator_7ElementQYd__AJRtzlufCTW, which is a protocol conformance witness thunk:
1.	While deserializing decl #29 (XREF) in 'x'
2.	Cross-reference to module 'Foundation'
	... NSRegularExpression
	... in an extension in module 'Foundation'
	... MatchingOptions
	... Element

Of course the code compiles with -WMO or without -sil-merge-partial-modules so the driver or frontend must not be configuring something that would allow the imported decl to be found.
@jrose-apple Any ideas? Should be a simple oversight on my part.

It could just be another case where SIL ends up pulling in new declarations from the Clang importer too late in the process. This isn't a new issue, but we mostly avoid it today by not having inlinable code that references Clang declarations. I'm not sure that simply declaring a TypeChecker that lives through the whole merge-modules phase is correct either—SILGen and SILOpt are probably set up to assume the set of external declarations doesn't change.

That is, it's possible there's a whole army of yaks over this hill.

For posterity here's a test case that triggers this problem even without my change.
x.swift:
import Foundation

@inline(__always)
public func replace(rgx: NSRegularExpression, in: String, with: String, x: NSRange) -> String {
  return rgx.stringByReplacingMatches(in: `in`, options: [], range: x, withTemplate: with)
}

y.swift:
import Foundation
import x

public func rreplace(rgx: NSRegularExpression, in: String, with: String, x: NSRange) -> String {
  return replace(rgx: rgx, in: `in`, with: with, x: x)
}

Compile x.swift with WMO, and y.swift with -O (doesn't matter if you enable WMO or not).

Maybe we can throw that into the validation suite.

@DougGregor recently did some work on the ClangImporter. Let's try running the tests again.

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 72e40e9c3470efc993e14d002e9bddafc1fc0b46
Test requested by - @slavapestov

New failure, but in the same code:
01:11:46 0  swift                    0x0000000112164ee8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
01:11:46 1  swift                    0x0000000112165596 SignalHandler(int) + 454
01:11:46 2  libsystem_platform.dylib 0x00007fff9f740bba _sigtramp + 26
01:11:46 3  libsystem_platform.dylib<PHONE_NUMBER>00000000 _sigtramp +<PHONE_NUMBER>
01:11:46 4  swift                    0x000000010fe3f848 swift::LookUpConformanceInSubstitutionMap::operator()(swift::CanType, swift::Type, swift::ProtocolType*) const + 40
01:11:46 5  swift                    0x000000010fe47b4e llvm::Optional<swift::ProtocolConformanceRef> llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>::callback_fn<swift::LookUpConformanceInSubstitutionMap>(long, swift::CanType, swift::Type, swift::ProtocolType*) + 14
01:11:46 6  swift                    0x000000010fe3fe28 getMemberForBaseType(llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::Type, swift::Type, swift::AssociatedTypeDecl*, swift::Identifier, swift::OptionSet<swift::SubstFlags, unsigned int>) + 648
01:11:46 7  swift                    0x000000010fe43e57 llvm::Optional<swift::Type> llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>::callback_fn<substType(swift::Type, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::OptionSet<swift::SubstFlags, unsigned int>)::$_17>(long, swift::TypeBase*) + 1271
01:11:46 8  swift                    0x000000010fe40d83 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const + 163
01:11:46 9  swift                    0x000000010fe41003 swift::Type::transformRec(llvm::function_ref<llvm::Optional<swift::Type> (swift::TypeBase*)>) const + 803
01:11:46 10 swift                    0x000000010fe3f699 swift::Type::subst(llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>, swift::OptionSet<swift::SubstFlags, unsigned int>) const + 105
01:11:46 11 swift                    0x000000010f937c5a (anonymous namespace)::SILTypeSubstituter::visitType(swift::CanType) + 90
01:11:46 12 swift                    0x000000010f93774e swift::CanType swift::CanTypeVisitor<(anonymous namespace)::SILTypeSubstituter, swift::CanType>::visit<>(swift::CanType) + 94
01:11:46 13 swift                    0x000000010f93269f (anonymous namespace)::SILTypeSubstituter::substSILFunctionType(swift::CanTypeWrapper<swift::SILFunctionType>) + 623
01:11:46 14 swift                    0x000000010f9323e7 swift::SILFunctionType::substGenericArgs(swift::SILModule&, llvm::function_ref<swift::Type (swift::SubstitutableType*)>, llvm::function_ref<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*)>) + 71
01:11:46 15 swift                    0x000000010f93231a swift::SILFunctionType::substGenericArgs(swift::SILModule&, swift::SubstitutionMap const&) + 58
01:11:46 16 swift                    0x000000010f93220a swift::SILFunctionType::substGenericArgs(swift::SILModule&, llvm::ArrayRef<swift::Substitution>) + 58
01:11:46 17 swift                    0x000000010f9c18ff (anonymous namespace)::SILVerifier::checkApplySubstitutions(llvm::ArrayRef<swift::Substitution>, swift::SILType) + 319
01:11:46 18 swift                    0x000000010f9c0a3c (anonymous namespace)::SILVerifier::checkFullApplySite(swift::FullApplySite) + 76
01:11:46 19 swift                    0x000000010f9a2277 swift::SILVisitor<(anonymous namespace)::SILVerifier, void>::visit(swift::ValueBase*) + 13735
01:11:46 20 swift                    0x000000010f99d883 (anonymous namespace)::SILVerifier::visitSILBasicBlock(swift::SILBasicBlock*) + 1315
01:11:46 21 swift                    0x000000010f997c97 swift::SILFunction::verify(bool) const + 8823
01:11:46 22 swift                    0x000000010f999d45 swift::SILModule::verify() const + 197
01:11:46 23 swift                    0x000000010ee35100 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 13360
01:11:46 24 swift                    0x000000010edef430 main + 3312
01:11:46 25 libdyld.dylib            0x00007fff9f533255 start + 1

@DougGregor looks like it got further, though. This is in SIL verification at the end of merge-modules.

You know, that backtrace looks a whole lot like something fixed by https://github.com/apple/swift/pull/8812.

@swift-ci Please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 72e40e9c3470efc993e14d002e9bddafc1fc0b46
Test requested by - @DougGregor

No such luck. Needs actually debugging

@swift-ci Please test macOS

@swift-ci Please test

@swift-ci Please test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - a521f177fa83fa04b26012c5dbe63285d10cacba

Meh, you're missing a
REQUIRES: objc_interop
one of the new tests.

Source compat test suite passed. This new version just adds the REQUIRES:.

@swift-ci Please smoke test

@swift-ci Please smoke test

I think this is causing a failure on some of our internal bots -- reverting for now.


feat; add testcase for multiline non regex replace

To reproduce https://rewriteoss.slack.com/archives/C01A843MWG5/p1694144028395779

What's changed?

I added an extra multiline non regex testcase to expand the testing, and try and see if I could reproduce the issues with: https://rewriteoss.slack.com/archives/C01A843MWG5/p1694144028395779
What's your motivation?

To add an extra testcase, and reproduce an issue if possible
Anything in particular you'd like reviewers to focus on?

Anyone you would like to review specifically?

Have you considered any alternatives or workarounds?

Any additional context

Checklist

[x] I've added unit tests to cover both positive and negative cases
[x] I've added the license header to any new files through ./gradlew licenseFormat
[x] I've used the IntelliJ IDEA auto-formatter on affected files
[x] I've updated the documentation (if applicable)

Looking at the Slack thread the issue appears to have been in the yaml configuration, rather than the recipe itself. Thanks a lot for helping to debug that issue!
That being said I'm afraid having an example that uses string replacements on java files might send the wrong message, as we want to nudge folks towards Java visitors instead. Hope you don't mind that I close this PR for that reason, as much as I appreciate you helping others in the community!
Look forward to seeing you at Devoxx in three weeks. :)


Contact page getform

Hi! Could you please add  https://getform.io/ service to contact page?
Form looks like that
<form action="getform.io/f/1234" method="POST">
    <input type="text" name="name">
    <input type="email" name="email">
    <input type="text" name="tel">
    <input type="file" name="file">
    <button type="submit">Send</button>
</form>

Where 1234 is token that is unique for account.
Link to documentation: https://getform.io/docs
Thanks!

Ok, I will

I added the getform.
I've not tested it since I have no getform account😭

Working! Thank you

It should rather looks like that:

Send

There is no option to send the text  Phone number is not necessary
I have to modify getform.html to achieve the above goal.


update to add version string to package (needs testing)

LGTM. How do we wanna test this?

LGTM. How do we wanna test this?

I think we can add a test to CI to print out the version - but would need some help in finding where that would be

I think we can add a test to CI to print out the version - but would need some help in finding where that would be
I will add a ticket and we can follow up next week.


JS error in stream.js when attempting to add content with StreamField

Hi folks.
Are there any known issues with the JS for StreamField? I've created a custom StreamBlock by extending blocks.StreamBlock, and when used with a StreamField on a simple page model, I get the initial menu to a allow a block type to be selected (along with correct icons and labels), but selecting any block to begin adding content raises a JS error :(
The Chrome console is telling me that the error is occuring at line 75 of  stream.js:
Uncaught TypeError: Cannot read property 'initializer' of undefined

I've tried with a much simpler StreamBlock definition too (with just a couple of CharBlocks), but the error is still happening.
Possibly related... I'm also seeing a JS warning from line 11 of rangy-core.js:
 'Range.detach' is now a no-op, as per DOM (http://dom.spec.whatwg.org/#dom-range-detach).

It could well be to do with my implementation, but this is my first Wagtail project, and the setup is all pretty vanilla. Any help would be greatly appreciated!
Thanks,
Andy

Hi @ababic,
I've not seen any issues like that, and I can't immediately how it would arise... The JS error would imply that a JS definition is missing for the particular block type you're trying to add, but those definitions are generated from the same list that produces the menu itself - I suspect it's something like an invalid character in the block name. Please can you post your StreamBlock definition?
The rangy-core.js warning is unrelated - that comes from third-party code used in the rich text editor, and shows up all the time.

My apologies @gasman. It seems that the error was occuring because I was using FieldPanel to represent the field in content_panels, rather than the newly introduced StreamFieldPanel.
Thank you for getting back to me, though. Much appreciated!

I also had this issue when I started using StreamFields. The StreamField widget almost seems to work while using a FieldPanel, which confused the hell out of me! Having a warning about this in the console would be nice, although I am not sure how to go about doing this.

Yeah me too, @timheap @ababic a sanity check/warning on this would be nice huh?

I just ran into this problem in my own project. Thanks so much for explaining how you fixed it, guys! I would have probably wasted hours pulling my hair out over this.


libjxl.a depends on missing skcms static library

The static libjxl.a we install depends on skcms.a (when using skcms which is the default). In the libjxl.so case we bundle the skcms.a into the shared library, but in the static case the skcms.a is missing. Unlike with hwy, brotli, etc, the skcms dependency is not listed in the pkg-config .pc file since I'm not aware of any package that would provide it. This prevents external projects from using the static jxl library.
We need to either bundle skcms.a (and somehow avoid collisions with other projects using it), switch to lcms (which has its own set of problems) or provide a dependency injection hook for having arbitrary color conversions in the encoder.

This should be a test for it: https://github.com/libjxl/libjxl/pull/443


Asset Share Commons - Modals policy only shows up 2 of 5 components

Hello! I ran into an issue on my DEV environment with cart download action.
Basically, the cart component is not showing up and I don't know the reason.
Modals Policy shows up 2 of 5 components: Download Modal (Dynamic Media) and License Agreement Modal (Cart Modal, Download Modal and E-mail Share Modal are not there).

While inspecting the dev tools, I'm seeing a 403 error when trying to insert a modal component into layout container of the cart page.
Forbidden
Cannot serve request to /mnt/overlay/wcm/core/content/editor/_jcr_content/content/items/content/content/items/styleselector.form.html/content/asset-share-commons/en/light/actions/cart/_jcr_content/root/responsivegrid/*/ in org.apache.sling.servlets.get.DefaultGetServlet
Do you have any idea about the root cause of this? I've checked permissions in AEM and everything looks good.
Thanks in advance!

@namonte81 sorry for missing this? What version fo ASC are you on?
Also, could you verify that the componentGroup for the missing modals are the same as the groups for the ones that show up? IF theyre the same, then this is rather perplexing and sounds like it might be an AEM issue.. 🤔

Hey @davidjgonzalez ! Thanks for your response. I had already checked that and was ok. We solved the issue by reinstalling ASC packages.
Thank you!


Increase job priority based on the number of retry

Analysing the current situation of the production agents, the amount of agents and jobs in the system, and the fact that jobs are mostly starving in the old draining agents (as design, since the pool obeys to job priority), it's clear we need to come up with a mechanism such that we jobs don't starve to death (after many retries).
The change I have in mind is very simple, bump the job priority according to the job retry, something like
jobPriority = jobPriority + (10k * jobRetry)

and the pros are:

we can hopefully drain agents in <= 3 weeks
Ops don't need to ACDC tens/hundreds of workflows (exit code: 71305 - pending for too long)
the collaboration don't need to wait for > 20 days to know that many jobs failed and ACDC is needed

the only downside is of course the so called priority inversion (because the request priority won't be changed, only jobs running beyond the first attempt).
CompOps/PdmV feedback is important and will decide whether we implement it or not.
Open question though is whether we apply these priority changes to:
a) every single agent, regardless of its status
b) or only to agents being drained
?

is this from https://its.cern.ch/jira/browse/CMSCOMPPR-5709 ?

FYI : unified has the mechanism of increasing the priority in similar manner
https://github.com/CMSCompOps/WmAgentScripts/blob/master/Unified/completor.py#L233
and this was disabled
https://github.com/CMSCompOps/WmAgentScripts/blob/master/unifiedConfiguration.json#L147
because this lead to many low priority stuff getting promoted.
What you propose is close to the same and might have the same fate

Thanks for the feedback, Jean-Roch. As I mentioned over slack, the impact of this change is supposed to be much smaller, because it does not change the workflow priority itself, only a subset of jobs that are in a retry > 0.

is that a blind retry>0 priority increase ? which means we are going to run failing jobs first?
if this is for 71305, they are low priority and by the time they end up on the console time will have passed (3 retries of 5 days time-out) ; by increasing the priority, you'd short circuit this natural long waiting time for low priority things that are not finding a slot to run.
if the issue is with draining the agent, it's a totally different question and I'd rather have a mechanism that early-fails the jobs back to the workpool or in ACDC server.  I am not satisfied with running lower priority work before higher priority one to circumvent the issue that work cannot be transferred to other agents ; I thought this was something we'd be tackling with containerized software for the agent.

is that a blind retry>0 priority increase ? which means we are going to run failing jobs first?

If you're asking whether it depends on the exit code, no, it doesn't. If there is a job retry, then there is an increase in job priority.

if the issue is with draining the agent, it's a totally different question and I'd rather have a mechanism that early-fails the jobs back to the workpool or in ACDC server.

Yes, this was my main motivation to create this issue/proposal. I just tried to address it from an angle that doesn't cause Ops overhead.
If we decide that an agent in drain doesn't retry any jobs at all, I'm happy with that solution as well. However, it would increase the burden on the Ops team.
FYI @bbockelm in case you have any thoughts on this subject as well.

Hi Alan,
My worry about your proposal is that it's contributing to increasing the "diversity of jobs" (measured as autoclusters, or resource request lists, etc) that schedds and negotiators will have to handle. By creating more priority levels, this will contribute to even more diversify the load, breaking the job clusters, therefore increasing the burden on the matchmaking phase.
On how to solve the draining agents problem: can't we return work back to the work queue, or shift load between agents/schedds? That would be a more effective approach perhaps.
Antonio.

We should evaluate what's proposed by @vlimant on this Ops PR:
https://github.com/CMSCompOps/WmAgentScripts/pull/453
and if it's sound, then get this implemented directly in the agent.


init commit

See Readme

Example in use - https://github.com/hypertrace/attribute-service/pull/172


Update locate to new API V2 url

The ndt7 test is is going to start requiring access tokens from the new v2 locate API . The client will need to be updated
https://www.measurementlab.net/blog/ndt7-access-tokens/
https://www.measurementlab.net/develop/locate-v2/

We've rolled back the access token requirement until this repo is updated to support the Locate v2 API natively.

Thanks, it's working now. Once the access token requirement is included again, will there be any changes needed from the client side?
Or a pod update?

We already had a private fork of this that's been updated to the Locate V2 API, we'll try and get it merged back into this. PR #77

Fixed by https://github.com/m-lab/ndt7-client-ios/pull/80


Ability to run in "lite" mode

If I want to use Authelia for Ingress authentication backed by LDAP, I find the use of mysql, redis, etc pretty heavy. Also, I don't even need 2FA when using LDAP backend. Is it possible to provide config options to disable 2FA and storage provider middleware and not have the need to run mysql?

You are not required to run mysql or redis, however doing so has trade-offs.
Also, it's completely up to you as to how you configure each of your endpoints, if you want them all to be only single factor, make sure under your rules section that you set policy: one_factor like the following example:
https://github.com/clems4ever/authelia/blob/1530267b501776c1a26c2305103793490eac7245/config.template.yml#L156-L157

@leodotcloud , did @nightah answer your questions?

any news @leodotcloud ?

Please re-open the issue if the advice did not solve your problem.


Docs look and feel update

It will make docs appear just like the website.

@paulbellamy I have fixed the links to help page.

shouldn't this be merged into latest_doc_updates?

@rade thanks for the reminder!


Make sure the secret creation example names file

I think at least a couple of people have run into this -- it's not obvious that the secret has to name the private key identity.

Thanks @rade :stars:


Context Menu

Figure out best way to do a context menu on a node.

I could use such a feature, it'd need to be extendable (configuring which actions are possible through the menu).
For instance, built-in actions could be:

Delete

By context menu, I assume you mean something that displays upon right-click on a node?
Edges could also benefit from this, with delete and "Edit label" built-in actions would be very useful IMHO.

Ya - its tricky because its SVG + DOM mixture w/ screen position relativity.

I see, similar to the issue I opened recently with Add component.
Extending the Node component with a new property like ContextMenu that's displayed relatively to the Node might work out, no? It's a bit similar to children? Except it would appear on top of other elements and would't need to redraw the whole canvas.


default parameters for FGP_dTV and FGP_TV

fixes #813 (at least for papers)
@epapoutsellis  could you check these run

I'm fine wiht this. Please go ahead and merge.

Jenkin's happy as well.


Place, track, and manage the order for Customers

Order Management
3.1 Manage Order

Objective: The feature allows customers to place, track, and manage their order.

Manage Order

Requirements
        User Story
        Acceptance Criteria
        Notes

Order ManagementAs a customer using the Yummy food ordering platform, I want a smooth and intuitive order management system that allows me to place, track, and manage my orders effortlessly.

After logging in to my account,  I can browse through different cuisines, view menu items with detailed descriptions and prices, and easily add items to my cart.

When ready to place my order, I proceed to checkout where I review my cart with all selected items.

The checkout process is straightforward, with clear prompts for delivery or pickup, address delivery, payment method selection, and order confirmation.

After placing my order, I can track the order status updates, showing when it's being prepared, out of delivery, and delivered

I have access to my complete order history within my Yummy account.

Add comments

@haneeva Figma URL for Order Management: https://www.figma.com/file/hjM0xWSadExn3CN0nOfqkv/Yummy?type=design&node-id=67-3&mode=design


Add ability to dynamically set features, onsets, durations, orders in ExtractorResults

Currently any ExtractorResult constructed from raw and expecting to_df to be called will hold None in the features onset duration, and order fields after construction.
The latter three are not a particular issue at the moment, since they will be propagated from the stim during transformation. However, if to_df created multiple feature events, this would be an issue.
Similarly, features will always be None, and the expected behavior would be that it matches the output of the data property.

The solution will probably require either a) computing a to_df call on init to load some reasonable defaults or b) making each into a property and computing a to_df call in each property access

I think (a) is likely to be less expensive (and will probably also require less code), as it at most involves one extra to_df call each time.


Add a lab restart counter

For example press 3 to complete the current stage 3 times before disabling (1 for the current and 2 restarts for a total of 3.
Press 0 to disable after completing the current stage.
Need a way to cancel this... Maybe disabling the lab clears the counter?  Can put a status message indicating the counter was cleared

Added in 6.5


cdh/docs: bug fix - add build feature for aliyun

Building secret_cli without feature specified will generate a binary without functionality.

btw, we may need to publish this tool in ORAS. See https://github.com/confidential-containers/trustee/pull/349

I'll see what I can do.

btw, we may need to publish this tool in ORAS. See confidential-containers/trustee#349

I'll see what I can do.


DBT version 1.0

Hi,
Is this library supporting DBT version 1.0 and forward? I can't get it to run at all.
There's a lot of errors when checking the schema of the manifest.json file.
/ Andrea

Hey @AndreasTA-AW - absolutely! I'll make an update this weekend to fix this

Any update on this? I just stumbled upon this library and am also having issues using it with v1.0 or DBT. Thanks!

Same for me


RE Ternary todo

Regarding https://github.com/tightenco/lambo/blob/master/lambo#L114
prettyPath=$([ "$PROJECTPATH" == "." ] && \
    echo "$PROJECTNAME" || \
    echo "$PROJECTPATH/$PROJECTNAME")

[[ $PROJECTPATH = "." ]] && \
    prettyPath="$PROJECTNAME" || \
    prettyPath="$PROJECTPATH/$PROJECTNAME"

case $PROJECTNAME in
 .) prettyPath="$PROJECTNAME" ;;
 *) prettyPath="$PROJECTPATH/$PROJECTNAME" ;;
esac

Some syntax choices for you. Can PR later if needs be.

Thanks @benswinburne!


Update 7. Describe methods for resolving module conflicts.md

Updates on config file path

Thanks simpleadm,
Apologies for the delay. I missed this pull request notification.


Disallow date fields from working with Date objects?

Discussed in https://github.com/romeerez/orchid-orm/discussions/134

Originally posted by IlyaSemenov June 26, 2023
I noticed in raw SQL logs that when I insert a date column and pass an ISO date, it's converted to Javascript Date before it's sent to the database:
class UserTable extends BaseTable {
  readonly table = "user"

  columns = this.setColumns((t) => ({
    id: t.identity().primaryKey(),
    dob: t.date(),
  }))
}

await db.user.create({ dob: "2000-10-20" })
// INSERT INTO "user"("dob") VALUES ($1) RETURNING * ['2000-10-20T00:00:00.000Z']
// How so? I never passed and never wanted any time values.

I then noticed that I can even pass a raw Date object:
await db.user.create({ dob: new Date() })
// (3.1ms) INSERT INTO "user"("dob") VALUES ($1) RETURNING * ['2023-06-26T09:38:50.049Z']

I think this is a time bomb for timezone errors and should be disallowed. In the new Date() example above, the actual value saved to the database will depend on the time zone of the Postgres host. If the app works in EST and the database runs on a server in UTC, I think new Date() will save the tomorrow's date when it's 9pm in New York - something that a naive user wouldn't expect. Moreover, this kind of problems could be left unnoticed in unit tests when the server and the app work on the same server.
So my point here is that t.date() should better work with strings only to prevent misuse (possibly allowing to opt-in for dates with asDate for those who are absolutely sure they can handle tz offsets properly). What do you think?
This indeed doesn't look right that the value is transformed to a timestamp for a date column type, and it may lead to bugs.

Fixed, now the date and timestamp columns aren't turned to Date when saving, the string remains just as it was given.


Update protocols

Drop 1, 1.1 and add support for 1.3
Also add ciphers

I have run this change against our www VM as per https://github.com/openmicroscopy/management_tools/pull/1768 with the nginx_proxy role pointing to this branch.
In --dry-run I have as a change
TASK [nginx_proxy : nginx | proxy config] **************************************
--- before: /etc/nginx/conf.d/proxy-default.conf
+++ after: /Users/pwalczysko/.ansible/tmp/ansible-local-49811bneju5zk/tmpsrno9khk/nginx-confd-proxy.j2
@@ -12,7 +12,9 @@

     ssl_certificate /etc/ssl/localcerts/bundled.crt;
     ssl_certificate_key /etc/ssl/localcerts/server.key;
-    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;  # don't use SSLv3 ref: POODLE
+    ssl_protocols  TLSv1.2 TLSv1.3;  # don't use SSLv3 ref: POODLE
+    ssl_ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
+

     #charset koi8-r;
     #access_log  /var/log/nginx/log/host.access.log  main;

changed: [<IP_ADDRESS>] => (item={'nginx_proxy_is_default': True})

@jburel happy for me to run it in wet run ?

That's what I will expect. The change has manually been done on www yesterday
This is for the website on new VM

Sorry, on wet run we have a failure of nginx to start
Starting The nginx HTTP and reverse proxy server...
: nginx: [emerg] unknown directive "ssl_ciphers:" in /etc/nginx/conf.d/proxy-default.conf:16

We will have to revisit this.

the problem is the colon after the item
ssl_ciphers:
When colon ^^^ is removed, nginx restarts

Well spotted

@pwalczysko done


Data not updating on uchiwa

tail /var/log/uchiwa.log
{"timestamp":"2016-08-16T16:20:48.383757351Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: dial tcp <IP_ADDRESS>:4567: getsockopt: connection refused"}
{"timestamp":"2016-08-16T16:20:48.383788209Z","level":"warn","message":"Connection failed to the datacenter l<IP_ADDRESS>"}
{"timestamp":"2016-08-16T16:20:58.383530169Z","level":"info","message":"Updating the datacenter l<IP_ADDRESS>"}
{"timestamp":"2016-08-16T16:21:23.492293864Z","level":"warn","message":"Loading the configuration file /etc/sensu/uchiwa.json"}
{"timestamp":"2016-08-16T16:21:23.492697533Z","level":"warn","message":"###  Uchiwa is now listening on <IP_ADDRESS>:3000"}
{"timestamp":"2016-08-16T16:21:23.492718244Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:22:13.493065172Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:22:13.493120059Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:22:23.493377472Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:23:13.493615446Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:23:13.493673682Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:23:13.493691103Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:24:03.493865749Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:24:03.493942798Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:24:03.493961955Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:24:53.49416452Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:24:53.494219404Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:24:53.494237385Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:25:43.494436037Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:25:43.494485368Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:25:43.494514048Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:26:33.494695529Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:26:33.494751502Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:26:33.494775166Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:27:23.495000897Z","level":"warn","message":"GET http://<IP_ADDRESS>:4567/stashes returned: Get http://<IP_ADDRESS>:4567/stashes: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"}
{"timestamp":"2016-08-16T16:27:23.495054979Z","level":"warn","message":"Connection failed to the datacenter sensu-test1"}
{"timestamp":"2016-08-16T16:27:23.495072396Z","level":"info","message":"Updating the datacenter sensu-test1"}
-rw-r--r--   1 root      root           0 Aug 16 16:21 uchiwa.err

cat /etc/sensu/uchiwa.json
{
"sensu": [
{
"name": "sensu-test1",
"host": "<IP_ADDRESS>",
"port": 4567,
"timeout": 50,
"user": "sensu",
"pass": "secret"
}
],
"uchiwa": {
"host": "<IP_ADDRESS>",
"port": 3000,
"refresh": 10
}
}
I am running a standalone configuration.
Error: Uchiva is having trouble updating its data. Try refresh page if issue persists
OS: UBUNTU 14.04

tail uchiwa.log
{"timestamp":"2016-08-16T17:52:53.260550484Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:03.260576201Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:13.260590097Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:23.260582876Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:33.260585401Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:43.260568988Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:53:53.260563314Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:54:03.260598699Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:54:13.260567743Z","level":"info","message":"Updating the datacenter sensu-test1"}
{"timestamp":"2016-08-16T17:54:23.26054254Z","level":"info","message":"Updating the datacenter sensu-test1"}
Now i see this ..still no data on uchiwa dashboard

You may get more help if you post to the main uchiwa repo.

Hi @roopchandy
If you still face any issue, please open an issue on the uchiwa repository as stated above.
Thanks!


[DC-1745] suppress useless cope concepts in registered tier

suppresses concepts 715724 and 715725 since all pertinent data is removed "null all string fields" rule
adds test cases to cleaning rule integration test

Verified that the test passed.  With that, I'm going to squash and merge this thing.
**************************************************************
RegisteredCopeSurveyQuestionsSuppressionTest
**************************************************************
  test_registered_cope_survey_suppression (data_steward.cdr_cleaner.cleaning_rules.deid.registered_cope_survey_suppression_test.RegisteredCopeSurveyQuestionsSuppressionTest) ... ok (11.887s)

----------------------------------------------------------------------
Ran 1 test in 12.531s

OK


Jest cucumber

Description
RC3 backend testing
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Change Status

[x] Complete, tested, ready to review and merge

How Has This Been Tested?

[x] Jest
[x] Cucumber

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

Introducing jest-cucumber on the back-end. More tests can be written.


Add a 'Best Practices' tab

Closes #20
@davedelong @subdigital @shawnbierman Please proof-read the content, links etc.
I've been copying and pasting paragraphs while writing to move them over and try to make that section into a nice shape… but I might now have spent too much time on it to be able to focus and see the big picture and if it's readable and well shaped or not

This is what it renders to when I run the server locally, for those of you not used to read in the ~matrix~ HTML code

Oh and last, I think it warrants having your name/Twitter at the bottom there.

This section was contributed by Olivier Halligon

I know the link to the Apple Documentation also links to TN: 1480, but it might be worth explicitly linking to it in the bottom section about en_US_POSIX.
I've also had this conversation recently about ensuring the correct locale is set for API fixed date formats, and one of the recurring questions that cropped up was "what is the bad outcome of not setting the locale?". This is helpful so product, management, or QA know why it's needed and how to validate the solution.
Here's roughly the steps needed to reproduce the issue:
On a device, and it must be on a device, set the region to a European country so the current locale's region will no longer be US (I've only personally validated en_IE, en_ES, and en_DK). After the region is changed, disable 24 hour time by making the clock display 12 hour time with am/pm. Once these changes have taken place on a device, then you are set up for the edge case that is outlined in the Technical Note. If you attempt to parse a date with an hour timestamp greater than 12 hours, the parsing will return nil. For example, parsing 2020-01-15T22:00:00Z will now fail on that device. Only when the formatter uses the fixed local en_US_POSIX, then the device will be able to parse that date correctly.
Feel free to take or leave that example. I'm not sure it's entirely worth adding to the document but I know that question frequently comes up and it can be helpful to point to an example edge case.

This is awesome. Thanks so much! I'll get the site updated soon.

Huuuh I didn't even had time to add a paragraph about the suggestion from Mark above 😅

I'll wait for that then :)

Well you already merged the PR though ^^
I guess we'll need another one then

Follow-up PR in https://github.com/subdigital/nsdateformatter.com/pull/22


Clean up longrun buildkite

Add a few high resolution longruns (which we should focus on) and remove some low resolution longruns.

bors r+


Final Answer should not use JSON

Final Answer should not use JSON. I asked it to "Write a snake game," and the thought process was correct, but at the Final answer stage:
Failed to generate final answer after 3 attempts. Error: Error code: 400 - {'error': {'message': "Failed to generate JSON. Please adjust your prompt. See 'failed_generation' for more details.", 'type': 'invalid_request_error', 'code': 'json_validate_failed', 'failed_generation': '{"title": "Final Answer: Snake Game Implementation", "content": "Here is a simple implementation of the snake game in Python using Pygame:\n\n```python\nimport pygame\nimport sys\nimport random\n\n# Initialize Pygame\npygame.init()\n\n# Set up some constants\nWIDTH, HEIGHT = 800, 600\nSPEED = 10\nBLOCK_SIZE = 20\n\n# Set up some colors\nWHITE = (255, 255, 255)\nRED = (255, 0, 0)\nGREEN = (0, 255, 0)\n\n# Set up the display\nscreen = pygame.display.set_mode((WIDTH, HEIGHT))\n\n# Set up the font\nfont = pygame.font.Font(None, 36)\n\n# Set up the snake and food\nsnake = [(200, 200), (220, 200), (240, 200)]\nfood = (400, 300)\n\n# Set up the direction\ndirection = 'right'\n\n# Game loop'}}

That is a good idea. Final answer does not need to use JSON formatting. This is a to-do now.

This issue is resolved from changes in #develop. It will be deployed in the next PR from develop to main.


Team 18 HA Review: Missing supporting materials

As the rubric indicates, the background is one of the supporting materials. It should offer vital context, helping readers or evaluators understand the circumstances surrounding the subject.

However, the hazard analysis omits critical background information regarding Mac AR. For instance, while previous documents identify Mac AR as a puzzle-solving game, this detail is conspicuously absent in the current analysis. Instead, the document vaguely references puzzles within the article without explicitly connecting them to Mac AR. This omission raises questions about the relationship between the puzzles and Mac AR itself and potentially hinders a comprehensive understanding of the subject. Clarity about Mac AR's nature as a puzzle-solving game is essential for thorough and effective hazard analysis, as it helps establish context and relevance.

@CSchank

The current introduction is satisfactory. Additional background is not required and has been explained several times in other documents. Therefore this is not an issue.


Modeling Slowly Changing Dimensions in the Data Warehouse

Slowly Changing Dimensions (SCD) is a popular topic for Data Engineers, but implementing the different types of scd on a Data Warehouse is hard. Having a hands-on article where we show how to implement the different scd types for a data warehouse can be useful to data engineers.
Inspiration:

https://www.youtube.com/watch?v=3OcS2TMXELU
https://medium.com/@vigneshwaran18/scd-using-dbt-and-snowflake-145a2092a713
https://discourse.getdbt.com/t/scd-type-2-in-using-dbt/2294
https://rittmananalytics.com/blog/2020/1/2/modelling-slowly-changing-dimensions-type-23-and-6-using-dbt-and-looker
https://medium.com/happiestneurons/slowly-changing-dimension-type-2-scd2-in-big-query-95330ce31625

Draft: https://docs.google.com/document/d/1Z7j7UsjLeayLOVgaR6BEXQJO6Sc_72wAh0TYYOAPjH4/edit?usp=sharing


Detect conflict between RLS and OLS

If a user belongs to two roles applying filters on the same table with row level security (RLS) in one role, and object level security in another role (OLS), the connection is not possible by design.

you can’t have RLS and OLS on the same table in different roles – that would prevent the connection from being opened

A Best Practices Analyzer rule could identify the presence or roles applying different filter types (RLS/OLS) over the same tables. If the developer knows that this will never happen (because a user cannot belong to two incompatible roles), there should be a way to disable the BPA (what could we use for that? Special annotations?).

This issue was moved to TabularEditor/BestPracticeRules#6


Regression in 4.0.14 breaks long working Android Bluetooth Classic streamReader.Read

I did not update from 4.0.8 to 4.0.14 until just today.
Android Bluetooth Classic data streaming was broken by the Oct 29, 2020 commit that changed NetworkStream : Stream  to  NonSocketNetworkStream : NetworkStream, causing StreamReader.Read to now never return.
The following basic code is an example of what worked in 4.0.8 but in 4.0.14 no longer returns from the call to streamReader.Read:
BluetoothClient client = new BluetoothClient();
client.Connect(someAddress, BluetoothService.SerialPort);
System.IO.Stream stream = client.GetStream();  (see NOTE below regarding type of stream)
System.IO.StreamReader streamReader = new StreamReader(stream, Encoding.ASCII);
char[] streamReaderCharBuffer;
int charsRead = streamReader.Read(streamReaderCharBuffer, index: 0, bufferSize: 250);  <-- this call never returns
string text = new string(streamReaderCharBuffer, startIndex: 0, charsRead);
NOTE: Whether one uses stream of type  InTheHand.Net.Sockets.NonNetworkStream, or System.Net.Sockets.NetworkStream, or System.IO.Stream,  the above code still results in a call that never returns.
Sorry I do not have time to investigate more to provide more info, but I assure you this is not related to buffer sizer or my server, but that simply updating from 4.0.8  to 4.0.14  broke the above simple sequence, and reverting to 4.0.8 restores my Xamarin.Forms app’s functionality.

The breaking change was made in 4.0.12.

The breaking change was made in 4.0.12.

Facing this problem in  4.0.18. Setting the Stream.ReadTimeout seems to have no effect on this problem. It seems to be stuck for ever. Noticed that when this happens the write function does not send the bluetooth data also. Works one time then fails. ie one write and read.
I wish 4.0.8 worked on latest stable xamarin forms. Let me know if someone knows the version combinations that work.

Update to this. Looks like it gets stuck when the Bluetooth reciever does not send any Packers back. When it does send something read works.

Version 4.0.8 works with latest Xamarin.Forms 5.
I tried 4.0.17 a few weeks back, and then 4.0.12, and noted "every version since 4.0.12 crashes in PlatformInitialize,"   -which is a different issue than what I reported at first.  The difference may be due to me being on Xamarin.Forms 5 now.

I'm on xamarin 5 as well. 4.0.18 works on Android. Except for the getting stuck on read part. I forgot to mention one more thing I am now using writeasync and readasync.
This is really nice library. I think the only one for forms that work on all three platforms. Maintaining a library like this is not easy. I wish it were though.

I'm using ReadAsync too.   (no writes)  I will test 4.0.18 again, on Tuesday.

Version 4.0.18 is now working for me with Xamarin.Forms 5.  No changes to my code since using version 4.0.8.  I cannot explain the trouble I had a few weeks back.
@Zahir-Khan , what you are experiencing is normal / a known issue:
Stream.ReadAsync doesn't honor cancellation token. It only checks it at the beginning. The actual operation is not guarded. As a result if remote server never responds and connection never closed it will lead to this operation hanging forever.
https://devblogs.microsoft.com/pfxteam/how-do-i-cancel-non-cancelable-async-operations/
To work around that, you have to manage your own timeout and close the connection to cancel the read.
I am closing this issue as the newer versions of the library (since 4.0.14) have resolved the issue.

Just noting here, on this closed issue, regarding the different issue that I mentioned 3 comments up: the crashing in PlatformInitialize.    It turns out, I am still experiencing the crash on my Android 9 emulator, but not on my Android 9 phone.    To say 1) this may explain my experience earlier: I may have only tried the emulator  2) there is still an issue to resolve -but it is not the same one as this issue was opened for.  I will log a separate issue AFTER I investigate my setup more, try to reproduce it on multiple emulators, multiple versions, etc.

@thhowl I don't think Bluetooth works on the emulator.

Yes, it won't work on the emulator but it should fail gracefully.

@peterfoot , yes it should fail gracefully, as it does in 4.0.8.   However, version 4.0.18 crashes in construction of BlueToothClient, as I reproduced just now:
System.NullReferenceException: Object reference not set to an instance of an object.
at InTheHand.Net.Sockets.BluetoothClient.PlatformInitialize () [0x00005] in :0
at InTheHand.Net.Sockets.BluetoothClient..ctor () [0x00006] in :0
But I will log as a separate issue after ensuring my emulator setup is not at fault.

The code in question is an added section to enable the default radio. I think this is failing with an exception rather than returning null as expected. However, related to this, the API used to get the default adapter is deprecated in Android API 31 so it will need changing. I'm working on an update to this but haven't tested it on emulators yet


Datawarehouse: allow more then one alert per resource

Fix #14186

@miq-bot add_label providers/containers, bug

@miq-bot assign moolitayer

@moolitayer @gtanzillo any reason for this being specific just for the datawarehouse alerts?
If indeed that's the case (and I really hope that instead we can extend this to all other alerts), then I would like to find a better solution than an if based on the event_type string.

@simon3z @gtanzillo I think I found a nice solution for this which will also alleviate an indexing question This still means that other provider alerts will behave the same though, so still a question to @gtanzillo if that is what we really want.

@gmcculloug @gtanzillo can one of you please review this change in terms of implications or core?
We discussed in the past our need for having > 1 status per (miq_alert, target) pair

@gmcculloug thanks

I had to change the search criteria a little (or the initialize didn't create the status per resource) and looks like we can always use the same criteria?
Also added a bunch of tests

Please take another look

@dclarizio Can you review for impact on UI?

@dclarizio can you please review

@gmcculloug @moolitayer discussed with @h-kataria and we don't see the UI using miq_alert_statuses anywhere, so thinking no UI implications.


scan aps MicroSD Problems

device :
Encountered problems:When using the scan aps function, instead of calling the SD card space, it uses the space built into the ESP32, causing the capacity to be filled and the device to restart.I have tested many SD cards, so it should not be an issue with the SD card! The SD card has been formatted into FAT and FAT32 formats, but the same problem still occurs after testing.

The storage capacity resources are continuously decreasing.

When the storage resources are exhausted, the device will restart. Could the issue be with the code in the scan aps function that writes to the memory card?

I can see the files generated by the scan aps function in the SD card, which indicates that it can normally generate and write data on the SD card. So this is a very strange problem.

alot of people have been having issues with sd cards, i think it might be down to the model of esp you have. Wait for fr4nk to give a response

ESP32Marauder Cheap-Yellow-Display Initialising SD Fail Fix That Worked for Me
I was having a problem with my micro SD card failing to initialise. I tried resetting and reformatting it, but that didn’t work. The solution that finally worked was deleting all partitions on the SD card and creating a smaller partition of 4GB. My SD card was originally 15GB. After reformatting it to FAT32 and plugging it in, it worked, and I could start uploading the Evil Portal. It took me three days to figure this out since there aren’t a lot of good answers online. I’m not sure if this is a permanent solution, but it worked for me.


Update Composer dependencies (2020-06-13-00-12)

Visual regression test passed!
View the visual regression test report


fhs-userenv-bubblewrap: Add store path to readlink

Motivation for this change
This commit added a call to readlink from core utils, but expected it to be in the users path as the command was run. This patch hardcodes the store path into the script, so it can be run even without a suitable PATH set.
Found this out since I use systemd-run to start graphical programs in clean environments, which caused Steam to fail to start. All starts up fine on my machine after this change.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 115936 at eb268eab run on x86_64-linux 1

45 packages skipped due to time constraints:

Sylk
android-studio (androidStudioPackages.stable)
androidStudioPackages.beta
androidStudioPackages.canary
androidStudioPackages.dev
anki-bin
apple-music-electron
bottles
chrysalis
deltachat-electron
...

2 packages built successfully:

kodiPlugins.steam-launcher
steam

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 115936 run on x86_64-linux 1

47 packages built:

Sylk
android-studio (androidStudioPackages.stable)
androidStudioPackages.beta
androidStudioPackages.canary
androidStudioPackages.dev
anki-bin
apple-music-electron
bottles
chrysalis
deltachat-electron
devdocs-desktop
electronplayer
irccloud
joplin-desktop
keeweb
kodiPlugins.steam-launcher
ledger-live-desktop
lens
lunar-client
lutris
lutris-free
marktext
minetime
molotov
mycrypto
notable
nuclear
p3x-onenote
playonlinux
plexamp
protontricks
radicle-upstream
rambox-pro
runwayml
ssb-patchwork
standardnotes
station
steam
steam-run
steam-run-native
steamcmd
timeular
trezor-suite
tusk
unityhub
wootility
zettlr

@ofborg eval


Fix crawling URLs for Docker Desktop

Seems the release of Docker Desktop for Linux has prompted a restructuring of the release notes page, this in turn broke our crawler. Replacing the URLs with their new counter parts should fix the issue.

The crawler is set to accept a limit of 5 redirects, it's either exceeding this limit or doing something weird that prevents the redirections. In any case, I would much rather have it use the exact URL we expect, we could be downloading garbage from a redirected page otherwise.
https://github.com/stackrox/kernel-packer/blob/d5d51b3f0d5bf7d2af400a3120d6ad92d03be16f/kernel-crawler/kernel-crawler.py#L654


Prediction discrepancies between Python's coremltools and Swift's CoreML API

Hi @hollance, is it possible to get the exact numbers from Python's coremltools results in Swift?
That is, When I'm using coremltools (Python), I have the following code:
spec = coremltools.utils.load_spec('./alwc_model.mlmodel')
mlmodel = coremltools.models.MLModel(spec)
input_img = Image.open("input_image.jpg") // width 512, height 512, mode RGB
prediction = mlmodel.predict({"input_image": input_img}, usesCPUOnly=True)
output = prediction["output"]

In the Xcode project, I have the following code:
let inputImage = #imageLiteral(resourceName: "input_image.jpg")

guard let imageBuffer = inputImage.pixelBuffer(width: 512, height: 512) else {
    let options = MLPredictionOptions()
    options.usesCPUOnly = true
    let model = alwc_model()
    let input = alwc_modelInput(input_image: imageBuffer)
    let prediction = try! model.prediction(input: input, options: options)
    let output = prediction.output
}

Note that I'm using https://github.com/hollance/CoreMLHelpers/blob/0bd7f983c3e73abcffb692b4428e889ed4cf01b6/CoreMLHelpers/UIImage%2BCVPixelBuffer.swift to convert the UIImage into CVPixelBuffer and I'm running on a simulator.
My concern is that while the output is fairly close (off by ~0.02), I'm surprised they are not exactly the same since I believe both of them should be using the macOS's Core ML framework right?
I suspect it could be because of the image conversion step. For example, I found that in coremltools (ref: https://github.com/apple/coremltools/blob/master/coremlpython/CoreMLPythonUtils.mm#L204) its pixelFormatType is kCVPixelFormatType_32BGRA while yours is kCVPixelFormatType_32ARGB. I tried to use kCVPixelFormatType_32BGRA for the pixelBuffer method, but the output in the Xcode project is still not the same as the one from Python.
Do you have experience trying to match the results between Python's coremltools and Swift's CoreML API? Thanks!

Try it with a PNG image. There may be differences in how the JPEG image is loaded in Python vs macOS.

Try it with a PNG image. There may be differences in how the JPEG image is loaded in Python vs macOS.

Thanks for your suggestion. Using PNG image the output difference between coremltools and the Xcode project is now down to ~0.001.
While the diff is close enough. Is that normal? Shouldn't we expect the two outputs to be identical in this case?

I would expect to see 0.001 differences if one is using the GPU while the other is using the CPU. I think if both are using the CPU on the same device, the difference should be smaller. But it might depend on what exactly happens inside the model.
You could try using Vision in the app, which allows you to pass in a CGImage directly without having to convert it to a CVPixelBuffer yourself.
Usually when I want to make 100% sure the model does the correct thing, I remove all the layers and verify that the output after preprocessing is the same in both cases. You can find something similar here (although you'd want to change the output's type to MultiArray instead of image): https://github.com/hollance/coreml-survival-guide/tree/master/CheckInputImage

Thanks for your suggestion. I'll check out the project and take a look of the section "Making Sure the Input is Correct" in your book.


tools/nxstyle.c:  FALSE alarms on right hand aligned comments.

When ran against any file that has comments to the right of definitions, a false alarm can occur.  Such right-hand comments should be vertically aligned, but have not specific alignment requirement with regard to the start of the line or any indentation.
In many casese, there are comments on a separate line are correctly aligned with the other right hand comments.  This is necessary for the visually alignment, but results in a false alarm error from nxstyle.  Consider the following from include/nuttx/can/can.h:
579   struct can_txfifo_s  cd_xmit;          /* Describes transmit FIFO */
580 #ifdef CONFIG_CAN_TXREADY
581   struct work_s        cd_work;          /* Use to manage can_txready() work */
582 #endif
583                                          /* List of pending RTR requests */
584   struct can_rtrwait_s cd_rtr[CONFIG_CAN_NPENDINGRTR];
585   FAR const struct can_ops_s *cd_ops;    /* Arch-specific operations */

Running nxstyle against that file generates this false alarm:
include/nuttx/can/can.h:583:1: error: Missing blank line after comment

Analysis:  Notice that there is no error about the missing blank line BEFORE the comment at 583.  That is because there is information that the preceding line is right-hand aligned.
498   bool brhcomment;      /* True: Comment to the right of code */
499   bool prevbrhcmt;      /* True: previous line had comment to the right of code */

The problem is that the state information is not propagated at line 583.  Could the solution be as simple as just make sure that brhcomment is set true again when the conditioni of line 583 is encountered?

I think that the problem is an ordering one in nxstyle.c:

prevbrhcmt is true if the previous line is a right hand comment (brhcomment)
It is set at line 661 if the last line was a right hand comment
The error occurs because prevbrhcmt is not set at line 718 or
Line 963 and 1395:  right hand comment should propagate to a single line comment if single line comment was preceded by  a right hand comment with no blank line.

I think that the error occurs because the test of prevbrhcmt at line 718 occurs BEFORE it is set the the current line at lines 963 or 1395

@patacongo I had again a little fun with nxstyle this afternoon.
I addressed Issue #120 and the problem had been quite simple: The prevbrhcmt had to propagate over preprocessor lines.
Additionally I added checks for the column position of the right of code comments. (And caught one in include/nuttx/can/can.h)
I don't want to file a PR without review (I fear your instant merging powers). So please take a look at
https://github.com/johannes-nivus/incubator-nuttx/tree/nxstyle and review.
Regards, Johannes

I never look at code outside of the respository.  Not interested.
PS:  Everyone on the Apache time as instant merging power and use that power frequently.

The tests that should be performed are:

Using a test case, verify that positirves are detected.

Check for false negatives/positive regression.  I do that with a little script something like:
#!/bin/sh
FILELIST=find sched -name *.c
for file in $FILELIST; do
tools/nxstyle $file
done

Then run that before the change like:
./doit.sh 1>before.txt 2>&1

Then rebuild with the modified nxstyle.c and:
../doit.sh 1>after.txt 2>&1

Then compare before.txt with after .txt.  They should be identical or, if there are false positives/negatives in before.txt, then after.txt might have fixed those.


Test Issue created at Mon, 14 Feb 2022 02:16:27 GMT

Test issue body  Mon, 14 Feb 2022 02:16:27 GMT

Comment on issue at Mon, 14 Feb 2022 02:16:29 GMT


[Call Automation] Delete old recordings and make tests live only.

Related: #

API change check
API changes are not detected in this pull request.


Framework specific log levels

The logging facility uses a singleton for managing log levels. Initialization is not thread-safe on compilers not supporting magic statics and multiple framework instances cannot be handled.

These are the requirements for any solution to this issue:

Logging is thread safe when using a compiler without support for C++ magic statics
Each framework instance can have its own log level

@saschazelzer Is it a requirement that any arbitrary bundle, excluding CppMicroServices itself, can use the logger?
I would imagine that this is not a requirement and that the US_DEBUG, US_INFO, US_WARN, and US_ERROR log macros are for internal Framework use only.
A Log service could be created for use by arbitrary bundles if its needed.

Initially, the log macros were intended to be used by the framework implementation only. However, it proved to be too convenient and is now used in test bundles and other bundles as well.
I think it would be good to have a simple log service and some public log macros take advantage of it. Some internal log macro usage would probably need to be redone and use some other framework internal mechanism though.

Thanks @saschazelzer. I'm working on a set of requirements and at least one design based on this information. I'll share the google doc with you soon for discussion and agreement on what to do.

Great. I believe this is known / clear, but just in case: The framework requires some logging facility during initialization, before any log service could potentially be available. The typical solution (as in the OSGi specs) are framework events in combination with some implementation specific log mechanism which could make the log entries available to a log service being published later in time. It could also route the log message to the service if available and if not fall back to some internal backend.

fixed in PR #96


Remove executable bit from everything without a shebang

If it doesn't have a shebang and isn't bash or a binary, it shouldn't be marked as executable
Performed using git ls-files | xargs -d '\n' git update-index --chmod=-x, and then manually removing the three files with a shebang.

This probably crept in from someone using a linux filesystem on windows.

LGTM.

Please merge at will when the build finishes.


[feature] Allow min/max value for the sparkline in time series table

Letting a user set a fixed y-min/max

@williaster @graceguo-supercat

Codecov Report

Merging #5603 into master will decrease coverage by 0.01%.
The diff coverage is 20%.

@@            Coverage Diff             @@
##           master    #5603      +/-   ##
==========================================
- Coverage   63.59%   63.57%   -0.02%
==========================================
  Files         359      359
  Lines       22799    22809      +10
  Branches     2533     2537       +4
==========================================
+ Hits        14499    14501       +2
- Misses       8285     8293       +8
  Partials       15       15

Impacted Files
Coverage Δ

superset/assets/src/visualizations/time_table.jsx
0% <0%> (ø)
:arrow_up:

...re/components/controls/TimeSeriesColumnControl.jsx
89.58% <66.66%> (-1.53%)
:arrow_down:

Continue to review full report at Codecov.

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

Add an option to show bounds

@kristw this looks great! One thought about the reference lines/showing the bounds, do you think it'd be useful to label them? Something like the following but just the number for min / max

The tricky thing with this would be the padding to accommodate the label, so might not be worth it 🤔 would be nice to have better support for that tho.

Done

WOW! 🙉
this will also be really useful (possibly more so!) without setting ymin/max bounds too


feature: publish Docker images to DockerHub

WHAT
This PR targets DockerHub when publishing Docker images instead of the GitHub Packages registry.
WHY
Eclipse projects cannot have public packages in their GH Packages registry.
FURTHER NOTES

updates the deployment specs of our helm charts
since we publish several docker images, several notice.md files (as required by Eclipse) were created

Notice content and build worklfow look fine. Matrix build + composite action is also a nice solution to avoid duplication for multiple docker builds in this repo.


Upstream

:tada: This PR is included in version 1.3.1-fix-24-versioning.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Clarify use cases for import/export in wiki

See https://github.com/Sneezry/authenticator/wiki/Introduction
I am a new user of 2 step verification and in the process of choosing different time based authenticator apps for different devices.  So far I think this project (authenticator) is promising because it is very convenient to copy the number to the clipboard compared to reading my phone and typing the number in manually and on most of my devices Chrome Extensions are available.  But I think there are cases when I want to use an app from my phone which doesn't support Google Chrome Extensions and I may not have a computer with Chrome available.  For example, I may use Google Authenticator app.
Is the import/export just for backing up authenticator? Or is it a neutral format that I can import into other authenticator tools like the Google Authenticator app?
If it is not a neutral format, how do people login into sites like http://github.com from devices that don't have the authenticator they used when they setup the Two-factor authentication?

It might be helpful to document the JSON format of the export too...
For example, I have one key that looks something like this: (I replaced the hexstrings...)
{
  "someHexString_Length32": {
    "account": "github.com/someUser",
    "encrypted": true,
    "index": 0,
    "issuer": "GitHub",
    "secret": "someHexString_Length64",
    "type": "totp"
  }
}

If I go into Google Authenticator and do a manual entry, which properties above map to the Account and Key Google Authenticator asks for.   I am assuming the account is simply github.com/someUser and that it doesn't have to be an email. Google shows the key as 16 characters... so I am not sure what I should type in.
As well, I am assuming the export is encrypted... so I need to know how to decrypt it for the purposes of adding the account/key to Google Authenticator.

Hi @darcyparker , to add secret to other apps, you may click the qr icon on the top left corner of every code box (the qr icon is hidden before you move mouse over it), and the qr code of the secret is shown, you may use your smart phone or something else to scan it. You may also find your secret in export box, but it's not recommended. To decrypt your secret, you need to remove your password, after you remove your password, you may find your secret decrypted. To remove your password, just click update button without entering any words. In the code about you post, the someHexString_Length64 is the encrypted secret.

@Sneezry - nice. That is a great solution.  I didn't notice the QR icon because you have to hover over it to see it.
I now see this documented in the wiki... but it wasn't obvious to me. Do you mind if I add an entry to the wiki to clarify this?

@darcyparker Sure, thanks :-P

@darcyparker No of course, thanks :-P

Done: https://github.com/Sneezry/authenticator/wiki/Introduction#share-account-with-another-authenticator-app
If you like this, please close the ticket.
It may also be good to add the intended use case for the import/export. I am assuming it is just for backups?

@darcyparker in fact, export / import is for sync, as you know, Google service is hard to use in China ;-P


What to enter in the relative path to tempelate file.

Hi. What is a template file? Your framework is asking to tell me to enter relative path of it

this is explained in the readme.


The Position of Model Initialization Code Matters？

I used the simple example from the tutorial. When I simply moved the line model = KAN(width=[2,5,1], grid=5, k=3, seed=1), I was able to get better fitting results. Should we always define the dataset first and then initialize the model? I'm not sure what is happening.

it guess seeding plays subtle roles. Please try other seed and see if this persists.

Thanks for your prompt reply!
I tried using different seeds, and some results were normal while others resulted in redundant functions. Could you explain which parts of the algorithm are affected by changing the seed, leading to instability in the optimization results? Based on my experience with training neural networks, the seed should only affect the training process but should not change the network’s final fitting performance. Can I assume that KAN is currently unable to consistently optimize to a local optimum?

A few possibilities: (1) small networks (no matter KANs or MLPs or whatever) have more bad local minima than overparameterized networks. (2) LBFGS may get stuck at local minima. (3) I don't know if there is anything specific to KAN that makes it inconsistent.


[IRGen] Fix ABI for thick async functions.

Previously, thick async functions were represented sometimes as a pair of (AsyncFunctionPointer, nullptr)--when the thick function was produced via a thin_to_thick_function, e.g.--and sometimes as a pair of (FunctionPointer, ThickContext)--when the thick function was produced by a partial_apply--with the size stored in the slot of the ThickContext.
That optimized for the wrong case: partial applies of dynamic async functions; in that case, there is no appropriate AsyncFunctionPointer to form when lowering the partial_apply instruction.  The far more common case is to know exactly which function is being partially applied.  In that case, we can form the appropriate AsyncFunctionPointer.
Furthermore, the previous representation made calling a thick function more complex: it was always necessary to check whether the context was in fact null and then proceed along two different paths depending.
Here, that behavior is corrected by creating a thunk in a mandatory IRGen SIL pass in the case that the function that is being partially applied is dynamic.  That new thunk is then partially applied in place of the original partial_apply of the dynamic function.

Can we ban partial applies of non-constant functions in SIL? They should only be emitted in a few narrow cases and it would simplify IRGen to not have to deal with this.

To be safe, we probably don't want to change the behavior for sync functions at the moment.
Does SILGen ever emit partial applies of non-constant async functions?  If not, it would make sense to add a check in the verifier that no partial apply is of a function that is non-constant and async.
Until we have more async code to test on though, it may be tough to be entirely confident that no partial applies of non-constant async functions will ever appear.  Creating a thunk if one does will serve as a backup against that possibility.
Moving partial apply forwarder creation out of IRGen would address the root issue of IRGen complexity around partial applies, including the case of partial applies of non-constant functions.

Build failed
Swift Test OS X Platform
Git Sha - c668ff0c6ba5047d09bc3f106fab345204d1f044

Build failed
Swift Test Linux Platform
Git Sha - 9f4c93661dc98544e9914d1e70c46539f9c3da1c

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 23c83754bb12cc8c94a151ba8918f35e664d8d19

@swift-ci please clean test linux platform

Build failed
Swift Test Linux Platform
Git Sha - 23c83754bb12cc8c94a151ba8918f35e664d8d19

Build failed
Swift Test OS X Platform
Git Sha - 23c83754bb12cc8c94a151ba8918f35e664d8d19

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 05eb3007e97c68db49fb5f47caa3eafed61d9735

@swift-ci please test

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 1c1ccc6c4802ac8a1e6f58114554d78e3e3f43e3

@swift-ci please test

@swift-ci please test windows platform

@swift-ci please test windows platform

Build failed
Swift Test Linux Platform
Git Sha - ececfdf7a1248f70242002d7656ceeddc7d9d49c

@swift-ci please test linux platform

Build failed
Swift Test OS X Platform
Git Sha - ececfdf7a1248f70242002d7656ceeddc7d9d49c

@swift-ci please smoke test macos platform

@swift-ci please test

@swift-ci please test

@swift-ci please test linux platform

@swift-ci please test macos platform

@swift-ci please test macos platform

@swift-ci please test linux platform

@swift-ci please test macos platform

@swift-ci please test linux platform

@swift-ci please test os x

@swift-ci please test linux platform

Build failed
Swift Test Linux Platform
Git Sha - 7ea1209b51ba352835b5a0781522efa9d62b3852

Build failed
Swift Test OS X Platform
Git Sha - 7ea1209b51ba352835b5a0781522efa9d62b3852

The failures are due to the new commit:
[AST] NFC: Make ExtInfo param Optional<>

You probably need to update the FunctionType::get calls to include an ExtInfo

@swift-ci please test

@swift-ci please test windows platform

Build failed
Swift Test OS X Platform
Git Sha - 34708881cad530684dafef2397f421f6a9c00c0a

@swift-ci please clean test macos platform

@swift-ci please test windows platform

The lldb failure should get fixed when https://github.com/apple/llvm-project/pull/2666 merges

Build failed
Swift Test OS X Platform
Git Sha - 34708881cad530684dafef2397f421f6a9c00c0a

@swift-ci Please clean test os x

@swift-ci please test

@swift-ci please test windows platform

@swift-ci please test windows platform

@swift-ci please test

@swift-ci please test

@swift-ci Please test Apple Silicon macOS Platform


Allow pre-resolved coordinates in the optimization router extensions

Currently the router extensions in the optimization module only allow passing in a set of locations which are then resolved with a MassResolvingAlogrithm.
In our case we want to have more finely-grained control about the resolving before starting calculations. We also cache coordinates/routerpoints for improved performance as long as the router works on the same map.
The 'simplest' way I currently see this is as follows:

added routerextension methods with routerpoints instead of coordinates (or both coordinates and routerpoints)
use a 'pre-resolved' massresolver which just returns the preset coordinates/routerpoints
append the model with routerpoints
in MappedModel.BuildAbstract, use the new massresolver if the model has known routerpoints, otherwise keep as-is

This solution allows for this change to be limited to the optimization module and is quite small in scope to implement.
Alternatively this could be implemented further downstream as well by giving the WeightmatrixAlgorithm and DirectedWeightMatrixAlgorithm overrides which take routerpoints. There wouldn't be a custom massresolver then but the new overrides of the algorithms would just handle the passed routerpoints. This requires a change in both routing and optimization.
I'm happy to take this up myself. What do you think of the above approach(es)?

When thinking about this before I had several similar ideas:

cache routerpoints per profile at massresolver level, but this may not allow the fine grained controle over the process.
pass in a custom implementation of the massresolver interface

But it's probably easier to just pass in the routerpoints instead of he lat/lons and be done with it... feel free to build a prototype of what you think it should be but it needs a bit more thinking. I'm on a few days of holiday right now, back on friday, then I can help out...

Enjoy your holiday! :)
When you're back I've got some initial pull requests you can have a look at. I opted to add routerpoints to the extensions currently as this aligns best with how the extensions work in the routing module.
routing pr: https://github.com/itinero/routing/pull/205
optimization pr: https://github.com/itinero/optimization/pull/29


Statically Sized Parameters

Is it possible to configure std::array-valued parameters for fixed-size definitions? For example, for Cartesian stiffness gains, I'm currently using...
cartesian_impedance_parameters:
  stiffness:
    x: {
        type: double,
    },
    y: {
        type: double,
    },
    ...

It may be nice to have a single parameter for stiffness gains, but still have stack-allocated values. For example...
cartesian_impedance_parameters:
  stiffness: {
    type: double_array_fixed_06,
  }

Do you agree this feature does not currently exist, but may be a nice feature to have?

@jcarpinelli-bdai we do support a feature that is similar to what you are asking for. You can check here in the example for how it is used. The referenced example creates a vector that is at most size 10 and is stack-allocated. If you want to require a specific size, you could probably use gt<> and lt<> validators.
To answer your question, we somewhat support that and it is useful. Also, you may have issues with the leading zero in front of the 6. I'm not positive if that is valid.

Thank you, @pac48! To clarify, what value should the resulting parameter take? Is it an std::vector that is somehow stack allocated, with a maximum size? Or is it supposed to be an std::array?

@jcarpinelli-bdai The type is a rsl::StaticVector<double, 10>, which is a custom type in the Robot Support Library. Here is the definition https://github.com/PickNikRobotics/RSL/blob/e93c5456c2a328de6ae18f4b663a7dbc74c1a81d/include/rsl/static_vector.hpp#L18 . Under the hood, it does use a  std::array.


AZ SIG ImageDefinition Creation not propagating description and release notes

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command

az sig image-definition create --resource-group MyResourceGroup
--gallery-name MyGallery --gallery-image-definition MyImage
--description
--release-note-uri <path_to_release_notes>
Describe the bug

I created image definition with description and release note uri, but those fields did not get passed to the SIG backend.
The created object is missing those fields.
To Reproduce

Run command above
Expected behavior

Returned object should contain description and release note uri
Environment summary

PS D:\Users\oe-lvyuanfang> az --version
azure-cli                         2.42.0
core                              2.42.0
telemetry                          1.0.8
Extensions:
kusto                              0.5.0
Dependencies:
msal                              1.20.0
azure-mgmt-resource             21.1.0b1
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'D:\Users\oe-lvyuanfang.azure\cliextensions'
Python (Windows) 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:37:59) [MSC v.1933 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Unable to check if your CLI is up-to-date. Check your internet connection.
Additional context

n/a

Thank you for opening this issue, we will look into it.


Added messages documentation

This PR add the following msgs packages documentation:

action_msgs/
action_tutorials_interfaces/
actionlib_msgs/
builtin_interfaces/
composition_interfaces/
diagnostic_msgs/
example_interfaces/
geometry_msgs/
lifecycle_msgs/
logging_demo/
map_msgs/
move_base_msgs/
nav_msgs/
pendulum_msgs/
rcl_interfaces/
rmw_dds_common/
rosgraph_msgs/
sensor_msgs/
shape_msgs/
statistics_msgs/
std_msgs/
std_srvs/
stereo_msgs/
test_msgs/
tf2_msgs/
trajectory_msgs/
turtlesim/
unique_identifier_msgs/
visualization_msgs/

Signed-off-by: ahcorde<EMAIL_ADDRESS>

It would be nice if the generated markup would be properly indented and passes HTML validation.

@ahcorde Presuming that you updated the Makefile locally, will you open a PR with the necessary changes?

@jacobperron The code to generate this is here https://github.com/ros2/ros2_generate_interface_docs I can include this is the build_docs.sh script

Otherwise these pages look pretty good. Great job @ahcorde

I can include this is the build_docs.sh script

@ahcorde Yes, please (or at least documentation alongside that script for posterity).

Fixed links and included with srvs and actions

@jacobperron the PR to generate the documentation is merged. can you review the generated documentation ?


[ArrayTableWidget] Add dimensions selector widget

Add two comboxes to select the array dimensions corresponding to the table rows and the table columns. This allows changing the perspective directly from the gui.

Closes #432

Only the last 5 commits are relevant to this PR.


Mobile version

Hi Ahmed,
Maybe I do something wrong, but it seems like on mobile, sticky layer is always on the content. Is there any way to stop them for small displays?
Thank you.
Alexander

If you mean you want to stop sticky sidebar on small screens, there's option to do that, check it out.  https://abouolia.github.io/sticky-sidebar/#minwidth

My conf is like
      var sidebar = new StickySidebar('#sidebar', {
        topSpacing: 60,
        bottomSpacing: 60,
        containerSelector: '.main-content',
        innerWrapperSelector: '.sidebar__inner',
        // disable for small screens
        minWidth: 768
      });

with:

        <%- include('../partials/shared/sidebar'); %>

and it is not working 😢