Timestamp of "last_updated_at" sensor is wrong

Region and Brand of car
Europe
Hyundai Kona 2020
Version of the integration
2.26.6
Describe the bug
I have weird issue with a timestamp of the last_updated_at senzor. Most probably some timezone issue.
As I live in CET it now translates to +2, but here is what I am getting today:
2024-09-12 17:59:03.516 DEBUG (SyncWorker_11) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - Received forced vehicle data: {'retCode': 'S', 'resCode': '0000'
2024-09-12 17:59:06.467 DEBUG (MainThread) [custom_components.kia_uvo.coordinator] Finished fetching kia_uvo data in 0.417 seconds (success: True)

kona_last_updated_at.last_updated: 2024-09-12 15:59:06.468164+00:00
kona_last_updated_at.state: 2024-09-12T13:59:03+00:00
now: 2024-09-12 18:20:00.757938+02:00

Here I called the force update at 17:59, it succeeded, but in the UI it tells me the data were last updated at 15:59.
Almost as if the integration somehow shifted the time based on my TZ, thinking it got the time from the server in CET, while it got it in GMT.
Here you can see server clearly defines the TZ as GMT:
hyundai_kia_connect_api - LoginFormSubmit https://eu-account.hyundai.com/auth/realms/euhyundaiidm/login-actions/authenticate?session_code=XXXXXXXXXXXXXX-XXXXXXXXXX&execution=cb33-4625-b9f1-13fd5d3f3cfa&client_id=XXXXXXXXX&tab_id=XXXXXXX - Response 302 - {'Date': 'Thu, 12 Sep 2024 15:58:21 GMT'

Could this be some new change in the API? Did it return the time in local time instead of GMT previously?

From my logs analysis - invalid timestamp appears when it is getting cached vehicle status.
Timestamps are kind of random - sometimes they are from the past, but the next one is even more from the past.
What I've noticed - during capturing the information during charging - state of charge was kept stable (same value or increased) - the issue is only with timestamp.
Here is a snippet of my log (not a full JSON to keep privacy)
Log times are in CET ( UTC+2) - watch to 'time' in the json
2024-09-11 20:20:11.124 DEBUG (SyncWorker_52) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - get_cached_vehicle_status response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'vehicleStatusInfo': {'vehicleLocation': {'coord': {'lat': 0.1234, 'lon': 0.1234, 'alt': 0, 'type': 0}, 'head': 0, 'speed': {'value': 0, 'unit': 0}, 'accuracy': {'hdop': 0, 'pdop': 0}, 'time': '20240911192007'},...
2024-09-11 20:50:12.170 DEBUG (SyncWorker_50) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - get_cached_vehicle_status response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'vehicleStatusInfo': {'vehicleLocation': {'coord': {'lat': 0.1234, 'lon': 0.12347, 'alt': 0, 'type': 0}, 'head': 0, 'speed': {'value': 0, 'unit': 0}, 'accuracy': {'hdop': 0, 'pdop': 0}, 'time': '20240911172007'},....

@cdnninja  thanks for the hint. I will try troubleshoot if it had any impact

Could this have created it? https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/pull/592
Checked code before that pull request: hyundai_kia_connect_api=3.22.0 (with kia_uvo 2.26.0)
I have the same issue, looks like something changed on BlueLink servers.
At this glance at the code - processing of this last_updated_at is very much different depending on location so rather not reproducible out of EU.

Use "Force Update" instead of just "update".

one "wakes up" the car (do not overuse !)
Works like a dream (Europe), see 2 Screens.
Bevor and after using Force Update:

Last updated is last time car provided data not last time we checked the servers.    Force update prompts it to update from the car vs cached from server.    Car reports data for a variety of reasons.    Force update consumes car battery.

As I wrote ... 😎

@steps56 You probably missed, that in the OP I wrote I have used the "force update" 😉
I am not sure what caused it as I have seen it only once since I reported the issue. Usually it's fine. So I wonder why it is not consistently wrong or consistently right 🤔
It is not a big issue so unless someone has some lead what might be causing it I am not sure how much investment it deserves.

Only thing to note is incorrect time will cause the integration to incorrectly calculate force refresh interval.   This will cause it to query more often and consume 12v battery.  Worth keeping an eye on it.

Sure, but it will also manifest by getting rate limited by Hyundai servers as the amount of force updates is limited (20 per day if I am not mistaken).

if forced update fails, we fallback to cached data, right?
can you actually confirm looking at different data if forced update worked?
you can always look at Data Sensor attributes to get the actual information btw.

if forced update fails, we fallback to cached data, right? can you actually confirm looking at different data if forced update worked? you can always look at Data Sensor attributes to get the actual information btw.

If you ask me pr in general:
Yes
Data changes in sekonds if I use Force Update.
Absolutly top working integration at the moment 👌.

Got it again now after calling force update:
2024-09-20 15:25:04.450 DEBUG (SyncWorker_18) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - Received forced vehicle data:
2024-09-20 15:25:07.455 DEBUG (SyncWorker_18) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - _get_location response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'gpsDetail': {'coord': {'lat': XX.929711, 'lon': XX.008683, 'alt': 283, 'type': 0}, 'head': 188, 'speed': {'value': 0, 'unit': 0}, 'accuracy': {'hdop': 0, 'pdop': 1}, 'time': '20240920132506'}
2024-09-20 15:25:07.677 DEBUG (SyncWorker_6) [hyundai_kia_connect_api.VehicleManager] hyundai_kia_connect_api - Time differential in seconds: 7203.677076
2024-09-20 15:25:07.778 DEBUG (SyncWorker_6) [hyundai_kia_connect_api.KiaUvoApiEU] hyundai_kia_connect_api - get_cached_vehicle_status response: {'retCode': 'S', 'resCode': '0000', 'resMsg': {'vehicleStatusInfo': {'vehicleLocation': {'coord': {'lat': XX.929711, 'lon': XX.008683, 'alt': 283, 'type': 0}, 'head': 188, 'speed': {'value': 0, 'unit': 0}, 'accuracy': {'hdop': 0, 'pdop': 1}, 'time': '20240920152506'}
2024-09-20 15:25:08.194 DEBUG (MainThread) [custom_components.kia_uvo.coordinator] Finished fetching kia_uvo data in 0.519 seconds (success: True)

Notice the two different times.
There is 'time': '20240920132506' in the get_location response but 'time': '20240920152506' in the get_cached_vehicle_status response 😮
Seems like the location data is the source of trouble...again 😅

I can't see any problems at my place/car/BlueLink/HA...
To get all data in sync and in same sekonds, I just push the "Force Update" Button and about 5 Seconds later the "Update" Button at my "Ioniq5 Dashboard".
That's it, all date in sync at local time.
Scren shows it (actualized about 10 Min ago to Handy time at top 😉):

May be setting time at all stuff may solve the time gap ifthere is any at somebodys setups 🤷🏼♂

To confirm, your last updated sensor in HA reverts to the location response time stamp?   Location time is placed in the location timestamp here:
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/05c9d4bb725109ef5359242d32e0c60f7cb91b36/hyundai_kia_connect_api/ApiImplType1.py#L300-L320
In turn placed into the object here:
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/05c9d4bb725109ef5359242d32e0c60f7cb91b36/hyundai_kia_connect_api/Vehicle.py#L382-L386
I don't believe we expose vehicle.location_last_updated_at in HA only last_updated_at.
I am not clear if this is actually an issue or not?   Last_updated_at sensor in HA should match the cached call data response from the server, not last time a call was placed.

To confirm, your last updated sensor in HA reverts to the location response time stamp? Location time is placed in the location timestamp here:
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/05c9d4bb725109ef5359242d32e0c60f7cb91b36/hyundai_kia_connect_api/ApiImplType1.py#L300-L320
In turn placed into the object here:
https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api/blob/05c9d4bb725109ef5359242d32e0c60f7cb91b36/hyundai_kia_connect_api/Vehicle.py#L382-L386
I don't believe we expose vehicle.location_last_updated_at in HA only last_updated_at.
I am not clear if this is actually an issue or not? Last_updated_at sensor in HA should match the cached call data response from the server, not last time a call was placed.

Hmm, don't understand the programming stuff...
But its working nice at my setup.
So its not any problem by integration I think.
If sombody has problems by getting actual time after using "Force Update" and after that, hitting "Update", those problems may be by the cars bad mobil connection or whatever.
I just may confirm, its working perfect at my Home Assistant Setup and car/place.
Crosstest if somone sees any problems by using the Bluelink App.
If there is latecy or mismatch or even "try later" message, its bad mobile connection and/or car sittig unused a few days... or mobile white spot at that place.
All happend sometimes in the past (and a few days ago by Hyundai Server problems discussed here too at github).

@steps56 why do you post here if you don't have issues? 🧐
My data are also in sync once the force update succeeds. The only issue is, that sometimes the  last_updated_at is 2 hours in the past (as if it was in GMT and not my TZ). Definitely not related to any trouble with car GSM connectivity.
@cdnninja I am not sure I read the code correctly, I am just a poor SysAdmin not Coder, but you are probably right.
The following comment shows the author of the code was well aware that these two timestamps can differ:
last_updated_at and location_last_updated_at can be different.
The newest of those 2 can be computed by the caller.

It just caught my eye when going through the debug log.
I struggle to find difference in the logs between the case when the last_updated_at is correct and when it is wrong.

@johny-mnemonic  I am a sysadmin too but primary coder of this. :)
Yes two timestamps can differ.  I don't see a spot where the variables get mixed up.   After the above two links where the values are stored to vehicle.location_last_updated_at  and vehicle.last_updated_at  we display this data here:https://github.com/Hyundai-Kia-Connect/kia_uvo/blob/cd73b7424a63c13095fec3ae47345209303c1d21/custom_components/kia_uvo/sensor.py#L69-L74
with key being the variable off the vehicle object.
You can see all spots last_update_at is touched here:
https://github.com/search?q=repo%3AHyundai-Kia-Connect%2Fhyundai_kia_connect_api vehicle.last_updated_at&type=code
Keep in mind as previously mentioned a cached update call will only update last_update_at  if the car has self reported data back since last cached update call.  Common reasons for the car to report back data is being driven.  If parked an unused I wouldn't expect it to report any data back.  As such last_update_at  will start to age.    The force update logic configured in your settings trigger how old this data can be before it wakes the car up using a force update call - which also consumes 12v power.
The reference to location last updated confuses me on how it relates to a timezone issue.  Also hard for me to understand without knowing the 1. current time in local time. 2. log data time. 3. home assistant displayed time.  4. Mobile app displayed last updated time.   And how those all relate.   This would need to be done with no force calls executed as that sounds like brings it to current as we expect it to.
Hope this helps!

I'm having the same issues here.
This morning I kept my eyes on the value of the field for a couple of hours after moving my car forcing it to report an update.
I moved my car at 8:09am (UTC+2).
I did not do any forced updates since, not via the IOS App, not via the integration.
The IOS App is showing last updated correctly as 08:09am (correct time in my time zone)
The HA Integration is setting the last_updated_at entity sometimes to the correct time and sometimes with exactly 2 hours difference.
sensor.niro_last_updated_at,2024-09-23T04:09:33+00:00,2024-09-23T06:23:27.213Z (local time 8:23 UTC+2)
sensor.niro_last_updated_at,2024-09-23T06:09:33+00:00,2024-09-23T07:38:28.994Z (local time 9:38 UTC+2)
sensor.niro_last_updated_at,2024-09-23T04:09:33+00:00,2024-09-23T08:08:30.476Z (local time 10:08 UTC+2)
sensor.niro_last_updated_at,2024-09-23T06:09:33+00:00,2024-09-23T08:38:32.045Z (local time 10:38 UTC+2)
sensor.niro_last_updated_at,2024-09-23T04:09:33+00:00,2024-09-23T09:08:32.462Z (local time 11:08 UTC+2)
sensor.niro_last_updated_at,2024-09-23T04:09:33+00:00,2024-09-23T09:08:32.462Z (local time 11:38 UTC+2)
@cdnninja

current time in local time (car updated at 08:09 UTC+2 / 06:09 UTC)
log data time (see logs)
home assistant displayed time (set to GMT+1 Amsterdam, with currently summer time enabled)
Mobile app displayed last updated time (shows the correct local time: 08:09)

Hope this helps to find the issue.
If need to provide more logging, let me know.

@steps56 what kind of issue do you have with this sensor? I don't understand it from your posts full of pictures 🧐
@Steven77nl thanks for the observation. I also noticed that it is sometimes randomly showing wrong and correct time. I would swear that I have seen correct time in the HA App on the phone while it was showing wrong time in the browser.

The pictures/screens just shows what I do to get shown correct time.
Background actualisation is most time some hours back... that's normal/the usual behavior and has been never any problem (I see no problem at all, just showing how to get time symchronisized... if someone needs it for whatever reason here and stating as a bug... but no bug for me)

@Steven77nl  excellent data and summary.  Thank you for that work.   The key finding is here.  It shows two cached calls.  This raw data response shows the data going back in time.    This is the raw server data, not adjusted by us.  This puts it in a bind as the data is incorrect.      My gut?  They use some form of eventual consistency DB like nosql, this causes some data to be wrong from time to time.   In theory you may catch it in the native app, maybe with a automation to tell you when this happens.    If you can catch it you could report to Kia but not sold they will fix it.
Other option we can do is add logic that if the last updated goes back in time ignore the value.   Any other datapoints we could drive this off of?

@steps56 sorry, but then you completely missed what this reported issue is all about.
We all know how to call force update to have the time in sync🙄
You unfortunately missed we are not talking about the time from background updates...
Please, if you don't have an issue or don't see what is causing the bug (from the code or reported logs), do not post. Thank you.
@cdnninja so finally we have the root cause🎉 Nicely spotted!
Could be that one of their servers has a bad config (i.e. bad TZ settings), so it is returning wrong data and causing it to be this random 🤔
I would vote for simple logic to update "last_updated_at" sensor only if the received time is higher than what is already stored in the sensor.
I went through the debug logs and I don't see other place from which we could get the correct timestamp.
We might find better way in the future but it will never make sense to update the sensor to go back in time, so it should be good enough, at least for now.

It could be that simple as well.  Unfortunately hard for us to know!
I'll add some logic and we can give that a go.

Instead of waiting @cdnninja to make a change, you can create a template sensor given that last_updated_at is part of attributes of debug sensor, right?

Thanks @fuatakgun for your workaround idea.
I created a Input datetime entity that I update with the maximum date/time that that the last_update_at sensor gets populated with in the last 5 changes using Node-RED
Not perfect, but for now I don't have a update time jumping up and down on my dashboard.
Thx !

A possible workaround could be to add 2 (or timezone) hours when the latest last_updated_at is less than the previous last_updated at. But this needs to be done at the client side and it needs to know the previous last_updated_at.

@ZuinigeRijder this can be done in the library but it won't solve it for your monitor client based on my understanding on how it consumes the library.

I used your idea @ZuinigeRijder to improve my temporary workaround.
I got a date/time input helper to keep track of the most recent date/time and now use a function in Node-RED to update that helper when the received time is more recent (including those 2 extra hours, when the received time is less).
`
// Load global context for homeassitant
const ha = global.get("homeassistant")
// get the updated_at time received from the integration
var received = ha.homeAssistant.states["sensor.niro_last_updated_at"].state
// get the updated_at time stored in the date/time helper
var stored = ha.homeAssistant.states["input_datetime.niro_last_updated_at_max"].state
// convert to Unix TimeStamps
var recv_date = new Date(received)
var recv_uts = recv_date.getTime() / 1000
var stor_date = new Date(stored)
var stor_uts = stor_date.getTime() / 1000
// add two hours if last received is back in time
if (recv_uts < stor_uts) { recv_uts += 7200 }
// return additional values for debugging
msg.received = received
msg.stored = stored
msg.recv_date = recv_date
msg.recv_uts = recv_uts
msg.stor_date = stor_date
msg.stor_uts = stor_uts
// output to 1 if update is needed, output to 2 if update is not needed
if (recv_uts > stor_uts) {
msg.update = true
return [msg, null]
} else {
msg.update = false
return [null, msg]
}
`

Still not aways the correct time, but a lot more often than the previous workaround :)

@Steven77nl Problem is that you disregard older timestamp if I read your code correctly. But it is possible the data has been changed and you get still an older timestamp, which is not 2 hours before the previous one, but still older than the previous datetime......
I have a fix ready for hyundai_kia_connect_monitor, will make a fix release soon. Here is my code (newest_updated_at and previous_updated_at are both datetime objects with timezone information):
            if newest_updated_at < previous_updated_at:  # new entry older than previous?
                utcoffset = newest_updated_at.utcoffset()
                newest_updated_at_corrected = newest_updated_at + utcoffset
                if (
                    newest_updated_at_corrected
                    >= previous_updated_at  # newest not too old?
                ):
                    newest_updated_at = newest_updated_at_corrected

Workaround added in hyundai_kia_connect_monitor R3.26.0. HA or hyundai_kia_connect_api could maybe something similar, when the previous latest_updated_at is known.

Hi @ZuinigeRijder, the date is also included in my workaround, so no issues there.
I agree that in that last situation you mention, there is no solution, and we will still end up with a time of two hours too early.
Though I'm doing 15min interval cached data updates, so most of the time it corrects itself within the next 2 or 3 updates.
Forced updates I only do when there is a reason to do so, based on triggers that I can get from other sources, like:

When the car arrives at home (iBeacon in the car)
Wallbox charge cable connect, or status changed (when current changes or it pause due to no more demand)
My phone location is entering known locations (home, work, camping)

This way I stay within the API limits, as I have the latest important status information always on my HA dashboard and in the original Kia Connect App.
Example, last night the Wallbox went into pause, because the car was full. So the automation request a force update to show on the dashboard the battery is 100%, that was at 4:50am. After this for me there is no need to get new information until I start driving my car later today.

Could someone edit the manifest file of the integration to 3.23.3 and reboot?  Let me know how it goes.

@cdnninja As I understand the changes, you fixed this now only for ccs2 vehicles. My IONIQ 5 from 2021 has the same issue, but will not call _update_vehicle_properties_ccs2. So it will only partly fix the issue for HA users.

Good catch on CCS2.    Lets move this chat to a PR to fix it.  Thank you for the help!

I can make a proposal Pull Request, but I cannot test for ccs2, but I can test for non-ccs2.

Lets hope that this workaround solves this issue and does not have side effects. Sure HA users will test this ;-)

This has been released in kia_uvo.  Everyone please update to latest and let us know how it goes.

This has been released in kia_uvo. Everyone please update to latest and let us know how it goes.

Working nice as before 👌.
By the way, I never understood any "problems" about fate/time mentioned here...
Updated to newest .8 version, HA Restart and all working as usual... force update pmus update behind shows actual right day and time by minute exactly.
Perfekt as bevore 🤷🏼♂

Sloooow respons by the people which should have had 🤔 any "problems"...
Anyway.... I still assume, if someone has date/time drifts, its not any root at the integration...
If its working nice at ma setup, its working nice basic.
There may be a few possible "problems" with car/bluelink setup, or set time by HA or whatever.
But seriously, its working very nice without any date/time shift.
Some artificial "problems" occure by let the car sit a few days unused, but that's wanted by basic Hyundai setup of bluelink to save the 12V Battery and easy disappears by driving next time.
So, thanks for that great integration, giving many possibilities to use BlueLink by HA, Evcc, and, and ... 😎👌

@cdnninja
Just downloaded 2.26.8. First request after HA restart unfortunately returned time 2h in the past, another returned the correct one.
As I understand - we won't avoid some messy API responses. But after the change, at least  time should not be moving backwards - right?
I kept kia_uvo logs on debug mode, will leave it for 24h and if I will spot any "time back travel" I will share some logs.
Thanks for that workaround!
@steps56  problem is not artificial - e.g. I am using last_updated_at in my integration to know if SOC that I am reading is up to date or I need to ask for "fresh" one. With time jumping here and there, I could not estimate correctly SOC during the charging.

Yeah it would just not jump backward.  Some bad data would still exist.

@cdnninja Just downloaded 2.26.8. First request after HA
@steps56 problem is not artificial - e.g. I am using last_updated_at in my integration to know if SOC that I am reading is up to date or I need to ask for "fresh" one. With time jumping here and there, I could not estimate correctly SOC during the charging.

Hello,
I'm still not clear about any problem... as the use case about Acar charging is normalmy/easy like:
1.
PV or whatever charging is taken by Evcc Addon.
2.
Evcc "talks" to the Hyundai Ecar by its configuration.
3.
Now the as any fancy stuff, the discussed Hyundai Integration comes in to deliver more or less fancy/interesting data...
Conclusion:
THIS Integration is not necessary or even important for Ecar charging.
Evcc (the Mercedes of Charging Software) wilm get all more or less important data from ist configuration including the Hyundai (or whatever) car data, like SOC and, and...
In now way, the Hyundai (or Kia whatever named here discussed) integration is any part of the charging stuff.
Evcc Addon comunicates always without this integration to the cars BlueLink data.
Example:
We have been at a short 6 days vacation tilm yesterday.
The Hyundai Ioniq5's BlueLink doesn't respond to updating, as the car easn't used some days, programmed exactly that way by Hyundai, to save it's 12 V Battery System.
So no way to update by BlueLink App and so no way by this integration for sure.
AFTER driving the car a few minutes, its Systems are up to date with thd BlueLink Hyundai Server and again usable by this integration (force update working again).
Same with Evcc... no SOC available, as no BlueLink up to date data by off line communikation as a battery saver deep sleep of this system.
So its all good and as wanted by Hyundai.
Again:
This integration is neither usable nor important for Hyundai charging by any mamewothy Wallbox.
It's all just about BlueLink connection established and gold Evcc configuration.
This intergration here is "just" nice to get alm thd fancy data from the car for set up of more or less nice dashboards and whatever trigger stuff 😉.
Don't understand me wrong, I love this integration... but it's nothing usable about Ecar charging.
Don't try to reinvent the wheel... Evcc does everything perfekt, nl need to charge by using/setting up fancy wannebee Charging solution by homemade stuff 🤣.

@steps56 are you referencing evcc from GitHub? I'm glad that works for you.   It's a different purpose and also "home grown".
I'm not sure what your goal is here.  An issue did exist that impacted some people's use case.   Not caused by our code but corrected in it.
The data proves that.   I would appreciate you stop trying to create drama.

@steps56 I am confused why you are spamming this conversation by useless posts even containing images and video, to boast about your nice HA dashboard for your car.
Is it really that hard to understand that if you don't have the reported issue nor anything to bring to fix the issue for others, it is pointless to post here? 😮
FYI: Not everyone is using EVCC. It doesn't support my charger for example.
@cdnninja thanks for the fix! ❤
@artursulkowski yep, same here. I also use this sensor to know whether to ask for the update to have up-to-date SOC in HA as I am handling car charging by my own automation.

Credit goes to @ZuinigeRijder

After running 2.26.8. for two days I can confirm that workaround works:
last_updated_at does not move backwards.
Still (as expected) the issue of inconsistent last_updated_at times exists but it is rather EU server issue. Hopefully this will be fixed at some point by Hyundai/Kia.

Same here, I can confirm the new logic is working as expected. Thank you !

I can also confirm, that the workaround is working fine.
Thanks @ZuinigeRijder!


Implement tail corrections to the energy and virial

The core logic is implemented here for energy and here for the virial, using the PairInteraction::tail_energy and PairInteraction::tail_virial functions.
This need a bit more tests, @g-bauer what was your strategy for checking against NIST data?
Fix #28

This need a bit more tests, @g-bauer what was your strategy for checking against NIST data?

I use the NIST reference calculations. I build an example, where the configurations offered by NIST are read and the system energy is calculated and checked vs. the values from NIST. I used the examples to test the energies without tail corrections. I'll send you the examples.
Regarding the PR, I think the name tail_virial is a bit misleading since you only use it to compute a correction to the pressure.

Regarding the PR, I think the name tail_virial is a bit misleading since you only use it to compute a correction to the pressure.

It is used in the computation of the Virial tensor, which in turn is used for the pressure.
I agree that the name Virial for this tensor is bad. It is more something like the virial contribution to the stress tensor. I'd like to improve the name, but I have no idea of a better one for the moment.

I added the test comparing against NIST, but a kind of potential is missing to compare with the LFS column.
Linear Force-shift potential can be added later (and are actually an easy thing to do), see issue #55 for this.


Add note about breaking v0.33.0 changes to HISTORY

Let's pretend that I meant to do that to test the new formatter action...


Harmonization Improvements

[x] abuse.ch: Changed "malware" to "malware family".
[x] autoshun: Changed malware to "malware family" and "spam" to "spam infrastructure". Removed out-of-date classifications.
[x] malc0de: Changed typing from "malware" to "malware url".
[x] malwaredomainlist: Changed typing from "malware" to "malware url".
[x] vxvault: Changed typing from "malware" to "malware url".
[x] mdl: Removed the deault typing and added "reverse dns".
[x] ransomwaretracker: "malware" to "malware family"

Should we document the harmonization changes to CHANGELOG?

Yes, definitely. I will write a summary of the features and fixes.


bad checksum OR code failure

Hello there,
I really appreciate the work you do. I do not want to bug you but apparently, when using this I run into a peculiar error.
[main] INFO  c.g.horrorho.inflatabledonkey.Main - -- main() - token: Optional.empty
[main] INFO  c.g.horrorho.inflatabledonkey.Main - -- main() - Account: ************************
[main] WARN  c.g.h.i.data.der.KeySet - ** KeySet()  - bad checksum OR code failure
[main] INFO  c.g.horrorho.inflatabledonkey.Main - -- main() - output folder backups: *:\***********************\InflatableDonkey-master\target\backups\*************************
[main] INFO  c.g.horrorho.inflatabledonkey.Main - -- main() - output folder chunk cache: *:\**************************\InflatableDonkey-master\target\backups\*************************\cache
[main] WARN  c.g.h.i.c.c.BackupAccountClient - -- backupAccount() - failed to retrieve protection info
Exception in thread "main" java.util.NoSuchElementException: No value present
        at java.util.Optional.get(Unknown Source)
        at com.github.horrorho.inflatabledonkey.BackupAssistant.backupAccount(BackupAssistant.java:89)
        at com.github.horrorho.inflatabledonkey.Backup.snapshots(Backup.java:72)
        at com.github.horrorho.inflatabledonkey.Main.main(Main.java:139)

*:\************\InflatableDonkey-master\target>

Just notifying you what the error is about. Again I appreciate your work and I hope by providing this we can make it a more, stable release by trying to fix it. Thanks beforehand.

Are you sure that account has a backup for iOS 9+?

Thank you for the ticket, and no you're not bugging me.
As @manwhoami has suggested are you certain that it's an iOS9 backup? You could give (LiquidDonkey)[https://github.com/horrorho/LiquidDonkey] a go for iOS8 backups.
Either way, at some point I should really tidy up InflatableDonkey's handling of non-iOS9 accounts. It doesn't expect iOS8 accounts and doesn't really know what to do with them other than throw errors.

I see. And yes it does contain a backup but I haven't checked if it is IOS9 or IOS8. Thanks for the notification, but how can I see which kind of backup it is? Thanks beforehand.

I'm not an iOS/ O SX user so I couldn't tell you the best way to check from that perspective. I'd suggest either giving (iLoot)[https://github.com/hackappcom/iloot] or (LiquidDonkey)[https://github.com/horrorho/LiquidDonkey]  a go, they'll pick up any iOS8 backups.

Ok. I've introduced new error code that will explicitly warn about the lack of iOS9 backups as opposed to the previous cryptic output. Hopefully this will clear up any confusion and assist users.


Accept of MeetingGroupProposal not works

When meeting group proposal accepted then created MeetingGroup with MeetingGroupMember where MemberId is MeetingGroup creator Id. But not created new record in table meetings.Members.
And SendMeetingGroupCreatedEmailCommandHandler failed because it tried to find member by creator Id in Members but not MeetingGroupMembers table.
And we have the same problem with SendMeetingGroupCreatedEmailCommandHandler - it failed every time it executed in infinite loop.
So I think it is possible to avoid the infinite loop using try/catch and Attempts field for internal command. Also it is possible to add relations between tables in database, so it will be impossible to insert new row in table MeetingGroupMembers before inserting corresponding row in table Members
BTW, why do you decide to use Guid as a primary key type instead of int?

It was a problem with InitializeDatabase.sql script. User was added using script, but Member in meetings. Members not. I fixed this. This is another reason to be very careful during making changes directly on the database - you can bypass the system rules and it will crash 😈
The main reason for using GUID is that it is generated by the application itself. The integer must be generated by another component (like a database) to provide uniqueness and this causes a lot of different problems (especially during DDD implementation). If you can - use GUID.


Tenant Eager Loading feature

Additional information can be found here - https://wso2.org/jira/browse/CARBON-15111

This was merged to java8 branch


reflect release 2.0.6

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a04f88b). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master   #5985   +/-   ##
========================================
  Coverage          ?   83.1%
  Complexity        ?   12378
========================================
  Files             ?    1428
  Lines             ?   46835
  Branches          ?    5760
========================================
  Hits              ?   38923
  Misses            ?    5230
  Partials          ?    2682

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 a04f88b...d884ad3. Read the comment docs.


Traffic Portal - Cloning Delivery Services sort order and dropping existing delivery services

When cloning delivery services, sort order in traffic ops is closest name wise at the top, then alphabetical order after that. in TP the order seems random, requiring to read through the entire list to find the correct server to clone.
After choosing delivery services to clone, it should wipe out the existing delivery services and replace with the new "Cloned" list, however it keeps the existing and adds the cloned list.

Traffic Portal Version: 2.2.0-7240.37c0bbe7.el7

Is this what you are talking about?
/#!/servers/:serverId/delivery-services, then click the 'More' and then 'Clone Delivery Service Assignments'

Then you get

You are saying the target servers are out of order, right?
When you clone ds's from server A to server B, server B's ds's DO get wiped out and replaced with the ds's of server A. I just verified that.

this bug is related to #1550


0.13 release?

Hello,
I'm testing a few static site generator, and I think I'm going to stick with Hugo because of its speed.
But I need to group a list of pages with a parameter (a "groupByParam" feature has been added after v0.12). Before setting everything up to compile the source by myself, I wanted to ask: when does 0.13 will be released?
Thanks

There is a discussion about this here:
http://discuss.gohugo.io/t/next-release/579
Questions and discussions fit better there.

Oops, sorry!
Thank you


Expose the logging to Gradle

Not sure if I describe this issue correctly but during an Asciidoctor presentation at Javaland I asked if the Gradle plug-in could cancel the build if an include could not be found.
If I understood @aalmiray correct, this would require that asciidoctorj exposed the log via its API so that the Gradle plug-in can use this to decide if it wants to cancel the build.

This request has a hard dependency on https://github.com/asciidoctor/asciidoctor/issues/44. At the moment, AsciidoctorJ doesn't have access to the log messages. I know this is an important one.

The reason it's this way is because these log messages were put in place long before we ever dreamed of AsciidoctorJ existing. It's time to refactor.

I told Lars to open an issue so that we don't lose track of it :)
I was unaware of the issue in Asciidoctor core but it's good to have this
issue as well as both projects will require changes.
Am Dienstag, 8. März 2016 schrieb Dan Allen :

The reason it's this way is because these log messages were put in place
long before we ever dreamed of AsciidoctorJ existing. It's time to refactor.
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctorj/issues/440#issuecomment-193996947
.

Agreed!

Please, it's a year since the last message. Is there any update on accessing log messages from within asciidoctorJ?

I can say with some level of confidence soon. I'm going to try to tackle this for 1.5.7. The solution has to come in core, so it's really waiting on me. But even I need this feature badly, so we're in the same boat.


kubectl run --help   incomplete translations

What happened:
When run the kubectl run --help command, I found some of annotation is Chinese, but others is English.

What you expected to happen:
All commands have Chinese comments
How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:
I would be happy to do the work if needed :)
Environment:

Kubernetes client and server versions (use kubectl version):
Client Version:

Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"darwin/arm64"

Server Version:

Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-21T23:06:30Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/arm64"

Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):

Darwin kusakadeMacBook-Air.local 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:20 PDT 2021; root:xnu-7195.141.6~3/RELEASE_ARM64_T8101 arm64

Help on translations is certainly welcomed!
I believe this is tracked elsewhere but we need someone to own the effort if you are interested.
https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/kubectl/pkg/util/i18n/translations
/triage duplicate
/close


Support billable on time entry creation

Beside the additions in #3 I forgot to enable the API calls to really use this property to create the time entry.
I had to add an argument to the StartTimeEntryForProject so I could pass the Billable status.
In https://github.com/jason0x43/alfred-toggl/pull/45 I changed how this function is used so it's called with the correct signature.

Merged in https://github.com/jason0x43/go-toggl/commit/0c0255499a15299647d18c01b2169bedae2f1a71


ocaml: if a Mirage thread fails, ensure we fail the request

The Mirage I/O operations are supposed to return a result type as follows:
[ `Ok of result | `Error of error description ]

If the implementation actually fails i.e. by raising an exception, this would
propagate and prevent the client request ever returning. This patch catches
stray exceptions, logs something about them, and returns an error to the
caller.
Signed-off-by: David Scott<EMAIL_ADDRESS>

$ git fetch origin pull/91/head
From github.com:docker/hyperkit
 * branch            refs/pull/91/head -> FETCH_HEAD
$ git diff -b origin/master FETCH_HEAD -- src/lib/mirage_block_ocaml.ml
diff --git a/src/lib/mirage_block_ocaml.ml b/src/lib/mirage_block_ocaml.ml
index f9554eb..49b43a0 100644
--- a/src/lib/mirage_block_ocaml.ml
+++ b/src/lib/mirage_block_ocaml.ml
@@ -283,7 +283,10 @@ let process_one t =
   let open Protocol in
   let open Mirage_block.Error.Monad in
   let open Mirage_block.Error.Monad.Infix in
-  let result_t = match t.request with
+  let result_t =
+    Lwt.catch
+      (fun () ->
+        match t.request with
           | Request.Connect (block_config, qcow_config) ->
             Block.of_config block_config
             >>= fun base ->
@@ -350,12 +353,20 @@ let process_one t =
             let n = Int64.div len sector_size in
             Qcow.discard t.Handle.block ~sector ~n ()
             >>= fun () ->
-      return (Response.Delete)
+            return Response.Delete
           | Request.Flush h ->
             let t = Handle.find_or_quit h in
             Block.flush t.Handle.base
             >>= fun () ->
-      return Response.Flush in
+            return Response.Flush
+      )
+      (fun e ->
+        (* If the thread fails unexpectedly then convert this into an Error return
+           to guarantee we return an error code to the block interface instead of
+           dropping the request on the floor. *)
+        Log.err (fun f -> f "Mirage block device raised exception: %s" (Printexc.to_string e));
+        Lwt.return (`Error (`Unknown (Printexc.to_string e)))
+      ) in
   let open Lwt in
   result_t >>= fun result ->
   Ivar.fill t.ivar result;

LGTM, I also had a quick look through the resulting code which looks fine also.

Thanks! I just realised this branch doesn't contain the new CI tests. I'll rebase onto latest master just in case.

Good idea.

OK, CI with the new tests is happy.


ID-36: Check if passwords are comprimised using Have I Been Pwned

Codecov Report
Base: 73.42% // Head: 73.60% // Increases project coverage by +0.17% :tada:

Coverage data is based on head (8e3c09f) compared to base (1f7aadb).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@              Coverage Diff              @@
##             develop      #60      +/-   ##
=============================================
+ Coverage      73.42%   73.60%   +0.17%
- Complexity       193      194       +1
=============================================
  Files             33       33
  Lines            587      591       +4
=============================================
+ Hits             431      435       +4
  Misses           156      156

Impacted Files
Coverage Δ

src/Application/Actions/Person/Update.php
87.23% <100.00%> (ø)

src/Domain/Person.php
88.09% <100.00%> (+1.25%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

(Do not merge without reviewing Jira comments)


Proxy Whitehall asset requests to S3 in production

We're planning to serve Whitehall organisation logos from Asset Manager
in the near future. We'll need to serve these from S3 in order to
preserve the custom ETag and Last-Modified values that are stored
when the assets are created (these custom values aren't used when assets
are served from NFS).
Note that we'll need to be regularly copying assets from Production to
Staging and Integration before we can start proxying these requests to
S3 in Staging and Integration.

Thanks, @floehopper. I've rebased on master in preparation for merging.


Support for service annotation customization by port type

Use case
Assign private and public Load Balancer to distinct ports / entrypoints.
Current limitation
The current chart provides good support for dynamic entrypoint customizations through values.ports.  Individual services will effectively be created in Kubernetes for each individual ports. The service annotations will however be shared from service.annotations values. As a result, there is no way to have specific annotations for distinct ports.
Proposed solution
Add a second layer of service annotations  by adding a new ports.<port>.service.annotations property namespace. A template helper could merge both source and apply them at https://github.com/traefik/traefik-helm-chart/blob/db26e8e834c43d06e17bd68102a4095476147b7d/traefik/templates/service.yaml#L26
I came to realize that my proposed solution will not work since I wrongly interpreted that the chart would create a distinct service per port definition. The only option left would be to have a new level of configuration with dynamic services (just like ports). I'll try to see if I can come up with something.
I'm planing to contribute that change unless someone jumps in with a different solution to support my use case.

I came to realize that my proposed solution will not work since I wrongly interpreted that the chart would create a distinct service per port definition.
Turns out the only option would be to have a new level of configuration with dynamic services (just like ports). I'll try to see if I can come up with something.

I came to realize that my proposed solution will not work since I wrongly interpreted that the chart would create a distinct service per port definition.
Turns out the only option would be to have a new level of configuration with dynamic services (just like ports). I'll try to see if I can come up with something.

@SantoDE I'm facing a dilema. Either I run two distinct traefik instance with different service annotations or I break the configuration values of service.xxxx. Supporting multiple services with an opt-in services.xxxx values would add a new dimension of configuration. To avoid breaking existing deployment, the template helper would have to support both service.* and services.*.
ports.*  values would also be ignored as they would be expected to be found in services.xxxxx.ports.*. What do you think of this?

@SantoDE I'm facing a dilema. Either I run two distinct traefik instance with different service annotations or I break the configuration values of service.xxxx. Supporting multiple services with an opt-in services.xxxx values would add a new dimension of configuration. To avoid breaking existing deployment, the template helper would have to support both service.* and services.*.
ports.*  values would also be ignored as they would be expected to be found in services.xxxxx.ports.*. What do you think of this?

Duplicates of #436


Refactor faas-module to functions-module

The problem faced currently?
The module-name 'faas' might be misleading.
How can we solve it?
Refactor the faas-module to functions-module.
This issue was raised in #183

Resolved


Release for Scala 3

Currently this library is only available for Scala 2, I'd love to use this with Scala 3.
Can you point me to what I'd need to do to enable this? I never released any library to Maven Central or similar for an open source project, but am willing to try.

I am not familiar with scala 3 but if you prepair a working PR i will be hapy to merge and release it.


add callback param that runs when server is ready (fixes #75)

This addresses #75 by utilizing the existing callback param accepted by ws.Server. It allows me to add a callback that will fire when the server is truly ready and accepting connections. (useful for logging)

@dominicbarnes Can you provide tests for this new behavior?

I'll try and get to this tonight

@dominicbarnes can you pull from master too since I merged another branch?

Yeah, I'll make sure the conflicts are resolved!

@napcs this is ready now! Good thing I added a test, as my original implementation would not have worked! (when passing in a custom server, like is happening here, you need to explicitly look for the "listening" event)
The test is added and it works, I've also compiled the .coffee files too. (another thing I hadn't done before)

I'm excited to have this and #77 land! Let me know if there's anything else I can do to help get it merged and published to npm. :smile:

@dominicbarnes just a quick ping to let you know that 0.6.0 is out - upgraded protocol to v7 also.

YES! Thank you very much! :D


Compile client for windows xp (.net framework 2.0)

when i change the Target framework to ".NET framework 2.0"
the compiler get about 91 error most of them is
The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
is there is anyway to do that

Compiling for other frameworks than 4.0 is not supported. You can fully replace all instructions from the Linq namespace manually by foreach loops.

ok i can do that, but i dont know how to resolve this error
Cannot define a new extension method because the compiler required type 'System.Runtime.CompilerServices.ExtensionAttribute
in
private static bool IsNameOrValueNull(this string keyName, RegistryKey key)

.NET 2.0 doesn't support extension methods. You'll need to replace them all with static helper methods. Anyways I don't give support for downgrading Quasar to an outdated framework version.
~Closed


[Exporters] Update exporters to include and use mbed_conf.h (Was #1964)

Affected exporters:

gcc_arm
uVision4
IAR
emblocks
atmelstudio
codered
simplicityv3

Summary of discussion:
@0xc0170:
We should wait until the name of mbed_conf.h is set in stone.
@bogdanm:
We should introduce a configuration variable for all exporters to indicate if they export the mbed_conf.h. This will help eliminate duplication.

We should introduce a configuration variable for all exporters to indicate if they export the mbed_conf.h.

That's more an attribute of the exporter itself than a configuration variable. If it supports mbed_conf.h or whatever its name is going to end up being, that's the mechanism it should use; if not (because it was not upgraded it or simply because it can't support prefix headers for whatever reason), it should still use the old method of defining macros.

Thanks for the clarification @bogdanm. That was what I was trying to say, but used the wrong word (configuration varible) as opposed to exporter attribute.

@bogdanm, does the 7th commit (Create and enable...) resolve the switching between -D style and mbed_confi.h (or whatever we decide to call it) style that you suggested?

To answer my own question, No the mechanism does not work yet.

Well, actually it might. I don't have any content in my mbed_conf.h files, and therefore cannot test it.

The mechanism looks like it'll probably work, but I didn't test it locally yet.

Let me know when you do.

Let me know when you do.

Doing my best, but there seem to be some unrelated issues with the exporters right now. We don't really have a test suite for exporters, so all I can do is try a few manually and see if they work.
Also, #1968 happened meanwhile, so the name of the configuration file is now mbed_config.h. Which means that this shouold be declared somewhere (maybe in mbedToolchain) rather than hard-coded in more than one place.

Rebased. @bogdanm is the move to one location commit what you want?

LGTM
+1

Minor comment. Noticed that MBED_CONF_ACTIVE is always true. Isn't it fair/safe to assume that the config is always there (even if empty)?

Noticed that MBED_CONF_ACTIVE is always true.

The point of MBED_CONF_ACTIVE is to differentiate between exporters that support configuration using the new mechanism (with automatically included configuration header) and exporters that support only the old mechanism (adding the config macros to the exporter's macro list directly). MBED_CONF_ACTIVE (which should probably be callsed MBED_CONFIG_ACTIVE now) is only True for those exporters that support the new mechanism. In time, as more exporters are updated, the intention is to get rid of MBED_CONF_ACITVE completely.

@theotherjimmy, did you test this PR with uvision? It doesn't seem to work for me. A .uvproj file is created and I can see this line in it:
<MiscControls> --restrict --preinclude --multibyte_chars --apcs=interwork -c -O3 -Otime --brief_diagnostics --cpu=Cortex-M4.fp -D__ASSERT_MSG --no_depend_system_headers mbed_config.h --md --split_sections --no_rtti --gnu</MiscControls>

As you can see, mbed_config.h appears there without --preinclude (this is the only place in the .uvproj file where mbed_config.h appears).
Tested with uVision 5.20, project-generator 0.9.4.

@bogdanm this looks better I think:
  <MiscControls> --restrict --multibyte_chars --apcs=interwork -c -O3 --cpu=Cortex-M3 -Otime --brief_diagnostics -D__ASSERT_MSG --no_depend_system_headers --preinclude=mbed_config.h --md --split_sections --no_rtti --gnu</MiscControls>

@theotherjimmy, that looks better indeed. Now I'm getting a different set of errors:
"no source": Error:  #5: cannot open source input file "mbed-os\core\hal\common\AnalogIn.cpp": No such file or directory
"no source": Error:  #5: cannot open source input file "mbed-os\core\hal\common\assert.c": No such file or directory
"no source": Error:  #5: cannot open source input file "main.cpp": No such file or directory

and so on. It looks like that paths are messed up. I doubt this is because of this PR, but in any case, it means that I can't really test it. Cc @0xc0170.

I am looking at it, seems to me that master is broken, thus is not fault of this PR. The paths are wrong. I should have a fix for it today.

With #2026 in place, this works with uVision on blinky. IAR still fails, but for a different reason (duplicate object names). So I'd say that after we merge #2026 we're good to merge this.
Take also a look at #2020 which fixes a issue with --preinclude and IAR (I added a comment about that this to this PR a while ago).

thanks @screamerbg!

@bogdanm, @0xc0170, @screamerbg is this ready to merge?

Just a moment, the changes in this branch seem to have stomped the changes from #2020.

I suspect we'll have some problems related to assembler flags, but let's merge it like this for now and see how it goes. However, it looks like it needs to be rebased.

Yeah, I'm working on it right now.

Don't merge just yet, I need to verify that IAR asm gets the right flags.

Looks fine. Side note: IAR IDE works on my Linux machine!

+1, ready to merge.


Implement Changelog Message Feature in Inbox System with Markdown Format

The task involves implementing a changelog message feature to our inbox system before the public launch of the dimension. The content of the changelog message should be in Markdown format to allow the inclusion of release notes with images.
The steps to complete this task are as follows:

Develop a system to generate changelog messages in Markdown format.
Ensure the system allows users to provide a short title and description for the preview.
The changelog message should display details such as the author and date published.
Collaborate with our designer to create a user-friendly and aesthetically pleasing interface for this feature.

lgtm!


WSL2 Ubuntu distro dies after exactly 3 days, repeatedly, two machines

Windows Version
Microsoft Windows [Version 10.0.22621.2428]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
Linux version <IP_ADDRESS>-microsoft-standard-WSL2 (root@1c602f52c2e4) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Thu Oct 5 21:02:42 UTC 2023
Distro Version
Ubuntu 20.04
Other Software
I tried setting vmIdleTimeout=-1 in .wslconfig, but that seems to have no effect.
Repro Steps
Start distro. Leave it going. After 3 days exactly it stops.
I have two test runners that exhibit the exact same behavior. Every 3 days both of them stop, terminal window goes away, distro is stopped. I reboot both. Exactly 3 days later to the minute, they do the same thing again.
Expected Behavior
I expect it to run until I stop it.
Actual Behavior
It stops after 3 days.
Diagnostic Logs
No response

/logs

I attached the WSL logs from the latest failure to the OP. It fails consistently exactly every 3 days.

This problem had nothing to do with WSL2, it was that we started WSL2 using Task Scheduler, which has a default "kill the task after 3 days".
If somebody knows a better way to always start WSL2 distro on boot, I'd love to know it.


Mount volumes as Read Only

Description
Mounts volumes as Read Only.
For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Hey @asincu is this one still worth merging in?
Seems like a fairly safe one to merge if we want to.

Yes, if we can, we should :)


chore: update auto labels

See

A-errors has been renamed to A-diagnostics
Some manifest related modules were moved to cargo-util-schemas.

A-errors auto-label has been removed.
@bors r=ehuss

:pushpin: Commit 872f4dff8d9c01a437416f65aa8fdb6e22179c09 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit 872f4dff8d9c01a437416f65aa8fdb6e22179c09 with merge e04504913141b18a415142ec592e0332fbf0657e...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing e04504913141b18a415142ec592e0332fbf0657e to master...


Fix Snapchat Icon

I think this is due to an old version of font-awesome.
Lets move to a CDN based font-awesome. You can remove the line gem 'font-awesome-rails' from Gemfile and add the following tag in the <head>.
<script src="https://use.fontawesome.com/3c0f7e9be1.js"></script>
Make sure our existing font-awesome icons still show up.

Fixed in #343


[alert_handler] Template for alert_handler_reg_wrap doesn't exist?

The file https://github.com/lowRISC/opentitan/blob/master/hw/ip/alert_handler/rtl/alert_handler_reg_wrap.sv mentions it is generated from a template and there are also instructions in the doc how to re-generate this file. However, I couldn't find a corresponding template, and it's also not re-generated together with the other files.
Is the statement "this file is templated" just wrong/outdated, or am I missing something?
@msfschaffner

Thanks for pointing this out.
This comment is stale, let me remove it.

#5460


Bug - Line breaks even though --quiet

Describe the bug
--quiet minimizes console output, but there are still cursor movements and line breaks.
To Reproduce
Steps to reproduce the behavior:
1.Run code with --quiet (e.g. node src/index.js example -q)
2.See error
Expected behavior
A clear and concise description of what you expected to happen.
Environment

OS: Windows 10 1909 (Build 18363.1082)
Version: 2.0 (Tree)

Additional context
Probably because I forgot to insert ifs in readline.moveCursor or console.log.

I found a cause.
I didn't enclose this in ʻif`.
https://github.com/P2P-Develop/TopDomainChecker/blob/613ef0e4bdba2347c59ada0367a5c8dd2481aaa4/src/index.js#L204
I fix the cause in the next commit.


Wrong reading of first cell in .fods format

Hello, i'm having a little issue with reading a fods format. I'm currently using SheetJS to read a xlsx file and since it is compressed it is not very "git friendly". So I tried using the OpenOffice non-compressed format .fods to read the file.
It works almost perfectly, but the first cell of the first page is wrong when using sheet_to_json.
Here is an example of how it parses the data (notice there is a lot of noise):

Here is the same exact spreadsheet but duplicated in the second sheet, and it works perfectly:

Any ideas what it could be?

Can you share the file?  Email<EMAIL_ADDRESS>or put the file somewhere so we can take a closer look, but from the looks of it there might be some encoding issue.

Yes, sure.
I emailed you the file.

Solved by #2159


System Error &80070057 (-2147024809)

I started getting this error msg while running some VBA code on Excel today. The codes are not new, I have been running them for a year now on Excel 2013, and from September onward,  on Excel Office 365 version.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 48a8a84c-dab5-44b3-0209-b5b281c5b309
Version Independent ID: 59177b63-2832-5d2c-5807-47d02e979881
Content: System error 'item'
Content Source: Language/Reference/User-Interface-Help/system-error-item.md
Product: office
GitHub Login: @o365devx
Microsoft Alias: o365devx

@sbnccg
Thanks for your feedback. We use Github issues for documentation bugs, not for developer support. Please try the VBA developer community on Stack Overflow (https://stackoverflow.com/questions/tagged/vba) where you can get help from actual developers. If you find a bug in our documentation, please let us know! Thanks!


3rd party domains are not all enabled on fresh site visit

As discussed in our meeting, we noticed that on a clean browser install, our popup seemed to show that certain third party domains on the NYTimes site were not shown as enabled (in other words, the checkmark was not checked). Let's use this issue to resolve this problem.

During our meeting today, we found that my GitHub was not loading all subdomains properly. Let's look into this.

We received one new review on the Chrome Web Store, and it may relate to this issue. The review (in Italian) says:

ottima estensione, però nelle impostazioni quando clicco "enable" tra le tre impostazioni, certe volte su certi siti ritorna su "domain list" senza aver cliccato nulla

Per Google Translate:

excellent extension, but in the settings when I click "enable" between the three settings, sometimes on certain sites it returns to "domain list" without clicking anything

Maybe, this is also a different issue, but I am not quite sure. We could reply to the review. Let me know what you think.

The previous comment is related to issue #127.

I don't think that this problem is limited to a clean browser install, as I am having this issue even using my already installed version of chrome with optmeowt installed. I did have optmeowt disabled for a little while before testing this, but even after multiple visits to a site, such as github, I am still getting the above third party sites are disabled

It seems that the cause of this problem was that we were filtering out any request that was of type "image," which Kuba tells me was intentional and related to a previous issue. Redirects that were used to load images, such as Github's redirect to their avatars.githubusercontent.com site, wouldn't be included in the domain list as they were of type image. By removing that restriction, I was able to successfully send the GPC header to all third party domains.
However, there is another issue that is causing some of the third party domains to still show as disabled in the optmeowt popup. I believe that while the extension correctly identifies all third-party domains and attempts to add them to the domain list, the Chrome storage API isn't fast enough to upload all the domains. Therefore, some third-party domains don't end up getting added to the domain list because the storage upload process is interrupted by another upload process. Therefore, when the popup identifies all domain requests made of it, it finds the third party domains that weren't uploaded to chrome storage domain list and marks them as disabled because they aren't in the domain list.
However, these domains have actually been enabled, because even though they aren't uploaded, the GPC header is still added to them. For example, on humble bundle the taboola.com domain is sent the GPC signal, but it shows up as disabled in the popup.

Some of the reasons for this bug diagnosis are that its clear from my debugging that the domains are being correctly detected and should be added, so the problem is with adding them to the domain list. Additionally, after just refreshing a site a few times more and more domains get correctly enabled in a random manner, which makes it likely that whichever domain is lucky enough to make it through the upload process gets added to the domain list, and the domains that show up more often usually show up quicker than the domains that only send one request.
I'm working on a solution to fix the failed upload of domains to the domain list, which will probably involve either preventing the program from querying what the domain list is until the current upload is finished, or keeping some sort of domain list variable locally and then adding all the domains to chrome storage after all the domains have been checked.

By removing that restriction, I was able to successfully send the GPC header to all third party domains.

Excellent! Yes, the original idea was that there is no point to send opt out requests to servers that simply serve images or other assets. But in the end it does not really matter, we can just send them.

However, there is another issue that is causing some of the third party domains to still show as disabled in the optmeowt popup. ... I'm working on a solution to fix the failed upload of domains to the domain list ...

Great detective work on that one, @dknopf. Perhaps, some asynchronous calls could be used (random link to the tutorial; not sure if it is good).

Created a fix in pull request #129 , awaiting review.

Created a fix in pull request #129 , awaiting review.


Tensor size mismatch in CogVideoX transformer forward pass

Hi, thanks for your great work!
I encountered an error when trying to run the CogVideoX model on a single A800. The error occurs in the forward pass of the transformer, specifically when adding positional embeddings to the hidden states. The tensor sizes do not match, which suggests a potential issue with the model's implementation or configuration.
Here is the output log:

srun --account=test --exclusive=user -p A800 -N 1 --time 20:00 --job-name=xdit --ntasks-per-node=1 --gres=gpu:1 --export=ALL bash ./examples/infer.sh
srun: job 3975 queued and waiting for resources
srun: job 3975 has been allocated resources
++ awk '{print $2}'
++ grep BatchHost
++ tr = ' '
++ scontrol show jobid=3975
export MASTER_ADDR=g41
MASTER_ADDR=g41
++ expr 0 / 1
export NODE_RANK=0
NODE_RANK=0
export CUDA_DEVICE_MAX_CONNECTIONS=1
CUDA_DEVICE_MAX_CONNECTIONS=1
export CUDA_LAUNCH_BLOCKING=1
CUDA_LAUNCH_BLOCKING=1
export RANK=0
RANK=0
export LOCAL_RANK=0
LOCAL_RANK=0
exec python -W ignore ./examples/cogvideox_example.py --model /home/test/test01/cyy/Data/models--THUDM--CogVideoX-2b/snapshots/ad5ce8664edfdc95cdb9773dd4f80048b25f69ac --ulysses_degree 1 --num_inference_steps 1 --warmup_steps 0 --prompt 'sunset over the sea.'
WARNING 09-10 12:13:01 [args.py:250] Distributed environment is not initialized. Initializing...
DEBUG 09-10 12:13:01 [parallel_state.py:180] world_size=-1 rank=-1 local_rank=-1 distributed_init_method=env:// backend=nccl
===========0 - Parallel Group Initalized!===========
INFO 09-10 12:13:01 [config.py:93] Ring degree not set, using default value 1
INFO 09-10 12:13:01 [config.py:137] Pipeline patch number not set, using default value 1
Loading checkpoint shards: 100%|██████████| 2/2 [00:08<00:00,  4.15s/it]it/s]
Loading pipeline components...: 100%|██████████| 5/5 [00:12<00:00,  2.45s/it]
WARNING 09-10 12:13:13 [runtime_state.py:63] Model parallel is not initialized, initializing...
INFO 09-10 12:13:13 [base_pipeline.py:236] Transformer backbone found, but model parallelism is not enabled, use naive model
INFO 09-10 12:13:13 [base_pipeline.py:286] Scheduler found, paralleling scheduler...
0%|          | 0/1 [00:00<?, ?it/s]
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/test/test01/cyy/xDiT/./examples/cogvideox_example.py", line 63, in
[rank0]:     main()
[rank0]:   File "/home/test/test01/cyy/xDiT/./examples/cogvideox_example.py", line 38, in main
[rank0]:     output = pipe(
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
[rank0]:     return func(*args, **kwargs)
[rank0]:   File "/home/test/test01/cyy/xDiT/xfuser/model_executor/pipelines/base_pipeline.py", line 131, in data_parallel_fn
[rank0]:     return func(self, *args, **kwargs)
[rank0]:   File "/home/test/test01/cyy/xDiT/xfuser/model_executor/pipelines/base_pipeline.py", line 145, in check_naive_forward_fn
[rank0]:     return self.module(*args, **kwargs)
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
[rank0]:     return func(*args, **kwargs)
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/diffusers/pipelines/cogvideo/pipeline_cogvideox.py", line 687, in call
[rank0]:     noise_pred = self.transformer(
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/home/test/test01/anaconda3/envs/xdit/lib/python3.10/site-packages/diffusers/models/transformers/cogvideox_transformer_3d.py", line 432, in forward
[rank0]:     hidden_states = hidden_states + pos_embeds
[rank0]: RuntimeError: The size of tensor a (53474) must match the size of tensor b (17776) at non-singleton dimension 1
srun: error: g41: task 0: Exited with exit code 1

Additional notes:

I did not modify any settings or configurations from the default.
This error occurs consistently when trying to run the model.
Version: Python: 3.10.14   torch: 2.4.0+cu121  diffusers: 0.30.2 xfuser: 0.3.1

Thanks for your help!

We are still working on cogvideoX. see our latest commit. and issue #265


No learning when using custom object detection dataset

Hello all,
I'm currently training DetectNet on a custom dataset I have (of one specific logo) and I'm having an issue. Whenever I run the training process, I always end up with a graph like this:

I only have one class right now, using the pretrained GoogleNet model, resized the images to 256x256 and have confirmed that my KITTI generation code should work. Any ideas as to what's going on?

Hello @aqader! I see that you closed this issue. Did you identify the problem? I am having the same issue. I would appreciate some guidance.


BUG: Testimonial text is not visible in light mode

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The testimonials section text, on hover, is visible in dark mode. But in light mode it is superimposing on the picture and not visible.

I can fix it by adding a white background for the testimonial text.
Please assign me this issue.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assigned!
Make sure to attach before & after screenshots in your PR and include the issue number.
Also, please star the repo before working on it. Happy open-source contributing!


⚠ Bofrost.com has degraded performance

In 0e215a7, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 588 ms

Resolved: Bofrost.com performance has improved in cc45259 after 6 minutes.


fix: use 2 instead of ORDER_BY_DESC for txs queries

I believe these fixes are needed to make v0.46.x chains work (maybe with the exception of evmos given the existing handling)
closes: #264
closes: #266
Should be backwards compatible:

https://lcd.cosmos.dragonstake.io/cosmos/tx/v1beta1/txs?order_by=2&pagination.limit=50&pagination.offset=0&pagination.count_total=True&events=message.sender%3D'cosmos1whegdpjda0hta5s4h6k45yu4p8k2l2w6mxm5yd'

(using random address and v0.45.x chain)
Are there tests that can be run?

Hm these look like changes to make v0.46.x chains work but I think they should be in api_lcd_v2.py?   I haven't tested but this likely breaks chains not on v0.46.x + (which is most) ?
I'm guessing the change I'd make is to change regen to use api_lcd_v2.py like evmos?  I probably need to test/get in the weeds to be more certain of details.


Tool Gets only "www." responses by default

Hello @xnl-h4ck3r hope you are having a nice day,
I noticed that the tool gets urls from all subs but it only downloads responses from www. subdomain. I checked the code and saw this
https://github.com/xnl-h4ck3r/waymore/blob/d9e2ded597d120ac9b8b5285d55f1f440e13456c/waymore/waymore.py#L2829-L2834
action="strore_true" meaning that --no-subs is the running on a default of true. shouldn't it be store_false or am i misunderstanding it ? If you think it's a bug I can  make a quick PR to fix it.

Hi @ounissi-zakaria. It does get all subs, unless you pass -n/--no-subs. If you do pass that for example.com then it will get everything for example.com and www.example.com but no other sub domains. The action='store_true' means that if the argument is passed, it will be True. I'll close this as it is working as intended and there is no need for a PR. Thanks

Thanks @xnl-h4ck3r, sorry for the stupid questions 😅 I thought store_true means default is true.
I still feel like something is missing. I'll do more testing and if there's something i'll tell you.
Regards

Thanks @xnl-h4ck3r, sorry for the stupid questions 😅 I thought store_true means default is true. I still feel like something is missing. I'll do more testing and if there's something i'll tell you.  Thanks for taking the time to raise an issue. If you do spot the problem, just let me know. Using -v may help with the testing. Many thanks

Hi @ounissi-zakaria.  There is a bug with respones! Thanks so much for testing and spotting this
I hve fixed this already and will release today. Can you raise a new Issue with this specific problem so that I can reference it when I put it live, and also, do you have a twitter handle so that I can credit you for spotting this when I put it live?
Many thanks!!

Thanks for fixing it @xnl-h4ck3r really appreciate it. I created new issue #45 and you can find on twitter @zakaria_ounissi.
Have a nice day

Thanks for fixing it @xnl-h4ck3r really appreciate it. I created new issue #45 and you can find on twitter @zakaria_ounissi. Have a nice day

Thanks! I'll update the issue and let you know when the fix is available. Much appreciated. Have a great day too


[Bug-3187]close Heartbeat thread pool when MasterRegistry unRegistry

fix #3187
Tips

Thanks very much for contributing to Apache DolphinScheduler.
Please review https://dolphinscheduler.apache.org/en-us/community/index.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds checkstyle plugin.)
Brief change log
Close Heartbeat thread pool when MasterRegistry unRegistry.
Add unit test
Verify this pull request
(Please pick either of the following options)
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added dolphinscheduler-dao tests for end-to-end.
Added CronUtilsTest to verify the change.
Manually verified the change by testing locally.

Hi,
Good job, LGTM.


Bug on playground in website

Currently, the playground triggers an error when there's an AsyncAPI 1.x document that was saved in your local storage. It's probably an error of the playground instead of the website but I'm leaving the issue here because it's where I experienced it.

should stay closed, hub.asyncapi.com is now a "new" playground


HDFS-16523. Fix dependency error in hadoop-hdfs on M1 Mac

Description of PR
Fix dependency error in hadoop-hdfs by fixing the version of hawtjni-runtime
JIRA: HDFS-16523
How was this patch tested?
Manually tested.
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
n/a Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
n/a If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
n/a If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 57s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
33m 52s

trunk passed

+1 :green_heart:
compile
0m 23s

trunk passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
0m 23s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
mvnsite
0m 27s

trunk passed

+1 :green_heart:
javadoc
0m 25s

trunk passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 24s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
shadedclient
56m  1s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 14s

the patch passed

+1 :green_heart:
compile
0m 14s

the patch passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
0m 14s

the patch passed

+1 :green_heart:
compile
0m 14s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 14s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 16s

the patch passed

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
0m 14s

the patch passed with JDK Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 15s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
shadedclient
20m 41s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
0m 18s

hadoop-project in the patch passed.

+1 :green_heart:
asflicense
0m 36s

The patch does not generate ASF License warnings.

81m 21s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4112/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4112

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell xml

uname
Linux ddb11eab49bf 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 265c8ab15fde4032e38e4ef558cc2a3d931e6104

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.14+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4112/1/testReport/

Max. process+thread count
700 (vs. ulimit of 5500)

modules
C: hadoop-project U: hadoop-project

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4112/1/console

versions
git=2.25.1 maven=3.6.3

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


Does scheduling a periodic job multiple times, shifts the execution time everytime?

I have read the FAQ and have gone through the job-sample application. In the job-sample app, there is a Sync job which is supposed to run every 6 hours and is scheduled when the application is launched. It also has setUpdateCurrent(true). So my question is, suppose I launch the app 3 times, will it shift the execution of period job ahead every time?
Eg. I opened the app at 8:00 am, job scheduled at 14:00. If I open it again at 9:00, and setUpdateCurrent(true) is set, will the job now run at 15:00? And won’t run on 14:00?
In the evernote.db, I can see that the scheduledAt column gets updated every time.
So I am concerned, that for periodic jobs that are supposed to be repeated every few hours, launching them frequently (so that it calls the Application class every time) will keep of shifting the job ahead and ahead and it won't get executed. Is it true?
In the sample, I also found this in the SyncJob:
Set<JobRequest> jobRequests = JobManager.instance().getAllJobRequestsForTag(TAG);
        if (!jobRequests.isEmpty()) {
            return jobRequests.iterator().next().getJobId();
        }

EDIT : Applying the above code, solves the problem.

I found out using this, we can prevent the shifting of execution deadline for the job. Just putting it here in case somebody needs it later.

what could be the solution to this?
is it possible to run both the jobs chronologically? i have this use case where i have to update data to server in background 60 seconds after a Transaction(Monetary transaction).
So suppose i make a first transaction and schedule a job to run after 60 seconds and now within these 60 seconds i make another transaction and for this i scheduled another job but with the same tag. i found out that the second override the first and it somehow makes me think of any enqueue functionality to be embedded in this Library if there is none. is there?


Celery support not documented well-enough to setup

We're trying to setup Celery to process the recurring tasks, but it's a stumble to get anywhere.
For example, without REDIS_HOST set it doesn't even try to start, but instead you'll get an AttributeError indicating lemur.common.celery doesn't exists (technically it of course says celery isn't an attribute of lemur.common).
This is of course something you can find in the stack traces (Which error out a lot when you point the logs to /dev/stdout instead of a seek-able file), and then looking at the redis helper code you'll find that it reads REDIS_HOST which defaults to localhost.
So far we're up to the point where the celery startup gets close but again throws a red herring:
[2020-11-12 22:59:22,687: CRITICAL/MainProcess] Unrecoverable error: ModuleNotFoundError("No module named 'redis-lemur-node-001'")
Traceback (most recent call last):
  File "/app/venv/lib/python3.7/site-packages/kombu/utils/objects.py", line 42, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'backend'

Something is obviously wrong, it's using the first part of the domain AWS generated for an ElastiCache Redis instance, and tries to load it as a module somewhere down the chain. Unlikely to be kombu doing that by itself, so I'm assuming somewhere in celery (in lemur.common), or the flask app configuration...
Anyhow, not trying to dump on lemur, but for such a great idea (and implementation to actually make it happen) it's odd to see so few posts, documentation, shared experiences in setup, especially when it's not all that trivial when you want to do more than run it in a VM and kick the tires a little.
When we get it running we'll happily contribute docs, maybe put it on the company tech blog or something to make it more visible to others looking to do the same, but for now, any help would be appreciated.
Currently, we run it in a container (python:3.7) with added packages to support all the make targets. Lemur does run (when we don't enable Celery), albeit with errors about some of the entrust and digicert plugins not having the required configuration (which is fine, we don't use those).
The config used for lemur to enable celery is a combination of the generated example CELERYBEAT_SCHEDULE dict and:
REDIS_HOST = 'redis-lemur-node-001.asfd.0001.euw1.cache.amazonaws.com'

CELERY_RESULT_BACKEND = 'redis://redis-lemur-node-001.asfd.0001.euw1.cache.amazonaws.com:6379'
CELERY_BROKER_URL = 'redis://redis-lemur-node-001.asfd.0001.euw1.cache.amazonaws.com:6379'
CELERY_IMPORTS = ('lemur.common.celery')
CELERY_TIMEZONE = 'UTC'

At the top of lemur.conf.py we also imported crontab:
from celery.task.schedules import crontab
Without it, Lemur and Celery are unhappy because the crontab references in the config cannot be resolved to a module.

Replying to myself: it's working! Turns out we do need that REDIS_HOST but we don't need env vars for Celery, only the configuration file ones. Still gives a very large number of stack traces, but at least the tasks are executing.

Looking at the master branch, the docs do seem to reflect most of that; I suppose I should have started with the source docs and not the release docs that are rather outdated by now.

Thanks @johnkeates raising this point. I agree with you, we should do a better job in updating the docs, than only relying on  source code.

Looking at the docs, I'm trying to figure out how to help out. But some of it seems to be related to the release functionality which (I'm assuming) updates readthedocs as well.
I'm currently working on getting logging sorted a bit better; the logger is likely to support plenty of destinations other than local files and I'll write docs for that when it working. At the same time I spotted an easy to make mistake where environment variables we set for containers weren't prefixed (we read them back in lemur.conf.py) and we used the same variable names as Celery likes to read, which overwrites what we set in in the config file.
So far it's been an interesting journey, but I'm happy to see (after reading the code) how easy it is to actually extend all of this for different use cases (i.e. updating Palo Alto Panorama and F5 TMUI automatically) where the targets are rather "classical" devices.

@johnkeates we've actually discovered today that doc publishing is currently not working. I'm looking into it now - the docs are intended to be published on every commit, not just releases.

@jtschladen I suppose that would explain the old (ancient) commit hash on the current latest publication -- 746e314a
Perhaps a semver and release bot would help out, not sure if that is something you guys enjoy but I've seen it help out in projects like saltstack-formulas.


[typescript-migration] initial ts config and the first calendar_container.jsx module

name:  initial ts config and the first calendar_container.jsx module
Description
Linked issue: https://github.com/Hacker0x01/react-datepicker/issues/4700
Problem

Changes
Was added initial ts config and rollup plugins + migrated the first functional component to TS
To reviewers:
I've added babel preset-typescript instead of using ts-jest because right now, during the migration, better to only transpile code and not check types validity in tests
Screenshots

Contribution checklist

[x] I have followed the contributing guidelines.
[x] I have added sufficient test coverage for my changes.
[x] I have formatted my code with Prettier and checked for linting issues with ESLint for code readability.

Nice one! Glad to see this coming along!


fossbilling-dns v1.0.0 issue

Hi
when I install done with fossbilling-dns v1.0.0
go to Extensions -> Overview and activate the DNS Hosting Product 1.0.0 extension.
Then go to Products -> Products & Services -> New product and create a new product of type Dns.
and done with above step
then I login as a clients user
make a new order from dns hosting
when I click checkout button I got this error

but I check my system there is no file about this
/var/www/modules/Servicedns/Providers/vendor/autoload.php
I go back to check github file (I mean here)
you don't even have "vendor" this directory  on  fossbilling-dns v1.0.0
due to this error it can't be checkout
when I login as admin I saw many order about dns hosting and I try to delete those order it jump the same error
even I try to force delete it still can't be delete

sorry my bad
I forget do this action
composer install
when I done it solve my problem

Sorry for the delay, got to it finally. Starting to investigate.


status method returning 0 when cluster is down

The normal exit code when something is ok i 0, everything else means failed.
I suggest changing the two exit codes used in the status method.
Also i do not see why the status method needs an -s flag. you can always just do
status &> /dev/null when calling it to get rid of all the output.

Changes merged


Touch up wording.

@wizonesolutions : Thanks for your contribution! The author(s) have been notified to review your proposed change.

No problem! It's great that it's so easy to suggest edits to the documentation.


roPresence not updating when i leave the game

it not working even tho i have the
"showOfflinePresence": true,
enabled fix

i am on windows 10

i am on windows 10