1.2.0 breaking change out of box creating tileset (GDScript)

Describe the bug
When using isometric tiles that are a different size from the grid tile (e.g. double height tiles for trees as pictured in example below)

version 1.1.2 would import the tiles with expected alignment (matching how Tiled interprets them when painting to a map)

In version 1.2.0 (and onwards) tiled imports the tileset assuming the boundary for where to place the tile is centered

This results in tiles being painted half a tile lower than expected as depicted below

Additionally, their collision physics are now completely distorted, see below for comparison:

To Reproduce
Steps to reproduce the behavior:

Use the provided sample map (no extra configuration used)
Import using version 1.2.0 or later

Expected behavior
Tileset should import as expected, like it used to.
Desktop (please complete the following information):

OS: Windows 10
Version 1.2.0
Godot Version 4.0.1
Tiled Version 1.10.0

Example map (zipped)
tempfarm.zip
Additional context
Add any other context about the problem here.

I notice a couple places is TilesetCreator.gd where the condition if _tileset_orientation == "orthogonal" was added that seem to transform some things about texture mapping. Removing those branches almost reverts behavior. The first tile still exhibits the shift but the rest are realigned. Perhaps this helps you narrow down the culprit.

Hi, I'm sorry that you've just stumbled upon my current construction site (isometric tiles) and that I seem to have temporarily made things worse here as well.
Actually I am in the process of completely reworking isometric so that it is correct for all displacements and height/width ratios etc. including the collision polygons, whose .tmx/.tsx geometry data (in the case of isometric) the devil has seen.
Could possibly take more than a few hours, as I really want to be thorough this time.
Thank you for your example, that will help me a lot.

Interestingly your .tsx is NOT set to 'isometric'. That's one more combination (isometric map, non-isometric tileset) to be handled. (And that's most probably the reason why in 1.1.2 it works but no longer in 1.2.1)

Interesting! I must have missed this property as it wasn't available on creation in Tiled like it is on maps. In fact, setting the tileset back to isometric with appropriate grid dimensions creates the exact collision-box distortion in the issue description.
When making this adjustment on my end to label the tileset as it should be, I notice my collision import is as desired, but the centering of the tile on the grid still exists, rather than snapping to the bottom as it used to. Updated tileset below works with tiled as expected but is still offset by half a tile vertically in godot.
testset.zip

Concerning "... to label the tileset as it should be". I'm not sure that this is a strict 'should be'. I assume that it's depending weather one likes to have the automatically skewed rectangles or not. The overall map (in Tiled) seems to work both ways so I have to ensure that both ways are importable and have the absolutely same result.
The offset by half a tile is another animal having not exactly to do with the tileset being isometric or orthogonal.
It probably was introduced by the condition if _map_orientation == "orthogonal" in TilemapCreator.gd as well as that one mentioned by you.
I will remove that and find another way to correct that isometric test design of mine which is then off :-)
The challenge is: All contingencies must work.
Please give me some time...

Hi, just have released v1.2.2 and hope that the issues discussed here are solved.
Thanks for all your input.

This solves most of the issue! Isometric tiles are once again properly aligned in the imported tileset. However, collision information is not properly transferred, as depicted below in the TileSet window in Godot. The reproduction assets I sent you should already have this collision info in the .tsx file, so I imagine you should be able to reproduce this.

Ooops! I've typed in one single sign wrong when translating from C# to GDScript (I'm developing in C#).
And in the tests I must have missed exactly that, perhaps only checked the orthogonal version.
I'm very sorry for that, that really should not happen!!
Fixed in upcoming v1.2.3.
As I'm not yet sure if I also have to fix s.th. for the other issue #7 and should that be delayed you can fix it simply by changing line 376 in (TilesetCreator.gd) from
object_base_coords.y += _grid_size.y / 2.0
to
object_base_coords.y -= _grid_size.y / 2.0

I'd like to close the issue. Ok?

I haven't had a chance to test this yet but it seems like you've identified and solved the issue. I can reopen if it doesn't work for me.


Implement LSP server/client structure

See https://github.com/sansarip/owlbear/issues/24#issuecomment-1008175570
Before starting this the LSP journey, it may be worthwhile to see if another JavaScript parsing library can do the task at hand with acceptable run times e.g. Tree Splitter #28

See #28


Recieve SMS example?

I don't have much experience at all with web stuff, especially done in Haskell. Would be nice to have a simple example of a round trip SMS exchange.

@cpdurham can you explain at a high-level the scenario you'd like to see? Then we can see about writing an example for it.
Thanks,
Mark

Yeah, I'm completely new to Twilio, didn't read any docs and got sending working immediately with very little knowledge thanks to your library. Took me a while going through the docs and then finally a tutorial by Twilio on how to receive message to realize that you had to run a web server to receive SMS.
I got a simple snap server running with POST and ngrok (from the tutorial) and got a server up. At a high level, might be cool to see a simple http server where you send a message to twilio and just get a reply back. Maybe just
httpServe defaultConfig (getPostParam "Body" >> liftIO . runTwilio sid sat . post . PostMessage to from)

Do you know off the top of your head if Twilio protects against loops? That example could be dangerous otherwise...
tutorial


DeviceArray.__mul__ etc. don't respect __jax_array__

import jax.numpy as jnp

class M:
    def __jax_array__(self):
        return jnp.array([1, 1])

M() * jnp.array([1, 1])

produces TypeError: unsupported operand type(s) for *: 'M' and 'DeviceArray'
In contrast jnp.multiply(M(), jnp.array([1, 1])) handles this just fine. No error, works as expected.
Also, NumPy handles this fine:
import numpy as np

class M:
    def __array__(self):
        return np.array([1, 1])

M() * np.array([1, 1])  # no error!

Thanks for the report. I think the issue is we need to check for __jax_array__ here: https://github.com/google/jax/blob/f02c6fcd728878f8a239de895eb67836fb2f9b46/jax/_src/numpy/lax_numpy.py#L6777


Coming Soon

Is it possible to get an indication as to the data that the Coming Soon elements have?  For example, Channels, Relayers?

Sorry for the late reply. We are working on the relayer details page, which might be released this month.
Looking forward to hearing your thoughts.

Great, very interested to see your plans on this.


regarding fitting the image set with different channel size to this framework

Hello Marko,
The code you posted is very clean and well-written. Thank you!  If I have an image training set with input channel as 3, how can I fit this set to your framework. Looks like the Kaggle set has training set with channel=1.
Huaiyanggongzi

Hi Huaiyanggongzi,
yes, Kaggle images have only 1 channel, but if you wanted to use this model for images with 3 channels (RGB pictures), make sure you change the line inputs = Input((1, img_rows, img_cols)) to inputs = Input((3, img_rows, img_cols)).
Marko


[Rest Server] Add stopped state

Add stopped state using exit code.

Coverage remained the same at 50.592% when pulling 617d0e2da2428a6aadf957cdb3c978c259792898 on xiongyf/stop-exit-code into 58f7a15a59d5127d76d4bb9901d1b26c9bd18a41 on feature/pure-k8s.

Coverage remained the same at 50.592% when pulling 617d0e2da2428a6aadf957cdb3c978c259792898 on xiongyf/stop-exit-code into 58f7a15a59d5127d76d4bb9901d1b26c9bd18a41 on feature/pure-k8s.


added workflows for bounty and new issue discord notifications

Fixes #188
This pull request introduces the following enhancements:

Implementation of Discord notification for bounty updates.
Integration for opening new issues seamlessly.

Note: Prior to merging this pull request, it is imperative to configure a workflow secret environment variable named DISCORD_WEBHOOK_URL within your repository.
A tutorial video demonstrating the process of creating a webhook URL for a Discord channel and integrating it into the workflow environment variables is provided below.
Screencast from 15-03-24 08:58:26 PM IST.webm

This is such a beautiful solution! I didn't know about Github workflows before. Nicely done

Will be part of https://github.com/code100x/github-sol-auto-dispenser


ABI Version mismatch 20 vs servers 21

I can't get the cmt driver to load and I think it's because of an ABI version mismatch. Here's the errors I'm getting in /var/log/Xorg.0.log
[   374.327] (**) Cypress APA Trackpad (cyapa): Applying InputClass "touchpad wolf cyapa"
[   374.328] (II) LoadModule: "cmt"
[   374.328] (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
[   374.329] (II) Module cmt: vendor="X.Org Foundation"
[   374.329] 	compiled for 1.15.1, module version = 0.0.1
[   374.329] 	Module class: X.Org XInput Driver
[   374.329] 	ABI class: X.Org XInput driver, version 20.0
[   374.329] (EE) module ABI major version (20) doesn't match the server's version (21)
[   374.329] (II) UnloadModule: "cmt"
[   374.329] (II) Unloading cmt
[   374.330] (EE) Failed to load module "cmt" (module requirement mismatch, 0)
[   374.330] (EE) No input driver matching `cmt'
[   374.330] (II) config/udev: Adding input device Cypress APA Trackpad (cyapa) (/dev/input/mouse1)
[   374.330] (II) No input driver specified, ignoring this device.
[   374.330] (II) This device may have been added with another device file.
Dell chromebook 11 ubuntu 14.04 LTS
kernel 3.16.0-37-generic
I installed via the ppa.
Is there a way I could either change the ABI version of the cmt driver or the version of the xorg server?
Thanks in advance!

The driver in the ppa was compiled with the X server provided by:
xserver-xorg-core. I think you have installed the utopic version
(xserver-xorg-core-lts-utopic I think). I guess they are shipping with that
version now. If you install: xserver-xorg-core, it will the correct
packages and you can use this driver.
Hugh
On Sat, May 9, 2015 at 9:23 AM, ponkon<EMAIL_ADDRESS>wrote:

I can't get the cmt driver to load and I think it's because of an ABI
version mismatch. Here's the errors I'm getting in /var/log/Xorg.0.log
374.327 http://** Cypress APA Trackpad (cyapa): Applying InputClass
"touchpad wolf cyapa"
374.328 http://II LoadModule: "cmt"
374.328 http://II Loading /usr/lib/xorg/modules/input/cmt_drv.so
374.329 http://II Module cmt: vendor="X.Org Foundation"
[ 374.329] compiled for 1.15.1, module version = 0.0.1
[ 374.329] Module class: X.Org XInput Driver
[ 374.329] ABI class: X.Org XInput driver, version 20.0
374.329 http://EE module ABI major version (20) doesn't match the
server's version (21)
374.329 http://II UnloadModule: "cmt"
374.329 http://II Unloading cmt
374.330 http://EE Failed to load module "cmt" (module requirement
mismatch, 0)
374.330 http://EE No input driver matching `cmt'
374.330 http://II config/udev: Adding input device Cypress APA
Trackpad (cyapa) (/dev/input/mouse1)
374.330 http://II No input driver specified, ignoring this device.
374.330 http://II This device may have been added with another device
file.
Dell chromebook 11 ubuntu 14.04 LTS
kernel 3.16.0-37-generic
I installed via the ppa.
Is there a way I could either change the ABI version of the cmt driver or
the version of the xorg server?
Thanks in advance!
—
Reply to this email directly or view it on GitHub
https://github.com/hugegreenbug/xf86-input-cmt/issues/7.

Hopefully, that won't uninstall packages you need. Make sure the
ubuntu-desktop package is installed after you install xserver-xorg-core.
Hugh
On Sat, May 9, 2015 at 10:35 AM, Hugh Greenberg<EMAIL_ADDRESS>wrote:

The driver in the ppa was compiled with the X server provided by:
xserver-xorg-core. I think you have installed the utopic version
(xserver-xorg-core-lts-utopic I think). I guess they are shipping with that
version now. If you install: xserver-xorg-core, it will the correct
packages and you can use this driver.
Hugh
On Sat, May 9, 2015 at 9:23 AM, ponkon<EMAIL_ADDRESS>wrote:

I can't get the cmt driver to load and I think it's because of an ABI
version mismatch. Here's the errors I'm getting in /var/log/Xorg.0.log
374.327 http://** Cypress APA Trackpad (cyapa): Applying InputClass
"touchpad wolf cyapa"
374.328 http://II LoadModule: "cmt"
374.328 http://II Loading /usr/lib/xorg/modules/input/cmt_drv.so
374.329 http://II Module cmt: vendor="X.Org Foundation"
[ 374.329] compiled for 1.15.1, module version = 0.0.1
[ 374.329] Module class: X.Org XInput Driver
[ 374.329] ABI class: X.Org XInput driver, version 20.0
374.329 http://EE module ABI major version (20) doesn't match the
server's version (21)
374.329 http://II UnloadModule: "cmt"
374.329 http://II Unloading cmt
374.330 http://EE Failed to load module "cmt" (module requirement
mismatch, 0)
374.330 http://EE No input driver matching `cmt'
374.330 http://II config/udev: Adding input device Cypress APA
Trackpad (cyapa) (/dev/input/mouse1)
374.330 http://II No input driver specified, ignoring this device.
374.330 http://II This device may have been added with another device
file.
Dell chromebook 11 ubuntu 14.04 LTS
kernel 3.16.0-37-generic
I installed via the ppa.
Is there a way I could either change the ABI version of the cmt driver or
the version of the xorg server?
Thanks in advance!
—
Reply to this email directly or view it on GitHub
https://github.com/hugegreenbug/xf86-input-cmt/issues/7.

You could also try the utopic ppa. Change the source in
/etc/apt/sources.list.d/hugegreenbug...
On May 9, 2015 10:41 AM, "Hugh Greenberg"<EMAIL_ADDRESS>wrote:

Hopefully, that won't uninstall packages you need. Make sure the
ubuntu-desktop package is installed after you install xserver-xorg-core.
Hugh
On Sat, May 9, 2015 at 10:35 AM, Hugh Greenberg<EMAIL_ADDRESS>wrote:

The driver in the ppa was compiled with the X server provided by:
xserver-xorg-core. I think you have installed the utopic version
(xserver-xorg-core-lts-utopic I think). I guess they are shipping with that
version now. If you install: xserver-xorg-core, it will the correct
packages and you can use this driver.
Hugh
On Sat, May 9, 2015 at 9:23 AM, ponkon<EMAIL_ADDRESS>wrote:

I can't get the cmt driver to load and I think it's because of an ABI
version mismatch. Here's the errors I'm getting in /var/log/Xorg.0.log
374.327 http://** Cypress APA Trackpad (cyapa): Applying InputClass
"touchpad wolf cyapa"
374.328 http://II LoadModule: "cmt"
374.328 http://II Loading /usr/lib/xorg/modules/input/cmt_drv.so
374.329 http://II Module cmt: vendor="X.Org Foundation"
[ 374.329] compiled for 1.15.1, module version = 0.0.1
[ 374.329] Module class: X.Org XInput Driver
[ 374.329] ABI class: X.Org XInput driver, version 20.0
374.329 http://EE module ABI major version (20) doesn't match the
server's version (21)
374.329 http://II UnloadModule: "cmt"
374.329 http://II Unloading cmt
374.330 http://EE Failed to load module "cmt" (module requirement
mismatch, 0)
374.330 http://EE No input driver matching `cmt'
374.330 http://II config/udev: Adding input device Cypress APA
Trackpad (cyapa) (/dev/input/mouse1)
374.330 http://II No input driver specified, ignoring this device.
374.330 http://II This device may have been added with another
device file.
Dell chromebook 11 ubuntu 14.04 LTS
kernel 3.16.0-37-generic
I installed via the ppa.
Is there a way I could either change the ABI version of the cmt driver
or the version of the xorg server?
Thanks in advance!
—
Reply to this email directly or view it on GitHub
https://github.com/hugegreenbug/xf86-input-cmt/issues/7.

Thanks so much for the tips. I ended up installing xserver-xorg-core. It didn't work the first time and I got an error about broken packages:
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
I removed some of the libcheese libraries then the xserver-xorg-core install worked. This driver is so much better than the synaptics one.

This command saved my life :
sudo apt-get install  libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 libclutter-gtk-1.0-0 libclutter-1.0-0  xserver-xorg-input-all
```
Please see [Harris answer](http://askubuntu.com/a/592440/415272)


[Bug]: Pack banners with uppercase file extensions are not loaded

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
Reply to the issue, or Discord: nietscape
Version Info
Latest available release
What operating system are you seeing the problem on?
Windows
Bug Behavior
If a pack banner has an uppercase file extension, the banner is not loaded. This is uncommon, but true for some packs that are downloaded in-game.
Expected Behavior
The banner should be displayed as if it had a lowercase file extension.
Reproduction Steps

Open the game
Download a pack like NBJS2 or midare megapack 5
Notice the pack banner does not appear
Go to the pack directory, change the file extension to lowercase (bn.PNG > bn.png, bn.JPG > bn.jpg)
Restart etterna, pack banner appears

Anything else?
This is only true of pack banners. Chart banners with uppercase file extensions are loaded just fine (see Blockbuster, Comsten from NBJS2).

the problem is right here https://github.com/etternagame/etterna/blob/9a0b9fb94ea0c1f4d24b707bd00fad24d94d22ec/src/RageUtil/Utils/RageUtil.cpp#L1000-L1012
if nobody fixes it in 6 hours im going to fix it

7bc8e6e30963845b2fd736b5cb1666df84be592a


Credentials.handle contains a retain cycle that causes huge memory leaks

The line here:
https://github.com/IBM-Swift/Kitura-Credentials/blob/master/Sources/Credentials/Credentials.swift#L99
creates a retain cycle which causes all requests and responses passing through the credentials handle method to be kept in memory indefinitely growing Kitura process with every request.
Originally reported here: https://github.com/IBM-Swift/Kitura/issues/1265
Sample project here: https://github.com/mman/leaky-kitura

FYI the fix in #63 was tagged in 2.1.1

Excellent, thanks for helping me getting this fixed. In production for more than 24 hours now 👍


GridSettings does not set the pager to the correct page

Bootstrap: 5.3.1
BlazorBootstrap: 1.10.3
.NET: 7.0
When I restore GridSettings the selected page of the grid is displayed but the pager itself stays on Page 1 instead of the correct page.
Steps:
Navigate grid to page 2
Use OnGridSettingsChanged to save the state of the grid (pagenumber)
Leave the page with the grid on it and navigate back to it.
Use GridSettingsProvider to set settings.PageNumber to 2
Result: The data in the grid is the correct data for page 2. The pager itself stays on page 1.
If anything is unclear then let me know (first time I used GitHub to open a issue like this ;) )

@patricq Thank you for trying the BlazorBootstrap. I'm not able to reproduce the issue. Please see the attached video for your reference. Please share the code or GitHub repo to reproduce the issue with minimal steps.
https://github.com/vikramlearning/blazorbootstrap/assets/2337067/b77757f8-e9ef-4cd6-bb01-7869274cb2cf

Yes I see my error now. I used ResetPageNumber to refresh the data in the grid, this causes the pager to select page 1.
I have changed it now and it works perfectly.
Thanx!

This can be closed.


Relay screen improvements

Check if the user configured notification type
Check if can connect to the relay
Check if relay requires auth
Check if relay accepts needed events
Show nip 11 info

Adding ping.

Added this in version 2.0.0


build(prettier): quotes from single to double for Windows os

This will resolve the issue I had with my Windows OS.
@SamVerschueren  is going to check it on his machine to verify this won't break other OS's.
Closes #827

Awesome @Jefiozie ! Thank you for fixing this and thanks to @SamVerschueren for supporting here!
I think this can actually be merged as @Jefiozie verified on his machine, but I'm happy to wait for @SamVerschueren to verify as well.
You rock <3

And on that note, this LGTM

Actually, good point @SamVerschueren . This needs to be fixed in other packages as well. E.g. server has the same npm script.
@Jefiozie would you mind updating your PR to have this change applied to all packages inside /machinelabs ?

@PascalPrecht no problem

I think I got them all can double check if this is the case? Thanks

@Jefiozie This LGTM, can you sqash your commits and make one fix() commit out of it to address #827 please ?
Once travis is green, we can merge this then.


restrict search to US market

Search API: https://developer.spotify.com/web-api/search-item/

:+1:

!


Provider gets disposed although its being used

Given this provider:
@riverpod
DriverService driverService(DriverServiceRef ref) {
  print("DRIVERSERVICE CREATED.");
  final service = DriverService(
    driversAPI: app.dep(),
    businessAPI: app.dep(),
    usersAPI: app.dep(),
    currentUser: ref.watch(authControllerProvider)!,
  );

  ref.onDispose(() {
    service.dispose();
    print("DRIVERSERVICE DISPOSED");
  });

  return service;
}

And this other provider that is being used by a widget:
@riverpod
class ContractsController extends _$ContractsController {
  @override
  Future<List<Business>> build() async {
    final driverService = ref.read(driverServiceProvider);

    final changeSub = driverService.onDriverChanges.listen(_onDriverChanged);
    ref.onDispose(() => changeSub.cancel());

    final result = await driverService.getContracts();
    return result.getOrThrow();
  }

  Future<void> _onDriverChanged(User user) async {
    print("DRIVER CHANGED.");
    final state = await future;
    if (state.length != user.driverAccount!.businesses.length) {
      ref.invalidateSelf();
    }
  }
}

This widget that is currently in the route stack:
@RoutePage()
class MyContractsView extends ConsumerWidget {
  const MyContractsView({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
// its being used here
    final value = ref.watch(contractsControllerProvider);
    return BaseView(
      child: const _List(),
    );
  }
}

The first provider, driverService is disposed after building ContractsController, preventing the stream driverService.onDriverChanges to notify of changes to ContractsController

You need to use ref.watch at build method

  Future<List<Business>> build() async {
    final driverService = ref.read(driverServiceProvider);

You asked for it. You didn't watch the provider :)


[HOW-TO] click on Activities -> New Activity -> Email

What is the XPath alternate for -  xrmApp.Entity.SubGrid.ClickCommand("SubGrid_Activities", "New Activity", "Email");

If you look at the method behind ClickCommand, you'll be able to find how it's identifying elements, in this case
driver.FindElement(By.XPath(AppElements.Xpath[AppReference.Entity.SubGridContents].Replace("[NAME]", subGridName)))
AppElements.Xpath and AppReference are both very useful and worth spending some time to understand.
In this case, using them to look up will return this Xpath: //div[@id=\"dataSetRoot_[NAME]\"]

I tried a log but still not working


LSP code completion marks getters as deprecated when only the setter is

The analyzer code has a lot of deprecated setters which are causing identifiers to be struck through in code completion even though you pay be using the getter:

@bwilkerson I don't know if the code completion has enough context (or could even know) if you're going to set this or not so I think it would make sense to either only strike through if both are depcreated, or just read from the getter instead. WDYT?

I agree. There is code (https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart#L114) that attempts to fix this problem, but it appears that either it fails sometimes of there's another path that doesn't take this into account.

Nope, all working as expected - I was unexpected using a stable SDK and your fix was more recent than that (acdd5231fdd8297f056f3b792e4dd5a11ea19001). All works fine on latest!


Add documentation links

The site https://docs.rs auto-builds documentation for crates on crates.io, so all we have to do is link to it.

Thanks!


Using / for division outside of calc() is deprecated

Clear and concise description of the problem
DEPRECATION WARNING:
Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.

This is deprecation warning on building web app with swiper in following files:
src/styles/partials/swiper-button.module.scss
Suggested solution
Recommendation:
math.div(-$arrow-size, 2) or calc(-$arrow-size / 2)
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Would you like to open a PR for this feature?

[X] I'm willing to open a PR

There is no such file here src/styles/partials/swiper-button.module.scss and there is no references to $arrow-size as well, not sure what you are using

@nolimits4web :
sorry, I just check the code and confirm that this is in my local file
Thanks for your response


Relabel "ID Gloss" to "Lemma ID Gloss" for NGT

Done. Because this breaks the American connection between the strings, I also already updated the American .po file. What do we want to do with the Dutch translation?

I'll just go over the .po file again, also to fill in the missing translations of new strings created in the last x months, OK?


Extra comma in header or data line causes failure to parse subsequent lines

Describe the bug
Having an extra comma in a data line (which is usually caused by the CSV creator failing to quote a field) causes that line and all subsequent lines to fail to parse.  Having an extra comma at the end of the header line causes all subsequent data lines to fail to parse.
To Reproduce
Please see the attached test file (it is really a .swift file, but I changed the extension to .txt in order to attach it).
DecodingBadInputTests.txt
Expected behavior
Both of these situations (additional commas in either header or data line) are forbidden by rfc4180, so I would expect an exception to be raised.
System

OS: macOS 11.2.3
CodableCSV: 0.6.2

Additional context
I encountered both of these instances of ill-formed CSV in files I downloaded from my banks.  I'm using CodableCSV in a Swift app I've written to take the differently formatted CSV from each bank and create a standard format which I then import into a spreadsheet for further analysis.

Hi @DressTheMonkey,
Indeed, there seems to be an issue there. I will try to see what the problem is, but thank you for the tests. They are very helpful to replicate the problem.

Hey @DressTheMonkey. I fixed the issue and added your tests in the test suite. The changes are in develop and as soon as you can check them out and give me the "thumbs up", I will merge to master and make a minor release.
I would appreciate if you can test it out with your data.

That definitely does catch and report those two problems I was having.  That's brilliant.
However, it will have to be up to you if it is a thumbs up or not, because this has actually introduced a minor problem!  One of my files ends with a line followed by a new line.  This is now reported as an error:
[CSVReader] Invalid input
Reason: The number of fields is not constant between rows.
Help: Make sure the CSV file has always the same amount of fields per row (including the header row).
User info: Row index: 369, Number of expected fields: 6, Number of parsed fields: 1
Now, according to my old friend rfc4180, (in: 2. Definition of the CSV format):
The last record in the file may or may not have an ending line
break.
So, IMHO, this should be allowed. What do you think?

That should definitely be allowed since it is not only in the RFC, but it is also very common. I will try to figure out how to "add back" that functionality. Fixing your bug had the side-effect of making the library more strict.
Good catch, anyways. This problem highlights the need for more tests.

Alright @DressTheMonkey I have added the functionality to ignore empty rows and I've added a test to verify the behavior. Could you please check it out with your data again? If it works well and you have no further requirements :) I will make a new minor release.

👍That has fixed it.  New tests are looking good.  That really meets and exceeds all my requirements :), so I'm going to close this.  Thanks so much for the great code and the swift updates.

Would it be possible to make this configurable? I don't want such error to be thrown as there's no way to pre-process a given CSV before parsing. What would be the best way to parse CSVs that don't always have the same amount of fields per row with this library?


CkArrayOptions callback for completion of chare array initialization

Original issue: https://charm.cs.illinois.edu/redmine/issues/1352

Add a callback to CkArrayOptions to be triggered when all of the initial objects are constructed in a chare array.
Right now we don't have a good way to do this short of QD, which is global.
AMPI's intercommunicator creation is an example where this is needed, and where QD is not possible (since intercommunicators are created dynamically and other messages may be in flight on other communicators during creation of an intercommunicator).

Original date: 2017-01-10 18:00:06

Could you get this implemented? Hand off to Ed, Karthik or such with your guidance if you think they can do it.

Original date: 2017-01-12 21:53:24

One thing I am not sure of that you or someone might just know: Is there a single point of exit in the initialization sequence for all types of chare array creation from which to invoke the callback?

Original date: 2017-01-13 01:36:34

I'm not sure of what you mean by 'all types of chare array creation' - I think we only need to be concerned with bulk construction, which is done when the code returns from the populateInitial call on each PE. The array manager can contribute to a reduction targeting the callback.

Original date: 2017-01-19 17:49:05

AMPI's use case for this (intercomm creation) is one-at-a-time/element-by-element initial insertion. Perhaps we should refactor AMPI's array creation to use bulk insertion though...
One issue I ran into when initially trying to implement this was that the contribute() methods are not defined in CkArray.

Original date: 2017-01-19 22:51:38

Reassign if urgent. Isomalloc hangs and other AMPI things are more important to me at the moment. This is only really seen during intercommunicator creation in AMPI, which is itself rare.

Original date: 2017-02-06 23:39:46

Hacky implementation using pt2pt sends, rather than a reduction, here: ~~https://charm.cs.illinois.edu/gerrit/#/c/2209/~~ https://github.com/UIUC-PPL/charm/commit/2e1010df374b65021f1c4948329a645554b1e939
I tried adding contribute() definitions/declarations to CkReductionMgr, which CkArray inherits from. But then when running with more chare array elements than PEs, we get a hang. The reduction mgr for some reason is expecting more contributions than it should...

Original date: 2017-05-11 19:38:00

It looks like there's another use case for this outside AMPI - CkIO.

Original date: 2017-05-11 21:21:11

Hackishly re-using the reduction manager's spanning tree now.


Use IPNS if domain name is not specified

Currently, if user left blank the domain name:

The <link> items in XML file for RSS have empty domain name:

Expected behavior:
Use user-specified public IPFS gateway like cloudflare-ipfs.com with IPNS of that Plane, if domain name is not given.

Extra sanitization added for domain:
https://github.com/Planetable/Planet/commit/7f772a164c187242b3b2c232629165799744d2ab


Transient NameID

Confirmed, the option for Transient Name ID should be listed as supported, not as an option on the drop down, as it does not show there. Thanks.

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

ID: d362c1b5-1460-4de9-c53d-f0ec1ef07742
Version Independent ID: 9dc0a4df-81c8-13eb-720f-f589a3712e42
Content: Customize SAML token claims for enterprise apps in Azure AD
Content Source: articles/active-directory/develop/active-directory-saml-claims-customization.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@Allbondiga
Thanks for your feedback! We will investigate and update as appropriate.

Thanks @Allbondiga ! Are you suggesting that we remove the option from the table, but make a note that it is supported?
I am happy to add this, but you are also free to make a pull request to do this if you would prefer.

Hi Team,
Exactly, remove it from the drop down options and to add a note that it is supported, but cannot be configured on Azure’s side.
Regards,
Allen Garmendia
Support Engineer
Azure Indentity
Office: +506 (4) 1161315
v-allbon<EMAIL_ADDRESS>11AM – 8PM EST
[Microsoft]
 One Microsoft Way, Redmond, WA 98052 USA
Technical Advisor  | Ivan Molina (ivan.molina<EMAIL_ADDRESS>Technical Advisor | Amit Kummar  (amkuma<EMAIL_ADDRESS>Team Manager | Erneth Castro  (Erneth.Castro<EMAIL_ADDRESS> +506 41160326 X 60326
Monitor your ADFS Environment with Azure AD Connect Healthhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Factive-directory%2Fhybrid%2Fhow-to-connect-health-adfs&data=02|01|v-allbon%40microsoft.com|eb4de499f36f4bb7cd9208d720eb85a2|72f988bf86f141af91ab2d7cd011db47|1|0|637014068270159628&sdata=jJjHXgbPZtAJD%2Fe5nZpJXssdtxOi%2BKkApXMrH9FKL2E%3D&reserved=0
Resolve ADFS issues faster with ADFS Help portalhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fadfshelp.microsoft.com%2F&data=02|01|v-allbon%40microsoft.com|eb4de499f36f4bb7cd9208d720eb85a2|72f988bf86f141af91ab2d7cd011db47|1|0|637014068270169627&sdata=thpcuhl1GA9clOdF90T7RnNd8zkJ8CYYP924YFh9QH0%3D&reserved=0
Download Azure AD Deployment Planshttps://aka.ms/deploymentplans

The content of this email including its attachments (the “Content”) is confidential and provided for information purposes only. It does not under any circumstance constitute a legally binding offer or acceptance of Microsoft Ireland Operations Limited or any other Microsoft Group affiliate. This Content shall not be construed as (i) any commitment from Microsoft Ireland Operations Limited or any other Microsoft Group affiliate and/or (ii) supplementing or amending the terms of any existing agreement with Microsoft Ireland Operations Limited or any other Microsoft Group affiliate. In any case, any commitment from Microsoft Ireland Operations Limited or any other Microsoft Group affiliate must be prior stated in an agreement drafted by Microsoft and signed by the duly authorized representatives of the Microsoft affiliate concerned and your company. Furthermore you are reminded that the Content is solely based on the information provided to us at the time of this email and that it will be subject to possible change.
From: Marilee Turscak - MSFT<EMAIL_ADDRESS>Sent: Tuesday, October 1, 2019 05:39 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Allen Bonilla (Data Glove IT Solutions Pvt. L<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Transient NameID (#39905)
Thanks @Allbondigahttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAllbondiga&data=02|01|v-allbon%40microsoft.com|2eb8d65bffb94d692f0308d746c89767|72f988bf86f141af91ab2d7cd011db47|1|0|637055699658925306&sdata=6cMOMu1A9%2F2%2BmKTtxEB4S2hYhu58tgnvWSHXmE%2BCZvs%3D&reserved=0 ! Are you suggesting that we remove the option from the table, but make a note that it is supported?
I am happy to add this, but you are also free to make a pull request to do this if you would prefer.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F39905%3Femail_source%3Dnotifications%26email_token%3DANLUYWOGC2WMSMSBK74T3VDQMPNSZA5CNFSM4I4P5GUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEADCUXY%23issuecomment-537274975&data=02|01|v-allbon%40microsoft.com|2eb8d65bffb94d692f0308d746c89767|72f988bf86f141af91ab2d7cd011db47|1|0|637055699658935305&sdata=ilOkmm0vPoxfedqkOZIQePVaFC%2BhK7zCYtYVZoqEbhY%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANLUYWJHQMO5EAK5A6ISDYLQMPNSZANCNFSM4I4P5GUA&data=02|01|v-allbon%40microsoft.com|2eb8d65bffb94d692f0308d746c89767|72f988bf86f141af91ab2d7cd011db47|1|0|637055699658935305&sdata=sfPA5F48xH9066LncTSgD8w9O3Llw0MLpRY7P6yftDA%3D&reserved=0.

Thanks @Allbondiga
I made a pull request to add this note and remove the Transient NameID from the dropdown options. https://github.com/MicrosoftDocs/azure-docs-pr/pull/90408


Roll engine 67aadb62068a..209250da1bb3 (4 commits)

https://github.com/flutter/engine/compare/67aadb62068a...209250da1bb3
git log 67aadb62068ad251c79affa2ae68d6579d8e2d93..209250da1bb31dd3cc56e9a96274e62c7d7d39ee --no-merges --oneline
209250da1 When running in AOT modes create a flutter_assets directory that can be used as the bundle path (flutter/engine#9306)
159383839 Handle Fuchsia SDK in license tool + roll SDK (flutter/engine#9302)
e66118bcb Roll src/third_party/skia 81756e4cae95..b9416caa367a (6 commits) (flutter/engine#9305)
7bb5b9aea Wire up Swiftshader based OpenGL ES unit-tests on hosts. (flutter/engine#9264)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Update prettier

The first commit is an update of the package.json file and a mechanical npm run format run. The follow on commits are fixes on top of that.


Add MapStream for easier streaming over maps

Looks good overall. Will be interested to see how it works in practice.

Added MapStream.forEach after reviewing usages of Map.entrySet().stream() in Strata.


update POST Api every 5 minute

Is your feature request related to a problem? Please describe.
Earlier I was thinking of update my POST Api with user location every 5 minute so that i can detect if user is online or offline based of their last know location. If the last location of user is more than 5 minutes I will consider the user offline
Describe the solution you'd like
Maybe allow us to set interval for when watcher pings the api? Like similar for distance filter but based off time intervals.
Describe alternatives you've considered
I havent had any ideas as of yet ways to implement this based of the issues that I've of this plugin
Additional context
Add any other context or screenshots about the feature request here.

Duplicate of #34.


Quirk with MapMiddleware when exception propagates outside of the branch

Here is a sample project:
https://github.com/tuespetre/aspnet-map-quirk
The issue may be reproduced with that project with the following steps:

Run the application, using either dnx web or the IIS Express option from Visual Studio
Load the page in the browser
Click the button to send a request to the page that will raise an exception
Send further GET requests to the page

The symptom is that, after having raised the exception, the PathBase of the request will be intermittently doubled up, resulting in broken links. Having stepped through the MapMiddleware's Invoke method, I can see that the context.Request.PathBase is already set to /aspnet-map-quirk coming into the middleware, even though the request URI shows properly as /aspnet-map-quirk when inspecting the Features collection on the HttpContext. I am not sure if this is due to faulty context recycling on part of Kestrel or not, as I don't know much about Kestrel -- perhaps @davidfowl or @DamianEdwards would have something to say here.
The workaround is to uncomment the following line:
https://github.com/tuespetre/aspnet-map-quirk/blob/master/AspNetMapQuirk/Startup.cs#L21
This prevents the exception from propagating out of the branch and subsequently causing the issue with the doubled-up PathBase.
A try ... finally block within MapMiddleware's Invoke method would ultimately guard against this issue.

@BrennanConroy Add the try/finally.
@halter73 Is kestrel failing to reset the Frame for unhandled exceptions?
I would expect symptoms like this if you were using the UseErrorHandler middleware that re-executes the pipeline.

I don't see this issue in RC2, but I saw it in RC1

The original repro may have been caused by Kestrel.  What if you use the ErrorHandler middleware that re-executes? It should still cause this.
https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNet.Http.Abstractions/Extensions/MapMiddleware.cs#L62
Add the try/finally.

c41be75796d9c81d9dde079c45958a2d54c31a63

Thanks!

Kestrel fix: https://github.com/aspnet/KestrelHttpServer/pull/412/files#diff-3ad18666c41931c02b7bd1f3226cb709R204


Update variable group on existing or new pipelines

Docs.Ms is trying to use variable group for docker id + secrets.
It is currently putting under Release Github IO secrets group. Close but not accurate.
TODO:
Need to update to pipeline-generator.yml and prepare-pipeline.yml, so we can add new variable group to all existing pipeline.

I think this was accidentally closed as part of the other PR, so reopening to track using the correct variable group.


Work with expo-router

Is there any plan to work with expo-router?
https://expo.github.io/router/docs/guides/tabs

any updates on this?


Add stamp with optional logo and rendering information to renders

The user should have the option to enable/disable this stamp, and to configure the stamp to contain:

An arbitrary title string
The main rendering settings
Total render time
The appleseed logo

The text information should be displayed in a dark semi-transparent or opaque area at the bottom of the render.

Done.


[SuperEditor] Fix caret display when document layout changes due to animations (Resolves #1022)

[SuperEditor] Fix caret display when document layout changes due to animations. Resolves #1022
When we change the selection between components that change their sizes, the caret ends up at an incorrect position:
https://user-images.githubusercontent.com/31278849/217527882-2707112d-5c3b-478e-91d7-f6c2231085c2.mov
The cause is that when we change the selection, the caret offset is computed immediately and isn't updated again. After the animation ends, the selected component sits at a different offset but the caret is still positioned at the old offset.
This PR changes the interactors and the caret overlay to schedule caret updates until we get the same offset that we have.
This isn't a perfect solution, we might need a way for the components to signal that their layout changed.

Let's try to solve the root problem instead of the symptom. Where and how might a component notify the appropriate party of a change to layout?

@matthew-carroll I implemented a possible solution, listening to component size changes via notifications and signaling the changes to other parts of the system.

Is the caret overlay the exact same size as the document layout? Also, does the overall document layout change size when a component changes size?
If so, can we just add a LayoutBuilder inside the caret display, and any time the constraints change, we schedule a caret update?

Also, does the overall document layout change size when a component changes size?

It may not, in the sample code attached to the ticket, the document layout size only changes when we move from "no tasks selected" -> "a task selected" or from "a task selected" -> "no task selected".
When we already have a task selected and tap at another task, the layout size remains the same.

@matthew-carroll I updated the PR to use  CompositedTransformFollowers to position the caret and drag handles. The toolbar positioning wasn't changed yet.
Could you take another look at this PR?

@angelosilvestre
With the proposed solution, does it imply that a super_editor client won't be able to create its own overlay builder that is able to rebuild once the size of a component changes?
In our case we have one that paints a blue line between 2 consecutive nodes and when the user taps on it, a new node is created.

@miguelcmedeiros The solution using a CompositedTransformFollower is limited to caret and drag handles display.
As we are not calling any listener, overlays cannot know when the size of a component changes. Maybe we could use this solution but also provide a way to notify when the size of a component changes.

Reacting to size changes in RenderObjects is really part of the core Flutter pipeline. If we think we need that, then I think we should look at a deeper solution than passing a callback or a controller around....
That said, moving these overlay things to use followers is something we should probably do, anyway.
Also, we can expose the anchors from SuperEditor so that other implementations can do the same thing.

@angelosilvestre can you remind me where we left this?

@matthew-carroll I'd like it if you take a look at the code to see if this is the ideal approach and if we should do the same to the toolbar positioning.

I'm going to close this PR in favor of work in https://github.com/superlistapp/super_editor/pull/1064


Add data-grid to fips-assessments tasks

Add Ansible tasks that can perform the following checks: https://github.com/opdev/fips-assessments/blob/main/data-grid/check.txt

Closing.


Pedantic warn level and CMAKE_CXX_FLAGS preservation

Using a parent cmake project with high warning levels such as "-Werror -Wall -Wextra -pedantic" could not compile when including this json library as sub project.
Additionally, 32 bit projects could not link to the library because compiler flags like "-m32" were overwritten.
This pull request fixes both issues.

Thanks, Magnus.

Glad to contribute, and fast merge i have to say.
This was my first pull request ever and i was not sure if the project is even maintained anymore since the last commit was 10 months ago.
But why change something which is working well, i would assume.


Community partner image sizes are not proper

I think the image is in the proper size, please recheck your issue.

Fixed in #103.


[IMPROVEMENT] Improve the UX of updating danger zone settings

Is your improvement request related to a feature? Please describe (👍 if you like this request)

Starting from version 1.6.0, users can update danger zone settings and delay their activation until after all volumes are detached. However, there are user experiences that require improvement:

It is difficult to determine if the settings have taken effect.

The Longhorn system can offer a clearer way to help users understand the current status.

Following the detachment of all volumes, certain actions such as restarting instance manager pods do not occur quickly, might requiring users to wait for several minutes. To expedite the application of the settings, users need to unset and then set them again.

The improvement is inspired when working https://github.com/longhorn/longhorn/issues/8065 with @cometta.
The two UXs make users confused and not easy to know what is happening.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

cc @mantissahz

The current setting does not have any status. Could consider adding it to enrich the info or at least have an annotation for the status. applied or satisfied could be a good name for that status.
/k8s/pkg/apis/longhorn/v1beta2/setting.go#L14-L20
type Setting struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// The value of the setting.
	Value string `json:"value"`
}

This involves a CRD update and isn't a critical improvement, so it's no need to backport.
cc @derekbit

@mantissahz Where are we with this issue?

@mantissahz Where are we with this issue?

@derekbit, it should be on ready for testing for CLI and UI.

Testing on master-head (longhorn-manager 2d5d202) with the following steps:

Create a deployment to create and attach a volume
Create a priority class:

# Source: longhorn/templates/priorityclass.yaml
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: "longhorn-critical-1"
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0-dev
description: "Ensure Longhorn pods have the highest priority to prevent any unexpected eviction by the Kubernetes scheduler under node pressure"
globalDefault: false
preemptionPolicy: PreemptLowerPriority
value: 999999

kubectl apply -f priority-class.yaml -n longhorn-system

Modify the danger zone setting priority-class to longhorn-critical-1:

The field Applied of the setting priority-class should be false:

$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                false     80m

Scale down the deployment to detach the volume

The field Applied of the setting still be false:

$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                false     82m

Modify the field applied of the setting to be true:

$ kubectl patch setting priority-class -n longhorn-system --type='merge' -p '{"status": {"applied": true}}'
setting.longhorn.io/priority-class patched (no change)
yang@yang:~/Code/automation/longhorn-test$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                false     91m

In step 7, changing the applied field from false to true has no effect. The setting isn't reconciled, and no Longhorn components are restarted to apply the value.
@mantissahz Could you help confirm if there is anything wrong with the test steps above? Thank you!

@yangchiu could you try the patch again with the option --subresource=status?

Verification passed on master-head (longhorn-manager 2d5d202) with the following steps:

Install/Upgrade Longhorn and create a deployment to create and attach a volume
Create a priority class:

# Source: longhorn/templates/priorityclass.yaml
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: "longhorn-critical-1"
  labels:
    app.kubernetes.io/name: longhorn
    app.kubernetes.io/instance: longhorn
    app.kubernetes.io/version: v1.6.0-dev
description: "Ensure Longhorn pods have the highest priority to prevent any unexpected eviction by the Kubernetes scheduler under node pressure"
globalDefault: false
preemptionPolicy: PreemptLowerPriority
value: 999999

kubectl apply -f priority-class.yaml -n longhorn-system

Modify the danger zone setting priority-class to longhorn-critical-1:

The field Applied of the setting priority-class should be false:

$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                false     80m

Scale down the deployment to detach the volume

The field Applied of the setting still be false:

$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                false     82m

Modify the field applied of the setting to be true:

$ kubectl patch setting priority-class -n longhorn-system --type='merge' -p '{"status": {"applied": true}}' --subresource=status

The setting will be reconciled and the setting will be applied to all Longhorn components (Deployments, Daemonsets, and Longhorn CSI drivers)

$ kubectl get settings -n longhorn-system | { head -1; grep priority; }
NAME                                                              VALUE                                              APPLIED   AGE
priority-class                                                    longhorn-critical-1                                true      7m50s

$ kubectl describe pod longhorn-csi-plugin-2gfkf -n longhorn-system
Name:                 longhorn-csi-plugin-2gfkf
Namespace:            longhorn-system
Priority:             999999
Priority Class Name:  longhorn-critical-1
Service Account:      longhorn-service-account
Node:                 ip-10-0-1-241/<IP_ADDRESS>
Start Time:           Tue, 03 Dec 2024 13:46:29 +0800
Labels:               app=longhorn-csi-plugin
                      controller-revision-hash=7cdb447cc6
                      pod-template-generation=2


expectRevert does not fail test if no contract call is made

If no contract call is made after calling expectRevert, the test passes, which does not seem like correct expected behavior.
interface Vm {
    function expectRevert(bytes calldata) external;
}

contract Foo {
}

contract FooTest {
    Vm vm = Vm(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);
    Foo foo;

    function setUp() public {
        foo = new Foo();
    }

    function testBar() public {
        vm.expectRevert("message");
    }
}

Nice catch. Easiest fix is probably in run_test in runner.rs is to check after calling the test if there is a remaining expected_revert in self.evm.state() I believe.

Yeah check if self.evm.state().expected_revert.is_some() after the test has ended, and return error if it's Some.

lemme give fixing this a shot

wanted to give a try as well, just to learn, put an attempt up here - https://github.com/gakonst/foundry/pull/274.

Shipped - ideally let's avoid duplication of work across issues! Thanks both!

My bad! Sorry @transmissions11 just wanted to see if I could figure out, then kept getting fixes to make :)


Add-ICameraProvider-aidl-hal-service-contexts

Added external camera provider aidl service to hal camera service contexts.
Tracked-On: OAM-112809

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed Engineering Build for this issue, build is SUCCESS.To merge the changes please click on APPROVE FOR MERGE button in Android CI WEB


Custom / consistent errors

I think we need to define the errors we raise with consistent error codes. This will enable the front end to display the correct UI to the user depending on the type of error.
Some errors will be expected, e.g.

Blob or Record not found
Peer disconnects

The simple way to do this is with instance checks e.g.
class ErrNotFound extends Error {
  constructor(message) {
    super(message)
  }
}

if (err instanceof ErrNotFound) {
  //...
}

However this doesn't work over RPC. I recommend defining error codes, then each error should have a .code property. rpc-reflector uses serialize-error to serialize errors over RPC, so it will preserve error.code properties.
I was just looking through the Node code for how they define errors, which seems like a good start. I would have thought there would be a neat library on npm to define errors, but it's a hard thing to find the right search terms.

:+1:
I've used this one before and it worked out: https://github.com/mafintosh/custom-error-class
I feel like there was another that was interesting but can't find it. I'll update if I do.


Enable strict classloading (correctly this time)

To avoid any incompatibilities between CC and daemon reuse in the gradle/gradle build.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test RFN

I've triggered the following builds for you. Click here to see all build failures.

Ready for Nightly (Trigger) (Check)


[beta] Adjusting the color of various elements to complementary colors on Firefox

Challenge doesn't count as complete on Firefox, same code works on Chrome just fine.
Challenge adjusting-the-color-of-various-elements-to-complementary-colors has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Cooking with FCC!

Machine Learning in the Kitchen

Join this two day workshop that walks through how to implement cutting-edge snack-getting algorithms with a command line interface. Coding usually involves writing exact instructions, but sometimes you need your computer to execute flexible commands, like fetch Pringles.

    <button>Sign Up</button>

Bisection Vegetable Chopping

This week-long retreat will level-up your coding ninja skills to actual ninja skills. No longer is the humble bisection search limited to sorted arrays or coding interview questions, applying its concepts in the kitchen will have you chopping carrots in O(log n) time before you know it.

    <button>Sign Up</button>

©2016 FCC Kitchen

I tested and this occurs because the result rgb in chrome is different in firefox.
Exemple: The color #09A7A1:
Chrome: RGB(9, 167, 161)
Firefox: RGB(8, 169, 164)
Maybe change the challenge can fix this. What is your opinion?

Thanks for reporting @Barterr, and for investigating @fonsecapontes!
This issue is a duplicate of #10749. I'm closing this in favour of that.


update controller

Signed-off-by: wanglei4687<EMAIL_ADDRESS>What type of PR is this?

[ ] API-change
[ ] BUG
[x] Improvement
[ ] Documentation
[ ] Feature
[ ] Test and CI
[ ] Code Refactoring

Which issue(s) this PR fixes:
Fixes #
What this PR does / why we need it:
default description for owns
Owns defines types of Objects being *generated* by the ControllerManagedBy, and configures the ControllerManagedBy to respond to
create / delete / update events by *reconciling the owner object*.  This is the equivalent of calling
Watches(&source.Kind{Type: <ForType-forInput>}, &handler.EnqueueRequestForOwner{OwnerType: apiType, IsController: true})

Special notes for your reviewer:
Not Available
Additional documentation (e.g. design docs, usage docs, etc.):
Not Available

@mergify update


Javascript error on submit for an invalid form

Describe the bug
When I submit a form that is invalid I have a javascript error.
Uncaught (in promise) ValidationError: There are validation errors in the form.
 - fullName - NotNull: must not be null
    at BinderRoot.submitTo (chunk-UA3PFYSQ.js?v=5a255b3a:1929:13)

Expected-behavior
I don't expect a javascript error for a validation error that is handled in my form.
Especially because the documentation says:

Submission failures are handled automatically, so there is no need to do an explicit try-catch.

https://vaadin.com/docs/latest/hilla/guides/forms/binder-load#saving-data
Reproduction
Run this project:
https://github.com/jcgueriaud1/hilla-example-form
Go to the home page and click on save, see the error in the console.
System Info
Vaadin 24.4.4

The current behavior handles validation errors, but the main error itself is not handled and goes to the browser, which puts it in the console.
Either we add some default handling, or we change the documentation to better explain what happens.
An example of full handling is in the AutoForm.
Let's update the documentation.


Replace typesense-docsearch-scraper with crawlee

Description
DocSearch Scraper, originally developed by Algolia and forked by TypeSense after Algolia took their code private, has served us well. However, there were many limitations and addressing them in such an aging code base looks to be non-trivial.
In particular, we would like support for incremental index builds, custom markdown selectors, multiple start urls and a few other minor improvements.
### Tasks
- [x] Initial demonstration of Playwright powered crawler
- [x] Support custom include and exclude url lists
- [x] Simplify typesense schema for docs
- [x] Support incremental index builds
- [x] Support custom locator definitions per url

Typesense DocSearch crawler replaced and deployed to production.


Remove download_asset from Client

Description
This lets us (later) try multiple clients for a single asset.
Checklist

[ ] Add tests
[ ] Add docs
[x] Update CHANGELOG

Codecov Report
Patch coverage: 89.61% and project coverage change: -0.05% :warning:

Comparison is base (63e9885) 81.13% compared to head (8f2f51b) 81.09%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
- Coverage   81.13%   81.09%   -0.05%
==========================================
  Files          16       15       -1
  Lines         742      751       +9
==========================================
+ Hits          602      609       +7
- Misses        140      142       +2

Files Changed
Coverage Δ

src/stac_asset/client.py
83.75% <80.00%> (-3.40%)
:arrow_down:

src/stac_asset/_functions.py
91.00% <91.00%> (ø)

src/stac_asset/__init__.py
100.00% <100.00%> (ø)

src/stac_asset/_cli.py
88.37% <100.00%> (+0.18%)
:arrow_up:

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


Internal Server Error

Describe the bug
After I git clone into my own private branch and running all the instructions from the READ.ME, I got the internal server error
To Reproduce
I am following the instructions for local machine deployment

Fill the details for my .env file as follows

AZURE_OPENAI_RESOURCE
AZURE_OPENAI_MODEL
AZURE_OPENAI_KEY

Fill the details for my .env file as follows

AZURE_SEARCH_SERVICE
AZURE_SEARCH_INDEX
AZURE_SEARCH_KEY

Made sure that my startup command is as follows:
python -m gunicorn app:app under web service configuration tab

Screenshots

Note that I am doing this using company proxy and not using chat history.

Just an update to this case, I tried to enter the cosmos details and restarted the application.
The following screenshot is shown

Hi @abhahn, when I tried restarting the application by running the start.cmd command this morning.
I no longer run into the internal server issue.
This is what it looks like today

But comparing both the debug log from previous runs and today, I noticed the httpx python package is not throwing errors.
Previously, when I tested the conversation API by clicking on the send button, 500 error code kept appearing. My assumption is that the httpx python package used had some issues.

Thanks for sharing this info.  I'm glad to see you are no longer facing the issue.  :)  I'll close this for now, but if you run into the same issue later on feel free to reopen to share more details and we can investigate.


[Bug][Module Name] Bug title Unable to establish connection, says invalid token though I followed the process

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
After installing, when I try to establish connection, it says "invalid token" even after verifying.
What do you expect to happen
I expect it to establish the connection with the PAT token
How to reproduce
I have given the GH end point url ending with "/", generated a new token with all the 4 permissions mentioned .
Anything else
Test connection says "disconnected"
Version
0c0d74f44c61
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thank you, by adjusting the API url it worked fine.


some interesting bugs

i have three bugs for you.
i should preface by saying im using an ogg file for all this
so the first is a small one (but may be easy to fix). the audio will pop at the start when its played. basically just that. it doesnt matter the play time. its also not that loud.
the second is;
on the first play of the audio, if i play the audio from any other value than 0, the editor will crash. if i play the audio (from 0) then stop or pause the audio, the audio will not play again. the editor wont crash, just nothing will happen.
Assertion failed: InWave->GetPrecacheState() == ESoundWavePrecacheState::Done [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/AudioMixer/Private/AudioMixerBuffer.cpp] [Line: 359]

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_AudioMixer!Audio::FMixerBuffer::CreateRealTimeBuffer() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:359]
UE4Editor_AudioMixer!Audio::FMixerBuffer::Init() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:279]
UE4Editor_AudioMixer!Audio::FMixerSource::PrepareForInitialization() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSource.cpp:707]
UE4Editor_Engine!FAudioDevice::StartSources() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4086]
UE4Editor_Engine!FAudioDevice::Update() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4379]
UE4Editor_Engine!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),0> >::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
UE4Editor_Engine!FAudioThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioThread.cpp:203]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

this is my setup for that.

the third is;
if i compress the audio, the editor will sometimes crash (about 50/50) without me using the sound wav (ie, crash upon finishing compression). for all the tests iv left quality at 100. changing this doesnt seem to do anything, so iv left it where it is
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000001cbbad40000

UE4Editor_RuntimeAudioImporter!VorbisTranscoder::Encode() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\AudioAnalysisTools\Source\RuntimeAudioImporter\Private\Transcoders\VorbisTranscoder.cpp:133]
UE4Editor_RuntimeAudioImporter!<lambda_98de2f37158bb32cb37169b01d7e2e50>::operator()() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\AudioAnalysisTools\Source\RuntimeAudioImporter\Private\RuntimeAudioImporterLibrary.cpp:262]
UE4Editor_Core!TGraphTask<FAsyncGraphTask>::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1065]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:888]
UE4Editor_Core!FTaskThreadAnyThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:965]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

if the editor doesnt crash upon loading, then it will crash upon trying to play. this used to be not the case, but im guessing an update change something and its causing havoc. even then, it previously would only work under certain conditions (i think compression buffer and fill PCM Buffer would work, but raw wave would not? cant remember. its been about a month)
here are some recent crashes. see if any of them tell you whats going on.
heres my blueprint setup

just filling the compression buffer and nothing else
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000001fc9cf00000

UE4Editor_RuntimeAudioImporter!VorbisTranscoder::Encode() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\AudioAnalysisTools\Source\RuntimeAudioImporter\Private\Transcoders\VorbisTranscoder.cpp:133]
UE4Editor_RuntimeAudioImporter!<lambda_98de2f37158bb32cb37169b01d7e2e50>::operator()() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\AudioAnalysisTools\Source\RuntimeAudioImporter\Private\RuntimeAudioImporterLibrary.cpp:262]
UE4Editor_Core!TGraphTask<FAsyncGraphTask>::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1065]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:888]
UE4Editor_Core!FTaskThreadAnyThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:965]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

just filling the PCM buffer and nothing else
Assertion failed: InWave->GetPrecacheState() == ESoundWavePrecacheState::Done [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/AudioMixer/Private/AudioMixerBuffer.cpp] [Line: 359]

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_AudioMixer!Audio::FMixerBuffer::CreateRealTimeBuffer() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:359]
UE4Editor_AudioMixer!Audio::FMixerBuffer::Init() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:279]
UE4Editor_AudioMixer!Audio::FMixerSource::PrepareForInitialization() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSource.cpp:707]
UE4Editor_Engine!FAudioDevice::StartSources() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4086]
UE4Editor_Engine!FAudioDevice::Update() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4379]
UE4Editor_Engine!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),0> >::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
UE4Editor_Engine!FAudioThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioThread.cpp:203]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

filling the RAWWAV Buffer and nothing else
Assertion failed: InWave->GetPrecacheState() == ESoundWavePrecacheState::Done [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/AudioMixer/Private/AudioMixerBuffer.cpp] [Line: 359]

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_AudioMixer!Audio::FMixerBuffer::CreateRealTimeBuffer() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:359]
UE4Editor_AudioMixer!Audio::FMixerBuffer::Init() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerBuffer.cpp:279]
UE4Editor_AudioMixer!Audio::FMixerSource::PrepareForInitialization() [D:\Build\++UE4\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSource.cpp:707]
UE4Editor_Engine!FAudioDevice::StartSources() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4086]
UE4Editor_Engine!FAudioDevice::Update() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioDevice.cpp:4379]
UE4Editor_Engine!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),0> >::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
UE4Editor_Engine!FAudioThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\AudioThread.cpp:203]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

If you want to play the imported sound wave not from the beginning (> 0 seconds), then you need to use the "Rewind Sound Wave" function. More about this here.
As for the slight crackling sound at the beginning, this is due to the Vorbis decoding inside stb_vorbis. I'm not sure exactly what the problem is, but trimming the audio data at the beginning after manual decoding would not be the right solution. I will need to take a closer look at the decoding process to say something more specific, added this to the list of tasks.
Audio data compression works fine for me, tested different audio files (including OGG Vorbis) on Windows, Linux and Android multiple times. I have an assumption that your crash was due to memory allocation through a standard allocation in one place, and was cleaned up by the engine in another place. If so, then it should be fixed.
As for the last bug (InWave->GetPrecacheState() == ESoundWavePrecacheState::Done), it should be fixed as well.
Thanks for reporting this! Let me know if everything works for you.

what the heck..... im incredibly confused. i was using this plugin but i didnt have it installed? what?
im legitimately super confused. was it because i was using the audio analysis plugin?
and the other weird thing is that i was getting all the functionality (other than the previously mentioned bugs).
as for the other stuff;
the rewind playback time node is working a treat (may be a good idea to rename that to set playback time as it can do more than just rewind. it was confusing to parse what it did before i implemented it and messed around with it)
in addition, after reading through the docs, the Get Playback Time node is INCREDIBLY useful. i was using tick to get my song time before and that was quite inaccurate. after about a minute of playback i would get around 100ms out of sync, so this is incredibly nice to have.
as for the audio compression issue im still getting crashing, but also i possibly havent gotten the update over unreal engine yet so i cant say for sure. if this github is more up to date, i can grab off of here if youd like.
it could also be that my system isnt liking something about the compression. ill shut down my system and come back tomorrow morning. that clearing of memory may fix it. it will also allow updates from unreal to arrive to server at my location if they havent already.

Can you describe your crash in more detail? I can't reproduce it, tested on Windows, Android and Linux.
As far as loading audio files in a loop, there shouldn't be any problem with that.

did a bunch of testing. heres my results
the further down you go, the later into the night it was and the longer unreal engine had been on. no real pattern to suggest a garbage collection issue, but still work noting.
at quality 1, with PCMBuffer (vorbis), 10 successful runs, 1 crashes
at quality 50, with PCMBuffer (vorbis), 10 successful runs, 1 crashes
at quality 100, with PCMBuffer (vorbis), 10 successful runs, 2 crashes
at quality 100, with PCM Buffer and Raw Wave Buffer (vorbis), 4 successful runs, 12 crashes
at quality 99, with PCM Buffer and Raw Wave Buffer (vorbis), 5 successful runs, 12 crashes
at quality 50, with PCM Buffer and Raw Wave Buffer (vorbis), 7 successful runs, 12 crashes
at quality 20, with PCM Buffer and Raw Wave Buffer (vorbis), 4 successful runs, 12 crashes
at quality 0, with PCM Buffer and Raw Wave Buffer (vorbis), 2 successful runs, 12 crashes
at quality 63, with PCM Buffer and Raw Wave Buffer (vorbis), 4 successful runs, 12 crashes
at quality 64, with PCM Buffer and Raw Wave Buffer (vorbis), 3 successful runs, 12 crashes
at quality 1, with PCM Buffer and Raw Wave Buffer (vorbis), 5 successful runs, 12 crashes
at quality 100, with PCMBuffer (vorbis), 10 successful runs, 3 crashes
at quality 100, with PCM Buffer and Raw Wave Buffer (Opus), 6 successful runs, 12 crashes
at quality 100, with PCMBuffer (ADPCM), 10 successful runs, 1 crashes
thats about as much poking as im going to do into seeing if quality affected anything. there seems to be some pattern of sorts, but not fully sure. overall about a 30% success rate on actually getting it to not crash when its done compressing if im filling both the PCM and Wav Buffer. i could do the Compressed Buffer as well, but iv had alot less success with that buffer overall.
the raw wave buffer seems to be the least likely to crash, which is nice because thats the buffer type i need for my project lol.
two other things that may be linked to this (unsure, but they are other things to be aware of i guess)
the first is this white column. its the base frequencies for the song iv loaded, and obviously its not supposed to be there. its so low pitched that most people wont be able to hear it and most headphones wont be able to play it. it might be why you get that ticking when you pause or play an audio file though.
this is using the built in unreal engine Calculate Frequency Spectrum node, so there could be issues on that side, but i dont get these issues if i import the same audio file manually. i do get an issue if the file isnt lossless however (third image) but none of those weird lines are audible
the second thing is that the compression quality doesnt seem to do anything. the fourth and fifth images below can show that pretty easily.
the white column from audio loaded in by your plugin (at quality 100)

the same audio file loaded in manually (at quality 100)

the weirdness with non lossless audio and unreal engine.

at 100 quality

at 1 quality

after looking through this, im unsure what to test as it all seems quite random. if you have any ideas for me to try, i can give them a go.
as an aside, my program did crash from a garbage collection error. im pretty sure its for the VaRest plugin, but ill provide it here anyways.
the garbage collection crash report
Assertion failed: !IsGarbageCollecting() [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp] [Line: 2332] Unable to create new object: VaRestJsonObject /Engine/Transient.GameEngine_0:VaRestSubsystem_0.None. Creating UObjects while Collecting Garbage is not allowed!

UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]
UE4Editor_CoreUObject!<lambda_8e14ca358e2340345ef44b260c149034>::operator()() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:2331]
UE4Editor_CoreUObject!StaticAllocateObject() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:2331]
UE4Editor_CoreUObject!StaticConstructObject_Internal() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3189]
UE4Editor_VaRest!UVaRestSubsystem::StaticConstructVaRestJsonObject() [D:\build\++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VaRest\Source\VaRest\Private\VaRestSubsystem.cpp:100]
UE4Editor_VaRest!UVaRestSubsystem::execStaticConstructVaRestJsonObject() [D:\build\++Portal\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VaRest\Intermediate\Build\Win64\UE4Editor\Inc\VaRest\VaRestSubsystem.gen.cpp:222]
UE4Editor_CoreUObject!UObject::execCallMathFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:930]
UE4Editor_CoreUObject!UObject::execLetObj() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2691]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:898]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1128]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:898]
UE4Editor_CoreUObject!ProcessLocalFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1128]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1067]
UE4Editor_CoreUObject!UObject::ProcessInternal() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1155]
UE4Editor_CoreUObject!UFunction::Invoke() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5588]
UE4Editor_CoreUObject!UObject::ProcessEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:1992]
UE4Editor_BPThreads!FBaseThread::Run() [D:\Build\++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\BPThreads\Source\BPThreads\Private\BaseThread.cpp:56]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

the crash report from the tests above. all the crash reports were the same.
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000015af9410000

VCRUNTIME140
UE4Editor_RuntimeAudioImporter!WAVTranscoder::Encode() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\RuntimeAudioImporter\Source\RuntimeAudioImporter\Private\Transcoders\WAVTranscoder.cpp:131]
UE4Editor_RuntimeAudioImporter!<lambda_c14287c21e937073c88b138f6a34fb14>::operator()() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\RuntimeAudioImporter\Source\RuntimeAudioImporter\Private\RuntimeAudioImporterLibrary.cpp:239]
UE4Editor_Core!TGraphTask<FAsyncGraphTask>::ExecuteTask() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1065]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:888]
UE4Editor_Core!FTaskThreadAnyThread::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:965]
UE4Editor_Core!FRunnableThreadWin::Run() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]

It's not clear to me why you get different crash results in PCM Buffer and Raw Wave Buffer depending on the quality, if the quality only affects the compressed buffer.
I tried to get at least one crash, used different formats, but couldn't reproduce. Can you describe the whole process, how exactly do you do it?
My last commits were to improve low-level memory operations. They are primarily there to make sure there are no memory leaks. Altough I don't think this will help with your crash.

ill try to make a new actor and start from scratch and see if i still get the crash. there might be a conflict with another plugin possibly? im not fully sure as the crash will happen without any other blueprints running in that actor (well, there will be other blueprints, but they will be disconnected from the the rest of the nodes.
as for what im doing, im not doing anything actually. thats what confuses me. basically, i load in the audio (that works fine. no crashes there) then i compress it. without doing anything (ie, without even setting a variable with the compressed audio), it will crash, and have a good chance of crashing too as youve seen. my blueprints setup looks like what i have in the original image.
also, now that i know that quality only affects the compressed buffer, ill see if i can find a pattern in that. i dont think quality really affected anything when PCM and Raw buffer were selected and i was more just seeing patterns in nothing. i still provided it as part of the bug report as you might have been able to see some kind of pattern that i could not.
ill do all this tomorrow tho. i was digging holes all day and im completely burnt out.

Thanks for all the information. I doubt that the problem is in conflict with another plugin.
I would be very happy if you could provide steps on how to reproduce your crash, or send a test project. Or at least provide examples of audio files that cause the crash.

i may not be able to respond for the next few days. im doing some land scaping (as an odd job) over the next 2-3 days and im completely wiped out when i get home.
ill see if i can recreate this issue on a fresh project, and if i can, ill send it your way. ill also give diffrent formats a go.
i was using an ogg file for all of this, so it could be that wav or flac will work better.

im back with good news!!!!
whatever you did in your recent update fixed the issue im pretty sure.
i did get a crash, but that may have been because i was reloading (wiping and retrying the compression) at a high rate.
here it is anyways. may be a bug on your side that youd want to know about: Assertion failed: !IsGarbageCollecting() [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp] [Line: 2332] Unable to create new object: ImportedSoundWave /Script/RuntimeAudioImporter.ImportedSoundWave.None. Creating UObjects while Collecting Garbage is not allowed!

i dont actually think that above bug is caused by your code. i think its an issue on my side
as an asside i think i found something else; flac loading doesnt work.

I'm glad that improved memory management has fixed your issues. It is possible that earlier some memory pointers were mistakenly freed, but now they definitely should not be.
It looks like some improvements in memory management have affected Flac decoding. Should be fixed.
As for that bug related to object creation and garbage collection, it seems to be due to one of the sound waves being created on a different thread than the game thread and at the time of the garbage collection. Should also be fixed.

if the thread thing is whats causing the garbage collection, then its likely a thing on my side. i have a multi threading plugin and im using it to generate a spectrogram. as its directly using the audio, i could see it causing issues with your plugin

This is not due to the thread, but just a coincidence that the creation of the object occurs exactly at the moment when garbage is collected in the main thread.  However, this should be fixed by now.

alright cool!

you do have a node that already sorta does this, but my code would allow someone to calculate a sing at an arbitrary time value, and faster than real time.

As for multithreading, it depends on what you are looking for. You can create a separate thread pool if your tasks are heavy enough to afford creating threads. Or you can use the so-called AsyncTask, which work on threads already created by the engine. You can also use FRunnable, but they are usually used for very heavy tasks.
Runtime Audio Importer works with AsyncTask because it has tasks of the same type that are quite difficult to parallelize on different threads.
If you need a multi-threaded loop, I can advise using "ParallelFor" (Async/ParallelFor.h). I used it for analysis here.
By the way, AudioAnalysisTools works outside the main thread and it does not have such strong calculations, so its work should not affect the game thread.

alright cool!! ill take a look at thread pools then. it sounds like its the right thing for my use case. i would basically be calculating each spectrogram section as a chunk (that way procedural mesh wouldn't have as large a mesh to generate, and you could hide any chunks outside of the view distance), offset by the index provided by a for loop counter. chunkIndex = loopCounter + totalThreads, where each thread would get ID'ed by loopCounter. every time the thread was done, totalThreads would be added on top, this way cleanly offsetting the data. each chunk could comfortably calculate at the same time that way without any conflicts.
i know that sounds like alot of processing power going to spectrogram calculation, but even unreal engines spectrogram calculation struggles to get equal to real time, let alone faster than it if i were to calculate at max quality. two threads allocated to spectrogram calculation would be able to go faster than real time however, so im ideally aiming for that for this process (so 3 total threads if you include your main thread. most people have atleast a 4C/4T CPU now days, but i will be adding a way for the code to know not to go over the amount of cores your computer has)
because i cant have the procedural mesh on anything other than the main thread i need some way to let the main thread quickly know that a thread is done so the procedural mesh can be created. is there anything like an event listener like in javascript in unreal engine?

unless FRunnable is basically what im looking for. reading the unreal docs didnt give me much info on it

im having a small issue with building my project. i need to build it so i can create a C++ file so i can make that spectrogram code.
looking for an answer online, it seems to be that i have a duplicate file somewhere, but im not sure where and i dont want to accidently delete something i shouldn't. as someone more experienced, do you recognize this issue? it seems to be specifically with your plugins.

Oh, I have recently answered it here.
In short, if you are using the Audio Analysis Tools from the Marketplace, you do not need to install the Runtime Audio Importer separately, as it is already built in.

ahh i see. thank you!
also, may i leave this chat open for questions i may have? i suspect ill have a couple. hopefully not too many tho. i dont want to barrage you with questions lol

Sure. But if possible, it’s better to ask questions in the Telegram chat, and leave GitHub Issues for bugs.

telegram? i dont have it and getting an account is a bit awkward. i dont currently have a working cellphone plan because i lost my job when covid started, and i need a cell phone number that i can send a text to. do you have discord at all?
if all else fails tho, i guess i could borrow someone elses phone to do the account activation stuff

I have Discord, but there is no chat and I rarely go there.
No problem, then you can write to<EMAIL_ADDRESS>for questions and here for bugs if you want.

alright cool! i shall do so if needed


Move Helpers.keyCodes to Globals.keyCodes

Move Spellbook.Helpers.keyCodes to Spellbook.Globals.keyCodes
Create a new components/globals directory

cc: @johndjameson

Closing - globals should be in compendium, not components/. Redoing.


Adding a bit more info to README

Based on my experience building this on linux (and my obvious lack of experience with golang)

Hi, thanks! I'll take a look at it. I suspect the versioning can be fixed with the new (-ish) Go modules. Well, that and updating the code to work with the latest dependencies. I'll look for those updates and try the linux build.

I'm adding go.mod and go.sum which fixes the build & dependency challenges. It will fetch the appropriate versions now when go buildingl
I'll merge the PR for the non-build info, though. Thanks!


Support for subdirectories

Basically I added a config setting where the user can specify which directories to include when looking for npm scripts.
This is related to this question #6

Merged PR.


add feedback notes

As per our conversation earlier today.
/cc @srawlins @devoncarew @mit-mit

My hesitation w/  "dart-lang/lints or dart-lang/linter" is that I wonder if folks will even know that there's a linter repo and see this and say huh?  I don't feel super strongly though.
I'll land this and we can iterate.  I'd be curious to get @mit-mit's input too.
Thanks!


Revert "Added user and password in helm configuration."

Reverts forseti-security/helm-charts#52

/gcbrun


Allow RRuleIter state to be saved

I was thinking about a way to we can have a RRuleIter and make it iterate over the different dates, but at some point save it so we can later resume iterations where we left of.
This is a tricky problem as just changing the start date (DTSTART) does not work. Because it might result in different result dates.
But this can however be done if the start date is equal to a date in the generated dates.
Lets say you have: DTSTART:20210101T090000\nRRULE:FREQ=DAILY
This will generate dates like (generate 4 dates):
2021-01-01 09:00:00
2021-01-02 09:00:00
2021-01-03 09:00:00
2021-01-04 09:00:00

We can then save the iterator by changing it to DTSTART:20210104T090000\nRRULE:FREQ=DAILY
If we then 'continue' the iterator (but this is a entirely new RRuleIter created from the string) to get more dates.
I think this can work in all cases. There are however a few more things we would have to change to.

Counter (COUNT) should also decremented.
The first date might overlap with the last day of the previous iteration, but this can easily be solved by just discarding an iteration.
It might create a new rrule that would return no result. (if counter is 0 or start date is after until date)
...

I'm curious if there are things I'm not thinking of.
This also requires a way of turning RRuleProperties back into a String. But this would be a nice feature anyway for stripping a rrule string from redundant data and making sure it is always valid.
Let me know what you all think.

Interesting idea.
I guess you can store the last date generated and when you want to resume, just use skip_while until that date is surpassed. It is of course not as efficient as you need to regenerate all the old dates, but how big of a problem is that performance penalty anyways?
It might be quite tricky to store the state at a particular iteration as there are many moving parts, but definitely doable.
Do you have a specific use case in mind for this feature? Something you need in your own application? I would like to understand the need for the feature better :)


Cannot reproduce the results in paper

Below are the results on QVHighlights dataset, which are much lower than that reported in the paper.
{
<EMAIL_ADDRESS>57.42,
<EMAIL_ADDRESS>42.58,
        "MR-full-mAP": 38.98,
<EMAIL_ADDRESS>59.31,
<EMAIL_ADDRESS>39.46,
        "MR-long-mAP": 46.07,
        "MR-middle-mAP": 40.39,
        "MR-short-mAP": 7.95,
        "HL-min-Fair-mAP": 69.31,
        "HL-min-Fair-Hit1": 68.71,
        "HL-min-Good-mAP": 59.22,
        "HL-min-Good-Hit1": 67.03,
        "HL-min-VeryGood-mAP": 36.41,
        "HL-min-VeryGood-Hit1": 56.26
}

Same here.  I am getting a slightly better than above, but not lower than what reported in the paper.
"brief": {
<EMAIL_ADDRESS>59.42,
<EMAIL_ADDRESS>44.9,
"MR-full-mAP": 39.46,
<EMAIL_ADDRESS>60.25,
<EMAIL_ADDRESS>40.26,
"MR-long-mAP": 44.95,
"MR-middle-mAP": 42.37,
"MR-short-mAP": 8.47,
"HL-min-Fair-mAP": 69.2,
"HL-min-Fair-Hit1": 70.0,
"HL-min-Good-mAP": 58.99,
"HL-min-Good-Hit1": 67.94,
"HL-min-VeryGood-mAP": 36.21,
"HL-min-VeryGood-Hit1": 57.48
},
Hi authors, can you please help in this regard?


Create fibonacci using recurrance in Python

Don't feel bad! This PR can't be a accepted as it doesn't gone some pre-checks. Please create another PR.
Happy Coding!!
Happy Contributing!!


Bump JMS serializer version to 1.0

As JMS Serializer version 1 is out, it should be good to upgrade the dependency.

Hi there, thanks for suggesting this! I didn't know about the new version.
If the interfaces/classes used by this library didn't change when JMS serializer went from 0.12 to 1.0, then I'd like to allow people to use both ~0.12 and ~1.0. I think you can accomplish this, by using "|" for version constraints, like ~0.12|~1.0. Or just >=0.12, though that may be a bit too inclusive. That way, we only need a "hotfix" release (since it's not really a new feature we're introducing here) and there will be no BC breaks for people. The same goes for the bundle.

@matthiasnoback That definitely makes sense as the interfaces are the same. I've just updated the PR in that sense.


Workflow Dropdown Prefab

💬 Description
This PR creates a prefab for the Workflow Dropdown. It also creates a whole story that puts together all of the smaller components we've been making.
STILL TO FIX:

The positions of the dropdowns are way off, I can't quite figure out why.

📹 GIF (optional)
https://p-76FWwk4.t1.n0.cdn.getcloudapp.com/items/Apuz6gYe/7862cbd3-67ac-40db-9459-4887eeab9a53.gif?v=98257605fe7d3a4182981812280a5bd3
🚪 Start Points
lib/src/prefabs/workflowDropdown/WorkflowDropdownStory.js
✅ Checklist

[ ] Tests written
[ ] Browser tested
[ ] Added to documentation
[ ] Added to storybook

 Create WorkflowDropdown prefab (1)