High speed efficiency and performance.

My understanding is that performance is better when

Not using variables in maps.
Variables exist only one level deep in a structure

Are there any other performance notes anyone can provide for a high speed usage efficiency?  Anything would be appreciated!
Thank you.
I did a profile of a go app using goja,  Following is a 30 second profile:
 flat  flat%   sum%        cum   cum%
 0.10s   0.3% 69.95%      0.47s  1.43%  github.com/dop251/goja.(*Runtime).typeInfo
 0.10s   0.3% 70.25%      4.59s 13.98%  github.com/dop251/goja.(*baseFuncObject).init
 0.10s   0.3% 70.55%     15.20s 46.29%  github.com/dop251/goja.(*vm).try
 0.09s  0.27% 71.13%     11.69s 35.60%  github.com/dop251/goja.getProp.exec
 0.08s  0.24% 72.44%      0.20s  0.61%  github.com/dop251/goja.cmp
 0.07s  0.21% 73.87%     15.40s 46.89%  github.com/dop251/goja.(*Runtime).RunProgram
 0.07s  0.21% 74.09%     11.48s 34.96%  github.com/dop251/goja.(*objectGoReflect)._get
 0.07s  0.21% 74.30%      0.49s  1.49%  github.com/dop251/goja.stringValueFromRaw
 0.07s  0.21% 74.51%      0.25s  0.76%  reflect.packEface
 0.06s  0.18% 74.70%      2.43s  7.40%  github.com/dop251/goja.(*Runtime).wrapReflectFunc.func1
 0.06s  0.18% 74.88%     11.59s 35.29%  github.com/dop251/goja.(*objectGoReflect).getStr

I'm not sure what you're suggesting that might be actionable.

If you don't use maps, how do you expect to implement a dynamic language? Do you have any examples you think might be improved? If so, a PR with a benchmark followed by a PR with improved performance might be a good way to go about suggesting a change.
For structure depth, do you have any examples you think are incorrect or could at least be improved?

My understanding is that performance is better when

Not using variables in maps.
Variables exist only one level deep in a structure

Are there any other performance notes anyone can provide for a high speed usage efficiency? Anything would be appreciated!
Thank you.
I did a profile of a go app using goja, Following is a 30 second profile:
 flat  flat%   sum%        cum   cum%
 0.10s   0.3% 69.95%      0.47s  1.43%  github.com/dop251/goja.(*Runtime).typeInfo
 0.10s   0.3% 70.25%      4.59s 13.98%  github.com/dop251/goja.(*baseFuncObject).init
 0.10s   0.3% 70.55%     15.20s 46.29%  github.com/dop251/goja.(*vm).try
 0.09s  0.27% 71.13%     11.69s 35.60%  github.com/dop251/goja.getProp.exec
 0.08s  0.24% 72.44%      0.20s  0.61%  github.com/dop251/goja.cmp
 0.07s  0.21% 73.87%     15.40s 46.89%  github.com/dop251/goja.(*Runtime).RunProgram
 0.07s  0.21% 74.09%     11.48s 34.96%  github.com/dop251/goja.(*objectGoReflect)._get
 0.07s  0.21% 74.30%      0.49s  1.49%  github.com/dop251/goja.stringValueFromRaw
 0.07s  0.21% 74.51%      0.25s  0.76%  reflect.packEface
 0.06s  0.18% 74.70%      2.43s  7.40%  github.com/dop251/goja.(*Runtime).wrapReflectFunc.func1
 0.06s  0.18% 74.88%     11.59s 35.29%  github.com/dop251/goja.(*objectGoReflect).getStr

I am also using goja in a high performance environment and i came up with a solution which fits our needs.
Our requirement is that we have to run Java-Script scripts in a repeatable fashion with different contexts attached to it. We do this highly concurrently.
First of all you should wrap a single VM into a wrapper which would allow you to execute javascript throuh channels, this basically makes one engine thread safe.
The next step is to create a pool of engines, say 50 and you loadbalance requests over this pooled VM.
The final step is to pre-compile the scripts and cache them.
You should then also always use strict mode which prevents global pollution.
Here are some benchmarks of mine
func benchmarkRoutines(b *testing.B, engine Engine, maxCompilations int) {
	var wg sync.WaitGroup
	wg.Add(b.N)
	ctx := context.Background()

	for i := 0; i < b.N; i++ {
		go func(i int) {
			v, err := engine.Run(ctx, `return 1 + 2 + k`, map[string]any{"k": i})
			if err != nil {
				b.Error(err)
				return
			} else {
				assert.Equal(b, int64(3+i), v)
			}
			wg.Done()
		}(i)
	}

	wg.Wait()

	// There must be only a single compilation
	if maxCompilations > 0 {
		assert.Equal(b, uint64(maxCompilations), engine.ccount())
	}

}

cpu: Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz
BenchmarkDefaults-20                  	    8432	    129119 ns/op	  153554 B/op	    1939 allocs/op
BenchmarkCached-20                    	  239812	      5232 ns/op	    2593 B/op	      41 allocs/op
BenchmarkAsync-20                     	    8179	    147301 ns/op	  154061 B/op	    1942 allocs/op
BenchmarkAsyncCached-20               	  335208	      3963 ns/op	    3136 B/op	      44 allocs/op
BenchmarkAsyncPooled-20               	  304098	      4935 ns/op	    6473 B/op	      90 allocs/op
BenchmarkAsyncCachedAndPooled4-20     	  892962	      2316 ns/op	    2923 B/op	      44 allocs/op
BenchmarkAsyncCachedAndPooled16-20    	 1000000	      1751 ns/op	    2737 B/op	      43 allocs/op

@timo-klarshift Can you share the specific benchmark code, I would like to refer to it.


Sanely handle the new ggml weights against the old llama weights distributed by nomic

We have two different quantized formats floating around. The nomic package downloads the old-style quantized weights--this package consumes the new weights instead.
We were storing weights in ~/.nomic, and pyllamacpp stores in ~/.models. The sanest thing to my mind is to use ~/.models to store new-style weights and ~/.nomic for the old ones. I think this will cause the least confusion overall, but I'm open to any other proposals.
The other issue is conversion and distribution of the new-style weights for GPT4All models. There's no reason to make people do this conversion on the cli. We should:
[ ] Distribute new-style weights suitable to be auto-download into ~/.models through the nomic channels (i.e., the Eye).
[ ] Look into whether it's kosher to distribute the llama tokenizer files currently referenced as path/to/llama_tokenizer. I really think that this should be OK--it's just a list of tokens, right?

Yes I agree @bmschmidt,

It is better to convert and distribute the converted gpt4all weights, so it will be ready to be consumed by pyllamacpp. But I think it is better to keep them in the gp4all repo. (btw pyllamacpp does no store any weights, there is no ~/.models folder, users need to provide the path to their models).

Basically, it is just  a list of tokens :laughing: , but who knows with this new AI laws!

Yeah agreed. I don't think the actual weights will go in any repo--but I might want to adopt some of the standards we were groping towards from the nomic repo for where these things should live and auto-downloading. My thinking is that basically we have old-style and new-style versions of gpt4all-lora-quantized.bin etc. My understanding is that the new-style ones load significantly faster. (Haven't had time to benchmark myself.) So we just need to namespace them somehow for people who already downloaded the old ones.

Yeah, I see.
It is a good idea to auto-download the models and use the bindings out of the box, without extra downloading and converting overhead.
The new format is loading almost instantly, compared to the old ones.
I think we just need to drop the old ones, and make a direct link to the new converted ones. and implement the auo-downloading feature and storing the models somewhere like ~/user_folder/pyllamacpp/models

A link to converted ggML weights are being distributed soon

gpt4all converted (for future travelers): https://the-eye.eu/public/AI/models/nomic-ai/gpt4all/gpt4all-lora-quantized-ggml.bin


Phase 3 - Core Package

All core package classes
https://github.com/GoodBoyDigital/pixi.js/tree/dev-rewrite/src/core
Big one.

Finished.


More detailed and clear documentation

I think DarTX is great, but there is too little documentation and examples, and I think more documentation would make DarTX even better


Target Audience or Evaluation property controls

Category

[X] Enhancement

Version
Please specify what version of the library you are using: [3.2.0]
Desired Behavior
Coming from pnp-modern-search, I want to add a Property Control where the user can add some evaluation rules based on a internal object that has a token structure. Based on the result of the evaluation, the webpart should be hidden or shown.
Originally I planned to just add the code in the webparts of modern search but @wobba, a maintainer, forwarded me here - he probably saw more use than me in the "control". Here is a link where I describe the solution: https://github.com/microsoft-search/pnp-modern-search/discussions/2047
I just used PropertyFieldCollectionData there.
Generally I think there is a need for Audience Targeting because it is very useful to control your webpart. In this case I think we might have to different issues / controls:
a) An Evaluation UI Property Menu
This would  look someting like this:

I don't know how useful it would be. Maybe if it is implemented with a tree control and lets users create more complex And / Or based evaluations? Maybe you pass an evaluation token context and the control checks for tokens the user adds to the evaluation rules and if there is some spelling problem or a token doesn't exit, we get a warning / valdiation error? Or maybe an autocomplete feature?
b) An Evaluation Hide/Show Control that takes a ruleset and hides the webpart if the rule is evaluated to false.
Sorry, I know this might be a confusing request - I didn't think of coming here and requesting this - but since @wobba suggested it I will give it a try. Maybe you guys get an idea - I would implement this.

@edarroudi Thanks for the suggestion. I agree with Mikael, it would be a nice new control to have in the library and then you could just re-use it inside PnP search web parts.
A tree view control would be very nice 🙂 But really up to you if you prefer to start with a version like the screenshots above or try going for the full support of And / Or.
Please let me know if you are still interested in implementing this and I will assign this item to you to prevent others from working on it at the same time.

Thanks for the reply @joelfmrodrigues . I'll gladly do it - probably the treeview version. You can assign it to me and I start asap on a preview version. We can discuss the features / interface of the preview version then...

@edarroudi many thanks and no rush from our side 🙂 We will review it whenever it's ready

hey @joelfmrodrigues I created a draf PR since I'm not finished but I would like to discuss some features / interface. Would you mind having a look?

@edarroudi sorry for the late reply, really busy at my end recently and was unable to keep up with everything
Will try to review over the next days


TypeScript Examples

Would be nice to have examples in the README for using types with Hookable e.g.
import { createHooks } from 'hookable';

export type HookTypes = {
  hello: (value: string) => void;
  ping: (value: string) => string;
};

// Create a hookable instance
const hooks = createHooks<HookTypes>();

// Hook on 'hello'
hooks.hook('hello', (val: string) => console.log(val));

// Call 'hello' hook and pass 'Hello World!'
hooks.callHook('hello', 'Hello World!');

// Hook on 'ping' that returns 'PONG'
hooks.hook('ping', (val: string) => {
  console.log(val);
  return 'PONG';
});

// Call 'ping' hook and pass 'PING'
hooks.callHook('ping', 'PING').then((val) => {
  console.log(val);
});

However I ran into an unexpected issue with the return type... if I set the type to the following it works without errors. But surely I need to specify the return type here right?
ping: (value: string) => void

Argument of type '(val: string) => string' is not assignable to parameter of type 'never'.(2345)
Editor: https://stackblitz.com/edit/typescript-fkfd5n?devtoolsheight=33&file=index.ts

@pi0 any feedback would be most appreciated 🙂

Also I have noticed that although my JetBrains IDE seems to think that callHook always returns a Promise, this is simply not the case.
I get this message:

However one would simply go ahead and put a then() on the end and do something like call a logging method. e.g.
hooks
        .callHook(Hook.BEFORE_SERIALIZED, msg)
        .then(() => console.log("test"))

This only works if two conditions are met...

There is a registered hook
When adding a hook the callBack function is a Promise e.g...

hooks.hook(Hook.BEFORE_SERIALIZED, async (msg) => {
  console.log("✅", msg.Message)
})

If any of these conditions are not met then a runtime error occurs (there is no then() on undefined).
The type definition
callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any>;

should perhaps be
callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): void | Promise<any>;

I edited the type def in Hookable directly in my IDE and the ignored promise warning is gone 🎉
We are building a library that exports the hooks in the config so it's quite normal to have unregistered hooks (noop).
Regarding points 1... The core lib where callHook() is used cannot be expected to return a Promise, therefore cannot be used with .then() or await. Reason: If no hooks are registered then one can not expect a Promise. However this should potentially be the default behavior when callHook() is called without a registered hook. Simply return a Promise.resolve() by default should this be expected.
Regarding point 2... The hook() method may be used in another plugin somewhere and should it not use a async method callback then it would break the whole app as I would call .then() on undefined.

@danielroe Can you please help on this issue? 🙏🏼

Could anyone answer this
In some cases, certain operations require consultation with hooks beforehand.
For example:
const msg = await app.callHook('user:login:before');
if (msg === undefined) {
  Message.success('Hi, you are logged in!');
} else {
  Message.error('Oops!' + msg);
  return;
}
// ...

@danielroe 🙏🙏

It would be really helpful to see typescript examples 👀

[like]  Alexander Barker reacted to your message:

From: Michael @.>
Sent: Friday, February 9, 2024 3:52:03 PM
To: unjs/hookable @.>
Cc: Alexander Barker @.>; Author @.>
Subject: Re: [unjs/hookable] TypeScript Examples (Issue #33)
It would be really helpful to see typescript examples 👀
—
Reply to this email directly, view it on GitHubhttps://github.com/unjs/hookable/issues/33#issuecomment-1936169635, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AII3PFKEV25N5N4KT4O7J43YSZA2HAVCNFSM5JEU2QPKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJTGYYTMOJWGM2Q.
You are receiving this because you authored the thread.Message ID: @.***>

Some of working sample:
import { Hookable } from 'hookable';

export class Parser extends Hookable<{
    /** super tsdoc comment working too */
    someOneHook: (rows: string[]) => void;
}> {
    rows: string[] = [];

    constructor() {
        super(); // init instance of Hookable
    }

    getRows() {
        this.rows = ['a', 'b', 'c'];
        this.callHook('someOneHook', this.rows);
    }
}

import { Parser } from '...';

const parser = new Parser();

// subscribe
const unregisterSomeOneHook = parser.hook('someOneHook', rows => console.log(rows));

parser.getRows();

// unsubscribe
unregisterSomeOneHook();


ghcide is missing functionality for (lorri+direnv+emacs-direnv) in emacs:

with this shell.nix: https://dpaste.org/NcYb , when i run nix-shell in terminal, emacs opens up into the directory and ghcide is able to recognize modules when i try to import, but when i try to use (lorri+direnv+emacs-direnv) in emacs, ghcide works but it's not able to recognize modules, like when i try to import Yesod for example.

So it works from a Nix shell, but doesn't otherwise? Is the cause that direnv isn't replicating the Nix shell properly? I have no idea how you'd test that.

I am using ghcide in roughly that setup(vscode instead of emacs). I use the nix-shell to set up the environment and ghcide is on my path. That setup works great for me.

I've had some success getting (lorri+direnv+emacs-direnv) in emacs to work. Can you share the relevant bits of your Emacs config and that shell.nix again (link is broken)?

it turns out that i was missing the lorri shell command, now ghcide is able to pick up on shell.nix's environment variables setup in shellHook, also, for my ihaskell setup i needed to place use_nix shell.nix inside of .envrc in order for it to work, just thought i'd share that piece of information as well.
other than a few edge cases that i need to figure out, everything seems to be working now, thanks for the help everyone.
go ahead and close this issue.

and apologies, dpaste deletes pastebin's after a certain amount of time, here's the shell.nix that i am currently using for haskell development:
let
pkgs = import  {};
in
with pkgs;
mkShell
{
buildInputs = with pkgs;
[
(haskell.packages.ghc883.ghcWithHoogle (hpkgs: with hpkgs;
[
ghcid
cabal-install
]))
    # ghcide-nix installation:
    (import (builtins.fetchTarball "https://github.com/cachix/ghcide-nix/tarball/master") {}).ghcide-ghc883

  ]; # end of buildInputs

shellHook =
  ''
     export EDITOR=emacs;

     export HIE_HOOGLE_DATABASE="$(cat $(which hoogle) | sed -n -e 's|.*--database \\(.*\\.hoo\\).*|\\1|p')";
     export NIX_GHC="$(which ghc)";
     export NIX_GHCPKG="$(which ghc-pkg)";
     export NIX_GHC_DOCDIR="$NIX_GHC/../../share/doc/ghc/html";
     export NIX_GHC_LIBDIR="$(ghc --print-libdir)";
  '';

} # end of mkShell

Had been some improvements for use ghcide in nix environments, @zeta-00 could you check if you continue experiencing the issue with lastest ghcide?

closing this as ghcide is not the problem here

closing this as ghcide is not the problem here


Added support for private constructors in DefaultIdStrategy

The formatting is messed up.

Ups, did not notice. This is the only java project I work on that has curly braces starting on new lines.

@dyu it should be possible to add maven checkstyle plugin, and forget about formatting issues once and forever.

@kshchepanovskyi I haven't used that but sure, if it fixes the formatting issues.
The style is rarely used in java projects.
The notable ones I know of, are jetty and cassandra.
I inherited the style from the former when I got involved and preferred that style from then on.


sev-component-test - OVMF bugs in Ubuntu 24.04

Validation team discovered bugs related to OVMF tests in component test. Some updates have to be done for Ubuntu 24.04 too.

Fixed in: https://github.com/AMDEPYC/sev_component_test/pull/8


Not working on WIndows 10 - Uncaught TypeError: trim()

PHP 8.1.18
Windows 10
Running this or any command throws an exception:
shift-cli run class-strings
Stack Trace:
PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, bool given in phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Terminal.php:60
Stack trace:
#0 phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Terminal.php(60): trim(false)
#1 phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Terminal.php(31): HumbugBox436\KevinGH\RequirementChecker\Terminal::initDimensions()
#2 phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Printer.php(28): HumbugBox436\KevinGH\RequirementChecker\Terminal->getWidth()
#3 phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Checker.php(17): HumbugBox436\KevinGH\RequirementChecker\Printer->__construct(32, true)
#4 phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/bin/check-requirements.php(22): HumbugBox436\KevinGH\RequirementChecker\Checker::checkRequirements()
#5 C:\Users\13136\AppData\Roaming\Composer\vendor\laravel-shift\cli\builds\shift-cli(12): require('phar://C:/Users...')
#6 C:\Users\13136\AppData\Roaming\Composer\vendor\bin\shift-cli(124): include('C:\\Users\\13136\\...')
#7 {main}
  thrown in phar://C:/Users/13136/AppData/Roaming/Composer/vendor/laravel-shift/cli/builds/shift-cli/.box/src/Terminal.php on line 60

This seems to be related to Box, which is the bundler for the app PHAR.
I have tried the solution Pint did, and rebuilt v0.2.7. Run composer update and let me know if it resolves this issue.

Can confirm it is fixed. Thanks!

Same issue is happening with CLI premium:
"laravel-shift/cli-premium": "^0.2.5",


[ENH]check for algorithm_type

Reference Issues/PRs
Fixes #1952
What does this implement/fix? Explain your changes.
Adds a check for algorithm_type in aeon.testing.estimator_checking._yield_classification_checks.py
For all contributions

[x] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

@MatthewMiddlehurst should I raise errors for the absence of the algorithm_type tag in the estimator?

@MatthewMiddlehurst should I raise errors for the absence of the algorithm_type tag in the estimator?

no, they do not have to have them, but if a classifier does have this tag, it should be one of
{"convolution", "dictionary","distance", "feature", "shapelet", "interval","hybrid","deeplearning"}
thats all you need to check, thanks for your contributions

@TonyBagnall I've added None to the list of valid algorithms since some have it as none


Prevent arrow on dropdown from shrinking and add minimum gap between the value and arrow

Fixes #339

The story adds a set of options with long labels as a knob on the multi-select story btw.


'nearest_neighbour' method should not return the same particle

Currently, the nearest_neighbour method can result in a particle finding itself as its nearest neighbour when checking against another particle set that contains (some of) the same particles:
from amuse.ic.plummer import new_plummer_model
p = new_plummer_model(10)
q = p.copy()
r = q.nearest_neighbour(p)
print(r.key == p.key)

returns
[ True,  True,  True,  True,  True,  True,  True,  True,  True,  True]

There should be an option (probably enabled by default) to ensure a particle with the same key is ignored.

Note that this is not the case when finding nearest neighbours in the same set:
r = q.nearest_neighbour()
print(r.key == p.key)

returns
[False, False, False, False, False, False, False, False, False, False]

This sounds like an object/value issue. If particles are values, then two different Particle objects with the same properties should be considered to be identical. (As an example, calendar dates are values because November 29th is November 29th regardless of how many variables you have containing November 29th.) If Particles are objects, then two different Particle objects with the same properties are still different things. (People are objects, because two people with the same date of birth, name, residence, etc. are still two different people.) Objects have an identity independent of their properties, while values haven't.
It seems like Particles are considered objects here, and that makes sense to me actually. As a result, if you copy the particles, you get two different particles in the same place, and since a neighbour is a different particle that is close by, it gets returned. I'd say that that is correct, even if it isn't what you want.
The question is, what were you trying to do?

Maybe in some sense it's expected, but let me give another example.
Say I have two lists of people:

one list containing all people in a neighbourhood
one list containing a few people of interest
Now, I want to see who in the bigger list is the closest neighbour to each of the people in the smaller list.
I can't remove them from that list (since they might live close to one of the others), but as-is, the algorithm would return themselves as their closest neighbour, which is not desired.
This is analogous to what I was attempting here.

It would be good to at least have an option to check if the nearest neighbour is not (a copy of) the object itself.


Release/2023 06 23

Contains:

Upgrade deps
Incorporates https://github.com/hpi-studyu/studyu/pull/456

Proof of concept:

https://github.com/hpi-studyu/studyu/actions/runs/5359781946
https://github.com/hpi-studyu/studyu/actions/runs/5359783832

https://github.com/hpi-studyu/studyu/pull/456 may be closed if this is merged successfully


Add the IBGE Street Names layer

There's a new layer with street names available for Brazil, it would be nice to have it available with the other 2 IBGE layers.

Sounds good! iD gets the layers from the editor-layer-index so you'll need to open the issue over there instead.


Added django-nose and coverage

@erdem please check this and try and get 100% coverage.

@srijan02420 Thank you for your contribution.
Looks good to me. I will add test coverage badge to the readme.md file soon.
Thanks again!


Fix scanDir error

Triggering autocompletion when the string before the cursor is not a
valid path causes an error which does not directly trace back to this
extension.
This addtion guards the execution of the internal scanDir function to
only trigger for valid paths.

This is the mentioned error:

thank you


Fix link in no-is-mounted documentation

When I made this link, I used the wrong markdown syntax so it was
linking to "anti-pattern" instead of the intended URL.

Thanks!


i18n, for real

** merge #30 first **
This PR finally uses the i18n server support everywhere I could find. (I'm sure I missed a few things, since it's remarkably hard to eyeball bare text in JSX, which is one reason to add i18n early.) The mechanism involves

an I18nContext
a do18n function that returns either the localised string or the raw key

The back end picks the least-undesirable language for each string, so, on the client side, i18n is a simple key-value object.
I haven't yet adapted the server endpoints to return keys rather than messages that may be matched by the client.

Should there be an updated ~/pithekos_resources/i18n.json to go along with this?

NVM!  Delete or rename the existing ~/pithekos_resources/i18n.json before starting the server...


fix: url2pathname before trying to open an Image file

when a file's name has spaces or other special characters, its corresponding url do not exactly match its OS path, so a url2pathname is needed before trying to open the Image file with PIL....

merged via @7643391603a3d21686213140155b8541de6e207b


Address missing daypicker width when calendarMonthPadding theme variable is undefined

Fixes https://github.com/airbnb/react-dates/issues/1352
We added a new theme variable (horizontalMonthPadding) in v17.2.0. Unfortunately, when it was undefined, the effect was a trashfire (the daypicker width would be set to NaN). This PR addresses that edgecase and offers a fix!
to: @ljharb @noratarano @codylawson

Coverage remained the same at 84.875% when pulling f3911588ae49f8a069b1e5b7caaa78b2d3f09043 on maja-fix-daypicker-width-when-padding-is-NaN into f7fdc09ab0454ad047532aaf2dd30ecc5daed3ac on master.

tbh I'm pleased with myself that I didn't know that off the top of my head


shapes.Line x,y acts as an origin, and I don't see a way to edit the coords of a single point inside a MultiLine

I am making an untangle game, which looks like a bit like this

Basically, the game is about moving points that are connected to each other.
When I move the x,y of a Line with pyglet, it moves the entire line, while I want the x2 y2 to be an absolute position, not relative to x,y. I don't want x2 y2 to move if I change x y.
I have quickly tried making my own Line2 class, inheriting from ShapeBase, by copying code around, but it's missing functions that are in shapes.py.
It seems I can't really set or access a point of a MultiLine, although I could recreate the entire MultiLine object from scrach when I want edit a single point.
I am a bit confused if my use-case is a bit too particular, and in which direction I should go. SFML has a VertexArray that allows to edit any point directly. tkinter has lines, but tkinter is a bit awkward too.
I guess a solution would be either to add a way to edit the points of a multiline, and make Line points absolute and not relative.
I might be missing something.

I was able to solve it with
    shader_program = pyglet.shapes.get_default_shader()

    vertex_list = shader_program.vertex_list(
        # 4, GL_TRIANGLES, batch, group,
        count = len(flat) // 2,
        mode = pyglet.gl.GL_LINES,
        batch=batch_lines,
        group = None,
        position=('f', flat),
        colors=('Bn', [64, 64, 64, 255]*(len(flat)//2),)
        )```

I am not managing well to access the proper data with `vertex_list.position[]` for alignment but I will try later.

You can make it work with Line if you re-set the x2, and y2 properties afterwards. In this example, you can see that left-clicking always repositions the entire object, but right-clicking afterwards will allow you to reset the X2,Y2 positions:
import pyglet

window = pyglet.window.Window()
batch = pyglet.graphics.Batch()

line = pyglet.shapes.Line(x=100, y=100, x2=400, y2=400, width=2, batch=batch)

@window.event
def on_mouse_press(x, y, button, mod):
    if button == pyglet.window.mouse.LEFT:
        line.position = x, y
    elif button == pyglet.window.mouse.RIGHT:
        line.x2 = x
        line.y2 = y

def update(dt):
    window.clear()
    batch.draw()

pyglet.clock.schedule_interval(update, 1/60)
pyglet.app.run()

That code will "forget" the x2 y2 position when I click left.
A fix might be to recalculate new positions that match the previous x2 y2.
Apparently this fixes it:
@window.event
def on_mouse_press(x, y, button, mod):
    if button == pyglet.window.mouse.LEFT:
        x2 = line.x2
        y2 = line.y2
        line.position = x, y
        line.x2 = x2
        line.y2 = y2
    elif button == pyglet.window.mouse.RIGHT:
        line.x2 = x
        line.y2 = y

Yes that's right, my example was trying to show that it's a 2-step process.
For the why,
the reason that changing x, y moves the entire line is because it matches how all of the other shapes work.
A common case is that someone defines a shape (like a many-point polygon), then they want to reposition it. They don't want to have to update all of the points manually.
It admittedly does seem strange when working with a simple line, compared to other shapes (even Triangles) with multiple points, but that's why it behaves the way it does.


Scaan qr code kittunnilla

It's fixed Now .It's  due to a part of updating and I forgot to update in the GitHub 😂😅


MultitargetNeuralNetworkRegressor has surprising target_scitype

Hi! Thank you for creating and maintaining this project!
I'm rather new to Julia, so this may be a dumb question (sorry in that case).
I currently have some issues getting MultitargetNeuralNetworkRegressor to work properly using a custom layer and loss function. In the process of debugging that, I noticed, that even without my custom layer, the target_scitype does not conform to the one given in the README:
using Flux
using MLJ
using MLJFlux

chain = Chain(Dense(3 => 10, relu), Dense(10 => 3, relu))
builder = MLJFlux.@builder chain

model = MultitargetNeuralNetworkRegressor(;
    builder=builder,
    loss=Flux.mse,
    epochs=2,
    batch_size=32,
)

target_scitype(model)

yields Union{Table{<:AbstractVector{<:Continuous}}, AbstractMatrix{Continuous}}.
I'm a bit confused about the nesting of Table and AbstractVector here; am I doing something wrong or is my mental model off?

(I'm referring to this line in the README based on which I'd expect just a <: Table(Continuous).)

This  is not a bug, but your question is a good one. I think it is answered here. You can ignore the convention C, which is always the default one in MLJ.

I see, thank you! The link clarified it for me. :slightly_smiling_face:


Style wrapper and app-container with Bootstrap

Style the division with wrapper class and the division with app-container class using Bootstrap.

you can assign this issue to me?

Go ahead @igu.

@LalitNM can you talk more about this problem?

@igu, at present there is so much css styling for just .app-container. But, this can be easily styled using Bootstrap's .container. You are supposed  to achieve this.
And .wrapper is used with .fadeIn() and .fadeOut(), it will be appreciated if you can give it a more meaningful class(or an id), or even completely remove this and make just one element with class container and some id.

Any update @igu?

Sorry, i don't can help now, issues college are take my all time


remove extra else

This PR removes two extra else {}. This makes the code clean, also stops vim-bundle complaining.

@mrunalp , PTAL.

LGTM
cc: @wking

4a8e72d1 looks great :).


Operations with fields of type char fail in the rest api

If an operation has a field of type char, the rest api fails in the getExampleValue method on DefaultExamplesFactory.

Merged into develop


MySQL does not support onDelete: setDefault

When trying to migrate a super simple schema to MySQL with an onDelete: setDefault, this happens:
C:\Users\Jan\Documents\throwaway\setdefault>npx prisma db push
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db": MySQL database "purple_kingfisher" at "mysql-db-provision.cm0mkpwj8arx.eu-central-1.rds.amazonaws.com:3306"
Error: Cannot add foreign key constraint
   0: sql_migration_connector::sql_database_step_applier::apply_migration
             at migration-engine\connectors\sql-migration-connector\src\sql_database_step_applier.rs:11
   1: migration_core::api::SchemaPush
             at migration-engine\core\src\api.rs:187

model OnDeleteSetDefaultParent {
  id                Int                                @id @default(autoincrement())
  name              String                             @unique
  mandatoryChildren OnDeleteSetDefaultMandatoryChild[]
}

model OnDeleteSetDefaultMandatoryChild {
  id       Int                      @id @default(autoincrement())
  name     String                   @unique
  parent   OnDeleteSetDefaultParent @relation(fields: [parentId], references: [id], onDelete: SetDefault)
  parentId Int                      @default(1)
}

Per our documentation this should fundamentally work (if maybe a bit different than expected):

But looking at the MySQL docs, this does not seem to be supported at all:

SET DEFAULT: This action is recognized by the MySQL parser, but both InnoDB and NDB reject table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses.

https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html#:~:text=SET DEFAULT%3A This action is recognized by the MySQL parser%2C but both InnoDB and NDB reject table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses.
https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html#:~:text=SET DEFAULT%3A This action is recognized by the MySQL parser%2C but both InnoDB and NDB reject table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses.

Similar for MariaDB:

The SET DEFAULT action is not supported.

https://mariadb.com/kb/en/foreign-keys/#:~:text=The SET DEFAULT action is not supported.

We even mention similar in our engines comments:
https://github.com/prisma/prisma-engines/blob/ccf3dc944acdabb431947150e12b984b34c538cd/query-engine/connector-test-kit-rs/query-engine-tests/tests/new/ref_actions/on_delete/set_default.rs#L1
https://github.com/prisma/prisma-engines/blob/ccf3dc944acdabb431947150e12b984b34c538cd/migration-engine/migration-engine-tests/tests/migrations/relations.rs#L565-L566
We should adapt our validation to not allow this, and update our documentation afterwards as well. No need for our users to waste their time with this.

Seems to already be a validation with preview feature referentialIntegrity and configuration referentialIntegrity = "foreignKeys".

What exact MySQL version you are running?

My output was from a 5.7.33-log, bit docs sound identical to 8.x.

Yeah, whatever MySQL version we were using in the time of the writing of our docs silently just did not use the given action. This might've changed in a point release, as we know MySQL does this between x.x.x releases. Also, SetDefault should work with MyISAM and other MySQL engines, just not with InnoDB.

Prisma supports only InnoDB, so essentially does not support SET DEFAULT (which is fine, we should just validate it properly and document it as well).

If we say we only support InnoDB, I'm OK validating against using SetDefault on MySQL.

I think it's the current reality when you create a schema via Migrate. As we do not have the table engine information in the schema (yet, there might be an issue floating around) I think this is the easiest option right now.

TODO check if it works with MySQL 8 like mentioned in https://github.com/prisma/prisma-engines/pull/2957

Considering that we only support InnoDB, I confirm that SET DEFAULT only works from mysql:8, as shown here.

The linked issue is a different topic, please pull in the relevant information that describes the support of SET DEFAULT on MySQL in here.

I confirm that ON DELETE: SET DEFAULT is supported in CREATE TABLE statements for the following database versions:

mysql:8 and beyond
mariadb:10.9 and beyond (possibly earlier versions as well, but definitely not mariadb:10.0)

Decision: Document that setDefault does not work on older MySQL and MariaDB

Closing in favor of docs issue https://github.com/prisma/docs/issues/3885

I have just found out that MySQL 8.0 docs report the following:

SET DEFAULT: This action is recognized by the MySQL parser, but both InnoDB and NDB reject table definitions containing ON DELETE SET DEFAULT or ON UPDATE SET DEFAULT clauses.

I have summarised my findings in this notion doc.

Starting from<EMAIL_ADDRESS>we have decided to remove support for the SetDefault referential action for the mysql provider, after realizing the MySQL never truly supported such action. This means that the following schema is no longer valid:
datasource db {
  provider = "postgres"
  url      = env("DATABASE_URL")
}

model User {
  id    Int    @id @default(autoincrement())
  posts Post[]
}

model Post {
  id     Int   @id @default(autoincrement())
  user   User? @relation(fields: [userId], references: [id], onUpdate: SetDefault, onDelete: SetDefault)
  userId Int?  @default(3)
}

The MySQL docs claim that table definitions with SET DEFAULT referential actions are rejected from InnoDB, which is the default storage engine and the only one supported by Prisma. In reality, mysql:8 users can successfully create/alter tables with SET DEFAULT referential actions, but those referential actions would fail at runtime when triggered. They’d fail with a foreign key constraint error, as they're confusingly interpreted as NO ACTION referential actions.

Closing this issue in favor of https://github.com/prisma/prisma/issues/16259, which will implement warnings in this issue's scenarios, as to avoid breaking changes.


Add ability to configure hotplugTimeout

Is your feature request related to a problem? Please describe.
We've noticed when the host is experiencing high CPU load, occasionally hotplugging of block devices into new guests can slow down. This results in the current timeout (3 seconds) being reached whilst waiting for the block device to be plugged in.
We then see the pod fail with the following in the containerd logs:
E1027 22:10:19.901468    3217 pod_workers.go:190] Error syncing pod 6ebfa25e-f906-11e9-b214-0a6e816c85ea ("b86a270f-68c8-43ad-afe3-f8f5461392c4_b86a270f-68c8-43ad-afe3-f8f5461392c4(6ebfa25e-f906-11e9-b214-0a6e816c85ea)"), skipping: failed to "StartContainer" for "build" with RunContainerError: "failed to create containerd task: Timeout reached after 3s waiting for device 0:0:0:3/block: context deadline exceeded"

Describe the solution you'd like
We would like to have a configurable option for the timeout. At the moment it is hard coded to 3 seconds - https://github.com/kata-containers/agent/blob/dfbcc01c5444a344e98a85986a012c5b3412181f/device.go#L48
A flag passed through kernel_params to control the timeout would be ideal, defaulting to the current value of 3 seconds if not specified.
Describe alternatives you've considered
No other alternatives other than reducing the high CPU load.
Additional context
N/A
Before raising this feature request
Have you looked at the limitations document? Yes

@awprice thanks for raising this, some questions:
Are you using block or scsi devices ? https://github.com/kata-containers/runtime/blob/master/cli/config/configuration-qemu.toml.in#L137
How many block devices did you hot plug?
what timeout value works for you?

@devimc

We are using virtio-scsi.
We hot plug between 2-6 block devices - it really depends on the workload being run.
We aren't too sure on the timeout yet.

This seems pretty reasonable to me.
@bergwolf @gnawux - ya'll have input here?

I've had a go at implementing this - https://github.com/kata-containers/agent/pull/685
Let me know what you think of the implementation and whether it is the correct approach.


Add MIT license

Although I understand this script is meant to be free, we need to define this by applying some license.
Feel free to change if needed.

Good point, thank you very much!


[Derby] Export: null values are not replaced with a data when the function is enabled

System information:

Operating system (distribution) and version Win10
DBeaver version 7.1.4 EA

Connection specification:

Database name and version Derby

Describe the problem you're observing:

Open export wizard for a table with a Null value
Enable Replace Null values function (e.g. in CSV export settings)
Write a value to replace
Run export

Expected: Null values are replaced according settings
Actual result: Cells with Null values remain empty in the exported file

Cannot reproduce anymore


Update active-directory-groups-restore-azure-portal.md

Add Public Preview warning

@RobdeJong,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@RobdeJong : Thanks for your contribution to the Azure documentation! The author, @curtand, has been notified to review your proposed change.

#sign-off


Upgrade to Gradle 7.4.2

Following up recent upgrade to 7.4 with the latest patch release

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

It should be good to go. But I don't know if there is urgency to move from 7.4.0 to 7.4.2. Happy to close rather than deflake, until we have a chance to see what upgrades are important here.

It should be good to go. But I don't know if there is urgency to move from 7.4.0 to 7.4.2. Happy to close rather than deflake, until we have a chance to see what upgrades are important here.

That sounds reasonable. I hope we could avoid another gradle 6 to 7 upgrade in a rush though. There is some value in upgrading regularly. (Probably it does not apply in this case.)


Bleutooth: Mesh: add experimental support of mbedtls psa as crypto backend

Split ble mesh crypto on security library dependent and independent parts
Refactor provisioning and crypto to remove dependency on host in aspect of DH key pair generation. There is no necessity to wait for HCI interface anymore, so keys and shared secret are generated instantly. This change also fixes the issue: https://github.com/zephyrproject-rtos/zephyr/issues/23292
Add experimental support mbedtls psa as crypto backend (run only ble mesh bsim tests).

PSA support requires additional rework key usage within the mesh stack to get rid of raw key representation and use key ID instead in case of PSA (work in progress with this).

@alxelax, out of curiosity, what is the difference in ram/rom usage for mbedtls-psa vs tinycrypt?

@alxelax, thanks for the info.


Uncaught TypeError Prevents Loading of some Documents

I'm not sure exactly what in the documents that don't load is preventing it from loading, but the following is the error I get:
Uncaught TypeError: Cannot read property 'localeCompare' of undefined
    at pdf_renderer (docsify-pdf-embed.js:37)
    at renderer_func [as code] (docsify-pdf-embed.js:57)
    at u.tok (docsify.min.js:1)
    at u.parse (docsify.min.js:1)
    at Function.u.parse [as parser] (docsify.min.js:1)
    at docsify.min.js:1
    at docsify.min.js:1
    at ie.compile (docsify.min.js:1)
    at docsify.min.js:1
    at docsify.min.js:1

I was able to fix this by adding a truthy check on line 37 for the lang variable:
if(!lang.localeCompare('pdf', 'en', {sensitivity: 'base'})){

TO
if(lang && !lang.localeCompare('pdf', 'en', {sensitivity: 'base'})){

Do you mind providing me more context regarding this issue, in particular, the markdown file that relates to the pdf generation?  Currently, my assumption is there are some code blocks in the markdown files that are causing errors, possibly due to the language defined (or undefined) for those code blocks. My best guess is that there might be a code block above your pdf loading block and that code block has an empty declaration of language. For instance,

```(no language defined here)
```

Thanks for letting me know about this issue. I will fix it accordingly after I can exactly pinpoint where the error is.

@lazypanda10117  The pages that weren't loading were few and far between and had zero pdf-related stuff on them at all.  They were just long pages with lots of content, but nothing in particular that made them stand out from others.

@maplion My main concern is whether those pages have contents of this form.
Some content here but the language of this code block is not defined

If so, then it makes sense to me how the truthy check resolves this issue. Otherwise, I will have to search for a different reason.

@lazypanda10117 Here's a copy of a non-proprietary document that consistently blows things up.  I haven't had time to dig into it to figure out exactly what causes it to blow up, but it still doesn't work 100% (sidebar and navbar blow up) with the pdf plugin enabled.
# How to Extend the CodeBuild Environment

The CodeBuild environment is pretty robust and has most everything you need in it to get started.  Once you start trying to run Angular Tests in headless Chrome, however, you start running into issues with a lack of libraries.

You could add an `apt-get` command to the beginning of your buildspec.yml with all the necessary libraries and, in theory, this should work fine -- except that you're going to have to wait for those libraries to download and install every time your run a build.

In order to improve upon the speed of your builds, you need to extend the existing CodeBuild docker image and build your own image with the things you need it and then have CodeBuild use that image to start with instead of its managed image. (Note: CodeBuild Extension idea was given by this article: <https://aws.amazon.com/blogs/devops/extending-aws-codebuild-with-custom-build-environments/>)

## Angular Test Ubuntu Library Requirements

The following libraries are required to run Angular Tests in Headless Chrome (list acquired from here: <https://github.com/Googlechrome/puppeteer/issues/290>):

```text
# Need to be Added to CodeBuild Environment
gconf-service
libasound2
libatk1.0-0
libc6
libcairo2
libcups2
libdbus-1-3
libexpat1
libfontconfig1
libgcc1
libgconf-2-4
libgdk-pixbuf2.0-0
libglib2.0-0
libgtk-3-0
libnspr4
libpango-1.0-0
libpangocairo-1.0-0
libstdc++6
libx11-6
libx11-xcb1
libxcb1
libxcomposite1
libxcursor1
libxdamage1
libxext6
libxfixes3
libxi6
libxrandr2
libxrender1
libxss1
libxtst6
fonts-liberation
libappindicator1
libnss3
lsb-release
xdg-utils

# Already in CodeBuild Environment
ca-certificates
wget

Canvas Requirements
For canvas, which libraries like protractor-image-comparison utilize, additional libraries are required:
build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

Since the base image seems to have build-essential and libjpeg-dev already, these are the actual libraries added:
libcairo2-dev libpango1.0-dev libgif-dev librsvg2-dev

Global npm Library Requirements
The following are global installs that are required for the build that can be added to the environment to save time as well along with any additional serverless plugins, for example:
npm install -g @angular/cli serverless @aws-amplify/cli@multienv \
    serverless-cf-vars serverless-jest-plugin serverless-plugin-additional-stacks serverless-plugin-tracing \
    serverless-aws-documentation serverless-plugin-aws-alerts serverless-aws-alias serverless-dynamodb-local \
    serverless-pseudo-parameters serverless-reqvalidator-plugin serverless-s3-remover serverless-tag-api-gateway

Adding Libraries to Dockerfile
First, you must find the link for the base CodeBuild image found in the list here: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html.
Next, download the the files associated with that link, for example (node 10.14.1 image).
Then edit the Dockerfile.  In this case, the required libraries for headless chrome and puppeteer were added into the apt-get install -y list of libraries.  (Note: Ideally, I would have versions on the libraries, but I didn't take the time to figure out what versions were being pulled at this time).  Additionally, the npm install for the global libraries were added at the end.
These files were then committed for safe-keeping in the gc-smartmap-deploy repository within the vpc-for-docker-images project.
Create Amazon ECR Repository
In the Amazon console, search for the service ECR, then "Create Repository" and give it a name.
Give Permission to CodeBuild From Repository (ECR)
Once you have created a repository, click on it and then click on "Permissions" in the menu on the bottom left under Amazon ECR (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html #3 Principal).
Add a statement and Edit policy JSON and paste the following and then save :
{
  "Statement": [
    {
      "Action": [
        "ecr:BatchGetImage",
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer"
      ],
      "Principal": {
        "Service": [
          "codebuild.amazonaws.com"
        ]
      },
      "Effect": "Allow",
      "Sid": "CodeBuildAccess"
    }
  ],
  "Version": "2008-10-17"
}

Setting up an EC2 Instance with Docker
Creating a VPC
While one could install docker locally and then perform the necessary actions to create an image, I decided to learn how to do it within the AWS ecosystem.
First, before one can launch an ec2 instance, one needs a vpc that they can launch it in.  I created a serverless.yml file that spins up the majority of necessary VPC components within the gc-smartmap-deploy repository in the vpc-for-docker-images project.  If not already deployed (or torn down), with a terminal open within the vpc-for-docker-images directory, deploy the stack using serverless with:
sls deploy --stage=dev

Launching the EC2 Instance
Open up the Amazon Console and go to the EC2 Dashboard.  Make sure you're in the correct region (e.g. us-east-1) and click the "Launch Instance" button.
Launch Wizard Page 1:
Choose an Amazon Linux 2 AMI (64-bit x86).
Launch Wizard Page 2:
Choose t2.micro (or choose bigger if you desire to make things go a bit faster).
Launch Wizard Page 3:
Choose the:

VPC (e.g. gc-smartmap-deploy-vpc)
The public subnet (e.g. gc-smartmap-deploy-public-subnet1)
Update: choose Auto-assign Public IP: Enable and the Elastic IP step can be skipped.

Launch Wizard Page 4:
Just go next.
Launch Wizard Page 5:
Add tags:
- Department: Joint Ops
- Software: Smart Map
- Customer: GeoComm
Launch Wizard Page 6:
Select an existing security group and check the one with TCP port 22 open (e.g. gc-smartmap-deploy-functions-dev-securityGroup-XXXXXXXX)
Launch Wizard Page 7:
Review and launch the instance.  Choose your keypair file if you have one and acknowledge that you have it; otherwise, click create new keypair and download the .pem file and store it somewhere secure on your local drive that you can easily find it (e.g. c:\aws\my-key.pem)
Click "View instances" to go back to the EC2 Dashboard running instances page.
Create Elastic IP

[!TIP]
You do not need to do this if you auto-assigned a Public IP in page 3 of the EC2 Launch Wizard

On the left menu of the EC2 Dashboard, under "NETWORK & SECURITY" choose Elastic IPs.  Click the "Allocate new address" button, leave it on the default of "Amazon pool" and click "Allocate".
Note the IP address that is allocated for future use (save in notepad or something).
Associate Elastic IP
Once the new Elastic IP is provisioned, select it and click Actions > Associate Address.  Leave the Resource type on the default of "Instance" and then choose the ec2 instance that was just launched.  Then click "Associate".
Connect to EC2 instance
Assuming you're on Windows and using Windows Subsystem for Linux (WSL) and Ubuntu Application 18.04 (please see the WSL section here if you need assistance, open the Ubuntu 18.04 Application and type the following (note: all Windows files are found within /mnt/c/ and xxx.xxx.xxx.xxx is the Elastic IP that was created):

cd /mnt/c/aws
sudo ssh -i "my-key.pem"<EMAIL_ADDRESS>

[!DANGER]
if you do not use sudo, it will tell you that your key is too open; normally you could fix this with a chmod 400 my-key.pem, but that doesn't really work in Windows.

You may be asked for your sudo password; enter your master linux password and then you may be asked if you're sure you want to connect, just type y and press enter.
Now you're connected and at the EC2 instance console.  At this point run the following commands (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-basics.html):

sudo yum update -y
sudo yum install docker -y
sudo service docker start
sudo usermod -a -G docker ec2-user

This can also be all done on a single line:
sudo yum update -y && sudo yum install docker -y && sudo service docker start && sudo usermod -a -G docker ec2-user

Log out with exit and then ssh log back in (you can recall your previous command with up-arrow).
Run docker info to check if your instance has the right permissions for the Docker daemon.
Create Docker Image
Create Docker Files
Type vi Dockerfile and then when inside vi, press i to enter insert mode and then go to the Dockerfile that was created earlier and right-click copy and then right-click inside the opened file within vi and it should paste.  Then hit escape to get out of insert mode and then type :x for save and exit and hit enter.
Use the same method to copy over the other two files vi dockerd-entrypoint.sh and vi ssh_config.
Configure AWS
You need to give the aws cli your permissions to be able to utilize it, so type aws configure and then give it your ID and SecretID (acquired as programmatic keys to your account; may need Ryan Dammrose or someone from IT Support to get them for you if you do not have them) and set the default region (e.g. us-east-1).
Connect AWS ECR to Docker
You need to use the aws cli to connect the Container Repository to the docker instance by running the following:
$(aws ecr get-login --no-include-email --region us-east-1)

Build the Docker Image
It will take a long time to build the docker image and you'll see a lot of red go across the screen, but unless it exits with something other than a zero, you should be good.  I did have to run it a couple of times due to GPG key retrieval issues, which I don't entirely understand, but re-running seemed to resolve.
To create your build (don't forget the period):
docker build -t gc-smartmap-build .

Tag your Docker Image
docker tag gc-smartmap-build:latest<PHONE_NUMBER>29.dkr.ecr.us-east-1.amazonaws.com/gc-smartmap-build:latest

Push your Docker Image
docker push<PHONE_NUMBER>29.dkr.ecr.us-east-1.amazonaws.com/gc-smartmap-build:latest

Point CodeBuild to Custom Image
Once you have successfully pushed your image into the Amazon ECR Repository and CodeBuild has permissions to use it, you can set CodeBuild up to point to it by going to the build project, clicking "Edit" in the upper right and choosing "Environment".
Within Environment, click "Override image", choose "Custom image", choose Environment type "Linux", choose "Amazon ECR", choose "My ECR account", then choose your repository name and the repository image name.  Then click "Update Environment".  Note: if you're using your own service role, uncheck the "Allow AWS CodeBuild to modify this service role so it can be used with this build project" -- you may get an error if you do not.
Angular Project Considerations for Karma and Protractor
Separate ci configurations for Karma and Protractor
Since the ci stuff needs to run in headless Chrome, it requires different configuration files for both karma and protractor that must be called with proper flags.
Example package.json scripts
"scripts": {
    "test-ci": "ng test --no-watch --no-progress --browsers=ChromeHeadlessNoSandbox --karma-config=src/karma-ci.conf.js",
    "e2e-ci": "ng e2e --protractor-config=e2e/protractor-ci.conf.js",
    ...
}

Example karma-ci.conf.js
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
const puppeteer = require('puppeteer');
process.env.CHROME_BIN = puppeteer.executablePath();

module.exports = function (config) {
    config.set({
        basePath: '',
        frameworks: ['jasmine', '@angular-devkit/build-angular'],
        plugins: [
            require('karma-jasmine'),
            require('karma-chrome-launcher'),
            require('karma-jasmine-html-reporter'),
            require('karma-coverage-istanbul-reporter'),
            require('@angular-devkit/build-angular/plugins/karma')
        ],
        client: {
            clearContext: false // leave Jasmine Spec Runner output visible in browser
        },
        coverageIstanbulReporter: {
            dir: require('path').join(__dirname, '../coverage'),
            reports: ['html', 'lcovonly', 'text-summary'],
            fixWebpackSourcePaths: true
        },
        reporters: ['progress', 'kjhtml'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        customLaunchers: {
            ChromeHeadlessNoSandbox: {
                base: 'ChromeHeadless',
                flags: ['--no-sandbox']
            }
        },
        singleRun: false
    });
};

Example protractor-ci.conf.js
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts

const {
    SpecReporter
} = require('jasmine-spec-reporter');
const puppeteer = require('puppeteer');

exports.config = {
    allScriptsTimeout: 11000,
    specs: [
        './src/**/*.e2e-spec.ts'
    ],
    capabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: ['--headless', '--no-sandbox'],
            binary: puppeteer.executablePath()
        }
    },
    directConnect: true,
    baseUrl: 'http://localhost:4200/',
    framework: 'jasmine',
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: function () {}
    },
    onPrepare() {
        require('ts-node').register({
            project: require('path').join(__dirname, './tsconfig.e2e.json')
        });
        jasmine.getEnv().addReporter(new SpecReporter({
            spec: {
                displayStacktrace: true
            }
        }));
    }
};

Example buildspec.yml additions
...
  build:
    # run-as: Linux-user-name
    commands:
      - echo ** Run Angular Build **
      - echo Build started on `date`
      - ng build --prod --aot --configuration=${BUILD_ENV}
      - echo ** Run Angular Tests **
      - export CHROME_BIN=/usr/bin/chromium-browser
      - npm run test-ci
      - echo ** Run e2e Tests **
      - npm run e2e-ci
...

Run CodeBuild and Test
If you made it this far, then you can finally test the fruits of your labor.  If all goes well, your angular tests will run as part of your build.
Cleanup
The EC2 instance should be taken down as it will charge for just existing.  The same goes for the generated Elastic IP (when not attached to an instance).  The VPC can be taken down if you choose or can be left in place for other EC2 attachments.

@maplion I have found out which section of the markdown is causing the error, but I am not sure of the reason yet. Will update you later. In the meantime, this is the section that is blows everything up:(
Launch Wizard Page 5:
Add tags:
    - Department: Joint Ops
    - Software: Smart Map
    - Customer: GeoComm

@maplion The reason of the error is that I haven't taken [tab] as code block into account. The formatting you have above is actually a code block instead of a list (although I am not sure if that is your intention). As I have pointed out above, I forgot to take care of the empty language declaration case (in this case, the tab code block doesn't even support language declaration), which is the reason for all these errors. I will fix this later today and please let me know if it fixes your issue. Thanks!

Great, thanks for letting me know.  Glad to help.
On Mon, Jul 22, 2019, 3:15 PM Jeffrey Kam<EMAIL_ADDRESS>wrote:

@maplion https://github.com/maplion The reason of the error is that I
haven't taken [tab] as code block into account. The formatting you have
above is actually a code block instead of a list (although I am not sure if
that is your intention). As I have pointed out above, I forgot to take care
of the empty language declaration case (in this case, the tab code block
doesn't even support language declaration), which is the reason for all
these errors. I will fix this later today and please let me know if it
fixes your issue. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lazypanda10117/docsify-pdf-embed/issues/8?email_source=notifications&email_token=ACD7AMJ4B7GQLJVDDXKVP63QAYPP3A5CNFSM4IFUSDC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2RF73A#issuecomment-513957868,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACD7AMLCL3JTA66REEQ5OXDQAYPP3ANCNFSM4IFUSDCQ
.

It should be fixed now. You might need to clear cache before it takes effect.

Yup, that fixed it.  Thanks again!


Minitest/AssertEqual

Prefer assert_equal over assert(expected == actual)
(I'll leave the updates to the changelog until the merge of #29, to save myself some merge conflicts. The remainder of the code can be reviewed)

Before submitting the PR make sure the following are checked:

[ ] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[ ] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[ ] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[ ] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

@herwinw This PR would also need a changelog entry. Rest LGTM 🎉

Apart from the small remark I made the cop looks ok to me. You can add a changelog entry now.

Fixed all the remarks, should be ready to merge

Thanks!


Adding render event

Consider to add typeahead render event on custom events.

Thanks, looks good to me!


Still maintained?

I'm diving into new project which will require a module to work with audio such as SoundJS, however, it seem like there is very little maintenance and bug fixes going on.
Is this package still maintained?

Hi @Yahav - sorry for the late response on this - missed it as I tend to follow the Easel GitHub.  There is maintenance done to update CreateJS for any new Browser issues.  There is no current development on CreateJS which was built as a very solid base.  We know at ZIM https://zimjs.com that the base is solid as we have built ZIM on CreateJS have have made hundreds of new features over the last seven or eight years.  Anyone is welcome to pop over to ZIM and see the active development to add conveniences, components and controls for CreateJS.


Solid signal is not working when Accordion is added.

With latest solidjs template, components are not working with signals when the accordion is added to the Counter
Counts of the button doesn't increase when it is clicked.
And the accordion is still collapsed.
The error like:
Unhandled Promise Rejection: SyntaxError: Importing binding name 'default' cannot be resolved by star export entries.

Reproducible steps
npx create solid@latest

√ Where do you want to create the app? ... my-app
√ Which template do you want to use? » with-tailwindcss
√ Server Side Rendering? ... yes
√ Use TypeScript? ... yes

npx solidui-cli@latest init

Would you like to use TypeScript? (recommended) yes
Where is your global CSS file? src/root.css
Where is your tailwind.config.js located? tailwind.config.cjs
Configure the import alias for src director: ~/*

npx solidui-cli@latest add accordion

src/components/Counter.tsx
import { createSignal } from "solid-js";

import {
  Accordion,
  AccordionContent,
  AccordionItem,
  AccordionTrigger
} from "~/components/ui/accordion"

export default function Counter() {
  const [count, setCount] = createSignal(0);
  return (
    <div>
    <button
      class="w-[200px] rounded-full bg-gray-100 border-2 border-gray-300 focus:border-gray-400 active:border-gray-400 px-[2rem] py-[1rem]"
      onClick={() => setCount(count() + 1)}
    >
      Clicks: {count()}
    </button>
    <Accordion multiple={false} collapsible class="w-full">
      <AccordionItem value="item-1">
        <AccordionTrigger>Is it accessible?</AccordionTrigger>
        <AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent>
      </AccordionItem>
      <AccordionItem value="item-2">
        <AccordionTrigger>Is it styled?</AccordionTrigger>
        <AccordionContent>
          Yes. It comes with default styles that matches the other components' aesthetic.
        </AccordionContent>
      </AccordionItem>
      <AccordionItem value="item-3">
        <AccordionTrigger>Is it animated?</AccordionTrigger>
        <AccordionContent>
          Yes. It's animated by default, but you can disable it if you prefer.
        </AccordionContent>
      </AccordionItem>
    </Accordion>
    </div>
  );
}

Could you try pinning intl-messageformat to 10.5.4?
"intl-messageformat": "10.5.4"

After added intl-messageformat to dependencies:
Uncaught SyntaxError: The requested module '/node_modules/.pnpm/intl-messageformat@10.5.5/node_modules/intl-messageformat/lib/index.js?v=8e39c928' does not provide an export named 'default' (at import.mjs?v=8e39c928:1:8)

Did I give you correctly what you look for?

That's weird since pinning to 10.5.4 shouldn't cause a 10.5.5 error to occur.
Could you show me the current package.json?

I also occur error when add accordion.

I also occur error when add accordion.

Did you try pinning "intl-messageformat": "10.5.4"?
If you use SSR did you check this page from kobalte?
https://kobalte.dev/docs/core/overview/ssr
If nothing helps could you please upload a simple project to reproduce this error on github/stackblitz?

Sorry for the late response
After trying pinning "intl-messageformat": "10.5.4", the accordion works!
Thank you so much!


[Feature] Impose GroupLayer order on LayerList to update view.

Is your feature request related to a problem? Please describe.
Currently reordering the items in the group layer list does not affect how the canvas appears (IE what layers appear above the others). Such changes are only reflected in updates to the LayerList interface itself.
Describe the solution you'd like

[ ] A button should be added to the GroupLayersWidget that when pressed returns a "flattened" order for the Layers.
[ ] This button should then impose this order on the existing LayerList to re-render the canvas.
[ ] (Extension) if a group is selected, allow imposing of the relative ordering of the layers within that group on the canvas.

Describe alternatives you've considered
Additional context

This also concerns https://github.com/brainglobe/napari-experimental/issues/16 - once we can impose the order of the layers back onto the main view, we can setup the appropriate signals to be emitted automatically and update the view

@K-Meech @alessandrofelder I have the widget now sync-ing the group layer order back to the main layer window, however had some things I wanted to run past you both about a sensible implementation for the reverse direction.
Since there are no groups in the main viewer, it is feasible that we could end up in a situation like this:
Main viewer        Group Layer Viewer

Layer_1            Layer_1
Layer_2            Group_A
                     - Layer_2
Layer_3              - Layer_3
Layer_4            Layer_4

Now suppose that the user moves Layer_4 above Layer_2 in the main viewer. Clearly Layer_4 should then move above Layer_2 in the group layer viewer, but it's not clear if it should go into Group_A or not.
Going further, if we have this situation:
Main viewer        Group Layer Viewer

Layer_1            Layer_1
Layer_2            Group_A
                     - Layer_2
Layer_3              - Layer_3
                     - Group_B
Layer_4                  - Layer_4
Layer_5            Layer_5

there are even more questions if Layer_4 gets moved - does Group_B go with it?

My gut instinct here is to say that we just re-order the layers in the group view as best we can, preserving the order where possible and pruning Groups that end up empty.
Alternatively, we just discourage use of the main layer viewer to organise layers when using the Group layers viewer (we could even disable/block the re-organisation events). Given we have our own set of controls now #22, and have right-click and LayerDelegate responsibility coming, this doesn't sound too restrictive but isn't ideal.

This is more a problem of us implementing things as a plugin rather than as core napari - if our plugin was replacing the main viewer, we wouldn't have this issue of course (as we wouldn't need to sync the two views)! Hence why I suggest option 2 above :sweat_smile:

Great - thanks @willGraham01 ! My preference would also be for option 2.
Once the plugin is open, I think the idea is to ignore the 'real' layer list / controls as much as possible and just makes sure everything works consistently inside the plugin itself. If the syncing from the group layers back to the layer list works, then I'm not sure we need it in the other direction for now.

Closing as complete in #26


Prevent config of being overwritten by webpack

I am trying to implement SSG in my little app, but as I noticed, webpack overwrites my config by changing a property skipInitialProps to true, which deprives its opportunity to be statically optimized

skipInitialProps to true means that the app.js no introduce any getInitialProps to load the translations there because is added in any page statically (getStaticProps, etc). Only is false if there is detected a getInitialProps on the _app.js. Is a variable controlled by next-translate loader, you don't need it. You only need it if you turn off the webpack loader in the configuration to do It manually. In this case you need to verify the property in the configuration to turn off the webpack loader.


missing field values in %( )l comma separated list of key:value pairs

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I can output requested_format as json key:value pairs but when I try to output it as comma-separated-values with %(requested_formats)l or %(requested_formats)#l I am missing the values (see log below). How can I get the values? I'd like to output csv files.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
yt-dlp ZYlALC1Pmv4 --skip-download --no-config --print %(requested_formats.1)#j
{
    "asr": 48000,
    "filesize": 41488798,
    "format_id": "251",
    "format_note": "medium",
    "source_preference": -1,
    "fps": null,
    "audio_channels": 2,
    "height": null,
    "quality": 3.0,
    "has_drm": false,
    "tbr": 112.176,
    "url": "https://rr3---sn-h0jeenle.googlevideo.com/videoplayback?......",
    "width": null,
    "language": null,
    "language_preference": -1,
    "preference": null,
    "ext": "webm",
    "vcodec": "none",
    "acodec": "opus",
    "dynamic_range": null,
    "container": "webm_dash",
    "downloader_options": {
        "http_chunk_size": 10485760
    },
    "protocol": "https",
    "resolution": "audio only",
    "aspect_ratio": null,
    "http_headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "en-us,en;q=0.5",
        "Sec-Fetch-Mode": "navigate"
    },
    "audio_ext": "webm",
    "video_ext": "none",
    "abr": 112.176,
    "format": "251 - audio only (medium)"
}

yt-dlp ZYlALC1Pmv4 --skip-download --no-config --print %(requested_formats.1)#l
asr
filesize
format_id
format_note
source_preference
fps
audio_channels
height
quality
has_drm
tbr
url
width
language
language_preference
preference
ext
vcodec
acodec
dynamic_range
container
downloader_options
protocol
resolution
aspect_ratio
http_headers
audio_ext
video_ext
abr
format

In the problem case requested_formats is a list of 2 items.
--print '%(requested_formats.1)j' outputs the [1] item as JSON, as expected.
Neither --print '%(requested_formats.1)l' nor --print '%(requested_formats.1)#l' output the [1] item as CSV, omitting the values in both cases.
Without the list traversal, some "CSV" output is generated. It appears to be just the JSON of one of the list elements.
You might expect that the expected output is what would be generated by
yt-dlp ZYlALC1Pmv4 --skip-download --no-config --print '%(requested_formats)j' | jq '.[1]|@csv'

but jq doesn't know how to render a JSON object as CSV. Perhaps a similar problem is being revealed in the output template processing. How is a nested JSON/dict structure supposed to be represented in CSV, anyway? Something like this?
def jsonobj2csv(value):
    return '\n'.join(
        (','.join(repr(x)) for x in (value.keys(), value.values())))

Our code is just doing list(dct) like with any other iterable, which is why just the keys are being printed. This is pretty useless behavior, so I am willing to change it without being concerned about compat. But I don't know what would be an "expected" result - hence my question to OP.
Btw, l is just comma/newline separated text, not csv. Escaping rules are not followed.

That explains why it's not described as CSV in the doc, then!
list(itertools.chain(*dct.items())) seems reasonable to me (k1, v1, k2, v2, ...), but I have no standing. Nested objects as strings?

https://github.com/yt-dlp/yt-dlp/issues/6855#issuecomment-1515213514 - None of those seem like reasonable extensions

Escaping rules are not followed.

One solution to do away with the need for escaping would be a tab-separated list instead of a comma-separated list, because tab wouldn't be encountered anyway, so no need to escape, no?

Tab can appear in description, comments etc.

not csv. Escaping rules are not followed.

That explains why it's not described as CSV in the doc, then!

Oh ok. If it's not CSV, I'll drop my request. I thought I could output .csv files. That would be nice to have.

Supporting CSV should be easy. The original requested of the feature just wanted comma separated, so making it CSV never even crossed my mind. The question of what to do with dicts still remain though

If jq doesn't know how to do it, maybe there isn't a good solution.

The question is whether there a useful solution. @chrizilla What output were you expecting to get when opening this issue? I'm not asking for an answer you come up with now[^1], but what your original intend was.
[^1]: Like https://github.com/yt-dlp/yt-dlp/issues/6855#issuecomment-1515213514, which seems to be a solution just for the sake of one and doesn't seem like a practically useful format. Feel free to correct me if I'm wrong

asr,48000
filesize,41488798
format_id,251
format_note,medium

I don't understand how you'd actually use this. Remember you aren't just printing a single format but all of them. It'll just be like:
format_id,video1
asr, ...
...
format_id,video2
...

That seemed unstructured and pointless to me. Unless I am misunderstanding?

I think I misunderstood. Let me go over the convo again

I can output requested_format as json key:value pairs but when I try to output it as comma-separated-values with %(requested_formats)l or %(requested_formats)#l I am missing the values (see log below). How can I get the values?

This is wrong. According to your logs, %(requested_formats)#l already work as documented[^2]. You are actually trying to get %(requested_formats.1)#l to work. I had understood the issue originally, but misunderstood when I went through it again yesterday [^1]
[^2]: newline separated dicts
[^1]: Yes, I often re-read the OP. I'm answering too many issues to keep it all in my head.
In that case, your suggestion sort of makes sense. I still don't think it's a universally useful format, but since nobody has better ideas, ig why not. Let me see what can be done

This is not how CSV is generally used and is way too much of a special format for us to support

A
B
C
D

format_id
container
download_options
protocol

f1
webm_dash
{"http_chunk_size": 10485760}
https

f2
mp4
{"http_chunk_size": 10485760}
https

is the most reasonable format I can come up with, though idk if that's useful to anyone


Update to material3

Codecov Report

Merging #155 (49b736e) into main (d09e2fc) will decrease coverage by 0.14%.
The diff coverage is 55.55%.

@@            Coverage Diff             @@
##             main     #155      +/-   ##
==========================================
- Coverage   77.27%   77.13%   -0.15%
==========================================
  Files          42       40       -2
  Lines        1813     1806       -7
  Branches      253      253
==========================================
- Hits         1401     1393       -8
- Misses        289      290       +1
  Partials      123      123

Impacted Files
Coverage Δ

...m/alexvanyo/composelife/ui/CellUniverseInfoCard.kt
79.61% <ø> (ø)

...m/alexvanyo/composelife/ui/CellUniverseInfoItem.kt
81.81% <ø> (ø)

...lexvanyo/composelife/ui/InteractiveCellUniverse.kt
82.35% <ø> (ø)

...lin/com/alexvanyo/composelife/ui/ComposeLifeApp.kt
81.48% <50.00%> (ø)

...kotlin/com/alexvanyo/composelife/ui/theme/Theme.kt
52.38% <56.25%> (-0.26%)
: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 d09e2fc...49b736e. Read the comment docs.


The dataset contains random images

I found the dataset contains random images, which look like an interior image with charger and monitors. Is the dataset hacked by someone? It is not clean...looks like a serious issue

I run into this problem too.
Most of the images in the first hd5f are as the attached image.


Removing a typo (extra "")

Removing another "" that I missed last time...

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


ProxyListeners don't apply to values in the original graph...

This is an oversight on my part:  the ProxyListeners iterate from the target graph the proxy belongs to, but doesn't bother to check the listeners for the origin graph.

Fixed and tested!


Guard against double detach calls

Re-entrant calls to ViewGroup#removeAllViews from View.OnAttachStateChangeListener#onViewDetachedFromWindow lead to duplicate calls to Coordinator#detach, and hilarity ensues. Pretty sure that's what we're seeing anyway, will create a failing test soon.

Ah, removeAllViews isn't the problem, it's defensive against re-entrant calls. But WindowManagerImpl#removeViewImmediate, called when an Activity is finishing, is not.

Fixed by https://github.com/square/coordinators/pull/30


DOC: missing submodule init information

Partially adresses #14048
Add information about git submodule in the documentation (especially quickstarters guides).

@mdhaber so you know, this was a source or hurdle today for the sprint.

Renders correctly in all development environment setup guides except the old mac and linux guides here. We should probably just remove those, but those can be a separate PR.

I could make a PR to remove them. Although there might still be valuable info no?


Move test resources to jfrog

cscs-ci run alps-todi-cpe

@ekouts do you think we should make the jfrog repo more general in the configuration or as a utility?

I would leave it as it is, but if you both agree, then I can change it.
There are different ways to do it. We could use the resourcesdir, with the understanding that it is not a directory, but a url. Or we add it in the extras of all partitions. I thought also about creating a simple mixing with standard variables for cscs but then we have to update many tests and I am not sure it's worth it.

cscs-ci run alps-todi-cpe

cscs-ci run alps-eiger-cpe

cscs-ci run alps-eiger-cpe

cscs-ci run alps-eiger-cpe


Clean up table styles

move everything out of .experiments
delete unused classes/selectors (summary, .hidden, .depthSpacer)

Part of #3597

I think the changes in storybooks are caused by past changes not being accepted in a different pr 😅


Link to Pretrained models

Hi,
Thanks for releasing the dataset and the code. The link for the pretrained models needed for running the test code is currently not working, could you kindly update the repository with the correct hyperlink?

Hi,
Thanks for releasing the dataset and the code. The link for the pretrained models needed for running the test code is currently not working, could you kindly update the repository with the correct hyperlink?

Hi, sorry for the broken hyperlink. I have already updated the link.

Thanks :) I have been able to download from the link.


Add restart files with fractional grid and obs data for land DA.

This PR provides the necessary restart data files and obs data related to: JCSDA-internal/fv3-jedi#927

Odd number of changes... don't forget about the obs @jiaruidong2017

@CoryMartin-NOAA Yes, I ask help from @YoulongXia-NOAA to generate the smap soil moisture data smap_smc_ioda_20230501.nc. https://github.com/JCSDA-internal/ioda-converters/issues/1274


Register partha.is-a-frontend.dev

Added partha.is-a-frontend.dev using the CLI.

Sorry, but you cannot use that IP address.

@WilliamDavidHarrison I am not very knowledgeable on domains, could you let me know what could be a valid record or IP address? And where can I refer to learn more about them?

You can create a repository called mrsnor.github.io and add a file called CNAME with the content partha.is-a-frontend.dev and go to settings and then Pages then once your PR is merged, enable HTTPS using the Enforce HTTPS button.
And if you have a website, move the files to that repo so you can see it on your domain 😄


chore: dependency update

Looks like this code won't compile because of strings.Cut

@alexlokshin-czi fixed it. I needed to pin a version of goreleaser to make it work with 1.17


Neovim breaks with random symbols

When trying to use Neovim random characters appear.
Example:

It should look like this:

Can anyone help me?

The "1" shouldn't be there.

That was a long wait for a response!
Thanks, though.

Yeah I know.
In any case, double check the value of TERM outside and inside tmux


WIP: Initial work on integrating Assisted Installer

This is the initial work to integrate the assisted installer into the
DCI agent.
Test-Hints: assisted
Change-Id: I4fe57a54252cc058afe729c382e8de4df223f052

Starting dci-check-change job.

dci-check-change https://www.distributed-ci.io/jobs/5332c797-0401-4503-bb73-37558e3b7b3d/jobStates  : FAILURE tested on libvirt:assisted

Starting dci-check-change job.

dci-check-change https://www.distributed-ci.io/jobs/bf420db4-70a1-4428-b509-33c023a41be6/jobStates  : FAILURE tested on libvirt:assisted

Starting dci-check-change job.

dci-check-change https://www.distributed-ci.io/jobs/1eb10f69-2c5e-4bc2-9063-420cc95ff6b0/jobStates  : FAILURE tested on libvirt:assisted

Starting dci-check-change job.

dci-check-change https://www.distributed-ci.io/jobs/511d6baa-4e3f-4586-a458-6983016c9ddb/jobStates  : FAILURE tested on libvirt:assisted


Unexpected result when casting integer as boolean

CrateDB version
CrateDB 5.7.0-SNAPSHOT (built 6e7588d/NA, Linux 5.15.0-67-generic amd64, OpenJDK 64-Bit Server VM 21.0.2+13-LTS)
CrateDB setup information
Manual build following the instructions here: https://github.com/crate/crate/blob/master/devs/docs/basics.rst
Problem description
Consider the test case below. It is unexpected that the third query returns an empty result, because the second query returns TRUE, and the value of the WHERE predicate should be TRUE. If removing the PK constraint, the third query returns 2, which is expected.
Steps to Reproduce
DROP TABLE IF EXISTS t0;

CREATE TABLE t0(c0 INTEGER, PRIMARY KEY(c0)); -- PK is needed
INSERT INTO t0 (c0) VALUES (2);
REFRESH TABLE t0;

SELECT * FROM t0; -- 2
SELECT (CAST(t0.c0 AS BOOLEAN)= true) FROM t0; -- TRUE
SELECT * FROM t0 WHERE (CAST(t0.c0 AS BOOLEAN)= true);
-- Expected: 2
-- Actual: Empty Table

Actual Result
As mentioned above
Expected Result
As mentioned above

This is in the same context as: https://github.com/crate/crate/issues/15326
but a bit different, since now we have an explicit cast which the symbol optimizer cannot optimize, so we end up with executing a Get plan with docKeys={true} (a boolean value), but the c0 column is an integer so we cannot match a boolean true for it.
The issue seems to me more complex, as we cannot simply do a symbol optimization and move the cast to the literal, t0.c0 = (CAST true AS INTEGER) , as the cast cannot give back 2 or any other integer that casts to boolean true.

Thx a lot @suyZhong for reporting this issue, it has been fixed and will be available with the next hotfix release.


How does training time scale w.r.t. model size?

Hi all, I'm trying to get FermiNet up and running with GPU acceleration and so far I haven't been able to get TensorFlow 1.15 installed at the same time as CUDA 10.0. I'm wondering if this is even worth the effort.
Can anyone tell me how I should expect training time to scale relative to molecule size? Say, a hydrogen atom vs. a benzene ring vs. a caffeine molecule? And how much of an improvement (broadly) should I expect from GPU training support?
Incidentally--is there a Docker image available with CUDA support?

First, the JAX branch is actively developed and much easier (in our view) to use. The main branch is the version used in our first paper. (At some point soon, the JAX version will be made the main branch.) There is a Dockerfile for JAX but I haven't used it so don't know how well it works/how supported it is: https://github.com/google/jax/blob/main/build/Dockerfile
https://arxiv.org/abs/1909.02487 shows the cost per iteration for a fixed network scales as O(N^4). The number of iterations required and the size of the network to reach a desired accuracy is also likely to be system dependent. Something like benzene or caffeine will require a multi-GPU setup.
The speedup you get from running on GPU depends upon your GPU and CPU, but can easily be a factor of 10, even on a small system (and more on larger systems).


Sort is broken on Profile Artist

When I sort by new first at my profile I should see newly minted I guess https://kodadot.xyz/rmrk/u/CuHWHNcBt3ASMVSJmcJyiBWGxxiWLyjYoYbGjfhL4ovoeSd?tab=collected&search=&listed=false&sort=BLOCK_NUMBER_DESC&page=1
When I sort by last time interacted, probably should show recent sends/buys for user?
Anyway, seems filter is broken :)

Seems like none of the filters do anything 😅

OrderBy is no longer in query, I'll take care of this one


Add general SIG Issue triage guide

Provide a general Issue triage guide for all SIGs

Attempts to capture expectations for issue triage.
Provides guidance on standard issue labels to use apply.
Covers how to hand-off issues between SIGs.
Covers issue triage when multiple SIGs are involved.

This is not meant to be law, but a general guide which SIGs should then modify and call out deviations from in their per SIG issue triage guides ie https://github.com/o3de/sig-network/blob/main/TRIAGE_GUIDE.md
Believe I have added all the SIG Chair(s) but please add anyone who is missing.
Signed-off-by: Pip Potter<EMAIL_ADDRESS>

Thanks for creating the guide, this looks great!
I notice that the SIG-Network and SIG-Simulation guides cover some additional aspects which most likely do not need to be included here but may be worth to point out nevertheless:

Guidelines on how the triage leader should conduct the triage meeting (e.g., announce issue number & name, share screen, ...)
Recommendations for defining, reviewing & handling stale issues
Minimal requirements that need to be met to close issues, e.g. an explaining comment why it was closed and how this decision was reached

@ lgleim  Thanks for your feedback. Once we have this basic guide in place, am going to work at lifting out some of the SIG-Network issue triage guide into this (the points about meetings and best practices to included others in triage), but wanted to get a baseline in first rather than having too many moving pieces.


Swarm of error windows overnight

I've left my macbook overnight and came to this:

Sentry Issue: KAP-7P0

macOS version:    Catalina (10.15)
Kap version:      3.3.1
RequestError

RequestError: getaddrinfo ENOTFOUND kap-sentry-tracker.vercel.app
    at ClientRequest.<anonymous> (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/got/source/request-as-event-emitter.js:178:14)
    at ClientRequest.origin.emit (/Applications/Kap.app/Contents/Resources/app.asar/node_modules/@szmarczak/http-timer/source/index.js:37:11)

I think my wifi broke over the night or something, which would explain the RequestError maybe?
Those window alerts are from Kap (I should have taken a screenshot of one up close, sorry...).

I often turn my laptop WiFi off when I'm not using it, and this morning was surprised by many window alerts and a very sluggish macOS. Also I have "Allow analytics" turned off.
macOS version: Catalina (10.15.6)
Kap version: 3.3.1


Bug-fix: chili prompts and rateMessage not working.

Closes #5987

Moving to draft until: https://github.com/pnp/cli-microsoft365/issues/5987#issuecomment-2094938314 has been cleared out.

Moving to draft until: #5987 (comment) has been cleared out.

As the comment had been cleared out by Waldek, I've removed the rating.

ready to merge 🚀

Merged manually 👍
Awesome work 👏👏
You Rock 🤩


avoid global after and before :all blocks

this plugin's specs use the global RSpec.configure to set up an after and before :all block.
when running the specs with other plugins there might be a conflict so this PR moves the blocks to the plugin spec (instead of global)

@guyboertje I've refactor with some inspiration on your comment, but took another route, review please

@jsvd - Perfect.
LGTM.


docs: Example of hex escape sequences and long Unicode escape sequences

This adds an escape sequence example to the change log as requested in #3569.

Thank you for doing this! And to @richb-hanover for suggesting.

Because we snapshot the results from the examples in the docs, this will require running cargo insta test --accept to accept the new snapshots, in order for the tests to pass.
It looks like your local setup might be in a good state recently @vanillajonathan , but if you're not quite there, I can help you get it set up, or I can run that command as a one-off so we can merge this.

Excellent! That's just what I was hoping for. Thanks.

@max-sixty hmm... the snapshot fails

I was confused for a bit but now I realize what's going on — this is actually a legit bug with our code gen.
For the moment, we can surround this code block with no-fmt
Running echo 'from x | derive turtle = "\U0001F422"' | cargo run -p prqlc -- fmt demonstrates this — our code gen creates \u{...} strings, because that's how rust represents them, and we don't override how we write strings (default impl here.
The test that is failing ensures when we format PRQL, we can compile the result. But we can't in this case. So in another PR, we should either parse \u{...} strings (we could even move our unicode parsing to this if we think this format is better), or output the compatible format.

In thinking about the best representation — here's a survey[^1] of what other languages do. The more modern languages (Rust, Swift) seem to generally use brackets. It means there can be a single u prefix and then a variable number of characters inside the brackets.
So we could make that change to use brackets — I don't think it would be that much work to make the switch relative to what @vanillajonathan has already done. I don't have a strong view on the best representation.
(Though we should make a decision before changing codegen.rs, since that's new work which would be wasted if we later changed to align with rust.)
CC @aljazerzen @eitsupi @snth
[^1]: I'm generally not a fan of "Here's what ChatGPT says", but in this case it is a useful survey of the langs, I'm not sending blindly

@vanillajonathan I'll merge your code now that I've adjusted the test. Thank you!

Looking at the survey, I'm for the brackets (\u{00AD}) representation. Mainly because the plain one (\u00AD) has problems with "where does the notation stop".

Yes, I'm tempted to agree.
@vanillajonathan let us know if that's something you'd be interested in doing. I actually think relative to the work you've done already, it's not that difficult a change. But if you feel it's a lot, then no pressure — there's no huge rush to make the change. And the current state is pretty good.

No strong feelings on this but the bracket notation seems good an unambiguous and I can't think of cases where you would want many in a row so the downside doesn't seem that big. If someone presents examples where this is a problem for languages like Japanese or Arabic then I might change my mind.


tr typo fix word

Here is translation link :
https://translate.google.com/?hl=tr&sl=auto&tl=tr&text=new&op=translate

@necmicolak Thanks


Investigate setting Content-Type header based on Requestable type

Mainly just need to figure out how to deal with boundaries for multipart/form-data.

I think to make this work we'll have to go with:
class Requestable a where
  requestType :: a -> MimeType
  toRequest :: a -> RequestContent

That way requestType can use information about the content to construct things like the form data boundaries, charset, etc. Originally I had intended to use Proxy a as the requestType input, but I guess we don't need the Proxy in there, as unlike with Responsable we will actually have an a value at request time.

Maybe you could do something like:
class Requestable a where
  toRequest :: a -> Tuple a RequestContent

Just to clean it up a bit?