Interested in the disk consequences of various MQTT usage patterns

Hi,
I'm evaluating vernemq for an MQTT deployment, and find myself with a few questions I wsan't able to answer from the available documentation.
To be upfront, my production MQTT experience is pretty limited at this stage so apologies if any of my questions are silly.
I'm particularly interested in the expected disk IO and usage we'd expect to see under different MQTT patterns, and whether we can expect the consumed resources to be predictable if our topic, message and session count remain steady.

What messages are written to the msgstore? Everything? All QOS1/2 message? Only QOS1/2 message that a session is expecting to pickup?

Once a message is written to the msgstore, when does it get removed - once all sessions subscribed to the relevant topic have connected and retrieved it?

max_offline_messages sounds like it'd be a useful way to prevent unbounded growth in disk usage if there are sessions that don't check in regularly to pickup messages. Is that number per session or global? What happens when the cap is reached - are new messages skipped, or are old messages removed to make room?

In general, are there any recommendations for keeping disk IO and usage predictable? My guesses would be along the lines of: send only QOS0 messages? If using QOS1, minimise number of sessions that are offline to reduce the need for offline messages? use persistent_client_expiration to trim stale sessions with uncollected offline messages? Use max_offline_messages to control total storage space required?

Would running a single node vs a three-node cluster change the expected disk IO or usage?

Cheers!

Hello @yob.
Thank you for those questions!

What messages are written to the msgstore? Everything? All QOS1/2 message? Only QOS1/2 message that a session is expecting to pickup?

Per default all QoS 1 & 2 messages are stored on disk. The message containing payload and publishing flags is stored once, and for every receiving client we store a reference to this message.

Once a message is written to the msgstore, when does it get removed - once all sessions subscribed to the relevant topic have connected and retrieved it?

As soon as all the references are deleted we delete the message containing payload and flags.

max_offline_messages sounds like it'd be a useful way to prevent unbounded growth in disk usage if there are sessions that don't check in regularly to pickup messages. Is that number per session or global? What happens when the cap is reached - are new messages skipped, or are old messages removed to make room?

The max_offline_messages is configured per session and allows VerneMQ to apply load shedding on a queue by dropping messages (exactly like you outlined). By default VerneMQ will drop the new message, but this behaviour can be changed by the hidden setting vmq_server.queue_type = lifo instead of fifo. However this will also change the queue behaviour when delivering messages.

In general, are there any recommendations for keeping disk IO and usage predictable? My guesses would be along the lines of: send only QOS0 messages? If using QOS1, minimise number of sessions that are offline to reduce the need for offline messages? use persistent_client_expiration to trim stale sessions with uncollected offline messages? Use max_offline_messages to control total storage space required?

This is exactly what I would do, ensure with max_offline_messages that the offline 'storage' per session has some upper bound and ensure with persistent_client_expiration that old, unused sessions are garbage collected. Additionally you may want to set max_message_size to control the max message size that you might need to persist. Moreover, using a plugin you would be able to control QoS of publishes and subscribes, enabling that you control, what QoS your clients are using for publishing and or subscribing.
Alternatively, if you want to use the QoS 1 & 2 flows, but don't necessarily require the disk persistence you could completely disable the message store (undocumented, but possible).

Would running a single node vs a three-node cluster change the expected disk IO or usage?

Yes, by adding multiple nodes you're able to distribute load among multiple nodes.
All that said, keep in mind that our replicated storage also uses LevelDB under the hood to store retained messages and subscription data (e..g. which client has which subscriptions on which node). Moreover the replication mechanism builds up a hashtree (which is stored in LevelDB) for efficient synchronization between the cluster nodes.

Thanks for taking the time to write such detailed responses, it's really helped me build a mental model of how disk persistence is used.


Add custom ingestion source for artifacts

Sample recipe
source:
    type: affirm-artifact
    config:
        filename: ''
        directory: 'path-to-artifact-directory'
        platform: 'affirm-3rd-party'
        env: 'PROD'

sink:
    type: 'datahub-rest'
    config:
        server: 'http://localhost:8080'

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Looks great! Thanks for doing this :). Added a few comments.


Roslyn Analyzer: Better Check for FieldIgnored and FieldNotInFile

Now it only check the syntax, we must to validate that are the FileHelpers attributes and no others with the same name

Thanks to the help in the Roslyn Gitter I'm also checking the SymbolInfo to be sure is in the FileHelpers namespace and assembly


contact us button in the light mode of navbar is not that much appealing

Hi, I'd like to fix this issue, I can make the button attractive by adding some CSS to it as well as add a few effects when the mouse is hovered over it, can you please assign this to me?

I am interested to work on this issue under GSSoC 2023 as a contributor


fix ClassMetadata generic docblock type for filters

Q
A

Type
improvement

BC Break
no

Fixed issues
#2358

Summary
This fixes missing <T> type for BsonFilter.

Thanks @IonBazan!


[PE-D][Tester E] User Guide: Suggestion for links

This is not a bug.
Under the Quick Start Section, point 6, maybe you can look into adding a link to the register command. As it took quite some time for me to scroll down to find it.
If you are unable to do that, perhaps you can look into recording the commands and put the register command at the start instead.

Labels: severity.VeryLow type.DocumentationBug
original: ziyang27/ped#2

fixed.


Examples in repo not working

Pull repo -> delete older generated files -> pub run build_runner build
Exception: Schema github.schema.graphql was not found or doesn't have a proper format! Make sure the file exists and you've typed it correctly on build.yaml. Bad state: No element

You can check this one until we fix them
https://github.com/artflutter/graphql_toolchain

Hey @Diligas-a, how are you doing?
The Github example won't work by default, as the Github schema file is too big (around 3MB), and I didn't want to commit it on the repository. If you provide your own on the espected path, it should compile. Refer to https://github.com/octokit/graphql-schema on how to get the schema.
And feel free to reopen this issue if you find another problem!


Script to make gen2 shelly accept GET /status like gen1

I have a controller which calls gen1 shelly with rest api GET /status. gen2 does not have /status but I cannot change controller.
Is there a script for gen2 (Pro 3EM) which would make gen2 respond to /status call?
Thank you

@bostjanlaba No, get2 devices response only to an rpc calls.
You will need to call /rpc/Shelly.GetStatus

@bostjanlaba No, gen2 devices response only to an rpc calls. You will need to call /rpc/Shelly.GetStatus

Thank you for super fast response.


python312Packages.caldav: 1.3.9 -> 1.4.0

Diff: https://github.com/python-caldav/caldav/compare/refs/tags/v1.3.9...v1.4.0
Changelog: https://github.com/python-caldav/caldav/blob/v1.4.0/CHANGELOG.md

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

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

2 packages marked as broken and skipped:

syncall
syncall.dist

9 packages built:

calendar-cli
calendar-cli.dist
errands
gtg
home-assistant-component-tests.caldav
python311Packages.caldav
python311Packages.caldav.dist
python312Packages.caldav
python312Packages.caldav.dist


Implement tag for EarthLocation

This is used by astropy.time.Time to describe the location. The fields that represent an EarthLocation are explicitly broken out in the v1.1.0 schema of Time that was implemented in PR #343.

This should really be an issue in Astropy now.

This is resolved by https://github.com/astropy/astropy/pull/8286.


0.4.x doesn't work with custom types

OID lookup is broken – lookup_type just returns an error vs 0.3.x where it called the lookup function.

Duplicate of https://github.com/weiznich/diesel_async/issues/103 + this does not follow the required bug template


fix(congregation): params not passed when checking person icon in field service group

:tada: This PR is included in version 2.66.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Using jquery_ujs in a non-Rails application

I posted this on SO here, but have not received any response.  It is/was my understanding that this code is really independent of Rails.  Is that true?  If so, can you advise on my issue?
I have a Ruby / Rack-middleware / Sinatra application and I am trying to use jquery_ujs within it.  I have it loaded and available on my page.  It does initiate, as breakpoints within the initiation code trigger when it loads.  Also, Chrome shows it within the sources.  My test has the data-disables-with element specified.  But, the related jquery_ujs function never triggers.
I load jquery_ujs, which I have verified, with:
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="application/javascript" src="http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>
<script type="application/javascript" src="assets/jquery_ujs.js"></script>

My code, which does function except for the data-disable-with, is:
<input type="submit" id="loginButton" value="Login" data-disable-with="Processing" data-transition="flip">

The jquery_ujs function that I expect to execute, and which never starts, is:
$document.on('click.rails', rails.linkClickSelector, function(e) {
    var link = $(this), method = link.data('method'), data = link.data('params'), metaClick = e.metaKey || e.ctrlKey;
    if (!rails.allowAction(link)) return rails.stopEverything(e);

    if (!metaClick && link.is(rails.linkDisableSelector)) rails.disableElement(link);

    if (rails.isRemote(link)) {
        if (metaClick && (!method || method === 'GET') && !data) { return true; }

        var handleRemote = rails.handleRemote(link);
        // Response from rails.handleRemote() will either be false or a deferred object promise.
        if (handleRemote === false) {
            rails.enableElement(link);
        } else {
            handleRemote.fail( function() { rails.enableElement(link); } );
        }
        return false;

    } else if (method) {
        rails.handleMethod(link);
        return false;
    }
});

Breakpoints set within this code never fire.  Event Listener Mouse Click breakpoints fire for all other listeners, but not this one.
Event Listener Mouse Click breakpoints trigger for jquery.mobile and jquery, so they are there.
I'm going out on a limb to say that it probably has something to do with the scope of functions within the "rails" variable, but I don't see why that would be the case.  I am not actually trying to access the internal functions from my code, only asking it to operate on DOM.

Yes, this code should work independent of Rails. The code you are looking for never fired because you are looking in the wrong part of the code. For this case what you want is https://github.com/rails/jquery-ujs/blob/master/src/rails.js#L517.


Find() with AsNoTracking()

I've checked the Find() method on DbSet class can not be used together with AsNoTracking().
There are numerous situations where I need to use the Find() and do not put the object returned in context.
I would like to suggest this functionality within the Entity Framework.
Portugues:
Estive verificando que o método Find() da classe DbSet não pode ser usado junto com o AsNoTracking().
Existem inumeras situações em que preciso usar o Find() e não colocar o objeto retornado dentro do contexto.
Gostaria de sugerir essa funcionalidade dentro do Entity Framework.

AsNoTracking doesn't really make sense for Find since one of the key features of find is that it will return the already tracked version of the entity without hitting the database if it is already in memory. If you want to load an entity by key without tracking it then use Single.

if i use if (lstemployeeRepository.Find(employee.LstEmployeeId)==null)
return NotFound();
        if (!ModelState.IsValid)
        {
            return new UnprocessableEntityObjectResult(ModelState);
        }

        lstemployeeRepository.Update(employee);

Getting error "System.InvalidOperationException: 'The instance of entity type 'LstEmployee' cannot be tracked because another instance with the same key value for {'LstEmployeeId'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values.'
"

I'm hitting the same issue.
    var props = typeof(TState).GetProperties();
    var primaryKey = this.sqlStore.Model.GetEntityTypes().Single(et => et.ClrType == typeof(TState)).FindPrimaryKey();

    var keyValues = primaryKey.Properties.Select(p => props.Single(pp => pp.Name == p.Name).GetValue(state)).ToArray();

    var entity = await this.sqlStore.FindAsync<TState>(keyValues);
    if (entity == null)
    {
        this.sqlStore.Add(state);
    }
    else
    {
        this.sqlStore.Update(state);
    }

Now the Update() fails because entity and state have the same value of key (as intended). I cannot really use Single() here as I am relying on the "dynamic/untyped" nature of Find().

@satvik1986 @mrmartan Can you file new issues for the problems you are seeing, including a runnable project/solution or complete code listing that demonstrates the problem?


x/image/font/sfnt: support trimmed table mapping cmap format

What did you do?
Parse an embedded TTF font from PDF object.
What did you expect to see?
no error
What did you see instead?
sfnt: unsupported cmap encodings

Details
The cmap in this file uses Format 6: Trimmed table mapping which is not supported by the library.

this was fixed w/ https://github.com/golang/image/commit/183bebdce1b249c42a7cf6772817e8c2e873b966


allign selected image centrally

0
down vote
I have integrated "react-native-image-carousell" (horizontal user list), in this I am trying to show selected user in center but as I select user its start shifting selected user towards right side and for this I have used bellow code.
const layoutWidth = event.layoutMeasurement.width;
const currentIndex = Math.floor((event.contentOffset.x + (0.5 *layoutWidth)) / layoutWidth);
const newPreviewOffset = (((currentIndex - 2) * this.props.previewImageSize) + this._bias)+50;
if (this._previewOffset !== newPreviewOffset && currentIndex > 1) {
this._refPreviewListView.scrollTo({ x: newPreviewOffset });
this._previewOffset = newPreviewOffset;
}

I cannot reproduce your case, and Example is works as expect.
How about to provide some demo in sketch.expo.io? Maybe you have some cases which are not covered in my original design.


Please release 0.5.0 to PyPI

There were some changes in 2019 that is not available on PyPI, it would be great if you could make a new release. Thanks!
edit: Published as lap05

@gatagat respectfully bumping

@remram44 Really sorry for the almost eternal silence... A new updated version 0.5.12 of lap is now available on PyPI.


My kata honor doesn't change after kata resolution.

I solved today various katas but my honor doesn't affected at all. Also there is a kata which i solved previously but i still cannot see the solutions because the system tells me, that i must solve it first.
Bugged kata : https://www.codewars.com/kata/5226eb40316b56c8d500030f
Solved today without honor change:
https://www.codewars.com/kata/55c6126177c9441a570000cc
https://www.codewars.com/kata/52a89c2ea8ddc5547a000863
https://www.codewars.com/kata/52f78966747862fc9a0009ae

It is queud and will change after a short time.
No honors are lost!!

Seems strange to me, to update honor over time. But - ok. There is still some bug with the pascal triangle's kata.

Its a Rails app and most logic is moved into the background process. If something has caused background processing to queue then it may take a moment for your honor to show up. Especially on the very next page load since the page was probably loaded before the background task completed.

Just to verify before I close this - did the honor ever end up showing correctly?

Well, passed more than a hour. Now the honor is updated. But still, there is a bugged kata. Please check it.

The duration for the honor-points to arrive increases the last days. Sometimes in a range from minutes to an hour.

Today, this time, https://www.codewars.com/users/leaderboard is several hours (13 hrs) late.

But this seems a caching-problem from the cloud-solution!
When you refresh several times, you get often changing results in the leader-table.

The background processing engine went down and I'm assuming these issues are caused by that. This was never an issue before and nothing else has changed. The processing has been restarted and completed. Please let me know if any issues still persist.
In the meantime there are a number of issues related to background processing (which I am investigating the reason for it crashing) so I will close this one.


Device Templates support?

The other IOTC device bridge (https://github.com/Azure/iotc-device-bridge) supports Device Templates to correctly handle Device data.
Does this project support it also? E.g. will a device be registered in IoT Central application automatically?
I had trouble setting up this project to verify this myself, thus asking in the issue.
Thank you!

The device will not be registered automatically the Bridge 2.0 provides you with a REST endpoint that you can call to perform actions against the bridge.  These actions you can perform include registration.  This is the swagger for the registration call:
    "/devices/{deviceId}/Registration": {       "post": {         "tags": [           "Registration"         ],         "summary": "Performs DPS registration for a device, optionally assigning it to a model.",         "description": "The registration result is internally cached to be used in future connections.\r\nThis route is only intended for ahead-of-time registration of devices with the bridge and assignment to a specific model. To access all DPS registration features,\r\nincluding sending custom registration payload and getting the assigned hub, please use the DPS REST API (https://docs.microsoft.com/en-us/rest/api/iot-dps/).\r\n            \r\n<b>NOTE:</b> DPS registration is a long-running operation, so calls to this route may take a long time to return. If this is a concern, use the DPS REST API directly, which provides\r\nsupport for long-running operation status lookup.",         "operationId": "Register",         "consumes": [           "application/json",           "text/json",           "application/*+json"         ],         "parameters": [           {             "in": "path",             "name": "deviceId",             "required": true,             "type": "string"           },           {             "in": "body",             "name": "body",             "schema": {               "$ref": "#/definitions/RegistrationBody"             }           }         ],         "responses": {           "200": {             "description": "Registration successful."           }         }       }     },
The body of the POST call will contain the registration payload that can include the model id to associate the device with in IoT Central.  For example:
{     "iotcModelId": "< put your model id here >", }

Adding to the answer above, if you try to send telemetry for a device (or any other operation) without explicitly making the registration call first, the device will just be registered as "unassociated", so you can move it to the correct template later in IoT Central. So, to summarize, you have 3 options for registration:

a. Call the registration endpoint in this bridge passing the correct model then start sending/receiving data (this will register the device in the correct model, as mentioned above).
b. Just start sending/receiving data for the device using this bridge, which will cause the device to be registered as "unassociated". Then manually move it to the right template in IoT Central.
c. Manually create the device in the correct template in IoT Central first, then start sending/receiving data for the device using this bridge.

Thanks!
You've answered my question!


PnP PowerShell errors occurring in Azure Automation

Hello,
When I process the following PnP PowerShell with Azure Automation, sometimes an error occurs.
There are two types of errors, and we don't know under what conditions they are differentiated.
It seems to happen when I run Azure Automation at the same time, does anyone know the cause of this? Is this a bug?
Environment

Azure Automation Runbook PowerShell
SharePointPnPPowerShellOnline 3.26.2010.0

Script
line
108 $Web = Get-PnPWeb -Includes RegionalSettings.TimeZones
109 $NewTimeZone = $Web.RegionalSettings.TimeZones | Where {$.Description -eq $TimeZone}
110 [int]$NewTimeZoneId = $NewTimeZone.Id_
*$TimeZone contains values such as "(UTC-12:00) International Date Line West".
Error Description Pattern 1
Get-PnPWeb : The 'subQuery' argument is invalid. At line:108 char:8 + $Web = Get-PnPWeb -Includes RegionalSettings.TimeZones + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (:) [Get-PnPWeb], ArgumentException + FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.GetWeb
Error Description Pattern 2
Cannot convert the "System.Object[]" value of type "System.Object[]" to type "System.Int32". At line:110 char:1 + [int]$NewTimeZoneId = $NewTimeZone.Id + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException + FullyQualifiedErrorId : RuntimeException
I'm looking forward to working with you.
Thanks.

This is a hard one to figure out. Does this error only occur when running in an Azure Automation Runbook?

This is a hard one to figure out. Does this error only occur when running in an Azure Automation Runbook?

This is a hard one to figure out. Does this error only occur when running in an Azure Automation Runbook?

Yes, only Azure Automation Runbook.
As shown in the following image, an error occurs when the Runbook is executed concurrently.

This script is used to get the "timezoneID" from the time zone string such as "(UTC-12:00) International Date Line West".
Is it a script problem? Or session problem?

This is a hard one to figure out. Does this error only occur when running in an Azure Automation Runbook?

Yes, only Azure Automation Runbook.
As shown in the following image, an error occurs when the Runbook is executed concurrently.

This script is used to get the "timezoneID" from the time zone string such as "(UTC-12:00) International Date Line West".
Is it a script problem? Or session problem?

I'm more thinking of a session problem. The snippet you shared is as such okay. Question: the $TimeZone variable, how to acquire that one? Is it hardcoded provided? There is a Get-PnPTimeZoneId cmdlet which can help to figure out Ids of a timezone.
$timezone = Get-PnPTimeZoneId -Match "international date line west"
Write-Host $timezone.Id

I'm more thinking of a session problem. The snippet you shared is as such okay. Question: the $TimeZone variable, how to acquire that one? Is it hardcoded provided? There is a Get-PnPTimeZoneId cmdlet which can help to figure out Ids of a timezone.
$timezone = Get-PnPTimeZoneId -Match "international date line west"
Write-Host $timezone.Id

Question: the $TimeZone variable, how do you acquire that one? Is it hardcoded provided?

The $TimeZone variable is provided in hardcode. Since the hard code is in the form of "(UTC-05:00) Eastern Time (US and Canada)", I think it is difficult to use Get-PnPTimeZoneId.
Is there any other way to get the time zone ID other than Get-PnPTimeZoneId?
If it is a session issue, is there any way to work around it?

Question: the $TimeZone variable, how do you acquire that one? Is it hardcoded provided?

The $TimeZone variable is provided in hardcode. Since the hard code is in the form of "(UTC-05:00) Eastern Time (US and Canada)", I think it is difficult to use Get-PnPTimeZoneId.
Is there any other way to get the time zone ID other than Get-PnPTimeZoneId?
If it is a session issue, is there any way to work around it?

The thing is that we -assume- it's a session issue. But not 100% sure. There can be some threading conflicts, but it's hard to reproduce. The issue 100% only occurs when running the script in parallel? As such all the code we use is thread safe and should not produce any issues when running multi-threaded. You could try though to rewrite your code a bit. If that works we know a bit better where to look for:
$Context = Get-PnPContext
$Web = Get-PnPWeb
$Context.Load($Web.RegionalSettings.TimeZones)
Invoke-PnPQuery
$NewTimeZone = $Web.RegionalSettings.TimeZones | Where {$.Description -eq $TimeZone}
[int]$NewTimeZoneId = $NewTimeZone.Id

Just to make sure: do you run this for several webs? And do you retrieve the timezones for every web? As that is not needed. The TimeZoneId is -always- the same. So you could create a lookup table or something instead that matches your search strings. E.g. regardless of the site or tenant, if the timezone is (UTC-12:00) International Date Line West then the id is -always- 39.
Alternatively you can do some scripting 'magic'. If your $TimeZone variable always contains something like (UTC-12:00) International Date Line West, then you can consider using this:
$LookupValue = $TimeZone.Split(") ")[1] # notice the space after the )
$NewTimeZoneId = (Get-PnPTimeZoneId -Match $LookupValue).Id

The snippet above -only- works if the TimeZone string is formatted as in the example. E.g. I split the string and then use the second part to lookup the ID using Get-PnPTimeZoneId. No server calls needed then.

The thing is that we -assume- it's a session issue. But not 100% sure. There can be some threading conflicts, but it's hard to reproduce. The issue 100% only occurs when running the script in parallel? As such all the code we use is thread safe and should not produce any issues when running multi-threaded. You could try though to rewrite your code a bit. If that works we know a bit better where to look for:
$Context = Get-PnPContext
$Web = Get-PnPWeb
$Context.Load($Web.RegionalSettings.TimeZones)
Invoke-PnPQuery
$NewTimeZone = $Web.RegionalSettings.TimeZones | Where {$.Description -eq $TimeZone}
[int]$NewTimeZoneId = $NewTimeZone.Id

Just to make sure: do you run this for several webs? And do you retrieve the timezones for every web? As that is not needed. The TimeZoneId is -always- the same. So you could create a lookup table or something instead that matches your search strings. E.g. regardless of the site or tenant, if the timezone is (UTC-12:00) International Date Line West then the id is -always- 39.
Alternatively you can do some scripting 'magic'. If your $TimeZone variable always contains something like (UTC-12:00) International Date Line West, then you can consider using this:
$LookupValue = $TimeZone.Split(") ")[1] # notice the space after the )
$NewTimeZoneId = (Get-PnPTimeZoneId -Match $LookupValue).Id

The snippet above -only- works if the TimeZone string is formatted as in the example. E.g. I split the string and then use the second part to lookup the ID using Get-PnPTimeZoneId. No server calls needed then.


Fix quantile and median for JAX backend with jax 0.4.26.

The JAX bug with axis=None and keep_dims=True is fixed.

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 54.15%. Comparing base (ddb3c3a) to head (0c09f5f).

Files
Patch %
Lines

keras/backend/jax/numpy.py
0.00%
3 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #19443       +/-   ##
===========================================
- Coverage   71.39%   54.15%   -17.25%
===========================================
  Files         366      366
  Lines       40889    40890        +1
  Branches     7975     7975
===========================================
- Hits        29192    22143     -7049
- Misses      10055    17151     +7096
+ Partials     1642     1596       -46

Flag
Coverage Δ

keras
54.15% <0.00%> (-17.13%)
:arrow_down:

keras-numpy
54.15% <0.00%> (+<0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Web UI: Postprocessed images have 'unknown_seed' in the file name

Web UI: Postprocessed images have 'unknown_seed' in the file name

If a one-off upscale/face-correction is requested, the provided image's metadata isn't retained. Furthermore, the metadata format currently in use only provides a place for a single run of GFPGAN or ESRGAN, but we support arbitrary numbers of postprocessing steps.
This is not in line with the metadata RFC #689 , which proposed a 'postprocessing' attribute that contains a list of all postprocessing steps. I will refactor the metadata to work as the metadata RFC suggests.
We need to diverge to handle the case where an image doesn't have generation metadata, either because it was made before the spec or if it was just dropped into the app from an external source (something I want to support).
To that end, the 'type' field will have an additional possible value 'external' in addition to 'txt2img' and 'img2img'. This indicates the image wasn't generated within InvokeAI and won't have generation metadata, but can still have postprocessing metadata.
This will all come out in the wash when we migrated to node-based processing, but we need to provide something that works for now.

Yeah, I haven’t Implemented that part of the metadata spec. I’d be happy to do so.

@lstein Our metadata formats are different right now :/ because I needed more data for the web UI, and I couldn't make Args() works as needed with a dict.
Once I update my handling maybe we can merge the two. Will need some changes to Args(), or maybe it should just be a separate Metadata module.

This issue is resolved in #879


Update to bevy 0.15

Updated library code, examples and documentation to work with bevy 0.15-rc.3

Hey, thanks for this, looks like significant changes which saves me time 😄
I won't merge until Bevy 15 is fully released, but this is a good head start.

Formatting fixed, gitignore changes reverted.
I was hoping that you will publish rc version also, but it's up to you to decide.
Thank you for your lib!

I was hoping that you will publish rc version also, but it's up to you to decide.

I hadn't thought of that, but the egui feature is broken until bevy_egui is updated, so I don't think it's appropriate to release it as RC. Unless bevy_egui puts out an RC version It'll have to wait.

Waiting for https://github.com/vladbat00/bevy_egui/pull/309

@Plonq that PR is merged and bevy_egui 0.31 is now released with official support for bevy 0.15. Does that mean that this is ready to get merged?

@dmlukichev Can you do the following please:

Update deps (bevy to 0.15 and bevy_egui)
Revert the version and changelog updates (I prefer to do them separately)

Hi, @Plonq. Done.

For some reason I am unable to push changes to this PR. You need to add bevy_window feature to the prod bevy dependency to fix the build.

Instead of adding Camera3d() to every location, PanOrbitCamera is added, you could add Camera3D as a "required component" and remove Camera3d::default() from the examples.
In Plugin::build
app.register_required_components::<PanOrbitCamera, Camera3d>()

Guys, sorry. Not in a position to argue.
It looks like like @mineichen tracks bevy's changes better that I do. I hope he will update this MR accordingly.
Best of luck, Dima

@dmlukichev Don't worry about that, let's just get this PR fixed and merged.
@mineichen It's a good idea, feel free to open a new PR, or I will later

I made the necessary changes in https://github.com/Plonq/bevy_panorbit_camera/pull/90, so I'll close this one.


vpc_paired_switches_check should also check for consecutive and reciprocal VPCs

https://github.com/datacenter/ACI-Pre-Upgrade-Validation-Script/blob/master/aci-preupgrade-validation-script.py#L1873
Is currently only validating explicit protection policies.
Needs the fix from:
https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvy31166
To check Consecutive + Reciprocal VPCs, and not just explicit.

fabricNodePEp, currently being queried for func get_vpc_nodes, can be any of the following DNs:
[4]: uni/fabric/protpol/expgep-{name}/nodepep-{id}
...snip
[8]: uni/fabric/protpol/autogep-{name}/nodepep-{id}

fabricExplicitGEp (explicit VPC) DN is:
[0]: uni/fabric/protpol/expgep-{name}

fabricAutoGEp (Consecutive/Reciprocal) DN is:
[0]: uni/fabric/protpol/autogep-{name}

Therefor, fabricNodePEp (and get_vpc_nodes) is already getting the node IDs of VPC whether they are explicit, consecutive, or reciprocal protection policies.
Closing this as a non-issue in current code.


Validation Bulk Fixes

Docs Build status updates of commit 9d30702:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/latest/resourcemanager-communication-readme.md
:bulb:Suggestion
View (azure-java-stable)
Details

docs-ref-services/latest/resourcemanager-deviceprovisioningservices-readme.md
:bulb:Suggestion
View (azure-java-stable)
Details

docs-ref-services/latest/resourcemanager-iotcentral-readme.md
:bulb:Suggestion
View (azure-java-stable)
Details

docs-ref-services/latest/resourcemanager-communication-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/latest/resourcemanager-deviceprovisioningservices-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

docs-ref-services/latest/resourcemanager-iotcentral-readme.md

Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

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

Docs Build status updates of commit a6ab3c9:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'docs-ref-autogen/com.microsoft.azure.eventhubs.extensions.appender.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'docs-ref-autogen/com.microsoft.azure.management.monitor.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'docs-ref-autogen/com.microsoft.azure.sdk.iot.deps.ws.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'legacy/docs-ref-autogen/com.microsoft.azure.management.batch.implementation.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'legacy/docs-ref-autogen/com.microsoft.azure.management.monitor.implementation.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'legacy/docs-ref-autogen/com.microsoft.azure.management.monitor.yml' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: redirected-file-not-removed - See documentation] Redirected file 'docs-ref-services/latest/batch-ai.md' are still in the repo. After adding a file to the redirection JSON file, you must delete the original file from the repo.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.microsoft.azure.sdk.iot.provisioning.service.IndividualEnrollmentManager.IndividualEnrollmentManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.postgresql.PostgreSqlManager.PostgreSqlManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.microsoft.azure.sdk.iot.provisioning.service.EnrollmentGroupManager.EnrollmentGroupManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.search.documents.indexes.SearchIndexAsyncClient.SearchIndexAsyncClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.microsoft.azure.sdk.iot.provisioning.service.RegistrationStatusManager.RegistrationStatusManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.search.documents.indexes.SearchIndexClient.SearchIndexClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.search.documents.SearchAsyncClient.SearchAsyncClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.changeanalysis.AzureChangeAnalysisManager.Configurable.Configurable*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.compute.ComputeManager.ComputeManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.changeanalysis.AzureChangeAnalysisManager.AzureChangeAnalysisManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.postgresql.PostgreSqlManager.Configurable.Configurable*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.microsoft.azure.sdk.iot.provisioning.service.ProvisioningServiceClient.ProvisioningServiceClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.resourcemanager.appplatform.AppPlatformManager.AppPlatformManager*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.data.schemaregistry.avro.SchemaRegistryAvroSerializer.SchemaRegistryAvroSerializer*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.search.documents.SearchClient.SearchClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.communication.networktraversal.CommunicationRelayAsyncClient.CommunicationRelayAsyncClient*'.
Line 0, Column 0: [Warning: xref-not-found] Cross reference not found: 'com.azure.communication.networktraversal.CommunicationRelayClient.CommunicationRelayClient*'.

This comment lists only the first 25 errors (including error/warning/suggestion) in the pull request.
For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a6ab3c9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/latest/resourcemanager-communication-readme.md
:white_check_mark:Succeeded
View (azure-java-stable)

docs-ref-services/latest/resourcemanager-deviceprovisioningservices-readme.md
:white_check_mark:Succeeded
View (azure-java-stable)

docs-ref-services/latest/resourcemanager-iotcentral-readme.md
:white_check_mark:Succeeded
View (azure-java-stable)

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

Global effort to fix build validation errors
@sima-zhu
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you’d like to see. Thank you!


Incomplete specification allowed.

Current UI allow users to add something and jump to other part before completing the specification
For example, the user add a pie chart transform.

but leave the angles field empty and jump to something else (e.g., adding another mark).
I think

This is prone for bugs.  (Although I currently know the code well enough –you might have ignore all incomplete items.)
More importantly,  it’s hard for user to recognize later than actually this mark ("rect alpha”) is not rendered since its specification is incomplete.

Check List

[ ] #111

Scale

[ ] Closing scale popup should automatically remove null items from the value array

[ ] Marks

With Lyra 2, we should not export any primitives that do not pass the schema.

Going to track via a new issue for simplicity.


Fix shuffle button selector (#6)

For #6: specifically target shuffle button in the player bar to prevent it getting the shuffle album/playlist button at the top instead.

LGTM :+1:


Incorrect behavior of nested components inside  with v beta.2

Describe the bug
After updating Clarity up to 1.0.0-beta.2 I got broken datagrid component.
Any custom components inside <clr-datagrid> tag doesn't rendered.
I found related issue https://github.com/vmware/clarity/issues/2373
There i found solution, but it won't work with latest Clarity versios (1.0.0-beta.2 at the moment).
How to reproduce
https://stackblitz.com/edit/clarity-datagrid-nested-row-tttvyz
Expected behavior
I hope that next code should work:
<clr-datagrid>
  <clr-dg-column [clrDgField]="'id'">User ID</clr-dg-column>
  <clr-dg-column [clrDgField]="'name'">Name</clr-dg-column>
  <user [user]="user" *clrDgItems="let user of users"></user>
</clr-datagrid>

user component template looks like:
<clr-dg-row>
  <clr-dg-cell>{{user.id}}</clr-dg-cell>
  <clr-dg-cell>{{user.name}}</clr-dg-cell>
</clr-dg-row>

ngProjectAs="clr-dg-row" on <user> component tag also doesn't help.
Versions

Angular: ^6.0.6
Clarity: ^1.0.0-beta.2

Hi, @RomanLavrinenkoDevPro,
Clarity 1.0 runs on Angular 7.
This is a fork of your example, with only the angular dependencies updated:
https://stackblitz.com/edit/clarity-datagrid-nested-row-clwyxy

Hi @Jinnie
Sorry, but as i can see in your example in package.json you use
"@clr/angular": "^0.13.10",
"@clr/icons": "^0.13.10",
"@clr/ui": "^0.13.10",

This is doesn't fit requirements from my request.

You are right, I've reverted the @clr packages.
What I can see is that the CSS links inside index.html are wrong - they are pointing the v0.13 files.
This does not seem to fix it though.

Yes, you are right.
I've updated css links but this doesn't help
https://stackblitz.com/edit/clarity-datagrid-nested-row-wdzcnz

This is something that did work, but with our refactoring in 1.0 this doesn't continue to work as it did before. Interestingly, the workaround I posted actually does break a number of datagrid features but they aren't being used in this demo. So in truth, this is not really a supported use case.
Can you explain why you want to wrap your datagrid row? I don't see any real reason to do this, and it does create issues for provider trees in Angular to correctly support many features.

@gnomeontherun Hi! Sorry for delay with my answer.
Yeah, i've tried to find the reasons about why in real I need to do this and the only one reason I found is that in our project we have many (MANY) places where this is already done. So we should make a lot of refactoring to move to the v1+.
I'm not sure that I can call this like 'breaking changes' because moving clr-dg-row to external component was not documented feature, but unfortunately this looks so for us.
Anyway thanks for your answer and thoughts.
Probably this bug can be closed if described above behavior is 'by design'.

This is a problem I'm running into after updating to 1.0 as well.
In my use case I'm using claritys datagrid as the listview component of a document library. I have each datagrid row in it's own component so I can wrap each in a file-drop-component and drag-and-drop component to facilitate file uploads via drag/drop to a particular location in the library and moving files/folders into one another.
Grid Component
<file-drop (onFileDrop)="uploadDropped($event)" (onFileOver)="uploadOver($event)" (onFileLeave)="uploadLeave($event)" customstyle="file-drop">
    <clr-datagrid [(clrDgSelected)]="selected" (clrDgSelectedChange)="selectedChange($event)" class="datagrid-host-fullheight" dndDropzone (dndDrop)="moveDropped($event)" (dndDragover)="moveOver($event)" (dragleave)="moveLeave($event)" [class.over]="moveOverFlag">
        <clr-dg-column>Name</clr-dg-column>
        <clr-dg-column>Size</clr-dg-column>
        <clr-dg-column>Date</clr-dg-column>
        <ng-container *clrDgItems="let item of libraryItems.items" ngProjectAs="clr-dg-row">
            <app-list-view-item [item]="item" (onEdit)="itemEdit($event)" (onMove)="itemMove($event)" (onUpdate)="itemUpdate($event)" [dndDraggable]="item" [(draggedItem)]="draggedItem" [dndDisableIf]="item.isRoot" (dndStart)="moveStart($event,item)"></app-list-view-item>
        </ng-container>
    </clr-datagrid>
</file-drop>

Row Component
<file-drop (onFileDrop)="uploadDropped($event)" (onFileOver)="uploadOver($event)" (onFileLeave)="uploadLeave($event)" customstyle="file-drop" [disableIf]="!item.isFolder">
    <div dndDropzone (dndDrop)="moveDropped($event)" (dndDragover)="moveOver($event)" (dragleave)="moveLeave($event)" [class.over]="moveOverFlag" [dndDisableIf]="!item.isFolder">
        <clr-dg-row [clrDgItem]="item">
            <clr-dg-action-overflow>
                [...]Library Item Actions[...]
            </clr-dg-action-overflow>

            <clr-dg-cell [routerLink]="['/document-library', item.id ]" style="cursor: pointer">
                <clr-icon [attr.shape]="item.isFolder ? 'folder': 'file'" [class.is-solid]="item.isFolder"></clr-icon>
                {{ item.name }}
                {{ item.size }}
                {{ item.date }}
            </clr-dg-cell>

        </clr-dg-row>
    </div>
</file-drop>

@mathisscott - I'm not sure if you're the correct person to reach out to here, but you do seem to be the most responsive.
I really need some direction on this. If I can't count on this functionality coming back I'm going to need to abandon clarity 1.0 migration or find something other than the datagrid to use in my document library component. Both options are going to mean I wasted a lot of time. This was working perfectly for my use case prior to upgrade. Disappointing to say the least.

@jacobbutton
Thanks for reaching out. I’m in meetings for the next three days so I’m going to ping @gnomeontherun to see if he can get someone on the team to give you an answer

Hi @jacobbutton. I'm following up on this since I'm the one who made the changes for datagrid rendering in v1.0.0. I had to modify how rendering worked in order to be able to support the planned pinned column feature. Thats why it was released in v1.0.0 instead of v0.13.x .
I understand how much you have invested in your solution which wraps the datagrid row child component in two other components for filedrop and drag-and-drop. As was previously mentioned in this thread while this technique works in Clarity versions prior to v1.0 it:

Breaks several other datagrid features
Will cause issues with the internal datagrid providers
Is not a recommended way to use a datagrid rows.

May I ask if there is a reason that a table or list would not work for your UI?
I'm sure that you are disappointed and am sorry for that. I had to make these changes so that we could better control where and when the child components are rendered in a way that doesn't impact what kind of data gets projected. I also tried to make sure that it was backward compatible( which means that a datagrid functioned and looked the same is it did before the rendering changes) with the existing features and known use cases. Given that this behavior was unsupported before the rendering changes I don't see us adding in the future. However if you feel it should be part of the datagrid please open an issue and take the lead on proposing an architecture that will support it.

I'm closing this based on the conversation around the original report.

I see why you would use the datagrid if you need selection and actions. You don't seem ungrateful and I've been frustrated before so I empathize with your situation.
I appreciate your feedback - it helps me better understand how the different datagrid features are being used in the wild.  Again, I'm really sorry for your frustration - if you go down the path of implementing those features and have issues I'm happy to help. Feel free to DM me through twitter hippeelee or tag me on StackOverflow and I'll take a look.

For what it's worth, the template you posted makes the datagrids completely unreadable on a screenreader. For accessibility reasons, tables need to be composed only of table elements (headers, body, rows, cells), and inserting buttons, draggable divs or other elements with entirely different semantics in the middle makes them impossible to navigate on a screenreader.
I don't know how critical accessibility is to you, and this is something that's customized on your side and not in Clarity so it can't really factor in our decision, but I figured it was worth mentioning.


Test that translation files are compiled

Description

Adds a new job to the test.yml workflow file that fails if any of the .po translation files have changes in them that are not reflected in the corresponding .mo files (624708cd29041ca800ceb870927806bf15aad506). (This was largely based on https://github.com/stefanfoulis/django-phonenumber-field/pull/446).
Additional changes

Minor improvements to test.yml (c171ccdfb40508b9ecca36a27679c1c3a1b85a07, 1fba14edb1b8bf73e962c9f90c01eacb31523d5d, 13c9c0aaf37638fcd8e228c3275bdd30c8fec11c)
Dependabot now checks the workflow files for updates to the actions used in those files (b38a0dd904f0ee3d2b0f8bc6ffa6374a9e58d91e)
Updated compiled translation files (670e95232ee393ab7a21faeeff1f4f3b766e6fb0)

Not really sure what has been changed, just that these files had changes in them when compiling them locally

Related Issue

Motivation and Context

This should make it easier for PR reviewers to verify that the .mo files have been properly compiled/updated.
How Has This Been Tested?

Through GitHub Actions.
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the pre-commit run command to format and lint.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[ ] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

@valberg @hramezani @joshuadavidthomas Btw, do notify me if you'd like to not be tagged to review PRs anymore :)

Great work @ddabble - and just keep tagging me, I'm more than happy to help review stuff :)


fix(BModal): Ensure modal-open class is always removed (#1545)

Describe the PR
Fixes #1545 by ensuring the modal count is decremented in modalManager even when the transition doesn't have time to run (due to the element being removed immediately vs. hidden).
Sadly unable to write a unit test for this due to vitest not firing transition events.
Small replication
A small replication or video walkthrough can help demonstrate the changes made. This is optional, but can help observe the intended changes. A mentioned issue that contains a replication also works.
PR checklist

What kind of change does this PR introduce? (check at least one)

[x] Bugfix :bug: - fix(...)
[ ] Feature - feat(...)
[ ] ARIA accessibility - fix(...)
[ ] Documentation update - docs(...)
[ ] Other (please describe)

The PR fulfills these requirements:

[x] Pull request title and all commits follow the Conventional Commits convention or has an override in this pull request body This is very important, as the CHANGELOG is generated from these messages, and determines the next version type. Pull requests that do not follow conventional commits or do not have an override will be denied

CI workflow failures appear to be pre-existing -- appears main is broken too (!)


Update LICENSE.md

Asking permission from all authors to ensure compliance with https://opensource.org/licenses/BSD-3-Clause

I approve this change.

I approve this change.


any chance to choose an exit node via this interface?

normally one would have to start tailscale like so, in order to choose a specific exit node:
sudo tailscale up --exit-node=<exit-node-ip>

https://github.com/mattn/tailscale-systray/pull/14 seems to claim it does

#14 isn't merged into this branch, is it?

I've done a fresh install, and it seems that #14 hasn't been pulled into this branch? I see a list of other devices, but no ability to choose an exit node.


Bump Rust to v1.69.0

What type of PR is this?
/kind ci
What this PR does / why we need it:
We can also remove the build constraints from the Cargo.toml file since we have updated them in the past.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

Updated latest required Rust version to v1.69.0

Codecov Report

Merging #1567 (5006162) into main (bbf4eea) will increase coverage by 0.88%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1567      +/-   ##
==========================================
+ Coverage   33.95%   34.83%   +0.88%
==========================================
  Files          13       13
  Lines        1134     1134
  Branches      391      392       +1
==========================================
+ Hits          385      395      +10
+ Misses        493      483      -10
  Partials      256      256

/lgtm

@saschagrunert needs a rebase

Rebased :+1:

/lgtm


Add 'test case' functionality to Casper.test

(originally reported on the google group: http://groups.google.com/group/casperjs/browse_thread/thread/4dc3aa408e1d8157)
Be able to give a name to groups of assertions. Typically these are known as test cases, and they provide a  useful way to both read tests and report on them. This can be optional (streams of assertions can work fine as well), but if implemented they should be part of the context passed around in emitted events. The name of the test case should be used in the xunit (and other) test reporting output.

Could you provide a sample XUnit XML that would work for you? I can't find much documentation about the format… Thanks.

It certainly is a terribly documented format. Here's a sample XML with this:
<testsuite name="SessionTest" tests="7" time="8.462239" failures="0" errors="0" skipped="0" assertions="22">
  <testcase name="test_after_create_session_sets_correct_info" time="2.717878" assertions="3"></testcase>
  <testcase name="test_must_have_a_session_method" time="1.311574" assertions="2"></testcase>
  <testcase name="test_create_session_if_doesn't_exist" time="1.328176" assertions="2"></testcase>
  <testcase name="test_valid_with_different_role" time="1.303761" assertions="4"></testcase>
  <testcase name="test_session_must_have_role" time="0.001953" assertions="5"></testcase>
  <testcase name="test_session_still_valid_when_role_changed" time="0.498066" assertions="4"></testcase>
  <testcase name="test_session_must_have_end_time" time="1.299855" assertions="2"></testcase>
  <system-out></system-out>
  <system-err></system-err>
</testsuite>

This is output produced by Rails with its own conventions (e.g., underscores for spaces in the testcase name).
And for more info, here's a reference to the XSD, though I haven't checked it to see if it's actually valid:
http://windyroad.org/2011/02/07/apache-ant-junit-xml-schema/


[Feature Request] Face Enhance feature support

There is a feature in the official implementation of Real-ESRGAN that utilizes GFPGAN for face enhancement.
Could you please add this feature to the implementation of vs-realesrgan? It would be very helpful for processing some videos.
Thank you very much!

I ported CodeFormer in https://github.com/HolyWu/vs-codeformer and it allows you to specify a background clip which has been upsampled (not restricted to Real-ESRGAN like in the official implementation).


Coding style documentation

Reviewers for Bluetooth patches seem to have a clear idea of the coding standard that the Bluetooth subsystem is supposed to follow, but this isn't documented anywhere.
Create a "coding style" page with all the do's and don'ts here https://docs.zephyrproject.org/latest/connectivity/bluetooth/index.html
It can include stuff like doxygen commenting style, newline before return, scope of vars, etc..

We used to have a discussion that was closed due to inactivity too: https://github.com/zephyrproject-rtos/zephyr/discussions/41120
There are a lot of code styles that we haven't agreed on, and thus probably shouldn't be enforced.

the purpose of this task really is that once we have that document, a style comment on a PR should have a corresponding entry in that document, or shouldn't be made.

That assumes that we can agree on such rules :D And we would also need to ensure that they do not conflict with any of the non-BT Coding Guidelines (https://docs.zephyrproject.org/latest/contribute/coding_guidelines/index.html)

That way we cut down on the review noise and can focus on the actual behavior/functionality.
IMO the only way we can really achieve this, is if we can have a tool in CI run these tests, but that would require general support from Zephyr, as such a tool should apply for the entire Zephyr project.

Personally I agree with your statements, but having tried to walk down the path of BT specific guidelines, I don't have high hopes for a solution. I won't take the lead on this, but I'll support anyone that will :)

Alright, I'll assign it to myself then. I'll try to start with a small subset we can all agree on.

another instance of this https://github.com/zephyrproject-rtos/zephyr/pull/55952#issuecomment-1476146602

More material: https://github.com/zephyrproject-rtos/zephyr/pull/71638#discussion_r1575745662

Another: https://github.com/zephyrproject-rtos/zephyr/pull/72090#discussion_r1596897603

why, when and where to use const
https://github.com/zephyrproject-rtos/zephyr/pull/72090#discussion_r1599731797

What about #ifdef comments: https://github.com/zephyrproject-rtos/zephyr/pull/72090#discussion_r1603242269

implicit casts to bool: https://github.com/zephyrproject-rtos/zephyr/pull/72090#discussion_r1616716521

implicit casts to bool: #72090 (comment)

This is required by MISRA 14.4: https://docs.zephyrproject.org/latest/contribute/coding_guidelines/index.html#id29
We don't yet require PRs to comply with the MISRA rules IIRC

retval, ret or err? hmmm https://github.com/zephyrproject-rtos/zephyr/pull/72674#discussion_r1601351663

Should values in enum use the enum name as prefix?
https://github.com/zephyrproject-rtos/zephyr/pull/73527#discussion_r1621925972


Successful "Compile" should indicate success.

Right now the Compile button will show an error if there is an error, but if there is no error, it seems to do nothing, which is confusing for new users.
A successful compilation should at least show some indication that the code was compiled successfully.

should be done together with
https://github.com/ethereum/browser-solidity/issues/489


Batch API response (QM focus)

This is a question to get the conversation started on the batch API response for M3.

Can more than one result be returned per query?
Can we have no results returned, or will there always be something (maybe just low relevancy)?

If multiples are returned is the first one the best? Add relevancy to determine the best?

Adding a status per query ('OK', 'No results', 'Multiple Results')?
Add keys for app specific (e.g. QM) queries?
Should we introduce FeatureCollection for results per query?

A possible example:
[
  {
    "type": "FeatureCollection",
    "query": "638 Louise Terrace, Loomis, California, 81985",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [
            -74.518537,
            179.083152,
            0
          ]
        },
        "properties": {
          "address": "637 Louise Terrace, Loomis, California, 81985",
          "alt_addresses": "",
          "load_date":<PHONE_NUMBER>262,
          "relevancy": 0.99
          // QM fields
          "county": "",
          "census_block": 2.03,
          "rural_underserved": false
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [
            -74.518537,
            179.083152,
            0
          ]
        },
        "properties": {
          "address": "636 Louise Terrace, Loomis, California, 81985",
          "alt_addresses": "",
          "load_date":<PHONE_NUMBER>262,
          "relevancy": 0.99
          // QM fields
          "county": "",
          "census_block": 2.03,
          "rural_underserved": false
        }
      }
    ],
    "status": "OK"
  }
]

Can more than one result be returned per query?
We are not doing this right now, but it is possible. Some geocoding services only return one (i.e. census, it is ONE interpolated point)
Can we have no results returned, or will there always be something (maybe just low relevancy)?
No results is a valid return. There are addresses that can't be found at all, even though they look fine to the parser
If multiples are returned is the first one the best? Add relevancy to determine the best?
The first one is usually the closest match. We can add a field that has a "quality" or "match" score (taken from underlying Elasticsearch results, or doing our own)
Adding a status per query ('OK', 'No results', 'Multiple Results')?
Yes, this is coming, in a PR that will be merged soon
Add keys for app specific (e.g. QM) queries?
Hmmm not sure we want to do this, it couples service with clients in a subtle way (number of clients could be n). I think grasshopper is "one" geocoder that provides a default cascading experience to some backend geocoding microservices. How these are composed can change, there could be a QM client that consumes part of these, or that composes them in a different way.
Should we introduce FeatureCollection for results per query?
It's possible. We have gone a different route for now (upcoming PR, will have documentation in docs folder), but we can discuss. Your example json reads as "array of feature collections" to me (though there is only one)

Thanks @jmarin .
I'm ok with only one result, certainly simplifies things on the front-end. In QM-land we were showing multiples (and giving the option to choose), but having only one possible response removes that need ... which seems good to me, for a version 1.
Same for no results.
So, for the additional fields (QM example), are you saying we'll a call to a QM API which in turn will handle the geocoder call as well? And piece it all together? Again, sounds good just want to make sure I understand. Seems like the response in the QM case could be very similar to the geocoder response, with a few additional fields.
For the FeatureCollection, the array was to show that there could be more than one, but yeah, I only included one. Though it might not be necessary if we have only 0 or 1 response per address. Features would be fine, as long as we have the actual query in there too. Maybe as a property value, really only necessary for batch.
[
    {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [
            -74.518537,
            179.083152,
            0
          ]
        },
        "properties": {
          // the query
          "query": "636 Louise Terrace, Loomis, California, 81985",
          "address": "636 Louise Terrace, Loomis, California, 81985",
          "alt_addresses": "",
          "load_date":<PHONE_NUMBER>262,
          "relevancy": 0.99
        }
    },
    // as many others as required
]

@awolfe76 Thanks, this gives me something to start chewing on. Will update this with comments as I dive deeper into the implementation


Support setting user permissions from frontend

Organization admin should be able to add organization members with VIEWER or ADMIN roles
The first organization admin is the user who created it

We need to

[x] https://github.com/analysis-dev/save-cloud/issues/622
[x] Support this API from frontend

Right now we have all the tasks done for projects permissions. (#621, #669, #686).
Soon the same things will be implemented for organizations (#708)

#708 is closed so permission management from frontend is implemented.


Table 'myproj.responsive_images_originalimage' doesn't exist

I'm trying to use your DRI in an existing project (i.e, I already have models, etc built with content in them for a site already in production).
Are there any additional steps that have to be taken to set this up other than what's in the documentation?
If there's supposed to be a responsive_image_originalimage table, how do we get it there?

@ursomniac Did this work for you?

I am also having same problem. I have created a migration using python manage.py makemigrations responsive_images then tried to migrate it but nothing is migrated.

Running make migrations with the package name "responsive_images" worked for me.  Thx man!

Any chance the needed migrations will be included in a new release? And thanks for the work so far, it's a very useful app!

I didn't realize anyone was still using this, to be honest! I'll see if I can put together an update.


Add tool and instructions for converting Jy/beam->K for big cubes

The docs show a general example of how to handle huge cubes.

Coverage increased (+0.01%) to 75.635% when pulling 7534013b79ac7eabe5b576879c968f72890299ab on keflavich:jybeam_for_big into 8df86d29e5a61538df8d900af94cfe1bf955d68c on radio-astro-tools:master.


DNM: CI debug ganesha issues

PR for debugging purposes

@guits I'm not sure if you're aware, but we have a jenkins job you can use to run any testing scenario individually without creating a PR. https://2.jenkins.ceph.com/job/ceph-ansible-scenario/
It allows for you to use any branch of ceph-ansible to test with.

closing this in favor of andrew's tips thanks maggle

thanks @andrewschoen


Cannot run the event loop when using pytest asyncio tests after Playwright tests

When I run async tests using pytest-asyncio (marked with @pytest.mark.asyncio) after integration tests using playwright-pytest (which only uses playwright.sync_api calls), then those tests fail with the below error message. If I run the async tests before the integration tests then everything works fine.
Why is there still some event loop running after the integration tests finished even if I don't use async calls with Playwright?
Edit:
After some research, it seems to be a known problem, which is simply an incompatibility between pytest-asyncio and playwright-pytest. playwright-pytest seems to start an event loop (even when using the sync API) and pytest-asyncio doesn't get along with an already started one.
See https://github.com/pytest-dev/pytest-asyncio/issues/359
args = (), kwargs = {}, coro = <coroutine object test_start_transmit_file at 0x7f1c08343f40>
task = <Task pending name='Task-10' coro=<test_start_transmit_file() running at /workspaces/adit/adit/core/tests/utils/test_file_transmit.py:18>>

    @functools.wraps(func)
    def inner(*args, **kwargs):
        coro = func(*args, **kwargs)
        if not inspect.isawaitable(coro):
            pyfuncitem.warn(
                pytest.PytestWarning(
                    f"The test {pyfuncitem} is marked with<EMAIL_ADDRESS>"
                    "but it is not an async function. "
                    "Please remove asyncio marker. "
                    "If the test is not marked explicitly, "
                    "check for global markers applied via 'pytestmark'."

Call stack:
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1784, in call_exception_handler
    self.default_exception_handler(context)
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1758, in default_exception_handler
    logger.error('\n'.join(log_lines), exc_info=exc_info)
Message: "Task was destroyed but it is pending!\ntask: <Task pending name='Task-10' coro=<test_start_transmit_file() running at /workspaces/adit/adit/core/tests/utils/test_file_transmit.py:18>>"
Arguments: ()

After some investigation, it's quite easy to work around this by installing next_asyncio.
I then simply put this in my root conftest.py:
def pytest_configure():
    nest_asyncio.apply()

I now see what seems to be official asyncio integration: https://github.com/microsoft/playwright-pytest/tree/main/pytest-playwright-asyncio (and on pypi too). Does that mean we can switch to using that now instead of nest_asyncio?

In my experience, yes. That implies updating existing tests to import from playwright.async_api, which also requires adding many async/await and  putting all tests in the same loop.


Unable to start two apps with the same name

I found another issue with liberty:dev. Since my server.xml has webApplication, which will put .war under apps, while liberty:dev uses loose mode. I got the following error:
[INFO] [ERROR   ] CWWKZ0013E: It is not possible to start two applications called demo.

<?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">   <modelVersion>4.0.0</modelVersion>   <groupId>com.example</groupId>   <artifactId>demo</artifactId>   <version>1.0-SNAPSHOT</version>   <packaging>war</packaging>   <properties>     <openliberty.maven.version>3.0</openliberty.maven.version>     <failOnMissingWebXml>false</failOnMissingWebXml>     <openliberty.version>[<IP_ADDRESS>,)</openliberty.version>     <maven.compiler.source>1.8</maven.compiler.source>     <maven.compiler.target>1.8</maven.compiler.target>   </properties>   <dependencies>     <dependency>       <groupId>org.eclipse.microprofile</groupId>       <artifactId>microprofile</artifactId>       <version>3.0</version>       <type>pom</type>       <scope>provided</scope>     </dependency>   </dependencies>   <build>     <finalName>${project.artifactId}</finalName>   </build>   <profiles>     <profile>       <id>liberty</id>       <activation>         <activeByDefault>true</activeByDefault>       </activation>       <build>         <finalName>${project.artifactId}</finalName>         <plugins>           <plugin>             <!--<groupId>net.wasdev.wlp.maven.plugins</groupId>-->             <groupId>io.openliberty.tools</groupId>             <artifactId>liberty-maven-plugin</artifactId>             <version>${openliberty.maven.version}</version>             <executions>               <execution>                 <id>package-server</id>                 <phase>package</phase>                 <!--<goals>                   <goal>create-server</goal>                   <goal>install-apps</goal>                   <goal>package-server</goal>                 </goals>-->                 <goals>                   <goal>create</goal>                   <goal>deploy</goal>                   <goal>package</goal>                 </goals>                 <configuration>                   <outputDirectory>target/wlp-package</outputDirectory>                 </configuration>               </execution>             </executions>             <configuration>               <assemblyArtifact>                 <groupId>io.openliberty</groupId>                 <artifactId>openliberty-runtime</artifactId>                 <version>${openliberty.version}</version>                 <type>zip</type>               </assemblyArtifact>               <!--<configFile>src/main/liberty/config/server.xml</configFile>-->               <appArchive>${project.build.directory}/${project.artifactId}.war</appArchive>               <packageFile>${project.build.directory}/${project.artifactId}.jar</packageFile>               <include>runnable</include>               <serverName>${project.artifactId}</serverName>               <installAppPackages>project</installAppPackages>               <configDirectory>${project.basedir}/src/main/liberty/config</configDirectory>               <bootstrapProperties>                 <project.name>${project.artifactId}</project.name>                 <jwt.issuer>https://server.example.com</jwt.issuer>                 <https.port>9543</https.port>                 <http.port>9181</http.port>               </bootstrapProperties>             </configuration>           </plugin>         </plugins>       </build>     </profile>   </profiles> </project>

copy.xml.txt

server.xml

Emily, are you customizing the plugin configuration for particular reasons?
You should only need to specify the below:
<plugin>
                <groupId>io.openliberty.tools</groupId>
                <artifactId>liberty-maven-plugin</artifactId>
                <version>3.0.1</version>
</plugin>

When I was recreating the issue, I found the following in the console:
[debug] Variable project.name cannot be resolved.
[info] The variables referenced by location ${project.name}.war cannot be resolved.
That is why the app is getting defined in configDropins folder, resulting in two apps configured for the server. Need to determine why that variable cannot be resolved. I see it in bootstrap.properties. Will debug further.

I debugged to the point that I see a potential issue.
The DevMojo calls the DeployMojo like this:
    // update target server configuration
    copyConfigFiles();
    exportParametersToXml();

but copyConfigFiles() doesn't see the "inlined" bootstrap.properties.
So the "is the app configured" calculation can't resolve <webApplication location="${project.name}.war" with "${project.name}" intended to come from bootstrap.properties, and so we generate the configDropin with the "second" config of this app.
A bit later, when it's time to actually start the server, though, the bootstrap.properties are set on the mojo config.
I wonder if it's because the io.openliberty.tools.maven.server.DevMojo.getPluginConfigurationElements(String, String, List<String>) logic is selectively propagating or not propagating config..and not doing the right thing for bootstrap.properties?

I tried a fix in this branch:
https://github.com/scottkurz/ci.maven/pull/new/propagate-bootstrap-props-in-dev-mode
but didn't actually submit the PR.
Not sure if there's already a util for building mojo executor Element(s) from Maven xpp3dom (I coded part of one).
I observed that, probably because of plugin prefix resolution.. you have to install locally the parent module... you can't just build/install the  liberty-maven-plugin module like I'd sometimes try to do as a shortcut.

@ericglau

Same as issue #581 ?

I can reproduce this with this project https://github.com/Emily-Jiang/reactive-service-b
Looks related to parsing a variable from the server.xml
[INFO] CWWKM2144I: Update server configuration file server.xml from /Users/eric/git/reactive-service-b/src/main/liberty/config/server.xml.
[debug] Variable project.name cannot be resolved.
[info] The variables referenced by location ${project.name}.war cannot be resolved.
[debug] Variable project.name cannot be resolved.
[INFO] CWWKM2185I: The liberty-maven-plugin configuration parameter "appsDirectory" value defaults to "apps".
[INFO] CWWKM2160I: Installing application demo.war.xml.
[WARNING] CWWKM2179W: The application is not defined in the server configuration but the POM configuration indicates it should be installed in the apps folder. Application configuration is being added to the target server configuration dropins folder by the plug-in.
[INFO] Successfully created liberty:dev server.env file
[INFO] Copying 1 file to /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo
[INFO] Copying 1 file to /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo
[INFO] CWWKM2144I: Update server configuration file server.xml from /Users/eric/git/reactive-service-b/src/main/liberty/config/server.xml.
[INFO] CWWKM2144I: Update server configuration file bootstrap.properties from inlined configuration.
[INFO] CWWKM2001I: server.config.dir is /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo.
[INFO] CWWKM2010I: Searching for CWWKZ0001I.* in /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo/logs/messages.log. This search will timeout after 30 seconds.
[INFO] CWWKM2001I: server.output.dir is /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo.
[INFO] CWWKM2013I: The file /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo/logs/messages.log being validated does not exist.
[INFO] CWWKM2001I: Invoke command is [/Users/eric/git/reactive-service-b/target/liberty/wlp/bin/server, debug, demo].
[INFO]
[INFO] Listening for transport dt_socket at address: 7777
[INFO] CWWKM2013I: The file /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo/logs/messages.log being validated does not exist.
[INFO] Launching demo (Open Liberty <IP_ADDRESS>/wlp-1.0.32.cl190920190905-0148) on Eclipse OpenJ9 VM, version 11.0.4+11 (en_CA)
[INFO] [AUDIT   ] CWWKE0001I: The server demo has been launched.
[INFO] [AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /Users/eric/git/reactive-service-b/target/liberty/wlp/usr/servers/demo/configDropins/defaults/install_apps_configuration_1491924271.xml
[INFO] [AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[INFO] [ERROR   ] CWWKZ0013E: It is not possible to start two applications called demo.

Hello @scottkurz ,
Thanks for your excellent work on my stackoverflow question. It reminds me of the golden days when BalusC would be so all over JSF questions on StackOveflow I wondered if he was an AI (he's not).
I tried to apply your advice in this fork/branch to my simple use case, which seems exactly the same as @Emily-Jiang 's here.  In my case I'm using ${project.artifactId} and Emily is using ${project.name}. In both cases I see the dreaded CWWKZ0013E: It is not possible to start two applications called guide-getting-started. error. What's worse, I observe some non-deterministic behavior: sometimes the app starts on "/" and other times on "/getting-started-guide".  Is this a regression? Please see the pom in the github.

Thanks for your excellent work on my stackoverflow question. It reminds me of the golden days when BalusC would be so all over JSF questions on StackOveflow I wondered if he was an AI (he's not).

I don't deserve such praise, but thank you for your appreciation :)
Yes, the liberty-maven-plugin is failing to parse the server.xml correctly in order to determine the deployed app location.   It's doing this in order to determine if it needs to generate config for the app deployment.     But it's not handling variables correctly on the webApplication location itself and on the include location, supplying the "filtered" variable that I suggested you create on the StackOverflow post.   I opened  https://github.com/OpenLiberty/ci.maven/issues/1145 to follow-up on that.
I'm going to gloss over the "non-deterministic" aspect just a bit without a full explanation.   The reason is that I know from experience there is a cache involved that can lead to experiences like you mentioned where it doesn't work the same each time.   Acknowledging, not explaining, I know.
Also, it looks like you may have only really be using your own config to select a context root of "/".
<webApplication location="${project.artifactId}.war" contextRoot="/" />
I also opened issue:  https://github.com/OpenLiberty/ci.maven/issues/1146  to see if we might find an easier way to use our plugin-generated config with a different ctx root like "/", in which case you might not need to worry about resolving variables in your own config.
Thanks for working through this with us.


Backoff with cpu_relax

Fixes #8. Based on a version of exponential backoff in the lockfree library.

This will spin vs the old more restful wait (you could imagine using sleep I guess). However it matches how we are handling this in lockfree and fixes the issue which makes kcas not compile.
Merging.


Challenge's test fails to identify 10px width on border

Challenge Waypoint: Add Borders Around your Elements has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

 This code passes the tests without issue for me in both Chrome and Firefox.

i am having the same issue as op.
Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

Test passes if you enter 11px instead of 10px

+1

@natepers thanks for posting this issue!
Note that your issue is a duplicate of https://github.com/FreeCodeCamp/FreeCodeCamp/issues/3204 so I'll close it. You can find the solution of this problem there, thanks.

Please review the Guidelines for Contributing, thank you!.


fix: ButtonContainer should grow to fit its parent

Overview

Adds width 100% to ButtonInner to make buttons resizable.

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[x] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.4.6-alpha.34b9be.0@codecademy/gamut-labs@18.3.6-alpha.34b9be.0@codecademy/gamut@33.4.4-alpha.34b9be.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60b78feb44625f0c9c894951--gamut-preview.netlify.appDeploy Logs


Make JSON parsing common between JsonToStructs and ScanJson

This fixes #10456
This fixes #10467
This fixes #10469
This fixes #10494
This fixes #9588
This fixes #4779
This fixes #10470
This fixes #10460
This fixes #10468
The fixes are mostly from combining fixes that were in ScanJson with fixes that were in JsonToStructs, which removed a lot of corner cases where one had fixed some things and the other had fixed others.
Sadly it did not fix the date/timestamp parsing. The Date/Timestamp parsing is based off of ScanJson, which was more liberal in many areas compared to from_json, but does not support reading numbers as dates/timestamps like from_json partially did. It caused a number of tests in from_json to start failing partly because it is not falling back in cases that ScanJson has problems.
As a part of this it also added in some nested type support for ScanJson with tests added from https://github.com/NVIDIA/spark-rapids/pull/10325
With this we also have adopted the configs spark.rapids.sql.json.read.float.enabled, spark.rapids.sql.json.read.double.enabled, and spark.rapids.sql.json.read.decimal.enabled for from_json.

build

build

build

@andygrove could you please take another look? I had gotten some schema mixed up that fixed things for JSON, but ended up breaking CSV. That should be fixed now.

This also fixed https://github.com/NVIDIA/spark-rapids/issues/4647