[4.0.0-rc04] Crash: Unable to start service com.doublesymmetry.trackplayer.service.MusicService@78647c9 with null

Describe the Bug`
Firebase Analytics is reporting the following crash
Fatal Exception: java.lang.RuntimeException: Unable to start service com.doublesymmetry.trackplayer.service.MusicService@78647c9 with null: android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.dierotenbullen.app/com.doublesymmetry.trackplayer.service.MusicService
       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5192)
       at android.app.ActivityThread.access$2200(ActivityThread.java:315)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2324)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8751)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

       Caused by android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.rnapp.app/com.doublesymmetry.trackplayer.service.MusicService
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
       at android.os.Parcel.readParcelable(Parcel.java:3346)
       at android.os.Parcel.createExceptionOrNull(Parcel.java:2433)
       at android.os.Parcel.createException(Parcel.java:2422)
       at android.os.Parcel.readException(Parcel.java:2405)
       at android.os.Parcel.readException(Parcel.java:2347)
       at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:8095)
       at android.app.Service.startForeground(Service.java:733)
       at com.doublesymmetry.trackplayer.service.MusicService.startAndStopEmptyNotificationToAvoidANR(MusicService.kt:115)
       at com.doublesymmetry.trackplayer.service.MusicService.onStartCommand(MusicService.kt:92)
       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5174)
       at android.app.ActivityThread.access$2200(ActivityThread.java:315)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2324)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8751)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Steps To Reproduce
Alas cannot reproduce, but firebase analytics reports the crashes.
Code To Reproduce
use "react-native-track-player": "^4.0.0-rc03"
Replicable on Example App?
Alas not replicable
Environment Info:
    OS: macOS 13.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 95.86 MB / 64.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.volta/tools/image/node/16.13.1/bin/node
    Yarn: 1.22.17 - ~/.volta/tools/image/yarn/1.22.17/bin/yarn
    npm: 8.19.2 - ~/.volta/tools/image/node/16.13.1/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.11.3 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.2, iOS 16.2, macOS 13.1, tvOS 16.1, watchOS 9.1
    Android SDK:
      API Levels: 29, 30, 31, 33
      Build Tools: 29.0.2, 30.0.2, 30.0.3, 31.0.0
      System Images: android-29 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-31 | ARM 64 v8a, android-31 | Google APIs ARM 64 v8a
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.3 AI-213.7172.25.2113.9123335
    Xcode: 14.2/14C18 - /usr/bin/xcodebuild
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.66.1 => 0.66.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

**Paste the exact `react-native-track-player` version you are using**
`"react-native-track-player": "^4.0.0-rc03"`

**How I can Help**
What can you do to help resolve this?
Have you investigated the underlying JS or Swift/Android code causing this bug?
Can you create a Pull Request with a fix?

That is the known issue from rc03. Please use rc04

Please upgrade to rc4.

@jspizziri we're on 4.0.0-rc04, and I see this crash in AppCenter after 10 seconds:
kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend
android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.podverse/com.doublesymmetry.trackplayer.service.MusicService
Device: Galaxy S21 Ultra 5G
Crashed after: 10s
OS: Android 13

---

android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel ForegroundServiceStartNotAllowedException.java:54
android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel ForegroundServiceStartNotAllowedException.java:50
android.os.Parcel.readParcelableInternal Parcel.java:4787
android.os.Parcel.readParcelable Parcel.java:4755
android.os.Parcel.createExceptionOrNull Parcel.java:3018
android.os.Parcel.createException Parcel.java:3007
android.os.Parcel.readException Parcel.java:2990
android.os.Parcel.readException Parcel.java:2932
android.app.IActivityManager$Stub$Proxy.setServiceForeground IActivityManager.java:6978
android.app.Service.startForeground Service.java:743
com.doublesymmetry.trackplayer.service.MusicService$observeEvents$4$1.emit MusicService.kt:510
com.doublesymmetry.trackplayer.service.MusicService$observeEvents$4$1.emit MusicService.kt:507
kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl SharedFlow.kt:383
kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith ContinuationImpl.kt:33
kotlinx.coroutines.DispatchedTask.run DispatchedTask.kt:106
android.os.Handler.handleCallback Handler.java:942
android.os.Handler.dispatchMessage Handler.java:99
android.os.Looper.loopOnce Looper.java:226
android.os.Looper.loop Looper.java:313
android.app.ActivityThread.main ActivityThread.java:8757
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:571
com.android.internal.os.ZygoteInit.main ZygoteInit.java:1067

As part of the attempted solution, I added the while based call to setupPlayer, as I thought it might help prevent this error. Here's our setup code.
We haven't collected enough data yet to say if there is at least a decrease in the frequency of the crash. We just went live yesterday, and I see this morning this crash was reported once more in the latest version.
This is related to our convo at https://github.com/doublesymmetry/react-native-track-player/issues/1666#issuecomment-1499324857

Can confirm, still happening in rc4

All, additional details that would be helpful on this ticket:

The specific Android device models.
A reliable path to reproduce.

@jspizziri
"react-native-track-player": "^4.0.0-rc04",

All, additional details that would be helpful on this ticket:

The specific Android device models.
A reliable path to reproduce.

1:
Galaxy S22 Android 13
Galaxy A12 Android 13
Moto G(60)s Android 12
Galaxy S10 Android 12
Galaxy S10e Android 12
Galaxy S22 Android 12
Galaxy S20FE Android13
Pixel 6 Android 13
Galaxy S20 FE Android 13
Redmi 10 5G Android 12
Galaxy A52 Android 13
Galaxy A52s 5G Android 12
Motorola Edge 30 Ultra Android 12
Motorola Edge 30 Ultra Android 12

That's the tricky part, we cannot reproduce it on our own devices, it's just some users in the prod firebase crashlytics

@ZeroPie thanks for the additional information. A couple follow up questions:

Have you happened to or do you have the ability to test on any of the devices you listed above? My instinct here is that it's fairly device-specific.
Are the users that are experiencing the crashes getting them consistently? Or are they intermittent.

@ZeroPie thanks for the additional information. A couple follow up questions:

Have you happened to or do you have the ability to test on any of the devices you listed above? My instinct here is that it's fairly device-specific.
Are the users that are experiencing the crashes getting them consistently? Or are they intermittent.

@jspizziri we have tested some of the devices (especially the popular ones (Samsung S20) and we don't have those.

Correct, intermittently, it is consistent that they do experience this during the first second, but they do not experience this every time they open the app.

Note that this error appears only if you do not have the phone connected by cable to the computer, I would recommend debugging the wifi

https://github.com/doublesymmetry/react-native-track-player/issues/1551
This crash is gonna be one year soon, should we throw a party?

@RamProg maybe submitting a PR would be a better use of your time.

add this to File android/app/build.gradle
implementation project(':react-native-track-player')
implementation 'com.github.doublesymmetry:kotlinaudio:v2.0.0-rc6'

Still crash on 4.0.0-rc04
Caused by android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.babiuni/com.doublesymmetry.trackplayer.service.MusicService
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
       at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
       at android.os.Parcel.readParcelableInternal(Parcel.java:4787)
       at android.os.Parcel.readParcelable(Parcel.java:4755)
       at android.os.Parcel.createExceptionOrNull(Parcel.java:3018)
       at android.os.Parcel.createException(Parcel.java:3007)
       at android.os.Parcel.readException(Parcel.java:2990)
       at android.os.Parcel.readException(Parcel.java:2932)
       at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:6978)
       at android.app.Service.startForeground(Service.java:743)
       at com.doublesymmetry.trackplayer.service.MusicService.startAndStopEmptyNotificationToAvoidANR(MusicService.java:115)
       at com.doublesymmetry.trackplayer.service.MusicService.onStartCommand(MusicService.java:92)
       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5243)
       at android.app.ActivityThread.-$$Nest$mhandleServiceArgs()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2447)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8757)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

Hello Guys!!
I'm having the same issue, anyone already have success trying to reolve this ?
( we are trying in ourside too )
Thanks!!!

It looks like the Play Store are now sending our notifications implying this could become a blocker - has anyone managed to find a solution?

Yes we have received this message from Google Play:

SERVICE UPDATE
Hi Google Play Developer,
We have identified a potential issue in your app(s) that may be related to foreground service background start restrictions introduced in Android 12. To maintain proper functionality of your app and avoid user confusion, please take a look at the information below.
Affected app(s): (redacted)
On Android 12 (API level 31) and higher, apps can only start foreground services while they are in the foreground or in one of the exempted situations. If an app tries to start a foreground service while it is in the background and does not meet the exemptions, the system will throw a ForegroundServiceStartNotAllowedException. We've received reports that your app is throwing the ForegroundServiceStartNotAllowedException.
To aid in diagnosing this issue, we recommend checking whether your app performs background starts. Some potential solutions could include using alternative APIs such as WorkManager, confirming calls to startForeground are initiated from one of the allowed states, catching the ForegroundServiceNotALlowedException and/or updating your app's logic.

Any progress on this?
With rc04, we still have this Error
ForegroundServiceStartNotAllowedException
Service.startForeground() not allowed due to mAllowStartForeground false: service com.xxx/com.doublesymmetry.trackplayer.service.MusicService

And only on Android 12/13

Hello Folks
Sorry for my bad english
I tried to fix this problem, but I don't know if it works for everyone, so I ask you to test it
In version 4.0.0-rc04, replace the event.notificationStateChange.collect function in android/src/main/java/com/doublesymmetry/trackplayer/service/MusicService.kt
event.notificationStateChange.collect {
when (it) {
is NotificationState.POSTED -> {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
{
with(androidx.core.app.NotificationManagerCompat.from(applicationContext)) {
notify(it.notificationId, it.notification)
}
}
else {
startForeground(it.notificationId, it.notification)
}
}
is NotificationState.CANCELLED -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
stopForeground(STOP_FOREGROUND_REMOVE)
} else {
@Suppress("DEPRECATION")
stopForeground(true)
}
                    stopSelf()
                }
            }
        }

@l3k You are a genius man. I confirm it's working fine for me now. I have been facing this issue for a long time ago and finally, it's working now. Thanks, mate!

@l3k You are a genius man. I confirm it's working fine for me now. I have been facing this issue for a long time ago and finally, it's working now. Thanks, mate!

@DineshRajput21 how were you able to confirm this fix? Were you able to reproduce the issue consistently enough to determine that this patch fixed it?

After 3 days of Beta testing with hundreds of users, we have had 0 of these crashes over that time 🎉 with previous releases we would see crash reports for this within 24 hours. It's still early but so far this fix appears to be working.

@l3k You are a genius man. I confirm it's working fine for me now. I have been facing this issue for a long time ago and finally, it's working now. Thanks, mate!

@DineshRajput21 how were you able to confirm this fix? Were you able to reproduce the issue consistently enough to determine that this patch fixed it?

check this PR, probably resolved and tested

Still happens in 4.0.0-rc06
Phone: Pixel 6
Android: 13

Receive notification
Open the app from notification
Close the app

FATAL EXCEPTION: main
Process: com.mindtalesapp, PID: 8021
java.lang.RuntimeException: Unable to start service com.doublesymmetry.trackplayer.service.MusicService@31f23e with null: android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.mindtalesapp/com.doublesymmetry.trackplayer.service.MusicService
	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4673)
	at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7918)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service com.mindtalesapp/com.doublesymmetry.trackplayer.service.MusicService
	at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
	at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
	at android.os.Parcel.readParcelableInternal(Parcel.java:4816)
	at android.os.Parcel.readParcelable(Parcel.java:4778)
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3006)
	at android.os.Parcel.createException(Parcel.java:2995)
	at android.os.Parcel.readException(Parcel.java:2978)
	at android.os.Parcel.readException(Parcel.java:2920)
	at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:6079)
	at android.app.Service.startForeground(Service.java:743)
	at com.doublesymmetry.trackplayer.service.MusicService.startAndStopEmptyNotificationToAvoidANR(MusicService.kt:123)
	at com.doublesymmetry.trackplayer.service.MusicService.onStartCommand(MusicService.kt:96)
	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4655)
	at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7918)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

I can also confirm that the issue still happens in rc07. We had tried applying @l3k's solution which prevented this error from occurring, but it ended up causing even more problems for us, as Android users reported many issues with playback stability with that patch in place (such as playback events not firing properly and playback randomly stopping).
Even though this error is being reported (for us, in Firebase Crashlytics), I don't have any evidence that indicates the error is affecting end users.

Is there a way to get rid of "temporary_channel"? on android production right now there are 2 notification categories from on is temporary_channel, and it's not clear what it does.
P.S. I'm not sure if this is a right place to address.

Is there any new patch available for this issue? And, we're having a bit problem exactly trying to reproduce this on our developer's end, but we're catching this in our Firebase, and it seems like a few of our users have complained for a sudden crash who have Android 14 devices, so we have a hunch about this might be the issue, but we're not able to reproduce it.
If someone can step out the steps on how exactly to reproduce this, we'd be really glad.


Mark goog.dom.defaultDomHelper_ as {!goog.dom.DomHelper|undefined}.

This was caught by Closure Compiler's NTI.

This has been merged internally and should be resolved in our next push.

@shicks Thanks!

@shicks Thanks!

@shicks Thanks!


Allow "cm install hub-addon" to work in for a different ns than open-cluster-management

As ManagedClsuterAddon are also supported on ACM/MCE and these can be or are installed in other NS than open-cluster-management, it would be nice that the cm-install hub-addon works also on other namespace than open-cluster-management.
cm install hub-addon --names xxx --server-namespace yyyy
This will allow an integration of the cm install hub-addon cmd in the cm-cli for ACM/MCE

/assign @ycyaoxdu

/close


No System Data available. Whole integration stopped working.

Before submitting a new issue

[x] I redownloaded the latest release and restarted Home Assistant
[x] I've checked known issues
[x] I've enabled debug logs and attached the relevant logs to this ticket

Problem description

Since over 2 days this integration doesn't work for me.
I'm constantly getting this:

Actually all the sensors of myVAILLANT integration are being skipped (remain unavailable).
What can I do to fix it? Please, advise.
Logs
2024-10-04 10:32:55.909 DEBUG (MainThread) [custom_components.mypyllant] Refreshing SystemCoordinator
2024-10-04 10:32:55.909 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Starting async update data for SystemCoordinator
2024-10-04 10:32:55.910 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Waiting 119s until token refresh
2024-10-04 10:32:55.924 DEBUG (MainThread) [myPyllant.http_client] Starting GET to https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes
2024-10-04 10:32:56.140 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Quota was hit 0s ago on 2024-10-04 08:32:56.140637+00:00
Traceback (most recent call last):
  File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data
    data = [
           ^
  File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 337, in get_systems
    async for home in homes:
  File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 294, in get_homes
    async with self.aiohttp_session.get(
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 1355, in __aenter__
    self._resp: _RetType = await self._coro
                           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 787, in _request
    await raise_for_status(resp)
  File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 73, in on_raise_for_status
    response.raise_for_status()
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1121, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 403, message='Quota Exceeded', url='https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes'
2024-10-04 10:32:56.168 ERROR (MainThread) [custom_components.mypyllant.coordinator] Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
2024-10-04 10:32:56.168 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Finished fetching myVAILLANT data in 0.259 seconds (success: False)
2024-10-04 10:32:56.169 DEBUG (MainThread) [custom_components.mypyllant] Refreshing DailyDataCoordinator
2024-10-04 10:32:56.169 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Quota was hit 0s ago on 2024-10-04 08:32:56.140637+00:00
Traceback (most recent call last):
  File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data
    data = [
           ^
  File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 337, in get_systems
    async for home in homes:
  File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 294, in get_homes
    async with self.aiohttp_session.get(
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 1355, in __aenter__
    self._resp: _RetType = await self._coro
                           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 787, in _request
    await raise_for_status(resp)
  File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 73, in on_raise_for_status
    response.raise_for_status()
  File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1121, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 403, message='Quota Exceeded', url='https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes'
2024-10-04 10:32:56.197 ERROR (MainThread) [custom_components.mypyllant.coordinator] Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
2024-10-04 10:32:56.197 DEBUG (MainThread) [custom_components.mypyllant.coordinator] Finished fetching myVAILLANT data in 0.028 seconds (success: False)

When checking the url url='https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes' from the log above I'm getting this:
{ "statusCode": 401, "message": "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API." }

I also have just seen the same issue - only just set the integration up yesterday with it all working great, however overnight all sensors have switched to Unavailable. I have restarted the integration, rebooted HA and my router with no luck. The MyVailliant app is still connecting and receiving updates, so not sure why this integration has stopped working.

Same Probleme here

Same Probleme here

I have the same Problem. Log:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data
data = [
^
File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 358, in get_systems
system = System.from_api(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 944, in from_api
Zone.from_api(
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 430, in from_api
data["cooling"] = ZoneCooling.from_api(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 326, in from_api
**data["time_program_cooling"]
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'time_program_cooling'

same Problem here. Whole integration stopped working.
"Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API."

same Problem here

me too ;-)

Seems pretty universal. Me too.

Same here…occurred earlier today randomly. I’ve made no updates of any kind to suddenly make it stop working

Same problem here!

same pb here since this morning 8:17

Same here 🫤

https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.15
This may fix it, if not someone needs to post test data since I don't have the same problem with my setup.

https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.15
This may fix it, if not someone needs to post test data since I don't have the same problem with my setup.

No good for me.
{% set action_response = {"homes":[{"homeName":"0d0b3100662269abeb8d2d7a37ffb27b4921ca77","serialNumber":"b32259a79c4ff1c0ea2de15e2ffe3e2e055e0f1e","systemId":"f773cad88b6c600acb2ea77cac182707c6168638","productMetadata":{"productType":"VR921","productionYear":"23","productionWeek":"34","articleNumber":"0020260963"},"state":"CLAIMED","migrationState":"FINISHED","migrationFinishedAt":"2023-12-11T15:40:20.076678811Z","onlineState":"ONLINE","firmware":{"version":"0357.40.35","connectedToOldIoTPlatform":null,"updateEnabled":true,"updateRequired":false},"nomenclature":"VR 921","cag":false,"countryCode":"GB","productInformation":"VR921","firmwareVersion":"0357.40.35"}],"f773cad88b6c600acb2ea77cac182707c6168638":{"control_identifier":{"controlIdentifier":"tli"},"time_zone":{"timeZone":"Europe/London"},"diagnostic_trouble_codes":[{"serialNumber":"ab68ee91797a0eaf675650d967008e8a180dbdb6","articleNumber":"0020262148","codes":[]},{"serialNumber":"3765b64fc91ddca1e6e2fd953a67ea016dc72511","articleNumber":"0010047381","codes":[]},{"serialNumber":"b32259a79c4ff1c0ea2de15e2ffe3e2e055e0f1e","articleNumber":"0020260963","codes":[]},{"serialNumber":"0425058b59bf758a83fe2f2fec8f81a769ec74cb","articleNumber":"0010031644","codes":[]}],"connection_status":{"connected":true},"system":{"state":{"system":{"outdoorTemperature":7.5664062,"outdoorTemperatureAverage24h":10.386719,"energyManagerState":"STANDBY","systemOff":false},"zones":[{"index":0,"desiredRoomTemperatureSetpointHeating":16.5,"desiredRoomTemperatureSetpoint":16.5,"currentRoomTemperature":20.1875,"currentRoomHumidity":64,"currentSpecialFunction":"NONE","heatingState":"IDLE","quickVetoStartDateTime":"1970-01-01T00:00:00Z","quickVetoEndDateTime":"1970-01-01T00:00:00Z"}],"circuits":[{"index":0,"circuitState":"STANDBY","currentCircuitFlowTemperature":22,"heatingCircuitFlowSetpoint":0,"calculatedEnergyManagerState":"HEATING_STANDBY"}],"dhw":[{"index":255,"currentSpecialFunction":"REGULAR","currentDhwTemperature":44}],"ventilation":[]},"properties":{"system":{"controllerType":"VRC720","isLegionallaProtectionActivated":"MONDAY","systemScheme":10,"backupHeaterType":"CONDENSING","backupHeaterAllowedFor":"DISABLED","temporaryAllowBackupHeater":"DISABLED","moduleConfigurationVR71":3,"energyProvidePowerCutBehavior":"DISABLE_COOLING","smartPhotovoltaicBufferOffset":10,"externalEnergyManagementActivation":false},"zones":[{"index":0,"isActive":true,"zoneBinding":"CENTRAL_CONTROL","isCoolingAllowed":false,"associatedCircuitIndex":0}],"circuits":[{"index":0,"mixerCircuitTypeExternal":"HEATING","heatingCircuitType":"DIRECT_HEATING_CIRCUIT"}],"dhw":[{"index":255,"minSetpoint":35,"maxSetpoint":70}],"ventilation":[]},"configuration":{"system":{"continuousHeatingStartSetpoint":-26,"alternativePoint":-21,"heatingCircuitBivalencePoint":-20,"dhwBivalencePoint":-20,"adaptiveHeatingCurve":false,"dhwMaximumLoadingTime":60,"dhwHysteresis":5,"dhwFlowSetpointOffset":15,"continuousHeatingRoomSetpoint":20,"manualCoolingStartDate":"2019-01-01T00:00:00Z","manualCoolingEndDate":"2019-01-01T00:00:00Z","hybridControlStrategy":"BIVALENCE_POINT","maxFlowSetpointHpError":25,"dhwMaximumTemperature":80,"maximumPreheatingTime":0},"zones":[{"index":0,"general":{"name":"Zone 1","holidayStartDateTime":"2015-01-01T00:00:00Z","holidayEndDateTime":"2015-01-01T00:00:00Z","holidaySetpoint":15},"heating":{"operationModeHeating":"TIME_CONTROLLED","setBackTemperature":16.5,"manualModeSetpointHeating":19.5,"timeProgramHeating":{"metaInfo":{"minSlotsPerDay":0,"maxSlotsPerDay":12,"setpointRequiredPerSlot":true},"monday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"tuesday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"wednesday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"thursday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"friday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"saturday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}],"sunday":[{"startTime":450,"endTime":1140,"setpoint":19},{"startTime":1140,"endTime":1320,"setpoint":19}]}},"cooling":{}}],"circuits":[{"index":0,"heatingCurve":1,"heatingFlowTemperatureMinimumSetpoint":15,"heatingFlowTemperatureMaximumSetpoint":47,"heatDemandLimitedByOutsideTemperature":30,"heatingCircuitFlowSetpointExcessOffset":0,"setBackModeEnabled":true,"roomTemperatureControlMode":"THERMOSTAT_FUNCTION","epsilon":2}],"dhw":[{"index":255,"operationModeDhw":"TIME_CONTROLLED","tappingSetpoint":45,"holidayStartDateTime":"2015-01-01T00:00:00Z","holidayEndDateTime":"2015-01-01T00:00:00Z","timeProgramDhw":{"metaInfo":{"minSlotsPerDay":0,"maxSlotsPerDay":3,"setpointRequiredPerSlot":false},"monday":[{"startTime":370,"endTime":1320}],"tuesday":[{"startTime":370,"endTime":1320}],"wednesday":[{"startTime":370,"endTime":1320}],"thursday":[{"startTime":370,"endTime":1320}],"friday":[{"startTime":370,"endTime":1320}],"saturday":[{"startTime":370,"endTime":1320}],"sunday":[{"startTime":370,"endTime":1320}]},"timeProgramCirculationPump":{"metaInfo":{"minSlotsPerDay":0,"maxSlotsPerDay":3,"setpointRequiredPerSlot":false},"monday":[{"startTime":360,"endTime":1320}],"tuesday":[{"startTime":360,"endTime":1320}],"wednesday":[{"startTime":360,"endTime":1320}],"thursday":[{"startTime":360,"endTime":1320}],"friday":[{"startTime":360,"endTime":1320}],"saturday":[{"startTime":450,"endTime":1410}],"sunday":[{"startTime":450,"endTime":1320}]}}],"ventilation":[]}},"current_system":{"system_type":"HEATPUMP","has_emf_capable_devices":true,"primary_heat_generator":{"device_uuid":"c05c70a5629b9cdaeb79e49fe09c306ab3a2a172","ebus_id":"HMU03","spn":351,"bus_coupler_address":0,"article_number":"0010047381","emfValid":true,"device_serial_number":"3765b64fc91ddca1e6e2fd953a67ea016dc72511","device_type":"HEATPUMP","first_data":"2023-11-10T16:21:46Z","last_data":"2024-10-09T20:53:08.205Z","data":[{"operation_mode":"DOMESTIC_HOT_WATER","value_type":"CONSUMED_ELECTRICAL_ENERGY","calculated":false,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:07.314Z"},{"operation_mode":"HEATING","value_type":"CONSUMED_ELECTRICAL_ENERGY","calculated":false,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:07.08Z"},{"operation_mode":"DOMESTIC_HOT_WATER","value_type":"EARNED_ENVIRONMENT_ENERGY","calculated":false,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:08.001Z"},{"operation_mode":"HEATING","value_type":"EARNED_ENVIRONMENT_ENERGY","calculated":false,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:07.751Z"},{"operation_mode":"HEATING","value_type":"HEAT_GENERATED","calculated":true,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:07.08Z"},{"operation_mode":"DOMESTIC_HOT_WATER","value_type":"HEAT_GENERATED","calculated":true,"from":"2023-11-10T16:21:46Z","to":"2024-10-09T20:53:07.314Z"}],"product_name":"aroTHERM plus"},"secondary_heat_generators":[],"electric_backup_heater":null,"solar_station":null,"ventilation":null,"gateway":null},"mpc":{"devices":[]},"rts":{"statistics":[]},"device_buckets":{"startDate":"2024-10-08T00:00:00Z","endDate":"2024-10-09T00:00:00Z","resolution":"HOUR","operationMode":"DOMESTIC_HOT_WATER","energyType":"CONSUMED_ELECTRICAL_ENERGY","totalConsumption":999.7183098591549,"data":[{"startDate":"2024-10-08T00:00:00Z","endDate":"2024-10-08T01:00:00Z","value":0},{"startDate":"2024-10-08T01:00:00Z","endDate":"2024-10-08T02:00:00Z","value":0},{"startDate":"2024-10-08T02:00:00Z","endDate":"2024-10-08T03:00:00Z","value":0},{"startDate":"2024-10-08T03:00:00Z","endDate":"2024-10-08T04:00:00Z","value":0},{"startDate":"2024-10-08T04:00:00Z","endDate":"2024-10-08T05:00:00Z","value":0},{"startDate":"2024-10-08T05:00:00Z","endDate":"2024-10-08T06:00:00Z","value":0},{"startDate":"2024-10-08T06:00:00Z","endDate":"2024-10-08T07:00:00Z","value":0},{"startDate":"2024-10-08T07:00:00Z","endDate":"2024-10-08T08:00:00Z","value":0},{"startDate":"2024-10-08T08:00:00Z","endDate":"2024-10-08T09:00:00Z","value":0},{"startDate":"2024-10-08T09:00:00Z","endDate":"2024-10-08T10:00:00Z","value":0},{"startDate":"2024-10-08T10:00:00Z","endDate":"2024-10-08T11:00:00Z","value":0},{"startDate":"2024-10-08T11:00:00Z","endDate":"2024-10-08T12:00:00Z","value":0},{"startDate":"2024-10-08T12:00:00Z","endDate":"2024-10-08T13:00:00Z","value":0},{"startDate":"2024-10-08T13:00:00Z","endDate":"2024-10-08T14:00:00Z","value":679.7183098591549},{"startDate":"2024-10-08T14:00:00Z","endDate":"2024-10-08T15:00:00Z","value":320},{"startDate":"2024-10-08T15:00:00Z","endDate":"2024-10-08T16:00:00Z","value":0},{"startDate":"2024-10-08T16:00:00Z","endDate":"2024-10-08T17:00:00Z","value":0},{"startDate":"2024-10-08T17:00:00Z","endDate":"2024-10-08T18:00:00Z","value":0},{"startDate":"2024-10-08T18:00:00Z","endDate":"2024-10-08T19:00:00Z","value":0},{"startDate":"2024-10-08T19:00:00Z","endDate":"2024-10-08T20:00:00Z","value":0},{"startDate":"2024-10-08T20:00:00Z","endDate":"2024-10-08T21:00:00Z","value":0},{"startDate":"2024-10-08T21:00:00Z","endDate":"2024-10-08T22:00:00Z","value":0},{"startDate":"2024-10-08T22:00:00Z","endDate":"2024-10-08T23:00:00Z","value":0},{"startDate":"2024-10-08T23:00:00Z","endDate":"2024-10-09T00:00:00Z","value":0}]},"rbr":{"rbrCapable":true},"rooms":[],"energy_management":{"energyManager":{"available":false,"compatible":false},"energyManagementStatus":{"thermalStorage":{"domesticHotWater":{"available":false,"selected":false},"heatingBufferCylinder":{"available":false,"selected":true}}}},"ship_self":{"ski":"5b89e12c6ad57775e302e1ae55ad9fa625255470","brand":"Vaillant","type":"Gateway","model":"VR921","spineEnabled":false,"spineEnabledStatus":"DETERMINED","spineCapable":true}}} %}

Unfortunately 0.8.16 does not resolve the issue with ZoneCooling for me.
This error originated from a custom integration.
Logger: custom_components.mypyllant.coordinator
Source: helpers/update_coordinator.py:354
integration: myVAILLANT (documentation, issues)
First occurred: 22:20:43 (2 occurrences)
Last logged: 22:20:43
Unexpected error fetching myVAILLANT data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data
data = [
^
File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 358, in get_systems
system = System.from_api(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 945, in from_api
Zone.from_api(
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 441, in from_api
return super().from_api(**data)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 83, in from_api
return cls(**data)
^^^^^^^^^^^
File "pydantic/dataclasses.py", line 332, in pydantic.dataclasses._add_pydantic_validation_attributes.new_init
File "pydantic/dataclasses.py", line 447, in pydantic.dataclasses._dataclass_validate_values
pydantic.error_wrappers.ValidationError: 1 validation error for Zone
cooling
ZoneCooling.init() missing 4 required positional arguments: 'control_identifier', 'setpoint_cooling', 'operation_mode_cooling', and 'time_program_cooling' (type=type_error)

his may fix it, if not someone needs to post test data since I don't have the same problem with my setup.

Here you can find the result of TEST DATA action.

https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.15
This may fix it, if not someone needs to post test data since I don't have the same problem with my setup.

testdata.txt

https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.17 should work, thanks for the test data.

https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.17 should work, thanks for the test data.

Thanks; it works 👍🏻

0.8.17 is working for me. Thanks for the quick update.

Same problem here. Installed through HACS and does not offer any updates currently. Im on v0.8.14. Anyone know if I can force HACS to give me the latest version?

👍👍👍

Thank you very much for quick fixing 👍🏼

@signalkraft
Many Thanks for quick fixing. 👍👍👍👍

Indeed, this 8.17 version worked fine for me yesterday evening (Poland) for a while. I was so happy.
However, today's morning this issue occurred again.
Please see my full log file (sanitized):
home-assistant_mypyllant_2024-10-10T06-44-49.989Z.log

@signalkraft thanks - that's sorted it for me.

Indeed, this 8.17 version worked fine for me yesterday evening (Poland) for a while. I was so happy. However, today's morning this issue occurred again. Please see my full log file (sanitized): home-assistant_mypyllant_2024-10-10T06-44-49.989Z.log

aiohttp.client_exceptions.ClientResponseError: 403, message='Quota Exceeded', url='https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes'
2024-10-10 08:38:37.348 ERROR (MainThread) [custom_components.mypyllant.coordinator] Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
That's a 3hours no updates,...
Try to adjust your configuration: Seconds between updates, Seconds between energy data updates

Try to adjust your configuration: Seconds between updates, Seconds between energy data updates

These are my settings:

I haven't changed anything here since months and this integration worked fine for me so far..
Looks this is not an issue with settings but with API..

I have also now started getting this same error.
Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/emf/v2/0aba2718-dd8c-4ee4-bf11-8a9ab5806023/devices/8c2d0644-e517-583a-979f-0b421df4fe17/buckets?resolution=HOUR&operationMode=HEATING&energyType=HEAT_GENERATED&startDate=2024-10-17T00:00:00.000%2B01:00&endDate=2024-10-18T00:00:00.000%2B01:00, skipping update of myVAILLANT data for another 10800s
Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/emf/v2/0aba2718-dd8c-4ee4-bf11-8a9ab5806023/devices/8c2d0644-e517-583a-979f-0b421df4fe17/buckets?resolution=HOUR&operationMode=HEATING&energyType=HEAT_GENERATED&startDate=2024-10-17T00:00:00.000%2B01:00&endDate=2024-10-18T00:00:00.000%2B01:00, skipping update of myVAILLANT data for another 10740s

I have managed to get mine working again. I had to delete the hub connection and re-add it. Once I had done this and ticked the relevant boxes in the configuration to fetch real time data and then reloaded the integration it all started to work again.

and then you have to make all automations and stuff from new? all entitites will be gone right?

Duplicate of https://github.com/signalkraft/mypyllant-component/issues/226 - I'm closing this one


Cannot do JOIN with UPDATE?

This almost works with MySQL, except it puts the JOIN statement(s) in the incorrect place in the query, and so the query fails.

db.Table("pages").Joins("inner books  on books.id = pages.book_id").Where("books.id = ? and pages.id IN (?)", 1, []int{10, 11}).Update("status", "draft")
Will generate SQL (MySQL) that looks like:
UPDATE pages SET status = 'draft' inner join books on books.id = pages.book_id WHERE (books.id = '1' and pages.id IN ('10','11'))
Expected SQL is (MySQL):
UPDATE pages inner join books on books.id = pages.book_id SET status = 'draft' WHERE (books.id = '1' and pages.id IN ('10','11'))

This is also happening in the Soft Delete.

According to this there's no easy way to tackle this issue.
One needs to know which DBMS is being used to build an UPDATE query with JOINs or equivalent.
With MySQL this is easy to solve but it would break on others DBMS.


Add OrbitalMartian’s website

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[ ] I used the uncompressed size of the site
[ ] I have included a link to the Cloudflare report
[ ] This site is not an ultra minimal site
[ ] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain: orbitalmartian.codeberg.page
  url: https://orbitalmartian.codeberg.page/
  size: 142.25
  last_checked: 2024-08-25

Cloudflare Report: https://radar.cloudflare.com/scan/4d7bd218-f5ad-4bed-ac9f-23c8705b6d33/summary

Thanks!


Legacy Driver: Make --ld-path option consistently use single dash

The original --ld-path option hasn't been included in a released version yet, so it's ok to break.
The vast majority of other options on Swift Driver already use a single dash.

@swift-ci test

@swift-ci build toolchain

@swift-ci test windows

@swift-ci build toolchain Windows

The Windows toolchain issue is unrelated to this change:

     C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift-installer-scripts\platforms\Windows\dbg\dbg.wxs(43): error WIX0103: Cannot find the File file 'T:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\site-packages\lldb\_lldb.pyd'. The following paths were checked: T:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\site-packages\lldb\_lldb.pyd [C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift-installer-scripts\platforms\Windows\dbg\dbg.wixproj]

It seems that we need to tweak a few things.

@swift-ci please build toolchain Windows platform


setHandleColour possible collision

A last one for today:)
setHandleColour(int) can lead to unfortunate collision if seeking for a color value that clash with a color resource id.
This is very rare but can happens.
Maybe handle this like other libs :
setHandleColour(int color)
setHandleColourRes(int colorResid) / setColorResId  ?

Fixed for upcoming release.

Thanks, and good job with the library seems to works well and efficient support ;)


@vitejs/plugin-legacy does not build

Environment

Operating System: Linux
Node Version:     v16.14.2
Nuxt Version:     3.0.0-rc.8
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      vite
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-qzrpnn?file=nuxt.config.ts
Describe the bug
When adding the Vite plugin @vitejs/plugin-legacy and trying to build using nuxt build I get an error.
The error does not happen when using a clean Vite project, so I guess it is related to Nuxt.
Additional context
No response
Logs
ERROR  [vite:terser] _require2 is not defined                                                            11:12:21

 ERROR  [vite:legacy-generate-polyfill-chunk] _require2 is not defined                                    11:12:21

 ERROR  _require2 is not defined                                                                          11:12:21

  at doWork (eval at __global_eval__ (https://github-qzrpnn.w.staticblitz.com/blitz.1f021b18268b32e6c6b2095e039ac8c9f88b0d52.js:8:32190), <anonymous>:5:20)
  at _0x51acfb.eval (eval at __global_eval__ (https://github-qzrpnn.w.staticblitz.com/blitz.1f021b18268b32e6c6b2095e039ac8c9f88b0d52.js:8:32190), <anonymous>:12:21)
  at [nodejs.internal.kHybridDispatch] (https://github-qzrpnn.w.staticblitz.com/blitz.1f021b18268b32e6c6b2095e039ac8c9f88b0d52.js:6:353083)
  at t.emitMessage (https://github-qzrpnn.w.staticblitz.com/blitz.1f021b18268b32e6c6b2095e039ac8c9f88b0d52.js:6:1031392)
  at _started.<computed>._source.<computed> (https://github-qzrpnn.w.staticblitz.com/blitz.1f021b18268b32e6c6b2095e039ac8c9f88b0d52.js:15:103757)

I have the same problem

After testing, this issue doesn't replicate in latest nuxt (3.2.2). The project can be built and ran successfully with @vitejs/plugin-legacy. I can see the legacy scripts included in the browser

Raising this error in the console

here's reproduction: https://stackblitz.com/edit/github-8lcbw5?file=nuxt.config.ts
npm run build && node .output/server/index.mjs

Great. Closing in favour of https://github.com/nuxt/nuxt/issues/15464.


fix: add region to sts boto client if using aws-cn partition

Changes

add region to sts boto client if using aws-cn partition

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

Closing in favor of decision point here


Configure Babylonjs with ACES tone mapping

Reference Issue
Fixes #1337
Enable ACES tone mapping for babylonjs. However, the rendering results look darker than before, so im not sure if it's supposed to be.
Before enabling tone mapping:

After enabling tone mapping:

Also, for the other renderers, the metrics are not exactly the same,  im not sure if it's an issue. (The first screenshot is taken from my local machine, the second is taken in the dev pages' fidelity page)

There will be slight variations in metrics due to different GPUs used, but going from -32 to -34 is pretty large; you may want to post updated model-viewer goldens, since we may be out of date (perhaps from a three.js upgrade). If you put them in this PR, we'll be able to check the difference using Github's "rich diff" tool.

After updating the model-viewer glodens, some rms of model-viewer compared with latest mode-viewer becomes infinite. is it ok to just show infinite on metric? Or do you want to set some max value?

Yes, -Infinity is great.


Close sidebar on pressing escape

Fixes #907.
Actually, the code to power the closing via keyboard handler was already in place. But the focus state of the sidebar was not managed properly so the sidebar was not closing.
This PR address the focus management

Thanks @pantharshit00 for catching that!

@pantharshit00 Thanks for catch and PR! It will be in next release.


Missing zap import?

I'm trying to use elk according to the ent blog post.
I'm getting an error that zap is unknown. I'm guessing you need to add "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap" to the imports?

Hey @posener,
the blog post is out of date, I'm afraid. elk was using logrus back then.
The correct import path is go.uber.org/zap.
I should add a disclaimer to the post about it's out-of-date-ness and link to the readme here. If you have any questions regarding elk don't hesitate to ask here or join slack / discord.

Oh, no, I think you have a bug in this repository.
Here you are using *zap.Logger, but it is not added to the imports, I guess here

Ah, you are right. It has to be added into this file.
I am not near a computer right now but feel free to create a PR for this. Thanks for catching this!


"Unable to access jarfile" error

Hey,
This plugin was throwing this error. I found the cause was that my file directory had a space in it e.g. "Documents/Web Dev/Project". Changed it to "/Websites" and it fixed.
I've been told it's bad practice to have spaces in your folder names but thought you might want to know.
I'm not too sure if you want to fix this or not but there might be others who don't know any better like me
Thanks!

@williamliew Hello! Thanks for using gulp-html.
Have you tried to escape the space in file name?
- gulp.src('Documents/Web Dev/Project')
+ gulp.src('Documents/Web\ Dev/Project')

I hope to be able to solve the problem!

Hey,
Thanks for the fast response!
// HTML
gulp.task('html', function() {
return gulp.src('./index.html')
.pipe(validator())
.pipe(gulp.dest('dist/'));
});
[23:41:08] Using gulpfile ~/Web Dev/haveLunch/gulpfile.js
[23:41:08] Starting 'html'...
events.js:72
throw er; // Unhandled 'error' event
^
Error: Error: Unable to access jarfile /Users/wliew/Web
So that was the error it was throwing out with the gulp task example on the readme. I hope I'm not doing something completely wrong!


backup: stop test cluster before finishing tests (#5781)

Cherry-pick #5781

/merge

/run-integration-tests


[api-minor] Change EventBus.dispatch to only support one data-argument

This is consistent with how the EventBus has always been used internally in the viewer, and allows a slight simplification of the relevant code.

/botio unittest

/botio integrationtest

Thank you for simplifying this code!


Self-Hosted Pixie deploy, The provided credentials are invalid

Describe the bug
Self-Hosted Pixie deploy, all pods are running.
I use chrome to visit https://work.dev.withpixie.dev/. Login to the admin account using<EMAIL_ADDRESS>for the email and admin for the password.
notify：The provided credentials are invalid, check for spelling mistakes in your password or username, email address, or phone number.
I don't modify k8s/cloud/base/ory_auth/kratos/kratos_deployment.yaml.
To Reproduce
login https://work.dev.withpixie.dev/
Expected behavior
Login succeed
Screenshots

App information (please complete the following information):

docker images tag ：1670351615

gcr.io/pixie-oss/pixie-prod/cloud/auth_server_image:1670351615
gcr.io/pixie-oss/pixie-prod/cloud/api_server_image:1670351615
...

@vihangm @aimichelle @philkuz @htroisi

hello! I have a question. The pod  hydra-bdc9bd4fc-9wvrw status is  CrashLoopBackOff

please help me.thanks

hello! I have a question. The pod hydra-bdc9bd4fc-9wvrw status is CrashLoopBackOff

please help me.thanks

@yang-maple
You may need to try redeploying.
kustomize build k8s/cloud/public/ | kubectl delete -f -
kustomize build k8s/cloud/public/ | kubectl apply -f -
I guess it may be caused by the random startup of the pod. I have also encountered this situation, but not the pod of hydra-*.
Normal after redeployment

Fixed in https://github.com/pixie-io/pixie/commit/7b714f1ffc8bcb38db356495dc2d4b5cd5bdb790.


fastlane test: NoMethodError: [!] undefined method `to_h' for #Array:0x007fb8d42f3020

New Issue Checklist

[ x ] Updated fastlane to the latest version
[ x ] I have read the Contribution Guidelines

Issue Description
I checked out the repo, set everything up following Your first PR and ran bundle exec fastlane test to make sure that I have dev env ready. It failed with the following error.
Complete output when running fastlane, including the stack trace and command used
bundler: failed to load command: fastlane (/Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/bin/fastlane)
NoMethodError: [!] undefined method `to_h' for #<Array:0x007fb8d42f3020>
  (erb):26:in `block in generate!'
  (erb):24:in `each'
  (erb):24:in `generate!'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/2.0.0/erb.rb:846:in `eval'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/2.0.0/erb.rb:846:in `block in result'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/2.0.0/erb.rb:847:in `call'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/2.0.0/erb.rb:847:in `result'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb:49:in `generate!'
  Fastfile:216:in `generate_markdown_docs'
  Fastfile:167:in `block in parsing_binding'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:201:in `try_switch_to_lane'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:156:in `trigger_action_by_name'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/fast_file.rb:146:in `method_missing'
  Fastfile:296:in `block in parsing_binding'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:201:in `try_switch_to_lane'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:156:in `trigger_action_by_name'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/fast_file.rb:146:in `method_missing'
  Fastfile:5:in `block in parsing_binding'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:45:in `chdir'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/runner.rb:45:in `execute'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/lane_manager.rb:52:in `cruise_lane'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/command_line_handler.rb:30:in `handle'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/commands_generator.rb:104:in `block (2 levels) in run'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in `call'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in `call'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:153:in `run'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/runner.rb:476:in `run_active_command'
  /Users/sovcharenko/Development/fastlane/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:64:in `run!'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/delegates.rb:15:in `run!'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/commands_generator.rb:303:in `run'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/commands_generator.rb:42:in `start'
  /Users/sovcharenko/Development/fastlane/fastlane/lib/fastlane/cli_tools_distributor.rb:66:in `take_off'
  /Users/sovcharenko/Development/fastlane/bin/fastlane:20:in `<top (required)>'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/bin/fastlane:23:in `load'
  /Users/sovcharenko/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/bin/fastlane:23:in `<top (required)>'

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.5

Ruby
2.0.0

Bundler?
true

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0/bin/fastlane

Host
Mac OS X 10.12.5 (16F73)

Ruby Lib Dir
~/.rbenv/versions/2.0.0-p648/lib

OpenSSL Version
OpenSSL 1.0.2l  25 May 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.3

System Locale

Variable
Value

LANG
en_GB.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
skip_docs

desc "Runs the unit tests and other verifications for the fastlane repo"
lane :test do |options|
  validate_repo
end

desc "Increment the version number of this gem"
lane :bump do |options|
  ensure_git_branch(branch: "master")
  ensure_git_status_clean

  github_api_token = ENV["FL_GITHUB_RELEASE_API_TOKEN"]
  UI.user_error!("Please provide a GitHub API token using `FL_GITHUB_RELEASE_API_TOKEN`") if github_api_token.to_s.length == 0

  path = "./fastlane/lib/fastlane/version.rb"

  # Verify everything is in a consistent state
  latest_version = current_version
  local_version = version_get_podspec(path: path)
  UI.user_error!("Version on RubyGems doesn't match local repo: #{latest_version} != #{local_version}") if latest_version != local_version

  changelog_text = show_changelog

  bump_type ||= 'minor' if prompt(text: "New feature, method or API?", boolean: true)
  bump_type ||= 'patch'

  slug = "fastlane/fastlane"
  new_version = version_bump_podspec(path: path, bump_type: bump_type)
  sh "git checkout -b 'version-bump-#{new_version}'"
  commit_message = "Version bump to #{new_version}"
  git_commit(path: path,
             message: commit_message)
  push_to_git_remote

  pr_body = ["Auto-generated by fastlane 🤖"]
  pr_body << "**Changes since release '#{latest_version}':**"
  pr_body << changelog_text
  pr_url = create_pull_request(
    api_token: github_api_token,
    repo: slug,
    title: commit_message,
    body: pr_body.join("\n\n")
  )

  if ENV['SLACK_URL']
    slack(
      channel: "action",
      default_payloads: [],
      message: "Version bump: #{pr_url} ✨",
      payload: {}
    )
  end

  # Revert to master branch
  sh "git checkout master"
end

desc "Does everything that's needed for a release"
desc "This includes running tests and verifying the GitHub release"
lane :release do
  slack_train_start(distance: 2,
                       train: "🚀",
           reverse_direction: true,
                        rail: "✨")

  update_fastlane
  slack_train

  # Git verification
  #
  ensure_git_status_clean
  ensure_git_branch(branch: 'master')
  git_pull

  validate_repo

  # Verifying RubyGems version
  #
  require "../fastlane/lib/fastlane/version.rb"
  version = Fastlane::VERSION
  old_version = current_version
  puts "Deploying #{version}"
  if Gem::Version.new(version) <= Gem::Version.new(old_version)
    UI.user_error!("Version number #{version} was already deployed")
  end

  # Then push to git remote
  #
  push_to_git_remote

  # Preparing GitHub Release
  #
  github_release = get_github_release(url: "fastlane/fastlane", version: version)
  if (github_release || {}).fetch('body', '').length == 0
    show_changelog(old_version: old_version)

    title = prompt(text: 'Title: ')
    description = prompt(text: "Please enter a changelog (make sure to rephrase changes to make it easy to understand, and remove non-important changes that don't affect the end-user): ",
                         multi_line_end_keyword: "END")

    github_release = set_github_release(
      repository_name: "fastlane/fastlane",
      name: [version, title].join(" "),
      tag_name: version,
      description: description,
      is_draft: false
    )

    # Actual release of the gem
    #
    sh "gem push ../pkg/fastlane-#{version}.gem"

    release_url = github_release['html_url']

    message = [title, description, release_url].join("\n\n")
    add_fastlane_git_tag(tag: "fastlane/#{version}", message: message)
  end

  # After publishing
  #
  if ENV['SLACK_URL']
    release_notes = github_release['body']
    # markup - turn github references into links
    release_notes.gsub!(/\(#([0-9]+)\)/, '(<https://github.com/fastlane/fastlane/issues/\1|#\1>)')
    slack_message = "Successfully released [fastlane #{version}](#{release_url}) :rocket:"
    slack(
      channel: "releases",
      default_payloads: [],
      message: slack_message,
      payload: {
        "New" => release_notes
      }
    )
    slack(channel: "action", default_payloads: [], message: slack_message)
  end

  clubmate
  donate_food

  puts "You can now tweet:".green
  releases_url = "https://github.com/fastlane/fastlane/releases/tag/#{version}"
  puts "[fastlane] #{github_release['name']} #{releases_url}"

  send_mac_app_ci_reminder

  update_docs
  slack_train
end

desc "Makes sure the tests on https://docs.fastlane.tools still work with the latest version"
lane :verify_docs do
  clone_docs do
    Bundler.with_clean_env do
      puts `sed -i -e "s/activate_bin_path/bin_path/g" $(which bundle)` # workaround for bundler https://github.com/bundler/bundler/issues/4602#issuecomment-233619696
      sh "bundle install"
      sh "bundle exec fastlane test skip_building:true" # skip_building since we don't have a proper python environment set up
    end
  end
end

desc "Generates the actions.md that will get used on https://docs.fastlane.tools"
desc "This will NOT also automatically submit a pull request to fastlane/docs"
desc "This SHOULD only be used for testing changes to the docs"
lane :test_generate_docs do
  ENV['USE_ENHANCE_TEST_DATA'] = "true"
  generate_markdown_docs
  ENV.delete("USE_ENHANCE_TEST_DATA")
end

desc "Update the actions.md on https://docs.fastlane.tools"
desc "This will also automatically submit a pull request to fastlane/docs"
lane :update_docs do
  verify_env_variables

  template_path = File.expand_path("./assets/render_plugin.md.erb")
  clone_docs do
    actions_md_path = generate_markdown_docs

    Bundler.with_clean_env do
      sh "bundle update"
    end

    if `git status --porcelain`.length == 0
      UI.success("No changes in the actions.md ✅")
    else
      # Create a new branch
      sh "git checkout -b 'update-actions-md-#{Time.now.to_i}'"
      plugins_path = "docs/plugins/available-plugins.md"
      plugin_scores(template_path: template_path,
                      output_path: plugins_path)

      Dir.chdir("fastlane") do # this is an assumption of fastlane, that we have to .. when shelling out
        # Commit the changes
        git_commit(path: [actions_md_path, "Gemfile.lock", plugins_path],
                message: "Update actions.md for latest fastlane release 🚀")
        # Push them to the git remote
        push_to_git_remote

        # Submit the pull request
        pr_url = create_pull_request(
          api_token: ENV["FL_GITHUB_RELEASE_API_TOKEN"],
          repo: "fastlane/docs",
          title: "[Bot] Update actions.md for latest fastlane release 🚀",
          body: "Auto-generated by _fastlane_ bot 🤖"
        )
        UI.success("Successfully submitted a pull request to fastlane/docs: #{pr_url} 🚀")
      end
    end
  end
end

def generate_markdown_docs
  require 'fastlane/documentation/markdown_docs_generator'
  actions_md_path = File.expand_path("docs/actions.md")
  Fastlane::MarkdownDocsGenerator.new.generate!(target_path: actions_md_path)

  return actions_md_path
end

def clone_docs
  require 'tmpdir'
  git_url = ENV['FASTLANE_DOCS_GIT_URL'] || "https://github.com/fastlane/docs"

  Dir.mktmpdir("fl_clone") do |tmp_dir|
    Dir.chdir(tmp_dir) do
      sh "git clone #{git_url} --depth=1"
      Dir.chdir("docs") do
        yield
      end
    end
  end
end

error do |lane, exception|
  if ENV['SLACK_URL']
    slack(channel: "testing", message: exception.to_s, success: false)
  end
  slack_train_crash
end

private_lane :send_mac_app_ci_reminder do
  if ENV['FABRIC_SLACK_URL']
    slack(
      slack_url: ENV['FABRIC_SLACK_URL'],
      channel: 'deployment-tools',
      default_payloads: [],
      message: "Please run the Fastlane Mac App Package CI job in TeamCity\n#{ENV['FABRIC_MAC_APP_CI_JOB_URL']}"
    )
  end
end

desc "Verifies all tests pass and the current state of the repo is valid"
private_lane :validate_repo do
  # Verifying that no debug code is in the code base
  #
  ensure_no_debug_code(text: "binding.pry", extension: ".rb", exclude: "playground.rb", exclude_dirs: ["\.bundle"]) # debugging code
  ensure_no_debug_code(text: "# TODO", extension: ".rb", exclude_dirs: ["\.bundle"]) # TODOs
  ensure_no_debug_code(text: "now: ", extension: ".rb", exclude_dirs: ["\.bundle"]) # rspec focus
  ensure_no_debug_code(text: "<<<<<<<", extension: ".rb", exclude_dirs: ["\.bundle"]) # Merge conflict

  # spaceship and credentials_manager don't have access to fastlane_core
  ensure_no_debug_code(text: " UI\\.", path: "spaceship/lib", extension: ".rb", exclude_dirs: ["\.bundle"])
  ensure_no_debug_code(text: " UI\\.", path: "credentials_manager/lib", extension: ".rb", exclude_dirs: ["\.bundle"])

  rubocop

  # Verifying the --help command
  #
  # tools_to_test = Fastlane::TOOLS
  tools_to_test = [:fastlane] # until we have the binaries for all tools included here
  tools_to_test.each do |tool_name|
    next if no_binary.include?(tool_name)
    Dir.chdir("..") do
      binary_path = File.join("bin", tool_name.to_s)
      content = sh("PAGER=cat #{binary_path} --help")
      ["--version", "https://fastlane.tools", tool_name.to_s].each do |current|
        UI.user_error!("--help missing information: '#{current}'") unless content.include?(current)
      end
    end
  end

  Dir.chdir("..") do
    # Install the bundle and the actual gem
    sh "bundle check || bundle install"
    sh "rake install"

    # Run the tests
    #
    sh "bundle exec rake test_all"

    # Verify shell code style
    sh 'find -E . -regex ".*\.(sh|bash)" -not -name "Pods-*" -name ".bundle" -exec shellcheck {} +'
  end

  test_generate_docs
  ensure_code_samples

  # Verify docs are still working
  verify_docs
end

desc "Get the version number of the last release"
private_lane :current_version do
  puts "Checking the latest version on RubyGems"
  download(url: "https://rubygems.org/api/v1/gems/fastlane.json")["version"]
end

desc "All repos that don't have a binary to test"
private_lane :no_binary do
  ['fastlane_core', 'spaceship', 'credentials_manager']
end

desc "Print out the changelog since the last tagged release and open the GitHub page with the changes"
lane :show_changelog do |options|
  old_version = options[:old_version] || current_version

  changes = sh("git log --pretty='* %s via %aN' #{old_version}...HEAD --no-merges ..", log: $verbose).gsub("\n\n", "\n")
  changes.gsub!("[WIP]", "") # sometimes a [WIP] is merged

  github_diff_url = "https://github.com/fastlane/fastlane/compare/#{old_version}...master"
  sh "open #{github_diff_url}"

  puts "Changes since release #{old_version}:\n\n#{changes.cyan}"
  changes # return the text without the modified colors
end

desc "Add a git tag in the fastlane repo for this release"
private_lane :add_fastlane_git_tag do |options|
  `git tag -am #{options[:message].shellescape} #{options[:tag].shellescape}`
  push_git_tags
end

# Run the code samples, yo
private_lane :ensure_code_samples do
  UI.message "<U+1F557>  Verifying all code samples work with the latest fastlane release"
  test_sample_code(path: File.expand_path("docs/Actions.md"))
  UI.success "<U+2705>  All fastlane code samples work as expected"
end

lane :donate_food do
  if ENV["SHARETHEMEAL_USERHASH"].to_s.length > 0
    sharethemeal(
      amount: "0.5",
      currency: "USD",
      team_id: "fastlane"
    )
  end
end

desc "Ensure all the requirement environment variables are provided"
desc "this way the deployment script will fail early (and often)"
private_lane :verify_env_variables do
  ["GITHUB_USER_NAME", "GITHUB_API_TOKEN"].each do |variable|
    next if ENV[variable].to_s.length > 0
    UI.user_error!("Missing ENV variables #{variable}, make sure to provide one for fastlane to be successful")
  end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.46.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-ruby
0.1.3
✅ Up-To-Date

fastlane-plugin-clubmate
0.1.0
✅ Up-To-Date

fastlane-plugin-sharethemeal
0.1.10
✅ Up-To-Date

fastlane-plugin-slack_train
0.2.0
✅ Up-To-Date

Loaded gems

Gem
Version

bundler
1.15.1

rake
11.3.0

claide
1.0.2

CFPropertyList
2.3.5

public_suffix
2.0.5

addressable
2.5.1

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

dotenv
2.2.1

excon
0.57.1

multipart-post
2.0.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
<IP_ADDRESS>

fastimage
2.1.0

gh_inspector
1.0.3

jwt
1.5.6

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

memoist
0.16.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

mime-types-data
3.2016.0521

mime-types
3.1

declarative
0.0.9

declarative-option
0.1.0

uber
0.1.0

representable
3.0.4

retriable
3.0.2

google-api-client
0.12.0

json
2.1.0

mini_magick
4.5.1

multi_xml
0.6.0

plist
3.3.0

rubyzip
1.2.1

security
0.1.3

slack-notifier
1.5.1

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

tty-screen
0.5.0

word_wrap
1.0.0

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.0

rouge
2.0.7

xcpretty
0.2.8

xcpretty-travis-formatter
0.0.4

xcode-install
2.2.0

cork
0.3.0

nap
1.1.0

open4
1.3.4

claide-plugins
0.9.2

faraday-http-cache
1.3.1

git
1.3.0

kramdown
1.14.0

sawyer
0.8.1

octokit
4.7.0

danger
4.3.5

ox
2.5.0

danger-junit
0.7.3

rspec-support
3.5.0

rspec-core
3.5.4

diff-lcs
1.3

rspec-expectations
3.5.0

rspec-mocks
3.5.0

rspec
3.5.0

builder
3.2.3

rspec_junit_formatter
0.2.3

coderay
1.1.1

method_source
0.8.2

slop
3.6.0

pry
0.10.4

byebug
9.0.6

pry-byebug
3.4.2

interception
0.5

pry-rescue
1.4.5

debug_inspector
0.0.3

binding_of_caller
0.7.2

pry-stack_explorer
<IP_ADDRESS>

yard
<IP_ADDRESS>

safe_yaml
1.0.4

crack
0.4.3

hashdiff
0.3.4

webmock
2.3.2

docile
1.1.5

simplecov-html
0.10.1

simplecov
0.14.1

tins
1.15.0

term-ansicolor
1.6.0

thor
0.19.4

coveralls
0.8.21

parallel
1.11.2

ast
2.3.0

parser
<IP_ADDRESS>

powerpack
0.1.1

rainbow
2.2.2

ruby-progressbar
1.8.1

rubocop
0.49.1

rb-readline
0.5.4

rest-client
1.6.7

fakefs
0.8.1

rack
1.6.8

rack-protection
1.5.3

tilt
2.0.7

sinatra
1.4.8

fastlane-plugin-ruby
0.1.3

fastlane-plugin-clubmate
0.1.0

stm_api
0.1.8

fastlane-plugin-sharethemeal
0.1.10

fastlane-plugin-slack_train
0.2.0

generated on: 2017-07-13

Your on the system ruby 2.0.0. Try updating to a newer version of ruby.

Thanks. It only worked on one version out of 5 I tested on
ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-darwin16.0]
No errors
ruby 2.2.7p470 (2017-03-28 revision 58194) [x86_64-darwin16]
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin16
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
Offenses:

spaceship/spec/tunes/iap_detail_spec.rb:137:39: C: Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
      expect(edited.versions).to eq({ :"en-US" => { name: "Edit It", description: "Description has at least 10 characters" } })
                                      ^^^^^^^^^^^
spaceship/spec/tunes/iap_family_details_spec.rb:30:45: C: Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
      expect(edit_version.versions).to eq({ :"de-DE" => { subscription_name: "subscr name", name: "localized name" } })
                                            ^^^^^^^^^^^

903 files inspected, 2 offenses detected


Unfairly FAILING the size_noup test?

I would like to inquire whether the size_noup test maybe is unfairly failing?
Example for our own IIIF Image API 3.0:
https://lbiiif.riksarkivet.se/v3/arkis!B0000998_00014/info.json (version 3, level1)
https://iiif.io/api/image/validator/results/?server=https%3A%2F%2Flbiiif.riksarkivet.se&prefix=%2Fv3%2F&identifier=arkis!B0000998_00014&version=3.0&level=-1&id_basic=on&size_noup=on
Test result:
Size greater than 100% should only work with the ^ notation
Elapsed time (ms): 1842
url: https://lbiiif.riksarkivet.se/v3/arkis!B0000998_00014/full/1881,1881/0/default.jpg
got: 200
expected: !200
type: size-upscalling
message: Retrieving upscailed image succeeded but should have failed as 3.0 requires the ^ for upscalling. Size: 1881,1881
warning: false
HOWEVER,
max size for this image is 2577 x 4339, see even: https://lbiiif.riksarkivet.se/v3/arkis!B0000998_00014/full/max/0/default.jpg
So, validation against "Size greater than 100%" does not seem to be correct.
Of course, download of an image with full region and a size with values like the ones above (1881,1881) retrieves a squared image and therefore a distorted image as the aspect ratio is changed. But we do NOT understand why the validator issues a fail for "Size greater than 100%", as this size is not exceeded.
Support for feature "sizeUpscaling" (Syntax: ^size) is optional according to https://iiif.io/api/image/3.0/compliance/#32-size
We have NOT added any implementation for it, but throw errors. For instance, according to https://iiif.io/api/image/3.0/#42-size - a request of https://lbiiif.riksarkivet.se/v3/arkis!B0000998_00014/full/^max/0/default.jpg results in a 501 - Not Implemented error:
"Size parameter upscaling with '^' is not implemented".
We have tried to compare with other organizations and have found that the same issue arises for their respective IIIF Image API implementations.
For instance,
https://digital.bodleian.ox.ac.uk/developer/iiif/#tag/Image
https://digital.bodleian.ox.ac.uk/developer/iiif/#tag/Image/paths/~1iiif~1image~1{image_id}~1{region}~1{size}~1{rotation}~1{quality}.{format}/get
with the image URI that is given as an example in the documentation, results in a FAIL for size_noup test:
Size greater than 100% should only work with the ^ notation
Elapsed time (ms): 1076
url: https://iiif.bodleian.ox.ac.uk/iiif/image/1363b336-260d-4f22-a6cf-4e1320dbb689/full/1177,1177/0/default.jpg
got: 200
expected: !200
type: size-upscalling
message: Retrieving upscailed image succeeded but should have failed as 3.0 requires the ^ for upscalling. Size: 1177,1177
warning: false
However, the max size image is larger (3734 x 4000): https://iiif.bodleian.ox.ac.uk/iiif/image/1363b336-260d-4f22-a6cf-4e1320dbb689/full/max/0/default.jpg
We would be very grateful for any comments and/or hints regarding the question of how to proceed from here.
Thank you so much.

I have the same issue. It looks like the test in question generates a random number between 1100 and 2000, which assumes that the full-sized image is smaller than 1100 pixels.
        s = random.randint(1100,2000)

It seems like it would make more sense for the test to read the dimensions from the image's info.json and attempt to upscale to dimensions that are known to be larger than the image dimensions.


HEX color transformer

Maybe a new repository could be started for custom transforms.

Hi @vitkuzmenko, this looks good to me. It would be great if you could add a test function in CustomTransformTests.swift though. Thanks

@vitkuzmenko opened a new PR with tests: #616 (this comment is just for issue linking)


Baseline PWA features

Cross-posting from our original discussion at https://github.com/vuejs/vue-cli/issues/381. Will make a start on this shortly.
There are a few different options for what this could include:

Web Application Manifest
Default favicons (minimalist setup from realfavicongenerator.net)
Service Worker precaching + runtime caching via sw-precache-webpack-plugin
Application Shell architecture
Code-splitting by default with vue-router
If we wanted to go even more ambitious we could cover:
PRPL pattern support (using something like preload-webpack-plugin)
Simple server-side rendering + pre-fetching
CSS extraction for production
Requirements
Aim to score as close to 100/100 on Lighthouse
Must be straight-forward to use. If we make it inherently complex, it will lose value to end users.
Prior-art - PWA templates and boilerplates 🎨
https://github.com/Narkoleptika/webpack-everything
https://github.com/electricjesus/vue-pwa-template
https://github.com/BosNaufal/vue-simple-pwa
Vue.js PWAs (open-source) 👐
https://github.com/vuejs/vue-hackernews-2.0
https://github.com/GoogleChrome/jscost.org (not yet fully released)
https://github.com/mrgodhani/feedbox
https://github.com/bstavroulakis/vue-wordpress-pwa
Other references 📚
PRPL pattern with Webpack and React
Initially, I would love to get a feel for what would considered palatable for an MVP. There's technically nothing stopping us baking in everything in the above list, but let's talk and figure out a path forward 🚀

We're now up to this point with Lighthouse:

Real score is probably +10-20 when serving over HTTPS.
Major parts left:

Contains some content when JavaScript is not available - need to decide whether to inline "shell CSS" or critical CSS or SSR
Background and foreground colors have a sufficient contrast ratio
Every image element has an alt attribute (logo)

And bumped up with some fallback content:

For now, I'll probably encourage the user to decide if they want to specify fallback content or go for Vue's SSR support themselves.
Last two items there will be looked at next.

Could be really nice to have an option to opt-in for AMP. https://developers.google.com/web/shows/google-io/2016/amp-progressive-web-apps-start-fast-stay-engaged-google-io-2016

Nice work ! This will truly be a historic moment.

 It's simple enough to inline critical CSS and style a basic app shell in the index.html template, but there's no way to avoid the long frame/FPS hit when vue writes the entire app to the dom. The current solution right now seems to be SSR.
I'm curious if anyone has been able to solve this on the client side, but might be better to discuss in a different thread?
@addyosmani I would also look in to adding evan's code from vue-hackernews2 to generate preload/prefetch tags from chunks:
https://github.com/vuejs/vue-hackernews-2.0/blob/master/src/index.template.html#L11

@zyzski I'd definitely be open to discussing those challenges in a separate thread. The interesting decision for us to make with Vue's PWA story is balancing how much we bake into the template vs deferring out to docs (and I do think we should have Vue docs that talk about some of these trade-offs you do run into production). Want to file an issue?
On preloading: I initially thought about using https://github.com/googlechrome/preload-webpack-plugin for this purpose, but I'll definitely take a look at Evan's code for this. If we're fine with prescribing a simpler pattern I'm also down for that.

@addyosmani makes sense. i'm not really comfortable creating an issue about it just yet, because I am new-ish to vue and detailed performance testing. to be fair, the framework is already hitting goal perf metrics, I was just wondering about pushing it a bit further.
on preloading: I didn't know that plugin existed and was using vue-hn2 as my reference while building so I just used his method, looks like they do the same thing

Here's where we stand now with performance on an emerging market network + real phone: https://www.webpagetest.org/lighthouse.php?test=170407_FD_5Q4F&run=3 (original run is https://www.webpagetest.org/result/170407_FD_5Q4F/).
Time to interactive is under 5s (4.4s), but is still a little too close to give folks some good legroom.
Scaffold uses ~45KB. App's about 7.7KB and vendor is 35KB.
https://test-vue-pwa.firebaseapp.com/
With CPU throttling on, we're seeing 1.3-1.4s spent in JavaScript startup:

Going to see how much of that we can trim back.

FYI if we use the runtime only build we can shave off another ~7kb

Oh wow. I had no idea runtime only builds were a thing. I'll give that a try too.

Putting together the final MVP list of things to tackle.
I've got #6 (runtime build) and was then going to look at whether there's more work to be done for the Application Shell architecture.
@yyx990803 Do you have any opinions on default UI? Right now I'm using the same type of HTML output the Webpack template uses (Vue logo with text). Could implement a simple application header nav to highlight the "shell" concept. If we do this, might be worth just adding in via HTML + CSS rather than pulling in a whole Vue CSS library.

@addyosmani yeah, I think a simple Material-style app shell with Vue theme colors could be nice :) And just some raw HTML + CSS should suffice.

Closing this one up as we've hit baseline.


Kimchi

Add kimchi recipe. Nick approved the photo of him.

@alpinegizmo I don't have write access. Haven't installed js stuff to confirm that it is working properly.

@alpinegizmo I don't have write access. Haven't installed js stuff to confirm that it is working properly.


in which file can i create roles?

I downloaded for the first time this package, and i didn't understood how to use it.
In which file i can create roles and how can i add a role to an user ?
Sorry, i'm a novice.

Please checkout the user guide https://github.com/romanbican/roles/blob/master/README.md here
To create role you can use this code
$adminRole = Role::create([
    'name' => 'Admin',
    'slug' => 'admin',
    'description' => '', // optional
    'level' => 1, // optional, set to 1 by default
]);

and if you want to attach this role to the user you can use this code
use App\User;

$user = User::find($id);

$user->attachRole($adminRole); // you can pass whole object, or just an id

Thank you very much.


Publish/Subscribe accepting delayed messages

Added funcationality to accept delayed messages when using publish/subscribe pattern.

Seems like I'm getting the same problem as you earlier. If the "pub bus" and "sub bus" is running in different applications the delayed message part doesn't work. Works great when in same application. Any idea?

Started to investigate the issue. Can see that the delayed message is in the queue but no subscription matches, feels odd.

@Roysvork It's working after updating to latest ServiceBus version.

+1


All the transient BaseEntities are equal

When two base entities are transient (id==null), the equality test boils down to this==obj || Objects.equals(null,null);
https://github.com/AppJars/commons-backend/blob/master/commons-model/src/main/java/com/appjars/saturn/model/BaseEntity.java#L51-L60

Equality among transient entities should be based on object equality.


long startup time when starting gBar

when starting gBar (especially if it's the first time in a while) takes a surprisingly long time.
this is particularily noticeable with the bluetooth widget.
it seems, that most of this time is spent on pulseaudio initialization.
any ideas?

this delay gets significantly better after starting gBar once and returns after leaving it alone for a while (I assume that this is either the kernel caching or the pulse server (pipewire) entering a less active state)


win-14 is dead.

Is there an existing issue for this?

[X] I have searched the existing infra issues

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
win-14 is dead.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Network adapter connection was disabled by itself, rebooting machine to restart network service.


FlowRouter.current() in triggersEnter now previous route in SSR 3.8.0

Prior to 3.8.0 I was doing this to set my page titles, and it worked fine:
FlowRouter.triggers.enter([function() {
  DocHead.setTitle(FlowRouter.current().route.name);
}]);

But now when triggersEnter is fired, FlowRouter.current() on first load is an object with undefined queryParams and params attributes, and when fired again later, it is always set to the info of the route we just left.

Hi @TedAvery,
I was doing the same as you but try passing in the context param instead:
FlowRouter.triggers.enter([function(context) {
  DocHead.setTitle(context.route.name);
}]);

I believe that should work.

@tomwasd @TedAvery That's the correct way. You are inside a trigger and it's not the current route yet.

Reopen if this doesn't solves.


coverage report generation!

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Improvement in doc and doc tests

Fixed a few mistakes in docs
Convert ignore examples to no_run examples, so cargo test will
make sure they compiles.

Great fixes. Thanks!


Set primary group ID for user?

I'm running some services in docker containers. These services write files in directories with locked down permissions. Using setuser, I can specify the user, but I also need written files to belong to be created belonging to a specified group (for multi-service/multi-user sharing purposes). Is there a recommended way with baseimage-docker?

I think you are looking for the setgid filesystem bit. If you turn that on for a directory, all files created inside it are by default owned by the directory's group. https://en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directories