Error processing for line extraction QA

Now that line extraction QA is functional and better curation for the QA data set(s) is underway, the error processing code for the line extraction QA module needs to be implemented.
This may include addressing the copying of Python files that currently happens during line extraction for the watershed method and/or altering those script files that are locally copied to the data subdirectories. Error reporting and collection is what would be introduced in this code
Typical error processing code for collate_errors will be handled in the QA_LineExtraction class in qa_line_extraction.py.

The new data stats  command has produced some notable errors that will help with data set curation.
cole_R223278_DNLM_2_sureguide166
jgrismond_R20542_NjPT_4_viewofgovernment1662
tbraddyll_R4267_duke_8_essaytoheraldry1684
All have problem tif files – particularly tbraddyll.

ERROR: Could not find line_df.csv
wdugard_R3173_uk_12_phraseologiapuerilis1650
roulton_S113063_uk_4_hannibalandscipio1637
jstreater_R25319_uc_4_rarejewel1670
anon_R8533_uk_8_conwayprinciplesphilosophy1692
norton_R1745_uk_8_episcopacy1661
troycroft_R21452_uc_8_herbertpriest1671
rieveringham_R15316_cal_4_derepoetica1694
wgodbid_R15789_ucd_8_anessayofthewondersofgod1662
anon_R11260_wellcome_4_generalhistoryair1692
bridge_R1139_uk_8_thetaghmicalart1698
anon_R36966_uk_8_TotheJewsnaturaland1677
jsowle_T116783_nnc_8_enormoussin1708

The new subcommand order for line extraxction QA is "clear", "run", "collate_errors", and "output_stats". This issue will be closed once the output_stats implementation is finished.

output_stats and the integration with it of error processing code is done as of https://github.com/printprobability/qa-workflow/commit/fb86d7587d4b04d4af85e1315766023817c34aa3


file_get_contents can be blocked on some servers...

https://github.com/infinum/wp-boilerplate/blob/4706f9b6590cd819ff948b1d00932c1ebb86b7a4/wp-content/themes/inf_theme/includes/class-main.php#L201
For file_get_contents() to work allow-url-fopen has to be enabled on the server.
We should use wp_remote_get() or wp_remote_request() for this.
Why did we switch from it?

because wp_remote_get has problems accessing the URL when the site is behind VPN or htaccess. Also, there has been some problems with https

we agreed that file_get_contents will be safer option

Yeah, we agreed, but since then I had some complaints on my plugins that certain features didn't work, and in some personal projects I did the same thing happened because the hosting company usually disables allow-url-fopen, which will cause issues with file_get_contents().
wp_remote_get() should be superior, as it handles tons of cases (check the request method of WP_HTTP class).
We can go through possible issues you mentioned, and find some kind of workaround (a try/catch to see if one method works or not, and use another instead).

replaced with file


More flexible overrides for Search and IncSearch

I use hlsearch a lot and I'd like to customize both the IncSearch and Search style options including bg and fg.   The problem is that those elements make use of common styles, so adjusting things for search elements will also affect other styling.  Would you be open to a PR that defines new keywords for colors overrides?
    hl.set('IncSearch', { bg = colors.other_keywords, fg = colors.bg }) -- 'incsearch' highlighting; also used for the text replaced with ':s///c'
    hl.set('Search', { bg = colors.bg4, fg = colors.fg })                                         -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.

I think what we need in this case is highlight overrides, that would be easier to implement and would provide more functionality. We could add highlight_overrides option to config, it would expect a function that has colors table as a parameter, so that people could use the colors from the color set to define their highlight overrides. highlight_overrides function would have to be executed after all the highlights are set. We would expect this function to simply contain vim.api.nvim_set_hl instructions, i.e. it would not return any highlights table, it would set the highlights itself.
The way we add this to config should be similar to color_overrides:
require 'mellifluous'.setup({
    <color_set_name> = { -- name any of the defined color sets
        highlight_overrides = {
            dark = function(colors)
            end,
            light = function(colors)
            end,
        }
    }
})

If you want to contribute, I can leave this for you to implement, otherwise I can do it myself.
I've been thinking for some time now, that the current IncSearch highlight doesn't look good, so if you have any suggestions on how to change it, that would be great.

If you want to contribute, I can leave this for you to implement, otherwise I can do it myself.

I'll try to take a crack at it first thing 2024.  If you don't see a PR within a few weeks then you might want to do it yourself :)

I've been thinking for some time now, that the current IncSearch highlight doesn't look good, so if you have any suggestions on how to change it, that would be great.

I agree, I'm not crazy about the current value either, but I couldn't find anything better.  My original reason for wanting more customization is that the IncSearch vs Search where so different in styles and that Search was soooo subtle that I had a hard time recognizing highlighted items.  That said, I REALLY like this theme because it doesn't have a huge color palette....  Maybe going with a subtle BG and a contrasting FG would work?

As you can probably see, I've created a PR. I ended up using my highlighter for highlight_overrides, so instead of vim.api.nvim_set_hl calls there will be highlighter.set calls in highlight_overrides function. I will add the documentation and merge the PR a bit later.


Rolling back #2083 (static resource_name_treatment)

This causes a failure with internal smoke tests because we don't also generate a resource_name_generation section at the end of the gapic yaml.

Codecov Report

Merging #2136 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #2136      +/-   ##
============================================
- Coverage     86.77%   86.76%   -0.01%
+ Complexity     5053     5052       -1
============================================
  Files           453      453
  Lines         20068    20060       -8
  Branches       2124     2123       -1
============================================
- Hits          17414    17406       -8
  Misses         1918     1918
  Partials        736      736

Impacted Files
Coverage Δ
Complexity Δ

...le/api/codegen/configgen/mergers/MethodMerger.java
100% <100%> (ø)
20 <0> (-1)
:arrow_down:

Continue to review full report at Codecov.

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


Fugue plugin

Codecov Report

Merging #311 (59337fa) into master (4419961) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head 59337fa differs from pull request most recent head 6d8e7b5. Consider uploading reports for the commit 6d8e7b5 to get more accurate results

@@            Coverage Diff            @@
##            master      #311   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          101       102    +1
  Lines         9482      9499   +17
=========================================
+ Hits          9482      9499   +17

Impacted Files
Coverage Δ

fugue/_utils/interfaceless.py
100.00% <100.00%> (ø)

fugue/_utils/register.py
100.00% <100.00%> (ø)

fugue/execution/__init__.py
100.00% <100.00%> (ø)

fugue/execution/factory.py
100.00% <100.00%> (ø)

fugue/extensions/_utils.py
100.00% <100.00%> (ø)

fugue/workflow/utils.py
100.00% <100.00%> (ø)

fugue_ibis/__init__.py
100.00% <100.00%> (ø)

fugue_ibis/execution/pandas_backend.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Potree 2.1.1 Linux does not create viewer when output folder isn't already created

Hi there,
the Potree Converter is not creating the full viewer when the output folder isn't created before running it.
The command used:
./PotreeConverter -i INPUT -o OUTPUT -p NAME

just the following files are created:
hierarchy.bin
log.txt
metadata.json
octree.bin

The error message is the following:
ERROR(main.cpp:453): filesystem error: cannot copy: No such file or directory [/potreeconv/resources/page_template] [/app/uploads/tesdsal/sadf/]

if you are scripting with the linux binary, create the output folder before :)
Cheers,
David

@zwnk can you please let me know how you were able to run PotreeConverter in linux, trying to run the latest version 2.1.1 in Ubuntu 22.04.2 LTS, facing issues with it.

@SrujanPonnur1 and what is your issue?
if you have the same issue, just create the folder you want to put in the potree viewer berfore executing potree converter.


Allow validation rule re-use or maybe decouple rule creation from validation group creation

Summary
After chatting in gitter it was mentioned that hopefully there will soon be support for #10, which kinda ties into this. However let me bore you for a few minutes with a scenario and how the problem causes duplication of rules.
Scenario (Lots of waffle)
So if I have a model, lets say Item, which looks like this (using TS):
export class Item
{
   public Name: string;
   public Description: string;
   public Weight: number;
   public Value: number;
}

Now to validate this object I need to do 3 things:

Create the instance of the Item
Setup the rules for THIS item then get the validation group
Trigger the validate promise on the validation group in previous step

That's all fine and I have an Create Item Page with the following validation setup:
export class CreateItemVm
{
	public Item = new Item();

	private itemValidationGroup = validation.on(this.Item) // lets assume `this` will work here
		.ensure("Name")
			.isNotEmpty()
			.hasMinLength(5)
		.ensure('Description')
			.hasMinLength(5)
		.ensure('Weight')
			.containsOnlyDigits()
		.ensure("Value")
			 .isNotEmpty()
			.containsOnlyDigits();
}

Then I can add as many methods within my VM as I want and can then do:
this.itemValidationGroup.validate()
   .then(() => { /* do something, its valid */ })
   .catch(() => { /* do something, its failed */});

Now at this point its fine and this is an intended use case I assume, however then lets assume I need to re-use this validation on another page, such as an Edit Item Page, I then have to duplicate the above rules for this VM unless I make a class to separate the rule generation out to make it more reuseable, like so:
export class ItemValidationRules
{
	public createValidatorFor(item: Item) {
		return validation.on(item)
		.ensure("Name")
			.isNotEmpty()
			.hasMinLength(5)
		.ensure('Description')
			.hasMinLength(5)
		.ensure('Weight')
			.containsOnlyDigits()
		.ensure("Value")
			 .isNotEmpty()
			.containsOnlyDigits();
	}
}

Now at this point I can quite happily replace all bespoke validation logic with a call to this class (Which can be DI'ed in) and then I can re-use the validation rules in both pages.
HOWEVER! then we get a requirement to create an Inventory page where you can view all your existing items and edit them in the list or create new ones in a modal and add them to the list.
So our inventory object would look something like:
export class Inventory
{
   public Items: Array<Item>;
}

Then our inventory page would look something like:
export class InventoryVm
{
	public Inventory: Inventory; // Powers the list that can be quick edited
	public NewItem: Item; // The new item which can be created in a modal then added to the list if valid

	private itemValidationRules: ItemValidationRules;
	private newItemValidationGroup = this.itemValidationRules.createValidatorFor(this.NewItem);

	private inventoryValidationRules = validation.on(this.Inventory)
		.ensureForEach("Items") // Assuming #10 is done
			.ensure("Name")
				.IsNotEmpty()
				.etc(); // repeat all the same stuff as in the Item validation
}

The problem
Now at this point the problem rears its head. As the way that validation is setup (being explicitly tied to the creation of a validation group) you cannot really get around being able to re-use the same validation rules in both scenarios. So without writing lots of custom stuff it is not possible to re-use the validation rules in a composite way as it stands.
Now ideally I just want to have the notion of "this is how to validate an item", so I can basically re-use those same rules to generate as many groups as I want, be it within a larger entity where I want cascading rules (such as inventory, or a character who has an inventory which contains many items) or an individual object such as an Item.
So we were discussing the possibility of something like adding an extension like usingRulesFrom(existingValidationGroup) which could be used like so in the previous example:
private inventoryValidationRules = validation.on(this.Inventory)
	.ensureForEach("Items") // Assuming #10 is done
		.useRulesFrom(newItemValidationGroup);

However I am not really sure how realistic this is to do as I dont know if the validation group contains enough metadata to extract and rebuild the rules on a new object.
So I am open to ideas at this point as I guess my ideal scenario would be something like:
var itemValidationRules = validation.createRuleset()
	.ensure("Name")
		.isNotEmpty()
		.hasMinLength(5)
	.ensure('Description')
		.hasMinLength(5)
	.ensure('Weight')
		.containsOnlyDigits()
	.ensure("Value")
		 .isNotEmpty()
		.containsOnlyDigits();

var itemValidationGroup = validation.on(someItem)
	.useRuleset(itemValidaitonRules);

var inventoryValidationGroup = validation.on(someInventory)
	.ensureForEach("Items")
		.useRuleset(itemValidationRules);

Then that way you can split the rule definitions and the validation groups up and use them in a composite manner, this also makes it easier to make cascading validation but still use each validation rule at the individual level.
Also its worth mentioning without the starting the notion of cascading validation as mentioned in #10 a lot of other things on top of this issue become a lot more cumbersome, like trying to manage a list of entities which can dynamically have elements added or removed, you would need to manually keep re-creating and removing validation (which is one reason why I originally favoured external classes handling the creation of validation groups), and if you were to remove one how would you know which validation group to remove from the list... I guess if they maintained order it may be ok, but hopefully this also shows why #10 is super important as a stepping stone for this sort of thing.
The End
I hope I have not bored you too much and the points raised here are helpful to see how in larger more complex models the current validation paradigm is going to cause lots of headaches.

Hey Grofit,
The @ensure decorator works wonders, but using the fluent API causes a lot of repetition. I think it would be pretty easy to do this using a callback function, actually:
var rulesSet1 = validation.createRuleSet( (v) => v.ensure('firstName').isNotEmpty() ); //and more rules
var group = validation.on(this.VM).useRuleSet(rulesSet1);

Doing the decoupling this way (using a callback in the createRuleSet method) will allow me to reuse the @ensure decorator code internally when setting up the group.
Secondly, the useRuleSet opens up a nice entry point to add rule sets created not just with the createRuleSet method, but we can generate rule sets from JSON schemas, have them generated from Entity Framework models, etc...
Interesting... Let's agree that #10 is highest prio, but we'll want this before hitting beta too :)

Hmmmm I'm liking this also......

I am aware of the @ensure syntax and part of me likes the validation rules being on the models, part of me dislikes it. Coming from Knockout the validation is metadata on the actual model so it is easy to cascade and ripple down, but then your models are tied to the validator.
Anyway good to know you are interested in the idea, the style you propose is fine as that way you could  easily have a method handle that step so the validation rules setup could be offloaded to another class (I only mention this because I know some of my validation can be verbose, so putting it in an isolated class makes it a bit neater and easier to maintain).

Any news on this one? (No worries if not)

Thanks for submitting this / commenting on this.  At this time we are closing this because we have completely re-written and are deprecating the previous feature set.  If you feel this should be re-opened please feel free to review this blog post and submit either again on this repository, or on the new validatejs bridge repository
Thanks again!


rocmPackages.hiprand: 6.0.2 -> 6.1.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.

WARNING: Package has meta.broken=true; Please manually test this package update and remove the broken attribute.

meta.description for rocmPackages.hiprand is: A HIP wrapper for rocRAND and cuRAND
meta.homepage for rocmPackages.hiprand is: https://github.com/ROCm/hipRAND
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.1.0 in filename of file in /nix/store/7jfr42jrw0q3w166xjnx23ni165gmyn3-hiprand-6.1.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

rocmPackages.hiprand
rocmPackages_6.hiprand

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7jfr42jrw0q3w166xjnx23ni165gmyn3-hiprand-6.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A rocmPackages.hiprand https://github.com/r-ryantm/nixpkgs/archive/a8b4877c2b7ec904768abfb0e8d2a04c5e400c4b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a8b4877c2b7ec904768abfb0e8d2a04c5e400c4b#rocmPackages.hiprand

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7jfr42jrw0q3w166xjnx23ni165gmyn3-hiprand-6.1.0
ls -la /nix/store/7jfr42jrw0q3w166xjnx23ni165gmyn3-hiprand-6.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package marked as broken and skipped:

rocmPackages.hiprand

Maintainer pings
cc @Madouura @Flakebi @mschwaig for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.

WARNING: Package has meta.broken=true; Please manually test this package update and remove the broken attribute.

meta.description for rocmPackages.hiprand is: A HIP wrapper for rocRAND and cuRAND
meta.homepage for rocmPackages.hiprand is: https://github.com/ROCm/hipRAND
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.1.1 in filename of file in /nix/store/32v0sip5jgchj927bhqrkzdz4x7d7gvs-hiprand-6.1.1

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

rocmPackages.hiprand
rocmPackages_6.hiprand

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/32v0sip5jgchj927bhqrkzdz4x7d7gvs-hiprand-6.1.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A rocmPackages.hiprand https://github.com/r-ryantm/nixpkgs/archive/4c11629adb53d2298a52301dbcc300d7aadf940c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4c11629adb53d2298a52301dbcc300d7aadf940c#rocmPackages.hiprand

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/32v0sip5jgchj927bhqrkzdz4x7d7gvs-hiprand-6.1.1
ls -la /nix/store/32v0sip5jgchj927bhqrkzdz4x7d7gvs-hiprand-6.1.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package marked as broken and skipped:

rocmPackages.hiprand

Maintainer pings
cc @Madouura @Flakebi @mschwaig for testing.


Prevent high channel churn in a queue full scenario

In a scenario with a high message publishing rate and a full queue the publisher will get "nack" (not acknowledged) as feedback from RabbitMQ.
The method Channel#waitForConfirmsOrDie(long) in https://github.com/rabbitmq/rabbitmq-java-client/blob/main/src/main/java/com/rabbitmq/client/impl/ChannelN.java#L241 will close the channel. This closed channel is then given back to the channel pool. Next time the channel is taken out of the pool it is detected as closed and will be removed. So a new channel needs to be opened and this too will be closed directly after usage when the same queue is still full. There will be a high rate of opened and closed communication channels and the channel pool gets unusable.
This is described as high channel churn (https://www.rabbitmq.com/channels.html#high-channel-churn) and can have side effects on RabbitMQ (memory and cpu resource usage) and performance too.
It was also discussed with folks from rabbitmq-java-client (rabbitmq/rabbitmq-java-client#942) and the usage of Channel#waitForConfirmsOrDie(long) is "highly NOT recommended" by them.
This behavior affects ALL versions of the camel-rabbitmq component!

What is the reason that the pipeline failed? I can't see any root cause in the logs - only "error 1" !? Anything I can do/fix here?

The checkstyle issue is not related to your changes but is more in camel-jbang-core:
[ERROR] /home/runner/work/camel/camel/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java:108:22: Name 'CODE' must match pattern '^[a-z][a-zA-Z0-9]*$'. [LocalFinalVariableName]
[ERROR] /home/runner/work/camel/camel/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java:109:22: Name 'GENERATOR_NAME' must match pattern '^[a-z][a-zA-Z0-9]*$'. [LocalFinalVariableName]
[ERROR] /home/runner/work/camel/camel/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CodeRestGenerator.java:110:22: Name 'LIBRARY' must match pattern '^[a-z][a-zA-Z0-9]*$'. [LocalFinalVariableName]


python310Packages.aiopvapi: 2.0.2 -> 2.0.3

Description of changes
https://github.com/sander76/aio-powerview-api/releases/tag/v2.0.3

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.hunterdouglas_powerview
python310Packages.aiopvapi
python39Packages.aiopvapi


combine fails for GroupBy when reducing function is bare lambda

I discuss this issue in some more detail in this PR.  In summary, combine needs an inner reducing function from the rf argument, but it can't get it if it is supplied directly with a bare anonymous function (i.e. a Reduction is needed).  I added some documentation in that PR so that users will know what to do if it gets merged, but a real fix is needed.  Doing this without breaking changes will be difficult.

One possibility which I think would be non-breaking is
struct GroupBy{K, R, IR, T} <: Transducer
    key::K
    rf::R
    inner_rf::IR
    init::T
end

function GroupBy(key, rf, init, inner_rf=rf)
end

but it's a bit wonky and almost definitely not how it would have been done if it were done right in the first place.


Full Text returns wrong results for Turkish

It does not provide a correct search result when the word contains "Turkish i" char.
Index documents
./bin/bayard set 1 '{ "text" : "quıt" }'
./bin/bayard set 2 '{ "text" : "quit" }'
./bin/bayard set 3 '{ "text" : "QUIT" }'
./bin/bayard set 4 '{ "text" : "QUİT" }'

Search for "quit":
./bin/bayard search text:"quit"

Actual Results
[
  {"id":["3"],"text":["QUIT"]},
  {"id":["2"],"text":["quit"]}
]

Expected Results
[
  {"id":["4"],"text":["QUİT"]},
  {"id":["3"],"text":["QUIT"]},
  {"id":["2"],"text":["quit"]},
  {"id":["1"],"text":["quıt"]}
]

@ogun
Thank you for your report.
The example schema (https://github.com/bayard-search/bayard/blob/master/etc/schema.json) is very simple.
Since Bayard built on top of Tantivy, the support status of each language depends on whether Tantivy supports it.
Please contact the Tantivy project. https://github.com/tantivy-search/tantivy
Thanks,


No resource or method named chef_vault_item' for Chef::Recipe

Cookbook version
latest
Chef-client version
12.8.1
Platform Details
ubuntu 14.04
Scenario:
Use chef_vault_item method
No resource or method namedchef_vault_item' for Chef::Recipe
What prerequisites do I need to use this method during bootstrapping a node
Steps to Reproduce:
knife bootstrap ...
Expected Result:
Method can be used
Actual Result:

Given there has been a major version change and this problem doesn't seem present, closing. If the issue is preventing itself in current version please open a new issue.


Fix #5324 UI: Add ML model entity on explore page.

Fixes #5324
Describe your changes :

I worked on explore page for adding the ml model entity.

Type of change :

[x] Improvement
[x] New feature

Frontend Preview (Screenshots) :

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers
@open-metadata/ui

@Sachin-chaurasiya This looks good. Can we say "ML Models" instead of "MlModels" in the search box as well as the tab?

@Sachin-chaurasiya This looks good. Can we say "ML Models" instead of "MlModels" in the search box as well as the tab?

Done, Please see the updated screenshots.


hi, why return nil here. This cause whether session is closed or not is confused.

https://github.com/neo4j/neo4j-go-driver/blob/934739616886b903306e1df80aa58047407a1971/neo4j/session_impl.go#L67

Hi @Zddup it sure looks like a bug, the 1.7 driver is currently rewritten so this code will not look the same at all. Should be fixed in 1.8 version.


The weird thing is when I run it locally it passes. Debugging github actions drives me crazy! You just have to push and see what happens.

@sanders41 the test errors are more serious, but I don't see how we'd fix that because the sqlx query! macro requires that the database connection exists and is valid prior to compilation. But in CI, we don't have a database on the runner. Can we disable the checks just for that?

This step sets everything up and is working locally, I'm trying to figure out why CI isn't happy with it.
      - name: Prep data # This prevents sqlx errors if the database isn't running
        run: sh ./scripts/prep_tests.sh

Yup, I also always hated debugging GitHub actions! It's among the worst developer experience one can see these days.

For the format error it really was that the formatter needed running after I merged main. For Clippy and testing sqlx is definitely winning this battle so far :smile: . I've tried all kinds of things and so far nothing makes it happy.
I'm stubborn though, I'm not giving up yet!

FINALLY I got it to work. The last piece keeping things from working was I needed to create the scripts/data directory before copying the file. This was causing the docker startup to fail, but it didn't show up in the GH actions log.

Nice! Glad it worked out after all that effort!
Do you normally prune old branches in bulk or keep them for a few days? I just tend to keep things clean and have the fewest branches possible.

Actually I usually turn on the setting that auto deletes the branches when they merge. I just forgot to delete this one.

I wasn't aware there was such a setting 😂 And I was surprised someone so meticulous as you would keep unused branches lying around, I should have known there was a better way and just asked you! I'll activate that setting.


Android: Add pixels to understand navigation and search entry points

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#4733  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @anikiki and the rest of your teammates on  Graphite


[type definitions] Updating the type definitions to the latest version

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

File
Status
Preview URL
Details

docs/docs-ref-autogen/excel/excelscript/excelscript.range.yml
:white_check_mark:Succeeded
View (office-scripts)

generate-docs/api-extractor-inputs-excel/excel.d.ts
:white_check_mark:Succeeded

generate-docs/json/excel/ExcelScript.api.json
:white_check_mark:Succeeded

generate-docs/script-inputs/excel.d.ts
:white_check_mark:Succeeded

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


55-badge-feedback

Refs #55 #102
Describe the changes made in this pull request

Compared generated fair-software badge with existing fair-software badge
Generated different messages for the user depending on this comparison

Instructions to review the pull request

Rebuild howfairis
Run howfairis https://github.com/iomega/zenodo-upload to check behavior for an upgraded badge
Run howfairis https://github.com/fair-software/howfairis to check reaction to a matching badge
Run howfairis https://github.com/xtensor-stack/xtensor-fftw to check output for a missing badge

Thanks for the review and the updates!


Rust SDK time feature "itoa" cargo failure

Steps to Reproduce Issue
Create a new cargo project and add time as dependency
[dependencies]
sui-sdk = { git = "https://github.com/MystenLabs/sui", branch = "devnet" }
sui-keys = { git = "https://github.com/MystenLabs/sui", branch = "devnet" }
time = "0.3.17

cargo build
Expected Result
no errors
e.g.
Expected  to return 42.
error: failed to select a version for `time`.
    ... required by package `workspace-hack v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `workspace-hack` (locked to 0.1.0) of package `narwhal-config v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `config` (locked to 0.1.0) of package `narwhal-consensus v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `consensus` (locked to 0.1.0) of package `narwhal-executor v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `executor` (locked to 0.1.0) of package `narwhal-node v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `narwhal-node` (locked to 0.1.0) of package `sui-core v0.15.1 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `sui-core` (locked to 0.15.1) of package `sui-cost v0.1.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `sui-cost` (locked to 0.1.0) of package `sui-json-rpc v0.0.0 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `sui-json-rpc` (locked to 0.0.0) of package `sui-sdk v0.15.1 (https://github.com/MystenLabs/sui?branch=devnet#7c322323)`
    ... which satisfies git dependency `sui-sdk` (locked to 0.15.1) of package `sui-test v0.1.0 (/home/dougefish/projects/crypto/sui-test)`
versions that meet the requirements `^0.3` are: 0.3.15, 0.3.17, 0.3.16, 0.3.14, 0.3.13, 0.3.12, 0.3.11, 0.3.10, 0.3.9, 0.3.7, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0

the package `workspace-hack` depends on `time`, with features: `itoa` but `time` does not have these features.
 It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

Also for uuid
error: failed to select a version for `uuid`.
    ... required by package `workspace-hack v0.1.0 (/home/dougefish/projects/crypto/sui/crates/workspace-hack)`
    ... which satisfies path dependency `workspace-hack` (locked to 0.1.0) of package `narwhal-config v0.1.0 (/home/dougefish/projects/crypto/sui/narwhal/config)`
    ... which satisfies path dependency `config` (locked to 0.1.0) of package `narwhal-consensus v0.1.0 (/home/dougefish/projects/crypto/sui/narwhal/consensus)`
    ... which satisfies path dependency `consensus` (locked to 0.1.0) of package `narwhal-executor v0.1.0 (/home/dougefish/projects/crypto/sui/narwhal/executor)`
    ... which satisfies path dependency `executor` (locked to 0.1.0) of package `narwhal-node v0.1.0 (/home/dougefish/projects/crypto/sui/narwhal/node)`
    ... which satisfies path dependency `narwhal-node` (locked to 0.1.0) of package `sui-core v0.15.1 (/home/dougefish/projects/crypto/sui/crates/sui-core)`
    ... which satisfies path dependency `sui-core` of package `sui-cost v0.1.0 (/home/dougefish/projects/crypto/sui/crates/sui-cost)`
    ... which satisfies path dependency `sui-cost` (locked to 0.1.0) of package `sui-json-rpc v0.0.0 (/home/dougefish/projects/crypto/sui/crates/sui-json-rpc)`
    ... which satisfies path dependency `sui-json-rpc` (locked to 0.0.0) of package `sui-sdk v0.15.1 (/home/dougefish/projects/crypto/sui/crates/sui-sdk)`
    ... which satisfies path dependency `sui-sdk` of package `vaultwarden v1.0.0 (/home/dougefish/projects/shawshank/vaultwarden)`
versions that meet the requirements `^1` are: 1.2.1, 1.1.2, 1.1.1, 1.1.0, 1.0.0

the package `workspace-hack` depends on `uuid`, with features: `private_getrandom` but `uuid` does not have these features.


Data Pack Inconsistency

Currently, 1 Iron Ore = 2 Iron Ingots. Same for Gold.
However, 1 Copper Ore = 3 Copper Ingots.
Shouldn'1 1 Copper Ore also translate into 2 Copper Ingots?

No it should not. Copper ore in vanilla currently drops more than a single raw ore when mined, even without fortune. This is intentional behaviour.


Fixup MPC container patch

With adding the rbac-proxy container, the order is changed and patched one is now index 1

/test appstudio-e2e-tests


Update build SDK version of BC Wallet for iOS

Update the BC Wallet (and Bifold) SDK version as per the following:
Hello,

We noticed one or more issues with a recent delivery for the following app:

  *   BC Wallet
  *   Version 1.0.15
  *   Build 1527

Although delivery was successful, you may want to correct the following issues in your next delivery. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-90725: SDK version issue - This app was built with the iOS 16.2 SDK. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution.

Apple Developer Relations

This needs to be changed via the CICD build mechanics. We need to be building with Xcode 15 which will have the proper SDK. Currently the GitHub runner macos-latest ships with xcode 14:
Run xcode-select -p
/Applications/Xcode_14.2.app/Contents/Developer

We would need to switch to macos-13 as macos-latest is still based on macos-12:
https://github.com/actions/runner-images?tab=readme-ov-file#available-images
https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode

Looks like they did update the version in macos-13 as per these docs. I'll see about selecting it.


Source and destination of the rsync command needs to be escaped

The rsync fails if the source or destination path contains spaces.

Thanks for this; merged.


[UI][LB] Can't create LB using existing configuration

v0.16.0
Steps:

Create LB with new config
Create another LB using previous LB's config

Results:
"sourcePort" is required

Expected:
Should use scourcePort from previous LB's config

Turned off validation checks of the new lbconfig when you're not going to use it anyway..

v0.16.2 (latest)
Verified fixed


It's not clear how to use the IconType

The documentation mentions type IconType = 'themeicon' | 'image', but it doesn't explain how to use it. I would be interested in how to use the icon theme that the user has selected (file and folder icons: Minimal, Seti, and themes that come with plugins), to display the same file trees. It would be nice to see these explanations in the updated documentation.

Thanks for pointed it out. It's an internal type, I copied it accidentally to the docs. icons property is used to defining a codicon, iconUrls is used for custom icons. For example:
// codicons
const treeData = [
  {
    label: 'example.ts',
    icons: {
      branch: 'folder',
      leaf: 'file',
      open: 'folder-opened',
    }
  }
];

// custom icons
const treeData = [
  {
    label: 'example.ts',
    iconsUrls: {
      branch: '/assets/icons/folder.svg',
      open: '/assets/icons/folder.expanded.svg',
      leaf: '/assets/icons/typescript.svg',
    }
  }
];

Both tree data example contain a single leaf element. If a tree item is leaf, the branch and the open icons will be ignored.

The problem is that there are not only custom icons and codicon icons. I also suspect the existence of theme icons.
I would like to change icons dynamically depending on the user's theme, rather than using presets.
I mean I can't access Seti icons using codicons.
I expect the theme icons to be provided directly by VS Code, and currently, I believe that accessing them is not possible, right?

Sorry, I didn't read your previous comment carefully enough. Yes, I'm pretty sure the theme icon urls cannot be accessible in the extension API.


add specification for allocation and partition

Proposed Changes

New SLURM parameter options for allocation and partition

Dependencies

Requires the allocation/partition PR 117 on core

If the allocation/partition is nonsense (typo) the HPC will error, but this error doesn't reach the user. Can we fix this.
Example from the Core logs:
hello_world_half_hour not out of date, skipping update
hello_world_half_hour not out of date, skipping update
Assertion failed: 'Variable is undefined/null when it should not be. Assertion at Error, SingularityConnector.prepare: 78'
Assertion failed: 'Variable is undefined/null when it should not be. Assertion at Error, SingularityConnector.prepare: 79'
1726252408LZLIw: [event] SLURM_UPLOAD_EXECUTABLE uploading executable folder
1726252408LZLIw: [event] SSH_UNZIP unzipping /anvil/scratch/x-cybergis/compute/cache/hello_world_half_hour.zip to /anvil/scratch/x-cybergis/compute/1726252420QkBrQ
1726252408LZLIw: [event] SLURM_CREATE_RESULT create result folder
1726252408LZLIw: [event] SSH_MKDIR removing /anvil/scratch/x-cybergis/compute/1726252422Sa9P4/slurm_log
1726252408LZLIw: [event] SSH_SCP_UPLOAD put file from /job_supervisor/data/tmp/tmp-dywyhaco3v to /anvil/scratch/x-cybergis/compute/1726252420QkBrQ/job.sbatch
1726252408LZLIw: [event] SSH_CREATE_FILE create file to /anvil/scratch/x-cybergis/compute/1726252420QkBrQ/job.json
1726252408LZLIw: [event] SSH_SCP_UPLOAD put file from /job_supervisor/data/tmp/tmp-n6hi7udypb to /anvil/scratch/x-cybergis/compute/1726252420QkBrQ/job.json
1726252408LZLIw: [event] SLURM_SUBMIT submitting slurm job
1726252408LZLIw: [event] SLURM_SUBMIT_ERROR cannot submit job<PHONE_NUMBER>LZLIw: {"stdout":null,"stderr":"sbatch: error: Batch job submission failed: Invalid account or account/partition combination specified\n"}
1726252408LZLIw: [event] JOB_RETRY job [1726252408LZLIw] encountered system error ConnectorError: cannot submit job<PHONE_NUMBER>LZLIw: {"stdout":null,"stderr":"sbatch: error: Batch job submission failed: Invalid account or account/partition combination specified\n"}
1726252408LZLIw: [event] JOB_FAILED initialization counter exceeds 3 counts

Can we also add a tooltip or disclaimer near the allocation/partition boxes that most users should leave them blank and that we have default options.


"No such keymap 'menuselect'" errors when using prezto/editor module

zsh-autocomplete version: fdc21c0bdf4be5ae5ddbfa5c781ddf07b73c4d0b
Zsh version: debian/5.8-6
Framework: Mixed. Mainly prezto loaded via znap
Plugin manager: Znap

$ git -C ~zsh-autocomplete switch main  # Make sure you test with the `main` branch.
$ git -C ~zsh-autocomplete pull         # Update to the latest commit.
$ cd $(mktemp -d)                       # Create a temp dir and enter it.
$ unset _comp_dumpfile ZDOTDIR XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME
$ HOME=$PWD exec zsh -f       # Restart Zsh without config files in this dir.
$ source /path/to/znap/znap.zsh
$ znap source sorin-ionescu/prezto modules/editor
$ znap source marlonrichert/zsh-autocomplete

Error message right after you source this project.
.autocomplete.key-binding:bindkey:66: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:67: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:70: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:71: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:72: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:73: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:82: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:83: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:84: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:85: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:86: no such keymap `menuselect'
.autocomplete.key-binding:bindkey:87: no such keymap `menuselect'
.autocomplete.async:bindkey:13: no such keymap `menuselect'
.autocomplete.async:bindkey:14: no such keymap `menuselect'
.autocomplete.key-binding.precmd:bindkey:31: no such keymap `menuselect'
.autocomplete.key-binding.precmd:bindkey:32: no such keymap `menuselect'

This is not a bug in zsh-autocomplete, but actually an incompatibility between Prezto and Znap. I should be able to fix it, though.

Fixed.

Thanks for this. However I feel like this is too much of a hack.

This fix is specifically for people who use znap. If they don't then they will still encounter this problem.
Would it be easier if you just check if the menuselect keymap exists? If not just recreate it. I'm not too familiar with how zsh works so that might be an invalid idea.

I haven't tested this but prezto doesn't explicitly refer to menuselect at all anywhere in the code. So I'm not sure this fix will actually do anything.

@marlonrichert I think I've made this bug report in the wrong place. This shouldn't be the job for a plugin manager.
How about we revert this and I will create an issue in zsh-autocomplete? Maybe I'll even do a PR.

@patrickli

This fix is specifically for people who use znap. If they don't then they will still encounter this problem.

No, they won’t. I tested it and the bug doesn’t occur without Znap.

I think I've made this bug report in the wrong place. This shouldn't be the job for a plugin manager.

You filed this bug report against zsh-autocomplete, but I transferred it to the Znap repo, because of the reason above.

Would it be easier if you just check if the menuselect keymap exists? If not just recreate it. I'm not too familiar with how zsh works so that might be an invalid idea.

No, that wouldn’t work. Zsh doesn’t let you run a module more than once. What I’m doing instead is to run the complist module on demand when any code tries to modify the menuselect keymap. That was already the intention of the old code; I’m just doing it a bit more smartly now.

How about we revert this and I will create an issue in zsh-autocomplete? Maybe I'll even do a PR.

The problem does not lie in zsh-autocomplete. The problem is that Znap calls zmodload zsh/complist, which (among other things) initializes the menuselect keymap, but then Prezto calls bindkey -d, which resets all keymaps to default state and deletes all non-default keymaps.
I fixed it by making it so that complist gets called only when any code actually tries to use the menuselect keymap (instead of calling it the first time bindkey gets called).

OK understood. Thanks for the explanation.


installation instruction

[x] use .script instead of script as  a folder name
[x] copy INIT-SYNC + .script in a template repository.
[ ] add INIT-SYNC script to gitignore in a template repository.

added in readme,

the idea to put it on gitignore so people could erase the non-used one locally without erasing it on the server is not working. There is apparently no way to do that for the user https://stackoverflow.com/questions/1753070/how-do-i-configure-git-to-ignore-some-files-locally


run lowpass_biquad in gpu is much slower that run in cpu

🐛 Bug
Hi everyone, I am doing some experiments via lowpass_biquad filter in torchaudio, but I was trying to use GPU to speed up by code. I found that running the lowpass_biquad filter in GPU is much slower than running in CPU (x 200 slower). I am not sure whether it is a bug, but I am curious about whether anyone has the same situation as me?

To Reproduce
import time
import torch
from torchaudio.functional import lowpass_biquad

gpu_device = torch.device('cuda:0')
cpu_device = torch.device('cpu')

sample_rate = 44100
cutoff_freq = 1000.
Q           = .7

# Run in cpu
x     = torch.rand(sample_rate * 10, device=cpu_device)
begin = time.time()
y     = lowpass_biquad(x, sample_rate, cutoff_freq, Q)

print(f'Run in cpu: {time.time() - begin}')

# Run in gpu
x     = torch.rand(sample_rate * 10, device=gpu_device)
begin = time.time()
y     = lowpass_biquad(x, sample_rate, cutoff_freq, Q)

print(f'Run in gpu: {time.time() - begin}')

Run in cpu: 0.01553034782409668
Run in gpu: 21.124146461486816

Expected behavior
Run in GPU should much faster that run in CPU

Environment

What commands did you used to install torchaudio (conda/pip/build from source)? pip

If you are building from source, which commit is it? no

What does torchaudio.__version__ print? (If applicable) 0.8.0

PyTorch Version (e.g., 1.0): 1.8.0

OS (e.g., Linux): Linux Ubuntu 18.04.3 LTS (Bionic Beaver)

How you installed PyTorch (conda, pip, source): pip

Build command you used (if compiling from source): no

Python version: 3.6.12

CUDA/cuDNN version: 10.0.130

Versions of relevant libraries:
[pip3] python==3.6.12
[pip3] conda==4.9.2
[pip3] torch==1.8.0
[pip3] torchaudio==0.8.0

In torchaudio, a highly optimized  implementation of lfilter is used when input tensor is on cpu.
The lowpass_biquad function use lfilter internally, so I think it's possible to have performance degradation when running on gpu, depends on what type of gpu you are using.

I'd expect this behavior, because we don't have an optimized CUDA kernel for lfilter. I don't expect it'll be easy to write one for this particular kind of computation, but I haven't done a lot of research into it.

Hi @yoyololicon and @cpuhrsch ,
Thanks you for your reply, after doing some investigation. I realize that the run small for-loop via gpu is expensive, and may lead the performance degradation, which is happened in the current lfilter implementation.
https://github.com/rapidsai/cusignal/issues/171
https://gist.github.com/coderforlife/17bf471a519a7d092e82f95f10e8f6e4
I found useful resource in the cusignal discussion. They trying to make a efficient lfilter via cupy. I try it,  it work and really fast. Even faster than the CPU implementation in torchaudio. However, I can not read the Raw CUDA Kernel.
Do you guys have any idea how to integrated it to the torchaudio ?

Hi @yoyololicon and @cpuhrsch ,
Thanks you for your reply, after doing some investigation. I realize that the run small for-loop via gpu is expensive, and may lead the performance degradation, which is happened in the current lfilter implementation.
rapidsai/cusignal#171
https://gist.github.com/coderforlife/17bf471a519a7d092e82f95f10e8f6e4
I found useful resource in the cusignal discussion. They trying to make a efficient lfilter via cupy. I try it, it work and really fast. Even faster than the CPU implementation in torchaudio. However, I can not read the Raw CUDA Kernel.
Do you guys have any idea how to integrated it to the torchaudio ?

@ChenPaulYu
Have just took a brief look about the source code, seems like they wrote their own CUDA kernel.
If their license is compatible with us, maybe we can just borrow it and compiled with cpp extensions as described in https://pytorch.org/tutorials/advanced/cpp_extension.html.

Note: @carolineechen is adding a custom CUDA code and making changes to build/release processes. Once that part is done, adding custom CUDA kernel should be simple. Since we are not CUDA experts or do not have a decent experience there, it would be faster if someone with experience can contribute. If not I am curious to learn CUDA, so I will try to port it, but it will take some time to meet the performance criteria.

Since #1638 has merged, I think it's time to improve the running time on CUDA.
@mthrok I can also help look into it and try some CUDA code if you don't have time.

@mthrok
I finally got some time to look into this.
With a custom cuda kernel, the speedup of IIR against torchaudio's version is huge. I will make a PR later in January.

Hi @yoyololicon
Thanks for looking into this, it will be indeed great if we can make it more efficient.
Looking forward to your PR.
Let me know if you have any question.
cc @nateanl


Feat Request: Variable Transparency

I would like to be able to have a slightly transparent background instead of all or nothing. Is this something that can be reasonably added to the plugin?

Hi there! I've done some research and it seems like it's not currently possible in Neovim, but may be possible through your terminal. Transparency in Neovim is set by having no background colour and then, as I understand it, the transparency of the terminal you use will take over. Colours in Neo/vim don't allow for opacity gradients, alas.

Gotcha, I was able to make the adjustment in my terminal config, thanks!


Sets snap version from VERSION file

Uses adopt-info with new 'version' part.
Appends date and git info to version as previously.

Closing this since snap build fails on issue 1755 (which has a PR).
I'll make a new PR based on the above PR but with set version changes for edinburgh track.


Hello world

Hii, when I run the app on android studio, just appear a window with hello world phrase, it is looking like would be incomplete, will you upload more code in future days?? or am I doing something wrong??
Thankss

Hi there. I just created this repo.  No development has been done yet. I will start working on it next month.

Project is now complete.


Genericize EmbraceAttribute to support attributes that don't have fixed values

Goal

Testing

Release Notes

WHAT:
WHY:
WHO:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#648  👈
#639
#647
#646
#633
#645
#644
#643
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @bidetofevil and the rest of your teammates on  Graphite


fix(drag-drop): throw better error when attaching to non-element node

Currently if somebody attaches a cdkDrag to a non-element node (e.g. an ng-container), a cryptic error will be thrown. These changes log a proper error so it's easier to debug.

@crisbeto add pr: merge ready after the conflicts are resolved

@crisbeto needs rebase

Rebased.


Regular Expression for searches

Following the wild cards examples from https://extras.humdrum.org/man/themax/
To be implemented:

[ ] To search for one arbitrary pitch, represent it with a dot: .
[ ] To search for an optional note, append use a question mark: ?

Example: d f? a could match d f a or d a
Example: d ? a could match d f a, d g a, d c a, etc. and alsod a.

[ ] To search for any number of optional notes, insert an asterisk:*

Example: f * a can match to f a, f g a, f b g a, etc.

[ ] @

Based on these examples, this seems to be equivalent to the non-greedy version of the + operator: .+?. It stops at the first appearance of the end character (the non-greedy part given by the ending question mark ?), and it can have no character between the start and end (as given by .+).
I propose we use the asterisk combined with {,n} to indicate the maximum number of characters between the start and end (as we know, the minimum is 0). For example: using f *{,5} a to indicate a sequence that starts with f and finishes with a that has no more than five notes in between. As long as we document its use, it is ok.

[ ] @

@notkaramel Make a tooltip

Most important things for next week:

Documentation on those four wildcards.
Highlight the results in the text-with-notes
Then you can continue implementing the wildcards.

Thank you!

@martha-thomae do you have any thoughts on the wording of the documentation/tooltip content shown below? I intentionally use "use" to mean the character can be used as a standalone, and "append" to mean the character can be used as a supporting character

Use a dot . to search for one arbitrary pitch.
Use or append a question mark ? to search for an optional note.

How about dividing it into two statements, each with its own examples? See the text below (I also changed the wording a bit to be more musicology-friendly):

Use a dot . to search for one arbitrary pitch.
Use a question mark ? to search for an optional note.

For example, searching for d ? a could return the following sequences of notes: d a, d f a, d g a, d c a, etc.

Or use the question mark ? after a particular pitch value to make that note optional.

For example, searching for d f? a could return both the sequence d a and the sequenced f a.

Use an asterisk * to search for any number of optional notes.

For example, searching for f * a could return the following sequences: f a, f g a, f b g a, etc.

Use an at sign @ after a note to allow for repetitions of that note.

For example, searching for f a@ could return the following sequences: f a, f a a, f a a a, etc.

@martha-thomae

The logic for wildcard search is a lot different from the old pitch/loc matching. There are algorithms for those using recursive functions or dynamic programming, and so I am currently testing those out for the moment. You can check out the wildcard pattern matching implementations here
The tooltip information looks a bit too wordy IMO. Maybe we can keep the instructions, but for the example we can do a table like the humdrum example above?

I should have given an update a while back, sorry!

Answering your other comments:

The tooltip information looks a bit too wordy IMO. Maybe we can keep the instructions, but for the example we can do a table like the humdrum example above?

Yes, I agree with this. We will add this into the interface after the Sept. 25th meeting. Also with the implementation of the dynamic programming version for the wildcards.

So, instead of implementing search features via dynamic programming or iterative loops like things used to be (graph 1), I will implement a "construct regex serach" and match it against a string of pitches mapped from the NeumeComponent list (graph 2).

Graph 1:

Graph 2:

This method is way more easier to implement and to re-map back to the NeumeComponent list to obtain the XML:IDs for highlighting afterwards.

@martha-thomae With wildcard search coming to the interface (PR #88), I want to put it in the place of Exact Pitch melodic search option? The wildcard search is like the extended version of exact pitch search :)

@martha-thomae With wildcard search coming to the interface (PR #88), I want to put it in the place of Exact Pitch melodic search option. The wildcard search is like the extended version of exact pitch search :) What do you think?

Yes, I agree! Thanks, Antoine!

We can have search by pitch (where the user could use wildcards). And start by contour (where the user can give exact intervals or  general directions—i.e., up, down, same, neutral)

Francesco:

We need to check if we can set a maximum number of notes between two excerpts in the search. For example, if we have this expression g * a, we wouldn't like for the search to retrieve a full chant that starts in g and ends in a. We would like to be able to limit the amount of notes between g and a.

Solution: g .{1,10} a (no more than ten characters, but at least one). Here, the 'period' is repeated at most ten times and at least one time. I added a suggestion on how to implement this within our project in the issue description. The solution is using the asterisk rather than the dot to be more consistent with other things implemented. As long as things are well documented in the interface, everything should be fine. We also can change the implementation in the future once we have feedback about it.

@martha-thomae I was reading through our conversation, turns out this issue that Francesco was asking has a solution using directly regexp g .* a.

As for the "limit the amount of notes between [two notes]", currently I implemented a filter for valid entry on the melodic pattern input box, so things like {1, 10} would be immediately dicarded. Will look into it/be discussed soon!

[.A-Ga-g]\{(\d+\,)?\d+\}

Would be the regexp to detect .{2,10} and variation of it (see image below)

"Please implement @notkaramel! We like it"


Publish JavaDoc

Github Pages is probably the best/easiest route.

Checkout https://github.com/Pi4J/pi4j.github.io if you want a setup a GitHub pages site with gohugo. Works great! Site is pi4j.com

Done.  See https://www.supernaut.app/SupernautFX/apidoc/


Second segment joining graph broken

In a case with two segment joining regions IGHV * IGHD * IGHJ the second segment joining graph was broken. It looked like there was an extra element in the flex layout that made it so that every other graph section was printed the wrong way around (vertically).

Interestingly this was not related to it being the second graph but rather to starting the graph below zero (Y axis range -2 to -56). So now the graphs always starts at 0 or includes zero in its range.


Added issue template

Related Issue
#22
Description
I have added all the types of templates for different kinds of issues in .github directory.
Type of PR

[ ] Bug fix
[ ] Feature enhancement
[x] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Please add the label of gssoc on this pull request as per gssoc guidelines.

Please add the label of gssoc on this pull request as per gssoc guidelines.


Deleting account doesn't change current color correctly

fixes https://github.com/thundernest/k-9/issues/6964
PR Description
When a user has more than one account and deletes one the drawer colour will change to the correct account colour.
Steps to reproduce

Have two accounts A and B with different colours on the app e.g YELLOW and RED respectively
Select account B RED and delete it
Check that the drawer color is now YELLOW ie the color for account A

Issue video
https://www.loom.com/share/38433f9e9fa6444088b87b91395ea666?sid=c2bc65a1-734e-4424-8fde-5e3b60987296
Fix Video
https://www.loom.com/share/e38cef00d00d4f588ded4f9c76d33797?sid=591a6d90-be5e-4ff7-a71d-c693080621bf

This code was written and reviewed by GitStart Community. Growing great engineers, one PR at a time.

Thanks :+1:


ci: publish needs build-freebsd

#232  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Brooooooklyn and the rest of your teammates on  Graphite


HV-1100 Convert the reference guide to use source includes

This one is on top of https://github.com/hibernate/hibernate-validator/pull/512 .

https://hibernate.atlassian.net/browse/HV-1100

@gsmet do you have any idea why that removes so many more lines than it adds? On first thought I'd have said that the extraction should be neutral in terms of lines (give or take).

Well, not in this case, as most of the sources were already extracted. I just had to point to them (well and check they were effectively in sync).
I extracted a few classes but not much.

Ok, makes sense then :)

Rebased and applied. It's very hard to compare the actual files, I trust you did the right thing, @gsmet :)


messages pending write and sent once channel close is called

Hi,
is this project in use ? I am trying to send server few messages but all the messages are struck in pending and once the channel close is issued, the messages are sent to the server. is this a feature or a bug or do I need to enable any flags while creating a bootstrap connection with the channel ?
thx in advance. appreciate your contribution to the project.

Could you show the code for example?


Issue with Graphite Metric Format

I don't see my metrics being persisited by graphite to whisper. To replicate, I copied the code in https://github.com/dropwizard/metrics/blob/master/metrics-graphite/src/main/java/com/codahale/metrics/graphite/GraphiteUDP.java#L80-L96 and put it in its own main class:
import java.nio.channels.DatagramChannel;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;

import java.nio.charset.Charset;
import java.io.IOException;

public class GraphiteTest {
    public static void main(String args[]) throws IOException {
        DatagramChannel datagramChannel = DatagramChannel.open();
        InetSocketAddress address = new InetSocketAddress("hostname", 2003);
        for (int i=1; i<=10000; i++) {
            StringBuilder buff = new StringBuilder();
            buff.append("deploys.spark_test2");
            buff.append(" ");
            buff.append(i);
            buff.append(" ");
            buff.append(Long.toString(System.currentTimeMillis() / 1000));
            buff.append("\n);

            String str = buff.toString();
            ByteBuffer byteBuffer = ByteBuffer.wrap(str.getBytes(Charset.forName("UTF-8")));

            System.out.println(byteBuffer.toString());
            datagramChannel.send(byteBuffer, address);
        }
    }
}

I don't see any metrics being persisted. The data is being sent however in the former case because when I do a tcpdump, the packets are being received by the graphite host. I think there must be something wrong with how the data is being formatted.
When I do something like:
echo -e "deploys.spark_test2 5 `date +%s`\n" | nc host 2003

I see datapoints so I know graphite is working.
Any ideas?

Are you sure your graphite instance is listening on UDP port 2003? Netcat defaults to TCP, so that may explain why that works.

@ryantenney thanks. I will revert back to you on this today.

We do have carbon relay in front of our graphite. The former doesn't listen on UDP port 2003. Will set it up to do so and see what happens.

Ok. I'm going to close this issue, feel free to reopen if that doesn't resolve it.


Network bandwidth for actor update limit

Is there a rough/precise calculation of computer network bandwidth limit before it becomes a bottleneck? For example how many actors can one learner support before computer network bottlenecks? (i.e. 70mb neural network weights)
Is there any machine level caching involved if multiple actors are on the same machine? (no reason for all of them to pull same weights at the same time)

Hi @dulex123, a calculation of the required bandwidth is hard, as the time cost involves many factors, see the discussion in the original scalable_agent code here:
https://github.com/deepmind/scalable_agent/issues/14
But we can identify how many actors (each a CPU machine deployed remotely) are "saturated" for a single learner experimentally. According to my previsous test over PongNoFrameskip-v4 (wrapped as is in atari_env.py), when adopting the ResNet-LSTM net described in the paper with bath_size=32, unroll_length=100, the maximum number of actors that a learner can "carry" is around 60, when the training throughput  is around 6K (or x4 = 24K env frames by counting the skip-frame=4).  Adding more actors than 60 would not further increase the throughput.
Will update the numbers and tables in the README later.

Thanks! That is very helpful.
And what about the actors that reside on the same machine? Could they benefit from a weights caching mechanism? So that the learner does not send weight to each process separately but to each machine. That may reduce network traffic considerably

Hi @dulex123, I am actually not sure of that...
On the one hand, the code relies on distributed tensorflow to communicate between actor-learner. I guess the distributed tensorflow (relying on gRPC) could detect whether the two processes reside on the same machine and implement a fast sending/receiving if they do.
On the other hand, when using hundreds of actors, I guess benefit of doing so is negligible.

The corresponding note has been added here:
https://github.com/loyave/impala_horovod_gym/blob/dev-horovod/sandbox/speed.md

@pengsun Yes but if you use 120 actors in total on three machines (40 actors per machine) and a single machine with a gpu for learner, than you can gain considerable throughput.
Thank you for the performance table!
Also would you mind sharing what cloud platform you use to scale training?
Cheers

Hi @dulex123, unfortunately it's a private service in our company...
But basically the rationale and the settings should be the same for any other public available cloud like EC2/Azure/Google.

Thanks !


New Github action job for Azure Kubernetes Service

This PR adds a github action to run the integration tests for Azure as well

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.50%. Comparing base (42a918d) to head (92d7b89).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #51      +/-   ##
==========================================
+ Coverage   97.12%   97.50%   +0.38%
==========================================
  Files           5        5
  Lines         521      521
==========================================
+ Hits          506      508       +2
+ Misses         15       13       -2

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


Edit of scheduled scan does not show the values of the created scheduled cluster scan

On 2.5-head - commit id: 7e386ebab3f

Deploy CIS v2
Create a scheduled scan

Click on Edit Config for the cluster scan

Selected values while creating the scheduled scan are NOT available

On 2.5-head - commit id: b2953cbc

Deploy CIS v2 --> Create a scan CR
Click on Edit Config for the cluster scan
Correct values of the created scan are displayed


YelpSharp C# Issue

Hi,
I am running the following Yelp c# call on my local machine and it works perfectly fine:-
var results = y.Search(searchOptions).Result;
However, when I host the code on the server, this very line returns the following exception:-
Message: One or more errors occurred.
Source: mscorlib
STackTrace: at 'System.Threading.Tasks.Task.ThrowIfExceptional(Boolean include TaskCancelledExceptions)\r\n at System.Threading.Tasks.Task 1.GetResultCore.......
I have also attached a screenshot of the same. Kindly help me in this as its driving me crazy.

@kushal713 : OK, sounds like your code is pretty good (since it works locally) and this is related to your deployment to the server.  I've got a few questions that will help find the issue.

What sort of server?  Microsoft Azure, something down the hall managed by IT, etc.
What sort of app framework?  Something .NET-ish, etc.
Can your code access other web APIs from your machine?  (Getting www.google.com would be enough).  Should work.
Can your code access other web APIs from the server?  If this fails, the Yelp API isn't the issue and a C# / .NET forum will be able to help more.

From the stacktrace, I have a hunch this might be related to serving multiple requests at once on the web server, something like

http://stackoverflow.com/questions/12982841/tpl-parallel-for-loop-error

Hi Ken,
Thanks for responding on this. Below are the answers to your questions:-

What sort of server? Microsoft Azure, something down the hall managed by IT, etc. - YES. Its Azure. The OS is Windows Server 2012
What sort of app framework? Something .NET-ish, etc. - YES. Its .NET Framework 4.6
Can your code access other web APIs from your machine? (Getting www.google.com would be enough). Should work. - YES. My application uses Google APIs as well. The call to those APIs are being made successfully.
Can your code access other web APIs from the server? If this fails, the Yelp API isn't the issue and a C# / .NET forum will be able to help more. -  YES. My application uses Google APIs as well. The call to those APIs are being made successfully. Also, initially the following link was getting blocked in the browser on the server:-

https://api.yelp.com/v2/search?term=food&location=San+Francisco
But then the IT Team installed some yelp certificates and now it opens fine.
Hope I have answered your questions appropriately. Please let me know if you have any other questions.

Also, I am not using Task Parallel Library(TPL) anywhere in my code, as suggested by the link shared by you. Can this be related to the async call?

Hm, no clean answer yet.
Next:
5. This error:

Unexpected character encountered while parsing value: <, Path ''...

sounds like you're getting an HTML page instead of a JSON response.
What HTTP status code does the response have?  200, 404, 500, etc?
What's the response body?  You should be able to add diagnostics to your code to show this if it's not visible in your debugger.

Yes. I was getting the error even before installing the Yelp certificates. But the InnerException in that case was different. It was a Newtonsoft.Json.JsonTextReader.Read() InnerException then. After installing the certificate, the InnerException has changed from Newtonsoft.Json to mscorlib. But the main error is the same.
I figured that the response is HTML instead of JSON, which means the call is not being made properly. But what can be the workaround to this? It cant be a Key issue as it would not be going into Exception. It would just be an INVALID_OAUTH error then,

Hi,
I debugged the dll and it sends the StatusCode as 'NotAcceptable'. This is the response.Content:-
"\r\n\r\n\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>\r\n406 - Client browser does not accept the MIME type of the requested page.\r\n


chore(FDS-506): [Cascara] - bump react-hook-form to v6.15.8

This updates react-hook-form to it's latest minor version before v7.
Dependencies
package.json file updated due to a bump in react-hook-form.
PR Author Checklist

[x] PR title adheres to Conventional Commits
[x] I have finished reviewing the contents of this PR for accuracy
[x] If needed, I have included a Changeset and it follows Semantic Versioning principles
[x] I have completed all of the above and have enabled auto-merge for this PR

Messages

:book:
Dangerfile.js does not run when the current branch is chore/FDS-506-bump-react-hook-form

  Generated by :no_entry_sign: dangerJS against d30b5fc7ce2609bd69931d32bfa3336da7faad28


[Bug]: The scroll bar is missing in the Plan builder page

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The scroll bar is missing in the Plan builder page

Steps To Reproduce

Login to https://release-customer.appsmith.com
go to plan builder page
the scroll bar is missing because of which the data at the bottom are not visible

Public Sample App
No response
Issue video log
No response
Version
localhost

Closing as it is fixed under issue 289 of cloud-services


Translucent .input-group-addon borders

Added background-clip: padding-box like .form-control

Superseded by #22612. Thanks though!


RF Drill from Actually Additions does not use rf

The drill from Actually Additions uses rf when you use it as a player, but the quarry does not so its infinite.

:(

Hmm, I tried to fix it, but instead ended up making it not drop any items with the drill.  If anyone can help, my work is at https://github.com/vpzomtrrfrt/JAPTA/tree/plzsaveme


Whitespace-sensitive parser; insensitive elsewhere

Hi, I'm trying to make a parser that can parse stuff like

"pr1 pr2" (space between tokens)
"pr1 , pr2" (comma + space between tokens)
"    pr1     pr2    " (leading/trailing spaces + space between tokens)

but fail on "pr1pr2" (no space between tokens). Is this possible? I have a rule like this:
const WhiteSpace = createToken({
    name: "WhiteSpace",
    pattern: /\s+/
    group: Lexer.SKIPPED
});

However, this removes all whitespace, which seems to make it impossible to check for at least one space between tokens. Removing it seems to make things extremely messy. Thanks for reading!

I've realized that removing all spaces isn't the way to go, and I've made rules for anywhere that there can be space.

Hello @jasonhan-vassar
If you have a grammar where only one or two "places" are whitespace sensitive.
You may be able to skip whitepspace at the lexer level yet still have the parser be aware of it.
For example see the CSS grammar example:

https://github.com/Chevrotain/chevrotain/blob/master/examples/grammars/css/css.js#L429-L433
https://github.com/Chevrotain/chevrotain/blob/master/examples/grammars/css/css.js#L52-L55

Cheers.

Thank you @bd82! This is exactly what I was looking for.

Great 👍


Fix Modelzoo Check

add --log-to-file to optionally log output to a file
allow max 30 minutes for compilation+inference for a model check

Jenkins Linux amd64 Build #10041 [push] - add --log-to-file to o... started at 22:56

Jenkins Linux s390x Build #10054 [push] - add --log-to-file to o... started at 23:57

Jenkins Linux ppc64le Build #9107 [push] - add --log-to-file to o... started at 00:02

Jenkins Linux amd64 Build #10041 [push] - add --log-to-file to o... passed after 1 hr 27 min

Jenkins Linux s390x Build #10054 [push] - add --log-to-file to o... passed after 1 hr 39 min

Jenkins Linux ppc64le Build #9107 [push] - add --log-to-file to o... passed after 2 hr 4 min


Triggering jobs on jenkins

How can i trigger jobs on jenkins upon each push that has been made to the repository?

@alex131290 stashbot is designed to be a specific solution for continuous integration - it can't trigger any arbitrary job, only the jobs it creates to do CI.  So if I understand what you are asking, the answer is "that is a feature not yet supported".
If you want to use stashbot to have a certain script run, or a set of tests run, on every push to the repository, you can set that script as the verify command, and set a verify regular expression that matches all branches.  Then, a job is created in jenkins and every push to the repository will trigger it.
Does that answer your question?

This should probably be closed, if there aren't any more questions.


Request

Simple enough I think....
Dimension blacklisting.
Mainly for the runic dungeons, witchery and thaumcraft dimensions.

blacklisting for what?

What should blacklisted? The crafting of Ender IO machines, their placing or their operation? And why?

For the staff of travelling. Sorry for the derp of not specifying that. Oops.

You can black list blocks which should not be teleported through

The blocks themself? Ah, must of missed that. Only saw the ability for air or not air.

lines 513 and 516 (notepade++)
If travelStaffBlinkThroughSolidBlocksEnabled is set to false and this is true: the travel staff can only be used to blink through transparent or partial blocks (e.g. torches). If both are false: only air blocks may be teleported through.
B:travelStaffBlinkThroughClearBlocksEnabled=false
Allows the travel staff to blink through unbreakable blocks such as warded blocks and bedrock.
B:travelStaffBlinkThroughUnbreakableBlocksEnabled=false
then at the bottom
line 1013 (notepade++)* werid this seems to be wording wrong. But setting it to false makes it not possible to pass through the blocks.
If set to false: the travel staff can be used to blink through any block.


Release base fetch early, eliminate write_pending and fetch_done

Get rid of write_pending & fetch_done flags on the request context.
Assume that having ctx->base_fetch set means we have outstanding
work and thus we are not done yet, for simplicity.
This also means we'll release the base fetch earlier which seems
like a good idea to me.

LGTM


This doesn't work in my side

I have tried your example(DualVirtualSerial) but it doesn't work.
In the device manager, 2 new COM ports are shown. But I can't receive any data by use serial port utility(one sending and one receiving).
I'm not sure if I have missed any thing.
Thanks a lot.

the example will forward stuff received from one another, but afaik some serial terminal programs cache inputs until an newline (ehit the enter key) is received.
you can try just spit out some debug msg (such as SerialU1.print("S1"); SerialU1.println(micros()); to both serial and see if anything happens on the terminal prog.

Hi ,
Thanks a lot. Could you please tell me what serial terminal program are you use? I'd like to have a try.
And my OS is Windows 10 X64.

I just use whatever serial program that's available.
If I'm working with platform.io, I use platformio-ide-terminal plugin inside Atom.io.
If I'm working with Arduino IDE I just use the built-in serial terminal.
for others I usually use putty.


Specified python3.8-slim image in Dockerfile

This addresses this issue, where  a breaking change was introduced in Python 3.10.

Thanks for the quick this pull-request, @ckim328! (And sorry for the late review.)
Judging from What’s New In Python 3.9, it sounds like we could even use Python 3.9.

Python 3.9 is the last version providing those Python 2 backward compatibility layers... Aliases to Abstract Base Classes in the collections module, like collections.Mapping

But I'm happy with using the python:3.8-slim base image, given how small this sample app is and given the urgency of this issue.
Manually Tested 👍

I tested the Docker image via the tutorial, Authenticating to Google Cloud with service accounts.
I built and pushed 2 images to my own Google Container Registry:

pubsub-sample:v1-broken - This used base image python:3-slim. I was able to reproduce the issue and see the AttributeError: ... 'MutableMapping' error.
pubsub-sample:v1-fixed - This used base image python:3.8-slim. The issue was fixed!

After Merging
Merging of this pull-request triggers the rebuilding on the Google Cloud Build Trigger for the pubsub-sample:v1 image.
The following 2 images have been rebuilt and repushed:

us-docker.pkg.dev/google-samples/containers/gke/pubsub-sample:v1
gcr.io/google-samples/pubsub-sample:v1

Manually Tested 👍

I did a very quick test of the images at both URLs.
I just docker pull-ed the images and used docker run.
I did not get the AttributeError: ... 'MutableMapping'.
Instead, I got this error which is expected:

raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application. For more information, please see https://cloud.google.com/docs/authentication/getting-started


router: thread metadata_matches through to RouteEntryImplBase

First review split off of #1735.
This provides the interface used retrieve the RouteAction metadata_match fields, but leaves them unimlemented for now. It also provides protobuf utilities that are used to implement using values from metadata_match in STL maps.

LGTM, can you fix format?


Update per Apple User Guidelines

Apple took app down from the App Store because the app didn't have a reference to Charlie Lee who's name wasn't previously in the app

Complete in v2.0.4.


Add dependency metadata to the maven publication.

Provides valid dependency declarations in the maven metadata for using Quilt where Loom is otherwise not required, such as a Discord bot. This primarily negates the need for the end developer from having to specify the same set of dependencies that would've otherwise been automatically specified with from(components["java"]).
This approach can be extended to the launcher manifests if desired, likely reducing the overall code and maintenance required for adding a new non-shaded dependency.
Note that this only does the api dependency and entirely ignores all other declarations (unless components.api extends another component.)
The reason why from(components["java"]) wasn't used is due to the inability to cleanly exclude dependencies from the resulting metadata, leading to unnecessary dependency downloads for stuff that Quilt instead shades in and strips down for its own use.

Thanks! I'm not sure if this breaks anything, but I think the easiest way to find out is to merge this and then wait to see if anyone complains :p

This is probably getting reverted since loom would also need updating to handle this - although I'll let @TheGlitch76 have the final say over whether this gets reverted or not.
(Apparently this was tried before and it also didn't work very well).

Doing some investigating, it seems that due to Mixin, older versions of some libraries, GSON and Guava, are being pulled in via the modApi and modImplementation classpaths without being updated to match the Minecraft classpath. This doesn't have any effect in most standard mod environments; GSON and Guava both use up-to-date versions and the older versions are correctly shadowed.
It does seem that QFAPI's usage of Loom and Loader does mean it has uncovered an underlying fault that was otherwise handled by Gradle internals silently, as it so far has been the only one to produce such a fault, behaving as if the modApi classpath was copied over without any bearing of the Minecraft classpath. Adding an up-to-date GSON to the modApi configuration allows it to work normally.

At this point, I think QFAPI's setup is cursed.
I don't see how testCompileClasspath is missing Minecraft libraries only in its setup. Up-to-date GSON is present in another project using the same version of Loom, Gradle and Loader on all classpaths (aside from the obvious mod* ones). I can only assume how Loom deals with separating client & server for split development environments causes compileClasspath to not transfer correctly into testCompileClasspath and testmodCompileClasspath.

Update: This seems to entirely be a Loom bug with how loom.splitEnvironmentSourceSets() is handled. testCompileClasspath and testRuntimeClasspath both fail to inherit compileClasspath and runtimeClasspath, as ./gradlew dependencies in a single mod project shows that the classpaths aren't correctly populated, and IntelliJ agrees with it.


Profession recipes identification with extra Profession addons

hiya,
Using a profession mod like Skillet prevents the guildbook to identify the recipe known from the character.
There are no synchronization message nor any animation in GuildBook while the profession frame is loaded.
Disabling Skillet solves the issue.
Best regards.

https://github.com/b-morgan/Skillet-Classic/issues/48
please see the linked issue for further help, regards

After updating guild bank I've deleted all my stored variable to check for side effect without skillet enable, but I think your change is affecting the initial discovery of known recipes if none where ever stored :)
Maybe having a button to rediscover the recipes of the current character in the profession page in Guild Bank would be handy ?
As it is now, if a new player install the Guild Bank he won't have his recipes discovered even with the native interface.
Best regards.

Ah yes, i have added a fix to this, regards

Is the fix not working?

Here is the results of my tests per version

purge all the saved variables
Install the version
Check if the recipes are scanned when opening the profession panel in it native mode (shift+click with skillet installed)

Guildbook-Guildbook_4.96644.zip: no scan initiated
Guildbook-Guildbook_4.96643.zip: no scan initiated
Guildbook-Guildbook_4.96642.zip: works as expected
Will revert to version Guildbook-Guildbook_4.96642.zip for the moment.
Best regards.


Login page carousel images are not sized (do not resize) properly

Reference: https://niko.tpmautomation.com/
Images taken directly from their website, ex: https://www.nikocranes.com/products/jib-cranes/
Saved image files here: \DWLive\DWGroupContent\NIKO\Website\dist\img

@jccaswell , is this something that is easily fixed?  The images supplied to the website are of no particular size.  Do they need to be or can the website resize them somehow?

The images resize to the available screen real estate in order to show no white space and not lose their aspect ratio. I do not plan on changing this behavior.

To confirm, the solution is to supply images with the correct aspect ratio?

There is not such thing as a "correct aspect ratio" the aspect ratio of my monitor is different then yours, and different again from our phones. Also, because this is in a browser there is nothing saying that you have to have it open in full screen.
Consider these examples:
My laptop:

Browser not maximized:

iPad Air:

You will notice that the aspect ratio for the space available is different for each. But, there is no white space in any case, and the image doesn't look skewed.
Let's consider if we forced the entire image to visible:
Maintain aspect ratio:

Fill all space:

These alternatives may be preferable if there was specific information we wanted to ensure was shown: but that is not the purpose of the carousel. It is simply there to look pretty and give some branding.


Update TextInput to Paper v2.0 #30

I was not quite sure if there's any guidelines for the ordering of props?

@cem2ran Hi, thanks for your contribution. It looks good, can you just change branch from master to paper2.0? We would like to finish bindings to paper v2.0 on one branch and then replace master with it.

@Trancever Sure thing. paper v2.0 branch appeared to be behind master hence me branching from master instead. Maybe add a line about this to the contribution section in the README.

@cem2ran Sure, I'll add it.

@Trancever Just to be completely clear. Do you want me to drop the 5 commits?


page_cursor not working or documented wrong

According to the documentation, the parameter page_cursor in getProfiles() is supposed to be the content of the "next" attribute. Doing so will parse the entire URL into the url parameter, page_cursor.
So either it's not working as intended or the documentation is incorrect

Hi, can you clarify what you mean here with an example of how you're trying to use getProfiles?
Also, will you link to the exact documentation that may be incorrect here?

Sure thing.
So I'm running a call to get suppressed profiles based on a specific date
php $this->klaviyoAPI->Profiles->getProfiles(filter: "greater-or-equal(subscriptions.email.marketing.suppression.timestamp,{$date})", apiKey: config('klaviyo.api_token'));
this returns to me a response with some paginated profiles. To get the next page, I'm running the same code but adding the page_cursor parameter to getProfiles() which is the link from "next" in the previous response.
This is done like the documentation states on Github under "How to use pagination and the page[size] param" - "NOTE: This page cursor value is exactly what is returned in the self/next/prev response values"
However this does not work and it seems like I actually have to grab the page_cursor parameter from the URL in "next" from the first response in order for it to work.

hmmm, i have it working on my end, can you share your code?
for example, here is the call i tested on my end:
<?php
require_once(__DIR__ . '/vendor/autoload.php');

use KlaviyoAPI\KlaviyoAPI;

$klaviyo = new KlaviyoAPI(
    'YOUR_KEY',
    $num_retries = 3,
    $wait_seconds = 3,
    $guzzle_options = []);

$response1 = $klaviyo->Events->getEvents();

$cursor = $response1['links']['next'];

$response = $klaviyo->Events->getEvents($fields_event=NULL, $fields_metric=NULL, $fields_profile=NULL, $filter=NULL, $include=NULL, $page_cursor=$cursor);

print_r($response);

Sure thing
public function getSuppressedSince($date = null)
    {
        $date = $date ?? now()->subDays(3)->toDateString();
        $collection = collect();

        $response = $this->klaviyoAPI->Profiles->getProfiles(filter: "greater-or-equal(subscriptions.email.marketing.suppression.timestamp,{$date})", apiKey: config('klaviyo.api_token'));

        $collection->push(ProfileData::collection($response['data']));

        while($response['links']['next'])
        {
            $response = $this->klaviyoAPI->Profiles->getProfiles(filter: "greater-or-equal(subscriptions.email.marketing.suppression.timestamp,{$date})", apiKey: config('klaviyo.api_token'), page_cursor: $response['links']['next']);

            $collection->push(ProfileData::collection($response['data']));
        }

        return $collection->flatten();
    }

Guys, let me know please where I can find how to use this sdk, looks like official docs has example only for GuzzleHttp.

Any updates on this? Again, from the first response I get the following:

It then states in the documentation, I should add the value of ['links']['next'] to page_cursor, like so:
$this->klaviyoAPI->Profiles->getProfiles(filter: "greater-or-equal(subscriptions.email.marketing.suppression.timestamp,{$date})", apiKey: config('klaviyo.api_token'), page_cursor: $response['links']['next']);

But this gives me the 400 error "GET https://a.klaviyo.com/api/profiles/?filter=greater-or-equal(subscriptions.email.marketing.suppression.timestamp%2C2024-02-10)&page[cursor]=https%3A%2F%2Fa.klaviyo.com%2Fapi%2Fprofiles%2F%3Ffilter%3Dgreater-or-equal%2528subscriptions.email.marketing.suppression.timestamp%252C2024-02-10%2529%26page%255Bsize%255D%3D20%26page%255Bcursor%255D%3DbmV4dDo6dGltZXN0YW1wOjoyMDI0LTAyLTEwIDEwOjM4OjE4LjUyMzU0OCswMDowMDo6aWQ6OjcwNDYxODM5NjE&page[size]=20"

The issue is using keyword arguments. If you don't use keyword arguments, it works fine. That's because the Subclient uses reflection to determine if the cursor is an argument. It looks for it via argument position (index) instead of by argument name.
Because of this, if you use keyword arguments, the cursor is not parsed to get the query string value from the URL you are passing.
You need to parse the next URL to get the cursor value and pass that to the page_cursor argument.
Get the cursor value from the URL like this:
$query = null;

parse_str(parse_url($cursor, PHP_URL_QUERY), $query);

$cursor = $query['page']['cursor'] ?? null;

@sanfordj it's unclear why reflection is used at all.

@sanfordj #51 should fix it

Hi, thanks for your patience with this issue. We've made a patch update v7.1.2 which use's @joelvh's suggested changes.


June 7th 2022 - Regulation Innovation SIG Meeting Minutes

Regulation Innovation SIG
Date
June 7 2022 - 12pm EST / 5pm BST
Untracked attendees

Fullname, Affiliation, (optional) GitHub username
...

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[x] Convene & roll call (5mins)
[x] Display FINOS Antitrust Policy summary slide
[x] Review Meeting Notices (see above)
[x] Approve past meeting minutes
[x] Update on FINOS approvals for the following projects being socialised - @jgavronsky

https://github.com/finos/community/issues/177
https://github.com/finos/community/issues/179

[x] 🆕 Introduction to new regulation contribution from Synechron - Software Project Contribution and Onboarding - Compliance Horizon Scanning #195 - @sndpkumar14
[x] Open Source in Finance Hybrid NYC Meetup on June 8th 2022
[x] Open Source in Finance Forum in London on July 13th 2022
[x] AOB, Q&A & Adjourn (5mins)

Open Source in Finance Hybrid NYC Meetup, June 8th 2022
June 8th 2022 - Join us for our New York City / hybrid Open Source in Finance Meetup at the Synechron offices in Times Square. Networking will start from 5.30pm, and talks at 6.30pm.
Presentations include ...

Stephen Goldbaum, Executive Director at Morgan Stanley and Lead Maintainer of the FINOS Morphir project
Sandeep Kumar, FinLabs at Synechron. Horizon Scanning of Compliance Regulations (FINRA, ESMA, …)
Paul Childerhose, Member of the Board of Directors at Canadian RegTech Association and Canadian Regional Advocate for the EDM Council.

If you're not able to join us in person, don't worry! Register below and join us online at 6.30pm.
👉🏻 Register to join the NYC meetup here

Open Source in Finance Forum London, July 13th 2022
Register below for the FINOS Open Source in Finance Forum in London on July 13th 2022 👾💥
Open Source in Finance Forum is the only conference dedicated to driving collaboration and innovation in financial services through open source software and standards.
We bring together experts across financial services, technology, and open source to engage our community in stimulating and thought-provoking conversations about how to best (and safely) leverage open source software to solve industry challenges.
FINOS members employees are eligible to receive complimentary registration as part of their company’s membership. Please email<EMAIL_ADDRESS>to request the Finos Member access code.
Register and find out more 👉🏻 https://events.linuxfoundation.org/open-source-finance-forum-london/

WebEx info

Meeting link: https://finos.webex.com/finos/j.php?MTID=m6be3cd5cdc56622e15e74fbd30e7253c
Meeting number:<PHONE_NUMBER>
Password: d9kKJPdX5C9
More ways to join:

Join by video system: Dial<EMAIL_ADDRESS>You can also dial <IP_ADDRESS> and enter your meeting number.
Join by phone: +1-415-655-0003 US Toll | +44-20319-88141 UK Toll | Access code:<PHONE_NUMBER>

Hello 👋🏻

hello  👋🏻

simon @ soton bus school

Jane / FINOS here

Sandeep Kumar, Synechron FinLabs, sndpkumar14

Hi!

hello

hello 👋

Stephen from Morgan Stanley

Rob / FINOS

Nate, and hello everyone!