build.rs doesn't support wasm family architecture

The build.rs script heavily relies on by C++, which is OK (not ideal) but doesn't seem to be configured correctly for the wasm architecture.
If you attempt to build rive-rs for wasm (at least on MacOS M1), you'll end up with this:
cargo build --target wasm32-unknown-unknown

Output:
  cargo:warning=In file included from ../submodules/rive-cpp/include/rive/animation/animation.hpp:3:

  cargo:warning=../submodules/rive-cpp/include/rive/generated/animation/animation_base.hpp:3:10: fatal error: 'string' file not found

  cargo:warning=#include <string>

  cargo:warning=         ^~~~~~~~

  cargo:warning=1 error generated.

I've tried adjusting the .includes in the build.rs but have been fighting uphill battles.
Wondering if there's a priority to support wasm32 or have a pure-rust parser akin to rive-cpp? I would imagine this (web) is the primary supported for rive, so this should probably be considered a bug.

@simbleau, thank you for reporting. This shouldn't be too hard to fix since we already support wasm.
I'll try to fix this next week.

Since we're using C++ stdlib in the C++ runtime, it seems like we'll need to use emscripten to compile the runtime then link it with rive-rs. I might take a crack at this at some point, but I'm currently caught up.

Hello! I am in the same situation where I am trying to compile a Bevy app to WASM. Any updates to this?

Building wasm32-unknown-emscripten instead of wasm32-unknown-unknown works fine, it seems.
Then, linking with other wasm32-unknown-unknown libs should not be a problem.

I don't think this should be closed @dragostis.
Most rust developers who work with wasm32-unknown-unknown need documentation or guidance to make this work with their existing codebase. Bevy tests on wasm32-unknown-unknown as well, which is their supported target.

I think plug-and-play compatibility with wasm32-unknown-unknown is at least off the table unless we find a solution to compiling the C++ code without Emscripten installed, since rustup won't install it automatically.
This might be possible with something similar to wasm32-unknown-unknown-openbsd-libc, but this one unfortunately only works for C libraries.
Also, for wasm32-unknown-emscripten we could map wasm32-unknown-unknown -> wasm32-unknown-emscripten automatically in build.rs.

 I thought one of the benefits and goals of WASM was to be able to distribute binaries that had a defined ABI and would run ubiquitously. I would be very happy with prebuilt C++ distributed as part of the Rust-packages as an alternative if that is possible.
Also, I second the comment above. This might well work with Bevy, but at the moment I don't understand how to do it to WASM with Bevy and that is the only target I am currently interested in, so to me, Rive is not an option right now. This could be mitigated with documentation.

I was under the impression that simply building rive-rs with wasm32-unknown-emscripten should be easily compatible with wasm32-unknown-unknow, but that's not the case. I tried experimenting with this idea, but for a Bevy project what ends up happening is that the link step will be missing libc to link against in the final step.
Building a Bevy project with wasm32-unknown-emscripten also fails because winit only works with wasm32-unknown-unknown.
Re-opening the issue, but I currently don't have any leads/ideas. tree-sitter-c2rust has a solution to this by providing a mini sysroot to build with, but I'm not aware of any such project for C++.

What's the potential for a Rust-native runtime?
Rust would give you WASM out of the box, and FFI to C++ easily.
These problems seem self-inflicted because C++ doesn't go into Rust and then into WASM easily.

@simbleau, I just pushed to an experimental branch using emscripten's libcxx implementation. Could you please check to see if it works?

@simbleau, I just pushed to an experimental branch using emscripten's libcxx implementation. Could you please check to see if it works?

Sure, should I get some bandwidth... not today, but soon, hopefully. :)

There is a rive-wasm api (https://github.com/rive-app/rive-wasm). Any thought to using that for wasm and rive-cpp for native?

There is a rive-wasm api (https://github.com/rive-app/rive-wasm). Any thought to using that for wasm and rive-cpp for native?

This is an idea worth looking into.


Fix @PropertyEditorRegistration to work with inner classes

I found out that when targetType is an inner class, the generated layer registration uses . as delimiter between outer and inner class simple names.

Best practices should be followed ... test added.


Support for longer kmer

Recently we wanted to extend our analysis with khmer to use longer kmers. However, current limit is 31? So I was wondering if this is going to be extended upto 100?

I believe this is a planned feature. See #60

Yep - also #732, point 6.  Should be in khmer within the next 2-3 months (?)


Bump netty from 4.0.28.Final to 4.0.29.Final

netty 4.0.29.Final was released a couple days ago. I ran mvn test with the new version and everything was okay.

I'm happy to upgrade but is there a specific bug fix in Netty you are looking for.  It doesn't look like any of the 14 bug fixes in 4.0.29 address any features used by MockServer https://github.com/netty/netty/issues?utf8=✓&q=is%3Aissue+milestone%3A4.0.29.Final+
The only reason I ask is that I want to understand the reason behind the pull request.


Update notification

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the new behavior?
This updates the default NotificationTheme, adds an info variant, adds icons, and adds an optional action to Notification
Does this PR introduce a breaking change?
[x] Yes
[ ] No

This updates NotificationTheme. Any app that overwrites or extends this component theme may have to update to match the new shape
Other information
https://github.com/reaviz/reablocks/assets/40581813/70e8352d-7e68-4458-a64f-63ae965a1e81
Light mode variants

kind of a nit but can the light mode close button color be a little more contrasty?

kind of a nit but can the light mode close button color be a little more contrasty?

Yea looks much better now thanks


expiry value taken from timestamp

the expiry time of an order is calculated at the time of order generation
using the timestamp field but the timestamp gets updated when an order
update is run. The initial timestamp should not change

already fixed. Initial timestamp not changed


mv ecdsa -> ecc, add ecdh

Adds ecdh, groups it with ecdsa in an ecc module, and adds a new README detailing its application to public key cryptography.
This PR closes issue https://github.com/pluto/ronkathon/issues/81
WIP: tripartite ecdh + tate pairings

👀


Show directives applied to a field/query

We must find a way to show the directives applied to a given field, since some directives may contain useful information, like validations and permissions.

Well, apparently this is not possible at the moment, because directives are not conserved in the introspection: https://github.com/graphql/graphql-spec/issues/300
This would require reading the schema in a different format than the introspection query (like AST JSON format). I don't know if it's possible, but in any case, this is not a low hanging fruit.

This has been implemented and merged!


Hand in

Hey,
are we supposed to answer all the task in the assignment 0 file and hand it in? or is it necessary to make a new file and hand that in?

Hi Lucas,
You should simply edit the assignment_0 file so that it includes your answers and hand that one in.
Does that make sense?
Best,
Joachim


[docs] Added development server docs

Implements and closes #19

@nemesisdesign added some information related to the development server.

Pull Request Test Coverage Report for Build 60

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 59:
0.0%

Covered Lines:
148

Relevant Lines:
148

💛  - Coveralls


Instructions to build on a Windows system?

Hi,
Current build instructions appears to be UNIX-only. Is it complicated to port to build on Windows?
I tried building it using Ubuntu and I got the following files which I've copied:

Can I use these files to build my WebAssembly project?

You can try linking the .so (which should be emscripten bytecode if you've build it under linux) with emscripten in windows. But then again, I'm not sure if emscripten bytecode is cross-os compatible even if you are running the same versions.
There is a tutorial for setting up emscripten on windows here: http://kripken.github.io/emscripten-site/docs/building_from_source/building_emscripten_from_source_on_windows.html
IMHO it's not worth the effort you'll have to put into it. If you desperately need protobuf javascript support, there are javascript-only libraries out there.

Gave it another go, and I was wrong, it works (my mistake). So yes the .so file can be renamed and linked with emscripten in Windows. Thanks a lot for this, @invokr !


LSQ broken when cache is blocked

Issue a multitude of write requests, which end up failing (assert(!mem_data) fails, lsq_unit.cc:921).
LSQUnit::writebackStores() keeps trying to store a value (presumably for multiple stores) as long as there's stores pending and cache ports are available -> This in original O3 goes to writebackBlockedStores() instead if writebackStores() faced a cache block.
But it ends up expecting a value to be nullptr which it itself set in the previous iteration.

Need to look into it more. A fix might be somehow using DynInst object?
Also need to check if it affects loads too.

Fixed with e5ecc338099623a61878f0f371e5fb1eaa2d7ee4


Adds support for #[wasm_bindgen(typescript_custom_section)].

Implementation
This diff adds an attribute "typescript_custom_section", inspired by wasm_custom_section. It allows you to annotate a static const string as an addition to wasm-bindgen's generated TypeScript definition files.
#[wasm_bindgen(typescript_custom_section)]
const TS_INTERFACE_EXPORT: &'static str = r"
  interface Square { color: string; width: number; }
";

// Errors
#[wasm_bindgen]
const TS_INTERFACE_EXPORT = r"interface Square { color: string; width: number; } ";
#[wasm_bindgen(typescript_custom_section)]
const TS_INTERFACE_EXPORT: &'static [u8] = [100, 101, 98, 117, 103, 103, 101, 114, 59]
#[wasm_bindgen(typescript_custom_section)]
struct Square { color: String, width: usize }

When wasm-bindgen-cli is invoked with the --typescript parameter, the contents of all typescript_custom_section strings encountered during compilation are appended to the output .d.ts file. This allows Rust to be the source of truth for type definitions in both WebAssembly and Typescript, or route around missing functionality in wasm-bindgen. Most importantly, it enables external tooling to directly generate their own Typescript types.
Motivation
wasm-bindgen exports JavaScript classes and enums that mirror the structure of Rust structs and (C-style) enums. It also exports TypeScript definitions when the --typescript flag is used. For types defined in Rust that you want to share a JSON-type definition for, you may only need to export a TypeScript definition that models it.
For example, sum types can't be exported to TypeScript just using wasm_bindgen:
#[wasm_bindgen]
enum Versions {
  V1,
  V2(String),
  V3{  arg1: bool, arg2: String, },
}

There is no concrete type in JavaScript that corresponds to a tagged union. But if we treat this as plain old JSON-encodable data (as when serializing using serde), we can actually create a Typescript type definition that lives alongside it to express all possible values:
#[wasm_bindgen(typescript_custom_section)]
const TS_VERSIONS_EXPORT: &'static str = r#"

export type Versions =
  | { "tag": "V1" }
  | { "tag": "V2", "fields": string }
  | { "tag": "V3", "fields": { "arg1": bool, "arg2": string } }
  ;

"#;

The primary benefit is ensuring that Rust is the source of truth for shared type definitions (where the alternative is writing your own Typescript definition that must stay in sync with your Rust definition.) But we can leverage even stronger type guarantees, where Typescript gives you semantics that are similar to Rust's tagged unions:
// All matches on a tagged union must be exhausted in TypeScript
switch (version.tag) {
  case 'V1': return 1;
  case 'V2': return 2;
  // would be a typescript error, because you didn't define a 'V3' case
}

Knowing that subcrates might want to define additional Typescript information is the motivating factor for typescript_custom_section. Rather than integrate advanced Typescript generation entirely into wasm-bindgen, we can pull this logic wholly into external libraries.
An example of this is wasm-typescript-definition, a #[derive(TypescriptDefinition)] macro I wrote to try out typescript_custom_section. This enables serde-Serializeable values to export an equivalent TypeScript definition:
#[derive(Serialize, Deserialize, TypescriptDefinition)]
#[serde(tag = "tag", content = "fields")]
enum Versions {
  #[serde(rename = "Version1")]
  V1,
  #[serde(rename = "Version2")]
  V2(String),
  #[serde(rename = "Version3")]
  V3{  arg1: bool, arg2: String, },
}

In this case, the #[derive(TypescriptDefinition)] attribute would generate its own additional #[wasm_bindgen(typescript_custom_section)] section, which would be rolled into your resulting definitions file. It's then able to be used to typecheck user code.
Because this crate is intentionally serde-aware, it can export a Typescript definition that matches the serde encoding exactly. You could deserialize Rust values in Typescript with full typechecking, then return them to Rust with the same guarantee, just by using a type annotation. Using typescript_custom_section, no serde-aware logic needs to be added into wasm-bindgen to make this work.

This is a really interesting idea! It seems like a pretty plausible building block to me at least.
@fitzgen you may have thoughts on this as well! I'm sort of tempted to merge as-is, but would like to get a second opinion!

Yeah, this is neat for sure. LGTM!

👍 Let's merge then!

@tcr if you're interested as well, I'd love to beef up our TypeScript testing story on CI for wasm-bindgen, and it'd be great to get some help with that!

@alexcrichton I'd love to be able to add Typescript tests :) I'll join the conversation in #922.


Editing a simple C# program always shows errors (despite compiling fine)

Example:

The type or namespace 'Convert' does not exist in the namespace 'System' (are you missing an assembly reference?)

and:
'Console' does not contain a definition for 'Clear'

My project.json is as follows:
	{
		"dependencies": {

		},
		"commands": {
			"ConsoleApp": "ConsoleApp"
		},
		"frameworks": {
			"dnx451": { },
			"dnxcore50": {
				"dependencies": {
					"System.Console": "4.0.0-beta-*"
				}
			}
		}
	}

VS Code Version: 0.10.1 running on OS X (Yosemite) 10.10.5

@Someguy123 Can you hit F8 on the compile error and tell me what projects they are reported for? Your project.json refers to coreclr and desktop clr and I am unsure the symbols you are asking for ship with core clr

@jrieken I'm using mono to compile my program.
Here's the results of F8:
https://imgur.com/a/FA9ai

The problem is that some symbols aren't part of dnxcore50 - the error message lists only that project, not dnx451 You need more dependencies in the frameworks.dnxcore50.dependencies-section

@jrieken What dependencies though? The only components being used are System.Console and System.Convert (of which I cannot find a package for on nuGet). The closest thing I found for System.Convert is this: https://www.nuget.org/packages/runtime.osx.10.10.System.Runtime.Extensions/4.0.11-beta-23516 - After adding the package, Intellisense still can't see Convert as a valid symbol, and I don't understand why Console.Clear() isn't in the System.Console package.


[Edit child UI] Error message contains inaccuracies

Environment: Windows 10 Corporate LTSC 64-bit, Google Chrome v98.0.4758.102
Reproducible: always (also while adding child's information)
Build found: Frontend: gcp-0.0.54, Backend: gcp-0.0.115
Preconditions

Follow link https://oos.dmytrominochkin.cloud/#/
Log into system as parent<EMAIL_ADDRESS>'Password'="Qwert1!".
Select "Інформація про дитину" in the menu bar at the top right corner. At least 1 child must be created.
Click on the "Pen" button of the created child.

Steps to reproduce

Set incorrect value (e.g. 1111) in the 'Серія та номер свідоцтва про народження' field.
Look at the displayed error message.

Actual result
The error message doesn't contain ` symbol as valid.

Expected result
The error message contains ` symbol as valid.

User story and test case links
User story https://github.com/ita-social-projects/OoS-Frontend/issues/43
Test case: https://jira.softserve.academy/browse/OS-191
Labels to be added
Bug, pri: very low, severity: trivial, UI

Verified


Log better error message when sync with peer fails

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "/usr/lib/python3.8/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 950, in send
    self.connect()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connection.py", line 200, in connect
    conn = self._new_conn()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f964c1b1a30>: Failed to establish a new connection: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=18332): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f964c1b1a30>: Failed to establish a new connection: [Errno 111] Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/sync/network_sync.py", line 43, in _sync_peer
    self.sync_peer(peer_connection)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/sync/network_sync.py", line 81, in sync_peer
    peer_connection.download(self.block_interval)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/sync/peer_connection.py", line 43, in download
    block_range = self.squeak_controller.get_block_range()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/node/squeak_controller.py", line 431, in get_block_range
    max_block = self.squeak_core.get_best_block_height()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/core/squeak_core.py", line 115, in get_best_block_height
    block_info = self.bitcoin_client.get_best_block_info()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/bitcoin/bitcoin_core_bitcoin_client.py", line 35, in get_best_block_info
    block_height = self.get_block_count()
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/squeaknode-0.1.37-py3.8.egg/squeaknode/bitcoin/bitcoin_core_bitcoin_client.py", line 51, in get_block_count
    response = requests.post(
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/api.py", line 119, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/home/yzernik/work/squeaknode/venv/lib/python3.8/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=18332): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f964c1b1a30>: Failed to establish a new connection: [Errno 111] Connection refused'))
ERROR:squeaknode.node.payment_processor:Unable to subscribe invoices. Retrying in 10 seconds.

https://github.com/yzernik/squeaknode/pull/872


v4 $message->reply no longer working?

Hi. i was using v3, later changed to v4-new because it was a lot more stable, but now i tried the new v4 branch and it seems that $message->reply('pong!'); is no longer working. I never get any message in discord now.
Since that is also not in the example, is it known that it is not working? Has anything changed there or am i just too stupid?
The method at least doesn't seem to have changed.

It's of a promise now.. should be
php $message->reply($str)->then([$deferred, 'resolve'], [$deferred, 'reject']);

thanks.
i tried this code now, but i am probably doing the promise stuff wrong.
This is my shorted code:
$discord = new Discord(['token' => $this->settings['token']]);

$discord->on('ready', function ($discord) {
    $discord->on('message', function ($message, $discord) {
        echo "message received from: ".$message->author->username.' msg:'.$message->content, PHP_EOL;
        $message->reply('pong!')->then(
            function ($value) {
                echo $value.PHP_EOL;
            },
            function ($reason) {
                echo $reason.PHP_EOL;
            }
        );
    });
});
$discord->run();

i get the "message received from.." message, but never any reply.

thanks. works with the latest version. ;)


Interactive job: sometimes output to stdout is repeated, sometimes skipped.

I found this bug from using PyXenon, but I don't know where in the Xenon stack this bug resides (either Xenon or Xenon-GRPC). A way to test this could be by running cat interactively on Moby-Dick a thousand times and diffing the results.

Further analysis shows that the error is triggered when output happens to both stderr and stdout. Sometimes when output is expected at stdout, I receive output on stderr containing the last chunk that was sent to stderr. The output that was sent to stdout is then dropped. This leads me to suspect that this is a bug in Xenon-GRPC rather than Xenon itself.

fixed in xenon-grpc


Typo for heading

The first heading under "Recommended content" has a typo

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

ID: 58067ff3-737e-441e-1812-a50bdb97d832

Version Independent ID: fa3aba35-e8d9-cff6-13c2-1c892c3f2cc4

Content: Bulk complaint level values - Office 365

Content Source: microsoft-365/security/office-365-security/bulk-complaint-level-values.md

Product: m365-security

Technology: mdo

GitHub Login: @chrisda

Microsoft Alias: chrisda

OK. I think I fixed it. The 'title:' attribute in the topic metadata was using ' instead of ' ' ' for some reason, so I fixed it.

@gb5757870 . Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Allow specifying an initial pooled buffer size

Also move set_len(0) into put() and use Vec::shrink_to().

The behavior of BufferPool::put() is slightly different now. Instead of truncating when the buffer's length is greater than the capacity it now compares the buffer's capacity against the limit. Let me know if that's not okay with you.


Resize method

The Resize method currently is a bit weird.
Resize needs 2 additional parameters

rotation of the playfield
relative resizing based on rotation

currently the playfield is always treated as straight. this wont always be the case.
for resizing whilst the playfield is rotating we will need to create a relative coordinate system based on the current rotation and move the receptor based on that instead of the absolute coordinate system.
additionally width calculation on a flipped playfield kinda breaks.
not insanely big issue just means that you need to use weird height and widht values to get the effekt you want.

this is pretty annoying to work around and should be fixed prefers immediately. or asoon as I have time, resize should always be relative to the current spin direction. so that Playfield rotation does not matter.


DBZ-2067 Add support for ALGORITHM=INSTANT on alter table statements

https://issues.redhat.com/browse/DBZ-2067
Updated Antlr grammar to support ALGORITHM=INSTANT on alter table statements.

LGTM, thx a lot!


Setup argocd action

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


fix: set use_instructions to True in models using prompts

This PR sets the use_instructions parameter to True for models that use prompts.
I've also included Arctic models because, while they don’t explicitly mention prompts in their MTEB implementation, they add the prompts directly in their config_sentence_transformers.json, so SentenceTransformers uses them automatically (example here)
Additional context for this PR can be found in this thread
A follow up PR in the results repo updates the corresponding model_meta.json values for these specific models and revisions.
Checklist

[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.

Thank you for the quick review @Samoed !


soft wrap

My column selection is not working when soft wrap is on. It also do not work well when screen is spitted in two half with ctrl+k left.

hmm looks like its trying to get the coordinate relative to the window, not the pane. I'll look into it

Sounds like the first issue may be the same as #27?


Unable to deploy my function app

This is autogenerated. Please review and update as needed.
Describe the bug
Trying to deploy my function app to a linux consumption plan.
Command Name
az functionapp update
Errors:
'NoneType' object has no attribute 'kind'
Traceback (most recent call last):
Local\Temp\pip-unpacked-wheel-49qlvzn7\knack\cli.py, ln 215, in invoke
azure\cli\core\commands\__init__.py, ln 654, in execute
azure\cli\core\commands\__init__.py, ln 718, in _run_jobs_serially
azure\cli\core\commands\__init__.py, ln 709, in _run_job
azure\cli\command_modules\appservice\commands.py, ln 55, in _polish_bad_errors
azure\cli\core\commands\__init__.py, ln 688, in _run_job
azure\cli\core\commands\__init__.py, ln 325, in __call__
azure\cli\core\commands\arm.py, ln 567, in handler
azure\cli\core\commands\__init__.py, ln 444, in cached_put
azure\cli\core\commands\__init__.py, ln 438, in _put_operation
azure\cli\command_modules\appservice\custom.py, ln 672, in set_functionapp
AttributeError: 'NoneType' object has no attribute 'kind'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az functionapp update -g {} -n {}

Expected Behavior
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.14.0

Additional Context

I typed in the application name wrong. Perhaps the CLI can detect this and help give a more useful error message.


Renarde supports sessions to store user information?

is there any way to store temporal user information in Renarde? I guess I need store the information in the client side or maybe in a distributed cache as infinispan, is that correct?

What sort of user info? I typically have a User entity persisted in the DB. What more do you need?

What sort of user info? I typically have a User entity persisted in the DB. What more do you need?

for example if I want to implement a shopping cart, I need to save the products selected by the user temporally, so I dont want persist it into a database.

If we ever need a session, I'd implement a signed session on the client via a cookie. A bit like the current Flash scope. But a shopping card is a bad example IMO because you really want to persist it in your DB, like most sites do nowadays :)


Google bounds parameter in readme example not functioning correctly

Hi,
Expected behavior
When using the Google lookup, adding a bounds parameter to the query as in the example from the readme is not returning the correct response.
The bounds parameter should result in the result being "Paris, Texas, USA" right?
# with Google:
Geocoder.search("Paris", bounds: [[32.1,-95.9], [33.9,-94.3]])

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "Paris",
                    "short_name": "Paris",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Lamar County",
                    "short_name": "Lamar County",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "Texas",
                    "short_name": "TX",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "United States",
                    "short_name": "US",
                    "types": [
                        "country",
                        "political"
                    ]
                }
            ],
            "formatted_address": "Paris, TX, USA",
            "geometry": {
                "bounds": {
                    "northeast": {
                        "lat": 33.7383781,
                        "lng": -95.435455
                    },
                    "southwest": {
                        "lat": 33.6118529,
                        "lng": -95.62792789999999
                    }
                },
                "location": {
                    "lat": 33.6609389,
                    "lng": -95.55551299999999
                },
                "location_type": "APPROXIMATE",
                "viewport": {
                    "northeast": {
                        "lat": 33.7383781,
                        "lng": -95.435455
                    },
                    "southwest": {
                        "lat": 33.6118529,
                        "lng": -95.62792789999999
                    }
                }
            },
            "place_id": "ChIJmysnFgZYSoYRSfPTL2YJuck",
            "types": [
                "locality",
                "political"
            ]
        }
    ],
    "status": "OK"
}

Actual behavior
# with Google:
Geocoder.search("Paris", bounds: [[32.1,-95.9], [33.9,-94.3]])

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "Paris",
                    "short_name": "Paris",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Paris",
                    "short_name": "Paris",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "Île-de-France",
                    "short_name": "Île-de-France",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "France",
                    "short_name": "FR",
                    "types": [
                        "country",
                        "political"
                    ]
                }
            ],
            "formatted_address": "Paris, France",
            "geometry": {
                "bounds": {
                    "northeast": {
                        "lat": 48.9021449,
                        "lng": 2.4699208
                    },
                    "southwest": {
                        "lat": 48.815573,
                        "lng": 2.224199
                    }
                },
                "location": {
                    "lat": 48.856614,
                    "lng": 2.3522219
                },
                "location_type": "APPROXIMATE",
                "viewport": {
                    "northeast": {
                        "lat": 48.9021449,
                        "lng": 2.4699208
                    },
                    "southwest": {
                        "lat": 48.815573,
                        "lng": 2.224199
                    }
                }
            },
            "place_id": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ",
            "types": [
                "locality",
                "political"
            ]
        }
    ],
    "status": "OK"
}

Environment info

Geocoder version: 1.5.0
Rails version: 5.1.1
Lookup (if applicable): google

I think the solution here is to remove that example from the README, since a few people have mentioned this. The issue is that Google's bounds parameter doesn't impose a strict limitation, only a bias towards the specified region, and the way it weights the bias seems to have changed since the README was written. All Geocoder does is pass the parameter to Google, so there's nothing the gem can do to help.


[Bug]: CORS issue trying to connect to sandbox via Temple

What happened?
When trying to connect to sandbox via Temple getting an issue with CORS
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:20000/chains/main/chain_id. (Reason: CORS header 'Access-Control-Allow-Origin' missing). Status code: 200.
What should have happened?
There should be no errors trying to connect to sandbox from any application because environment variable should be set up to *
Steps to reproduce the bug
Steps to reproduce the error:
Relevant log output
No response
Screenshots and images
Screenshot and images
Code of Conduct

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

Thanks for filing this report @sinapsist!
Steps to reproduce the error:

Initialize new taqueria project (taq init new-project)
Install flextesa plugin (taq install @taqueria/plugin-flextesa)
Start local sandbox (taq start sandbox local)
Attempt to add custom RPC within Temple (http://localhost:20000)

Device/wallet specifics:

Windows & WSL (followed https://taqueria.io/docs/getting-started/installation/)
Temple Wallet
Firefox

It is only applicable for Firefox, Chrome works fine.

This seems to be an issue yet with Taqueria v0.18.


⚠ ClamAV has degraded performance

In eb348f2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in c34d9d9 after 5 minutes.


container logs always get truncated

Summary
I'd like to know when logs will be truncated. The logs are definitely not too large in size. It seems that the truncation always takes place in specific lines. I'm wondering whether it's because there are some invisible characters which cause the truncation.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

@sarabala1979 Hi, any comments on this issue?

@philosophicus are you seeing the log truncation in UI or CLI?

@sarabala1979 Both in UI and when I use kubectl logs to examine the container logs


Different spaces after images/ tab views

When looking at the preview I find different spaces after the tab view images. After the first one (in Experiments), there is a large space whereas after the second tab view image (CNN) there is no space.
I would like that to be consistent (taking into account that after the first one a headline follows)
Needs to be changed here:
https://github.com/blogosfair/How-does-the-inductive-bias-influence-the-generalization-capability-of-neural-networks/blob/main/_posts/2022-12-01-how-does-the-inductive-bias-influence-the-generalization-capability-of-neural-networks.md
Maybe just take out the space after the first one? I am not sure since this is not the original markdown source file anymore...

problem ist that html changes after selecting tabs. In addition it it included as iframe, which cannot have simply different sizes.
I tried different things, but it did not work.
Therefore, I fixed it but not to 600px but to a correct size.


training is very slow

when I use gpu (rtx2080 8G) to train a simple net, it give me a cuda out of memory error,dataset is cat and dog. so I use cpu to train my net, it's to slow for me, my cpu is i9-9900K
Epoch 0:  37%|███▋      | 9300/25000 [14:30:04<24:28:50,  5.61s/it, loss=0.706, v_num=4, train loss_step=0.675]
it will use 24h??.. oh
Code
this is my code
https://colab.research.google.com/drive/18dJM0iyhhiJnahkz9lnKfa4UKyDhJx08?usp=sharing
What have you tried?
What's your environment?

OS: [ Win]
Packaging [ pip]
Version 1.0.2

dataset link?

@rohitgr7 I think it is the kaggle dataset: https://www.kaggle.com/c/dogs-vs-cats

@morestart You are not reducing spatial dimension of feature maps using Conv layers and you first linear layer weights themselves are > 2GB in size. The linear layer should not be 14 * 224 * 224.

@morestart You are not reducing spatial dimension of feature maps using Conv layers and you first linear layer weights themselves are > 2GB in size. The linear layer should not be nn.Linear(14 * 224 * 224, 1024).
That itself is exceeding the GPU memory with a batch size of 1. Closing this issue for now.

thanks!


added data-object and target_label as input to loss functions

Hi!
This PR lets loss functions recieve the full torch_geometric.data.Data-object and the target_label.  Before, loss functions only had the prediction and the truth available.
The reason behind this proposed change is that having the full Data object available allows us to use truth variables to calculate weights inside the loss function we make.
I have updated all current loss functions such that they work with this change.
Rasmus

Deleting this because its now redundant. Tagging @asogaard  fyi


Fix small issues due latest change

make test doesn't work anymore.
The go  covermode need seperate module at once..
I am checking if the terraform version has other things

@wking CC

I think the issues I have is because I am not using the latest golang. We might change the makefilesetup backward compatible, I will try out the newest golang soon

Thx @wking for infos.

go version go1.9.7 linux/amd64

@wking  this the error ( i got a terminal meanwhile :) )
go test -v -covermode=count -coverprofile=profile.cov . ./libvirt
cannot use test profile flag with multiple packages
make: *** [Makefile:12: test] Error 1

go version go1.9.7 linux/amd64

yop indeed this was fixed in 1.10 version..
https://github.com/golang/go/issues/6909

@wking  i opened a small issue as follow-up for later.
Imho we can have it later when all os-distros have the fix https://github.com/dmacvicar/terraform-provider-libvirt/issues/454


DuplicateTransitGatewayAttachment error received on 1 of 3 subnets

I create three subnets exactly the same way through CloudFormation and consistently 1 of the 3 is not being attached even though tag Attach-to-tgw is present.  The subnets are in 3 different AZs.  The error tag is showing the following:
STNOStatus-Subnet-Error | 2020-01-31T03:22:19Z: An error occurred (DuplicateTransitGatewayAttachment) when calling the CreateTransitGatewayVpcAttachment operation: tgw-04e93f5458d6a0662 has non-deleted Transit Gateway Attachments with same VPC ID.
I am able to correct the issue manually and attach to the subnet without issue.
Attaching CloudFormation template to produce the error.
Thanks for taking a look!
k8s-stno-error-test-vpc.template.json.txt

Hello Roger,
Thanks for reporting this issue. We have added this issue to our backlog.

Hi,
I am seeing the exact same behaviour:
"An error occurred (DuplicateTransitGatewayAttachment) when calling the CreateTransitGatewayVpcAttachment operation: tgw-003ded20995f40ef3 has non-deleted Transit Gateway Attachments with same VPC ID.",
I have 3 subnets and only 2 of them will attach. I thought this might be related to AZ ID's being different across different accounts but I'm not so sure.  It seems that it's trying to create the attachment instead of adding additional subnets to an existing attachments.
Is this project still active and being worked on?
Thanks

Hello @naslanidis. Thanks for the note. This issue will be fixed in the next release of STNO planned for Q3 2020

Hello @naslanidis. Thanks for the note. This issue will be fixed in the next release of STNO planned for Q3 2020

Hi, thanks that's great news.
I've actually worked around it by simply adding a catch to some of the states in the state machine that were sometimes failing and just routing the flow back up top to retry again.  Not perfect but it works and I look forward to seeing the next version.

@naslanidis
can you share your workaround?
im hitting this same error and have added 15 retry attempts on the step: TGW Attachment CRUD Operations and some other failing steps however one remaining subnet never gets the attachment after 15 retries.
@rakshb
Any way to get access to the fix for this in a beta version or similar?

@naslanidis
can you share your workaround?
im hitting this same error and have added 15 retry attempts on the step: TGW Attachment CRUD Operations and some other failing steps however one remaining subnet never gets the attachment after 15 retries.
@rakshb
Any way to get access to the fix for this in a beta version or similar?

I have also faced this issue. I have added dependency (DependsOn) in order to create subnets one by one and not to confuse STNO
First of all I create subnet-A with tag (Attach-to-tgw),  subnet-B DependsOn subnet-A,  subnet-C  DependsOn subnet-B, etc

Hi @bebych and @adamcousins
Initially I played around with the STNO lambda to work around this but then I decided I'd rather not make changes there if a new version will be coming soon. So instead I just added some retries / catches in the state machine spec.  You can replace the original state machine json spec with the attached in the stno hub cfn and it should work. I haven't changed anything else. If there's an error or 'IncorrectState' response it simply restarts from the describe states at the start. It's not pretty, but given a new version should be coming I wanted to keep changes to a minimum. I
state_machine_spec.txt
I've attached a diff output compared to the original spec so you can see what's changed.
state_machine_spec_diff.txt

I've hit this same issue.

If we try to attach a transit gateway to two subnets of the same availability zone, this error occurs. According to the rule , one transit gateway can attach to a subnet of one availability zone only. Please correct me if I am wrong

@sreejanigit This issue is related to duplicate TGW Attachment (DuplicateTransitGatewayAttachment) due to a race condition if more than 2 subnets are tagged at the same exact time (example: using CFN template).
If we try to attach a transit gateway to two subnets in the same availability zone we should expect DuplicateSubnetsInSameZoneError exception.

@groverlalit, sorry for my misunderstanding. Thanks much for correcting me.

Is this resolved yet? I am facing this constantly while creating VPC using CFN. I tried adding DependsOn, but it would still fail most of the times with "errorMessage": "An error occurred (Resource.AlreadyAssociated) when calling the AssociateTransitGatewayRouteTable operation: Transit Gateway Attachment..."
Or InvalidState error message.

Is this resolved yet? I am facing this constantly while creating VPC using CFN. I tried adding DependsOn, but it would still fail most of the times with "errorMessage": "An error occurred (Resource.AlreadyAssociated) when calling the AssociateTransitGatewayRouteTable operation: Transit Gateway Attachment..."
Or InvalidState error message.

@groverlalit  is this project abandoned or will bugs like this be resolved in a timely fashion?

same issue - what's up @groverlalit? Any word on that new release?

the @naslanidis fix seemed to work for me

Yes, issue is still exists. Fresh install of v2.0.0. Trying to create VPC with 3 subnets from Cloudformation:
Step Functions:
First subnet succeeded.
Second subnet: "errorMessage": "An error occurred (IncorrectState) when calling the AssociateTransitGatewayRouteTable operation: tgw-attach-0a123456789abcdefg is in invalid state",
Third subnet: "errorMessage": "An error occurred (Resource.AlreadyAssociated) when calling the AssociateTransitGatewayRouteTable operation: Transit Gateway Attachment tgw-attach-0a123456789abcdefg is already associated to a route table.",

We are currently working on the fix. This issue will be addressed in the next release. Please continue to monitor this thread for updates.

We have fixed this issues in V3.0.0 which released this week.


Remove Email Logging

Every time my email processor receives an email, it prints the entire email into my rails log. Is there any way I can remove this functionality so it doesn't print everything?

This has nothing to do with Griddler. This is standard Rails procedure for incoming parameters. You'll need to identify which parameters your provider of choice is sending to your app and then use something like Rails parameter filtering to keep them from being printed to the logs.

Thank you for the help!


move vfu_cap_t closer to where it's used

Signed-off-by: Thanos Makatos<EMAIL_ADDRESS>

This PR was previously approved, I closed and re-opened it to see whether it would fix the Travis issue.


Click the push in notification center doesnt bring to foreground the app

Expected Behaviour
Open the app when push notification is clicked in notification center and bring to foreground the app
Actual Behaviour
App doesn't open when is in background mode, but the on 'notification' event is triggered.
The app works well if the app is closed or if it is in foreground.
Reproduce Scenario (including but not limited to)
Trigger notification with given payloads and the app is in background mode
Steps to Reproduce
Step 1: Open app and set in background mode
Step 2: Trigger notification
Step 3: Click on it in the notification center
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 8.0.0
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Xiaomi M1A1
Cordova CLI version and cordova platform version
cordova --version  8.0.0
cordova platform version android 7.1.0
Plugin version
cordova plugin version | grep phonegap-plugin-push  2.2.3
Sample Push Data Payload
send by http FCM
     {
           registration_ids: ['adsasdas'],
            priority: 'high',
            content_available: false, // tested with true too
            data: {
                title: 'A short string describing the purpose of the notification',
                message: 'The text of the alert message', // "body" can be used as alias, is converted to "message"
                // localization of message is possible
                count: 5, // set the badge notification count at app icon
                sound: 'default', // play default sound ... or "soundname", see [Android Sound](#sound) section
                //notId: 1, // unique ID for the message, used for grouping, see below
                'content-available': '1', // tested with 0 too
                custom_key1: 'value1',
                click_action: "https://www.google.es",
                custom_key2: 'value2',
            }
        }

Sample Code that illustrates the problem
Logs taken while reproducing problem
06-05 17:06:53.911  2410  4273 E ActivityTrigger: activityResumeTrigger: not whiteListedes.upplication.android637/es.upplication.android637.MainActivity/75
06-05 17:07:15.377  2410 12434 I ActivityManager: START u0 {flg=0x24000000 cmp=es.upplication.android637/com.adobe.phonegap.push.PushHandlerActivity (has extras)} from uid 10130
06-05 17:07:15.377  2410 12434 W ActivityManager: startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { flg=0x24000000 cmp=es.upplication.android637/com.adobe.phonegap.push.PushHandlerActivity (has extras) }
06-05 17:07:15.381   549   549 E ANDR-IOP: IOP HAL: Received pkg_name = es.upplication.android637 pid = -1
06-05 17:07:15.387  2410 12434 D ActivityTrigger: activityStartTrigger: Activity is Triggerred in full screen ApplicationInfo{eabdd0c es.upplication.android637}
06-05 17:07:15.387  2410 12434 E ActivityTrigger: activityStartTrigger: not whiteListedes.upplication.android637/com.adobe.phonegap.push.PushHandlerActivity/75
06-05 17:07:15.388  2410 12434 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{eabdd0c es.upplication.android637} is now in focus and seems to be in full-screen mode
06-05 17:07:15.388  2410 12434 E ActivityTrigger: activityResumeTrigger: not whiteListedes.upplication.android637/com.adobe.phonegap.push.PushHandlerActivity/75
06-05 17:07:15.393  2410 12434 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{eabdd0c es.upplication.android637} is now in focus and seems to be in full-screen mode
06-05 17:07:15.393  2410 12434 E ActivityTrigger: activityResumeTrigger: not whiteListedes.upplication.android637/com.adobe.phonegap.push.PushHandlerActivity/75

@jarnaiz in your AndroidManifest.xml file what is the value of android:launchMode?

Hello @macdonst
I set the value to: singleInstance to solve this issue: https://github.com/nordnet/cordova-universal-links-plugin/issues/37
But maybe I can change to singleTask

@jarnaiz yeah, the root cause of your problem is that your launch mode is not set to standard or singleTop. Both singleTask and singleInstance are special cases and not recommended for most applications.
You can read up more about it at:
https://developer.android.com/guide/topics/manifest/activity-element#lmode
https://developer.android.com/guide/components/activities/tasks-and-back-stack
I'm going to close this issue as it is not a problem with the plugin but with the way the universal links one sets up your app.

Thanks for the feedback and the docs.
I tested the APK and it works without any troubles


mods in .zip

for a while I had this idea and I know that would be great for the block launcher ;)
mods in .js, are not organized, thought it would be cool to the possibility installing mods in zip , so he'd read all the textures and .js files from the file zip.
Pros:
-so it could be easily installed mods with texture so carrying them without needing to restart the block launcher
-help organize modsscripts, this part facilitates modders and also who will use the mods
-install modpacks in just a few clicks without the need to download mod for mod (even with the last modification modpkg)
Contras:
-I don't see any
Thanks for reading till here :D

That is now possible with the .modpkg

Here is the info about this:
https://github.com/sliceofcode/mpep/tree/master/spec
(Sorry for bad english)

@MrLeons7 it is possible use .modpkg

sorry by this post


How to login a user with and without second factor for testing

I have seen this issue, but the solution does not (seem to) work for me (anymore): #244
In my application users are onlly required to provide a second factor for the "admin site" and for a number of specific end-points.
Therefore, during testing (pytest), I need to login a user with and without providing a second factor.
How do I do this?
My current approach, based on the answer in #244 , works as follows:
from two_factor.utils import default_device
from django_otp import DEVICE_ID_SESSION_KEY
from django_otp.plugins.otp_static.models import StaticDevice

...

    def authenticate_user(self, user=None, mfa=False):

        self.client.logout()
        if user:
            self.client.force_login(user)
            if mfa:
                device = StaticDevice.objects.get_or_create(user=user)[0]
                self.client.session[DEVICE_ID_SESSION_KEY] = device.persistent_id
                self.client.session.save()  # not sure if this is required, but I do it anyway
                print('mfa set')

However, during tests the string "mfa set" is printed, but the endpoints return a 403 error.
Manual testing confirms that the issue is in my test (or actually my authentication during the test).
Your Environment

Python version:3.8
Django version: 3.2
related requirements

django==3.2.15
django-tenants==3.4.4
phonenumberslite==8.12.53
django-otp==1.1.3
django-formtools==2.3
django-two-factor-auth==1.14.0

other possible related requirements

djangorestframework==3.13.1
django-xforwardedfor-middleware==2.0
django-user-sessions==1.7.1
django-sesame==3.1
django-hashids==0.6.5
django-impersonate==1.8.2

Hmm, that's rather odd. What you're doing is basically what we do with Inboxen and that works fine.
I'll look into this more and see if I can reproduce.

In fact, it's the same pattern we use on django-two-factor-auth itself: https://github.com/jazzband/django-two-factor-auth/blob/f427f59c03ba091cd1025ad304535e697492b0eb/tests/utils.py#L33

Just to be sure I am not doing anything stupid... this is the full method I use for creating users and logging them in.
    def create_default_users(self):
        self.user1 = self.create_user(username="test1"<EMAIL_ADDRESS>        self.user2 = self.create_user(username="test2"<EMAIL_ADDRESS>        self.user3 = self.create_user(username="test3"<EMAIL_ADDRESS>        self.superuser = self.create_user(
            username="su",
<EMAIL_ADDRESS>            is_staff=True,
            is_superuser=True,
        )

    def create_user(self, username, password=None, email=None, is_staff=False, is_superuser=False, is_active=True):
        if not password:
            password = self.default_password
        if not email:
            email =<EMAIL_ADDRESS>        return User.objects.create(
            username=username,
            password=password,
            email=email,
            is_staff=is_staff,
            is_superuser=is_superuser,
            is_active=is_active
        )

    def authenticate_user(self, user=None, mfa=False):
        self.client.logout()
        if user:
            self.client.login(username=user.get_username(), password=self.default_password)
            if mfa:
                device = StaticDevice.objects.get_or_create(user=user)[0]
                user.otp_device = device.persistent_id
                user.save()
                self.client.session[DEVICE_ID_SESSION_KEY] = device.persistent_id
                self.client.session.save()

Also, I am not sure if it might be related to: #518
Note that in my case the user does not switch between subdomains. So the cookie should be valid for only that specific subdomain. Hence, I have not changed the SESSION_COOKIE_DOMAIN value (it is not explicitly set in my configs).
Therefore I do not think the issues are related, but I want to be sure.


Allow users to skip MFA setup - Backend

Implement functionality so the MFA setup can be skipped
ACs

[ ] Functionality exists to 'skip' MFA setup after successful member login
[ ] Skip function is available if global grace period is enabled, and it has not ended, and the user does not have a registered method already;
[ ] Skip function is available if MFA is not mandatory
[ ] MFA registration will only be shown once if MFA is not mandatory, and has been skipped by the user already
[ ] If MFA is mandatory, and the grace period hasn't ended, registration is shown each time
[ ] No frontend work is required

I'm going to make the following assumptions:

We need a "can skip" API to determine whether the user can skip the MFA registration process
We need a "should go to MFA" API to determine whether to send the user to MFA registration/login after default SS login
Both results should be added to the API schema for the frontend app to fetch
After default SS login, the backend should check both the "should go to MFA" value and redirect to either MFA or continue as usual

PR at https://github.com/silverstripe/silverstripe-mfa/pull/32


LAB_06, the default items in Azure portal don't match the lab

Lab/Demo: LAB_06_Connect to an Azure SQL server using an Azure Private Endpoint using the Azure portal.md
Task: Create a virtual machine
Step: 2
Replace:

Availability options
Leave the default of No infrastructure redundancy required.

Security type
Leave the default of Standard.

With:

Availability options
From the Availability Zone drop-down menu, select No infrastructure redundancy required

Security type
From the Security type drop-down menu, select Standard

Updates applied. Thank you.


Fix error on Pasargad driver for php 7.4

Description
Fix error for Pasargad driver on php 7.4
Motivation and context
Accourding to this issue, the bug for Pasargad driver on php 7.4 fixed:
https://github.com/shetabit/payment/issues/113

thanks for your contribution. i will release new version now.


Cannot Load Obsidian Plugin

I just wanted to say thank you for this amazing project. I am really keen on trying this out. After installing and enabling the plugin I do not get any error highlighting like I think I should be getting. When restarting Obsidian It hangs and says: plugin "harper" is taking long to load. This is on MacOS.

That's not great! To figure this out, would you mind doing three things for me?

Make sure you're using the latest version, which (at the time of writing) should be v0.13.0.
Type out This is an test in an open file. Do you get any red underlines?
Take a screenshot of the problem, including the developer console. You can do this on MacOS by pressing Cmd+Option+I at the same time.

Not OP, but having the same exact issues.

same for me, on macOS, latest version 0.13.0

Hmmm, I'm not able replicate the issue on my end. @mxgrn would do take a similar screenshot, but swap over to the "Console" tab at the top of the developer tools? We'll get this fixed in a jiffy.

... and after scrolling down a page:

Alright. I've created a new release of the Obsidian plugin that might fix your issue. Go ahead and update to v0.14.0.
If it doesn't immediately start working, try disabling Web Worker usage in settings. At worst, I'll get a better understanding of the issue. I'm still unable to replicate it on my end (on MacOS or any other platform), so thank you for all information you've been able to give me.


Increase version number allowed for System.IdentityModel.Tokens.Jwt in ServiceBus

By increasing the upper bound we can use version 6.5.0 of System.IdentityModel.Tokens.Jwt

Can one of the admins verify this patch?

https://github.com/Azure/azure-sdk-for-net/issues/10872

Hi @raghu017.   Thank you for your contribution.   I'm going to defer to @nemakam for an authoritative review and decision, as he is the subject matter expert for Service Bus.
I would like to mention that, as a general rule, we strongly prefer not to override version compatibility at the level of a single service.  Version compatibility for dependencies is something that can have wide-reaching impact across the Azure libraries and bring subtle issues - especially when using the libraries for different services together in a single application..
As a result, it is something that we need to be careful with and ensure proper test rigor.  Would you be so kind as to help us understand your process in testing these changes, especially with respect to scenarios where multiple Azure libraries are used together in the same project?

Hi @raghu017. Thank you for your contribution. I'm going to defer to @nemakam for an authoritative review and decision, as he is the subject matter expert for Service Bus.
I would like to mention that, as a general rule, we strongly prefer not to override version compatibility at the level of a single service without a compelling scenario to do so. Version compatibility for dependencies is something that can have wide-reaching impact across the Azure libraries and bring subtle issues - especially when using the libraries for different services together in a single application..
As a result, it is something that we need to be careful with and ensure proper test rigor. Would you be so kind as to help us understand your process in testing these changes, especially with respect to scenarios where multiple Azure libraries are used together in the same project?

For tests, all unit and end to end tests passed when they were run locally.

@jsquire , another team had verified that it worked for them when they started using 6.x version of the library (on a private build that was given to them).
Regarding the override at library level, how do you want to go about deciding whether this should be done at service level, or overall azure sdk level?

@jsquire , another team had verified that it worked for them when they started using 6.x version of the library (on a private build that was given to them).
Regarding the override at library level, how do you want to go about deciding whether this should be done at service level, or overall azure sdk level?

That's a larger question that we'll probably want to pull @mikeharder and @weshaggard in for discussion.  My primary concern in this case is not so much around "does it work for Service Bus" but more "what happens when you use Service Bus in an application with Storage, Event Hubs, Key Vault, and others?"    Event making this change at the service level introduces a bit of risk, though it may very well be warranted.   I'll admit to not having deep knowledge of the commitment around backwards compatibility and breaking changes for the JWT library, so it may turn out that I'm being overly conservative.

Here are the release notes of the breaking changes - https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases

Can we merge this PR?

@raghu017 , waiting for @mikeharder  @weshaggard for their inputs.
If we don't have an answer by monday, I'll merge this and we can try to get a new release.

There are a couple of issues I'd like to consider:

We should update this version in https://github.com/Azure/azure-sdk-for-net/blob/master/eng/Packages.Data.props#L88 instead of at the individual project level. Based on a quick search (https://github.com/Azure/azure-sdk-for-net/search?l=XML&q=System.IdentityModel.Tokens.Jwt) the only 2 projects using not currently overriding this version are Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus which we should ideally keep in sync.

We should update the version to be to a min version instead of a range so I'd suggest we change the version to "5.4.0" which enables any version of the library to be used that is 5.4.0 or higher. We generally avoid using package version ranges unless there is a known issue with higher versions that we need to cap it off at a higher version. This will avoid needing to do similar PRs in the future.

There are a couple of issues I'd like to consider:

We should update this version in https://github.com/Azure/azure-sdk-for-net/blob/master/eng/Packages.Data.props#L88 instead of at the individual project level. Based on a quick search (https://github.com/Azure/azure-sdk-for-net/search?l=XML&q=System.IdentityModel.Tokens.Jwt) the only 2 projects using not currently overriding this version are Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus which we should ideally keep in sync.

Azure.Messaging.ServiceBus should not have a reference here, as it is built on Azure.Identity;  I'm assuming this was a mistake when setting up the new library.   I'll request that it be removed.


Completely block video thumbnails on front page

Unwanted thumbnails are still visible though i do not want to see them.
Would appreciate a transparency changer of some sort. (The transparency of the "blocked" message)

I will release a new version today (2.1) that will address this issue.


PHP code annotation color

VSCode Version:1.15.0
OS Version:OS X EI capitan (10.11.6)

if write 'array()'  Normal code will become comment code

without '()' is right

That's potential a known bug. This will be fixed then with 1.16.
https://github.com/atom/language-php/issues/245
I try to reproduce later with Insiders, when that test won't fail, it has been fixed already.

Yes, that has been fixed already.

Thanks @jens1o


Reflections and Refractions

Hi, you mention that the dynamics branch features reflections and refraction, but I don't see either.  Is there something specific which needs to be done to enable these?
Thanks.

Hi Midda! These refer to the wave dynamics. For example, waves will reflect off obstacles. The effect is quite subtle but I could show it in a screenshot of the wave dynamics buffer if it helps.
Let me know if this is what you are after - I suspect you are referring to reflection and refraction of light, i.e. a transparent ocean surface? I haven't got around to making it support transparency but I will bump that to the top of my list.

Ah, that makes more sense now.  Yes, I was thinking of refraction of light.
We (I work with Dizzy who posted about tessellation) are investigating ocean solutions, and Crest has fantastic motion, which is an important factor for our project.  We do though need an ocean sim which has transparency and would work with a day/night cycle, but if this is something you were planning to add anyway, that would be great.
Fantastic work, Crest looks amazing!

I finally gave the shading some much needed love. It now supports transparency and a simple refraction (I believe I'm doing it the "right" unity way, it didnt require any drastic changes). I also improved the subsurface scattering. I put a big old ugly cube in the world to demo it for now, but I'll consider replacing it with something else.
I'm optimistic about supporting a day/night cycle (by manually setting up different ocean materials for each time of day), but if there are other requirements I'd be happy to hear them.
I've added 2 other improvement ideas to the readme once it has some island geometry. One is to dampen waves in shallow water in a physically accurate way (dampen big wavelengths first, then small wavelengths), which i think will give more interesting wave motion in shallow water than just scaling down the overall waves. Second is supporting a world aligned colour map to give nice shallow water colours. These will be fairly easy to implement and should make a big impact.
For now I will close this issue, thanks again for the message and let me know if you do decide to use Crest!


Oops! Something went wrong and we couldn't log you in. Please try again. Code 6.

Issue without proper information won't be answered
Expected Behavior
Actual Behavior
Steps to Reproduce
Information

OS
Git commit ( to get git commit run git log -1 --format="%H")
App's logs

close / open the application again


rule proposal: enforce JSXClosingElement to be tag aligned

I don't believe there is currently a rule that checks that JSXClosingElements are aligned with the JSXOpeningElement.
In other words this should give a warning:

But this should not:

ah never mind, jsx-indent works but didn't have an example


latest virtual-device-testing-for-android throwing weird go error

hello,
i've set up a android job on bitrise with the following bitrise.yml
---
format_version: '3'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: android
trigger_map:
- push_branch: "*"
  workflow: primary
- pull_request_source_branch: "*"
  workflow: primary
workflows:
  primary:
    steps:
    - activate-ssh-key:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone:
        inputs:
        - clone_depth: '3'
    - cache-pull: {}
    - android-sdk-update:
        inputs:
        - tools: 'on'
        - platform_tools: stable
        - build_tools: 26.0.1
    - install-missing-android-tools: {}
    - gradle-runner:
        inputs:
        - gradle_task: assembleDebug assembleDebugAndroidTest
        - gradle_options: "--stacktrace"
        title: Gradle Runner - UI testing
    - virtual-device-testing-for-android:
        inputs:
        - test_type: instrumentation
        - test_apk_path: "$BITRISE_APK_PATH"
    - cache-push:
        is_always_run: true
app:
  envs:
  - opts:
      is_expand: false
    GRADLE_BUILD_FILE_PATH: build.gradle
  - opts:
      is_expand: false
    GRADLEW_PATH: "./gradlew"

everything runs fine until the virtual-device-testing-for-android step comes, which failes with a seemingly weird go error
+------------------------------------------------------------------------------+

| (6) virtual-device-testing-for-android                                       |
+------------------------------------------------------------------------------+
| id: virtual-device-testing-for-android                                       |
| version: 0.9.7                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2017-10-11T13:36:04Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
INFO[13:36:04] Start installing (golang) with apt-get
INFO[13:36:04]  * [OK] Step dependency (go) installed, available.
Configs:
- ApkPath: /bitrise/deploy/app-debug-androidTest.apk
- TestTimeout: 900
- DirectoriesToPull:
- EnvironmentVariables:
- TestDevices:
---
Model         API Level   Locale     Orientation
NexusLowRes   24          portrait   en
---
- AppPackageID:
- TestType: instrumentation
- TestApkPath: /bitrise/deploy/app-debug-androidTest.apk
- InstTestPackageID:
- InstTestRunnerClass:
- InstTestTargets:
Upload APKs
=> APKs uploaded
Start test
=> Test started
Waiting for test results
- Validating
Failed to unmarshal response body, error: [invalid character 'F' looking for beginning of value Failed to get test matrix, error: No executions found for this matrixID(matrix-3s98uq965s5jh), state: INVALID(TEST_SAME_AS_APP)], body: %!s(MISSING)
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | virtual-device-testing-for-android (exit code: 1)             | 25 sec   |
+---+---------------------------------------------------------------+----------+
| Issue tracker: ...se-steplib/steps-virtual-device-testing-for-android/issues |
| Source: ...thub.com/bitrise-steplib/steps-virtual-device-testing-for-android |
+---+---------------------------------------------------------------+----------+

can someone investigate the Failed to unmarshal response body, error: [invalid character 'F' looking for beginning of value Failed to get test matrix, error: No executions found for this matrixID(matrix-3s98uq965s5jh), state: INVALID(TEST_SAME_AS_APP)], body: %!s(MISSING) error or tell me how to fix it?
any help would be appreciated, thanks!

Hey @cl1ent !
Thank you for reporting here, however this is not a step or VDT server issue, regarding to the error message it is an issue with the inputs. Seems like you've given the same APK for both input field: apk_path and test_apk_path. If you need further help to separate your two APKs, please read this post:  https://discuss.bitrise.io/t/how-to-run-android-ui-tests-on-virtual-devices/2496/4?u=tamaspapik
Closing the issue for now, but please feel free to re-open if you encounter any issue with it.


Add TimSort Algorithm & TestCases

This is an adaptation of Open source references on Java & C++.
Performance testing works in the favor of TimSort only when array size is 6000K. There are some constant numbers which could be improved for performance in C#.
I have questions on if the algorithm needs a singleton pattern, and if Sort can be a non static method
CC:ellismg, dckcosta, snesha

Performance testing works in the favor of TimSort only when array size is 6000K

That's a little surprising and disappointing given that we thought we were going to improvements.  Do you know if this is consistent with what other platforms saw or do you think there's something specific going on here?


SIMD instructions are not supported

constant evaluation error: tried to call a function with ABI RustIntrinsic using caller ABI PlatformIntrinsic
   --> …/nightly-2019-03-15-x86_64-apple-darwin/lib/rustlib/src/rust/src/libcore/../stdsimd/crates/core_arch/src/x86/sse2.rs:819:27
    |
819 |     transmute::<i8x16, _>(simd_eq(a.as_i8x16(), b.as_i8x16()))
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tried to call a function with ABI RustIntrinsic using caller ABI PlatformIntrinsic
    |
    = note: inside call to `std::arch::x86_64::_mm_cmpeq_epi8` at …/memchr/src/x86/sse2.rs:189:34
    = note: inside call to `memchr::x86::sse2::forward_search1` at …/memchr/src/x86/sse2.rs:118:22
    = note: inside call to `memchr::x86::sse2::memchr`

Miri currently does not support SIMD instructions at all. Let's use this issue to track that (I don't think we have one already).

@flagello a piece of example code would help. Calling memchr should not usually invoke SIMD on Miri, I don't think?

If the machine supports them why not? Consider it‘s rust-memchr rather than libc‘s, and it prefers its own SIMD variants where possible.

Related: https://github.com/rust-rfcs/const-eval/issues/7

the machine

Miri interprets your program, it doesn't run it directly on the hardware. The capabilities of the host machine do not matter.

why not?

Because nobody went through the effort of implementing several hundred SIMD intrinsics yet.

the machine

Miri interprets your program, it doesn't run it directly on the hardware. The capabilities of the host machine do not matter.

why not?

Because nobody went through the effort of implementing several hundred SIMD intrinsics yet. It's not that we don't want SIMD support, we do, but it's a lot of work.

Sorry, I wasn‘t clear enough—with “why not” I meant “why shouldn‘t memchr invoke SIMD on Miri when, e.g., target_arch is x86_64.” In fact, thank you for your work on Miri!

with “why not” I meant “why shouldn‘t memchr invoke SIMD on Miri when, e.g., target_arch is x86_64.”

Ah. That's a good question indeed. :)
Code doing opportunistic SIMD usually relies on align_to. When running in Miri, this method always returns an empty middle slice. That's why the memchr in libstd works fine in Miri.

libcore‘s memchr (i.e., core::slice::memchr::memchr behind #![feature(slice_internals)], for anyone else reading) does not rely on explicit SIMD at all as it‘s Andrew‘s “fallback” (memchr::memchr::fallback) implementation rather than the SSE + AVX ones (which are those that lead to the error when the requirements are satisfied).

A little update on this: the issue of supporting SIMD in MIR-based Rust verification tools came up at the Rust Verification Workshop at ETAPS, and there is a lot of interest in finding a shared solution. One avenue we are considering is to have a pure Rust implementation of those intrinsics; tools consuming MIR or LLVM IR should be able to compile that implementation to the required IR and replace intrinsic calls with that IR.

Miri now supports the intrinsics needed for potable_simd, which I think closes this issue.


drumgizmo: remove libsamplerate0 as dependency

As of 0.9.16 this is no longer a dependency.
Signed-off-by: Jonas Suhr Christensen<EMAIL_ADDRESS>

Did not notice that: Thanks!


Feign bug when use @RequestParam but not have value

The jar is spring-cloud-netflix-core-1.2.2.RELEASE-sources.jar
In the code org\springframework\cloud\netflix\feign\annotation\RequestParamParameterProcessor.java, the method "processArgument" treat @RequestParam param as Map when the value is empty, but in spring mvc, when @RequestParam's value is null, reflect the field name as the value. This diffrent action can make misunderstand.
As follows:
@Override
public boolean processArgument(AnnotatedParameterContext context,
		Annotation annotation) {
	RequestParam requestParam = ANNOTATION.cast(annotation);
	String name = requestParam.value();
	if (emptyToNull(name) != null) {
		context.setParameterName(name);

		MethodMetadata data = context.getMethodMetadata();
		Collection<String> query = context.setTemplateParameter(name,
				data.template().queries().get(name));
		data.template().query(name, query);
	} else {
		// supports `Map` types
		MethodMetadata data = context.getMethodMetadata();
		data.queryMapIndex(context.getParameterIndex());
	}
	return true;
}

Please fix it, :)

Spring Cloud Feign supports simple and map request parameter.
It reflects the field name as the value in another method SpringMvcContract#synthesizeWithMethodParameterNameAsFallbackValue. And it synthesizes RequestParam's value when RequestParam's value is null and the parameter is a simple property(checked by using BeanUtils#isSimpleProperty).
related issue: https://github.com/spring-cloud/spring-cloud-netflix/issues/1097

@lowzj so if the @RequestParam is a Map the value will be an empty Map but if the @RequestParam is a "simple property" the value will be null?

@ryanjbaxter I'm sorry for my unclear description. For examples:

if the parameter is a Map, the value of @RequestParam will be empty(default value ""). And we should not set the value.
User getUser(@RequestParam Map<String, String> query);

if the parameter is a "simple property" and we don't set the @RequestParam value, SpringMvcContract will synthesizes with the parameter's name as fallback value, so the value of @RequestParam will not be empty.
// the value of @RequestParam will be "name"
User getUser(@RequestParam String name);

if the the parameter is a "simple property" and we give a value , the value of @RequestParam will not be empty.
// the value of @RequestParam will be "name"
User getUser(@RequestParam("name") String name);

@lowzj and this is also the same behavior as Spring MVC? It sounds like @924060929 is saying it is not the same behavior.

@ryanjbaxter @lowzj Sorray, forgot to show my code.
Feign client interface code:
@FeignClient(serviceId="Do-authority")
public interface IDoAuthorityService {
    @RequestMapping(path = "hasUser", method = RequestMethod.GET)
    LinkedHashMap hasUser(@RequestParam String username);
}

Program throw exception when startup:
Caused by: java.lang.IllegalStateException: QueryMap parameter must be a Map: class java.lang.String
at feign.Util.checkState(Util.java:128) ~[feign-core-9.3.1.jar:na]
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:126) ~[feign-core-9.3.1.jar:na]
at org.springframework.cloud.netflix.feign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:133) ~[spring-cloud-netflix-core-1.2.2.RELEASE.jar:1.2.2.RELEASE]
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:64) ~[feign-core-9.3.1.jar:na]
at feign.hystrix.HystrixDelegatingContract.parseAndValidatateMetadata(HystrixDelegatingContract.java:34) ~[feign-hystrix-9.3.1.jar:na]
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:146) ~[feign-core-9.3.1.jar:na]
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:53) ~[feign-core-9.3.1.jar:na]
at feign.Feign$Builder.target(Feign.java:209) ~[feign-core-9.3.1.jar:na]
at org.springframework.cloud.netflix.feign.HystrixTargeter.target(HystrixTargeter.java:48) ~[spring-cloud-netflix-core-1.2.2.RELEASE.jar:1.2.2.RELEASE]
at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:146) ~[spring-cloud-netflix-core-1.2.2.RELEASE.jar:1.2.2.RELEASE]
at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:167) ~[spring-cloud-netflix-core-1.2.2.RELEASE.jar:1.2.2.RELEASE]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE]
... 29 common frames omitted

I think I understand the problem better now.  Correct me if I am wrong...
It seems like Spring MVC allows you to specify query parameters in a GET request using @RequestMapping and a basic type.  However Feign expects query parameters to be a type Map.  Since we are using Spring MVC to create Feign clients Feign is complaining because it is expecting the query parameters in the method signature to be a type Map.  Does that basically describe the problem?

Yes, that's what you said

If that is the case maybe you can open an issue in OpenFeign to see if this is something they can help support.  I don't really see a way to change the behavior from our side.  Maybe in Feign they can do something similar to Spring MVC so that if the method signature contains basic types it takes the parameters and converts them to a Map with keys being the parameter names.

@924060929 I guess that you're using java8 to compile your code. Java8 has a different way to preserve method parameter names and make them available at runtime by using javac compiler argument -parameters.
more information may be helpful:
https://github.com/spring-cloud/spring-cloud-netflix/pull/1102
Obtaining Names of Method Parameters


feat(scripts): add kamp-filetypes, and kamp-lines

Additional kamp-filetypes and kamp-lines scripts borrowed from kks

Can you please add little description to the README as well?

Just added it to the Readme! 👍🏽


Change github default branch to staging

Is your feature request related to a problem? Please describe.
It is a common issue that PRs are branched from default branch (master) and then target master  ( https://github.com/opentensor/bittensor/pull/1749 , https://github.com/opentensor/bittensor/pull/1750, ...) despite CONTRIB instructions saying staging branch should be used.
An that is only natural, since it is different how most github project work, and is very easy to forget about it even if you did read Contributing instruction at the some point.
Describe the solution you'd like
Change the default github branch to staging, which will make one less thing to remember for contributors and should not affect maintainers much. In fact they will also have less load on them since they will not have to correct contributors nearly as often.
IDK if people installing from source want to have bleeding-edge version or not, but if we assume they want stable then single adjustment to readme instruction has to be made after this change: git clone -b master https://github.com/opentensor/bittensor.git  .
Describe alternatives you've considered
Just keep going as is, adding even more warning etc that only add cognitive load, but it seems like more confusion and work for everyone involved.
Additional context
No response

From docs (docs.bittensor.com) point of view, this will work. I can modify the git clone instructions as @mjurbanski-reef suggested above.


JetifyTransform fails only on EAS

I'm trying to build my android app with EAS but it fails to transform this new file using Jetifier. The strange part is that I can build it normally in Android Studio.
Any idea of what could be happening?
Error:
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Could not determine the dependencies of task ':app:lintVitalRelease'.
[stderr] > Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
[stderr]    > Failed to transform vpn-prod-release.aar to match attributes {artifactType=android-manifest}.
[stderr]       > Execution failed for JetifyTransform: /build/workingdir/build/node_modules/react-native-smisdk-plugin/smisdk-android-plugin/libs/vpn-prod-release.aar.
[stderr]          > Failed to transform '/build/workingdir/build/node_modules/react-native-smisdk-plugin/smisdk-android-plugin/libs/vpn-prod-release.aar' using Jetifier. Reason: InvalidPathException, message: Malformed input or input contains unmappable characters: com/datami/dexpack/?.class. (Run with --stacktrace for more details.)
[stderr]            Suggestions:
[stderr]             - Check out existing issues at https://issuetracker.google.com/issues?q=componentid:460323&s=modified_time:desc, it is possible that this issue has already been filed there.
[stderr]             - If this issue has not been filed, please report it at https://issuetracker.google.com/issues/new?component=460323 (run with --stacktrace and provide a stack trace if possible).
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 47s
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
Error: Gradle build failed with unknown error. Please see logs for the "Run gradlew" phase.

Thanks!

Hi,
Could you please share a reproducible example of this issue? Ideally, a git repo with a React Native project and EAS configuration + detailed repro steps. The error you shared is too generic to help you.


rbd: include details for parent image in the trash

When a parent image has been removed, it will linger in the trash until all siblings are gone. The image is not accessible through it's name anymore, only through its ID.
The ImageSpec that is returned by Image.GetParent() now contains the Trash boolean and the ImageID to identify if the image is in the trash, and use OpenImageById() to access the removed parent image.
Related-to: ceph/ceph-csi#4013
Checklist

[x] Added tests for features and functional changes
[ ] Public functions and types are documented
[x] Standard formatting is applied to Go code
[ ] Is this a new API? Added a new file that begins with //go:build ceph_preview
[ ] Ran make api-update to record new APIs

Marked as an API change for review purposes. Change itself extends an existing type with new fields.

Change generally looks good to me and I'm willing to approve as-is, but first I want to ask. Would you mind completing the object and putting all fields present in rbd_linked_image_spec_t into the Go equivalent?
As of nautilus the fields are:
typedef struct {
  int64_t pool_id;
  char *pool_name;
  char *pool_namespace;
  char *image_id;
  char *image_name;
  bool trash;
} rbd_linked_image_spec_t;

After your change we still lack pool_id and pool_namespace. I think it would be nice to proactively complete the set so that the next person who needs one of those doesn't need to file a PR :-)
What do you think?

Also, we can ignore failures in the CI against ceph main. This is due to a general infra issues on the ceph side related to nfs-ganesha builds.

Should we add an additional check to ensure that parent is no longer accessible by name but via ID(using OpenImageById()) as mentioned in the commit message?

That was taken from the discussion in ceph/ceph-csi#4013. I do not think we need to validate this particular RBD behavior. Possibly it could be added to a test that verifies the Trash() function.


Maintainer & Contributor Guidelines

We should establish some best practices and guidelines for contributors and maintainers of the project. I have some suggestions based on practices that have evolved over the life of the angular project. I'm sure @mattpodwysocki has some ideas based on what has worked with RxJS.
Prior Art:

AngularJS Contribution Guidelines (For all contributors)
Angular 2 Triage and Labels Process (For maintainers)
RxJS Contributing Guidelines

Common Characteristics

Both claim to adhere to Google JavaScript style guide
Both emphasize documentation and testing
Both provide some guidance on how to design/implement changes

Philosophies and Values of Angular Team for Consideration.
These are more focused on work of the maintainers than on community contributors.

Clean, flat commit history. We never click the green merge button on PRs, but instead we pull down the PR branch and rebase it against master then replace master with the PR branch. See example gist. This reduces noise in the commit history, removing all of the merge commits, and keeps history flat. The flat history is beneficial to tools/scripts that analyze commit ancestry.
Always green master. Failing master builds tend to cascade into other broken builds, and frustration among other contributors who have rebased against a broken master. Much of our deployment and other infrastructure is based on the assumption that master is always green, nothing should be merged before Travis has confirmed that a PR is green, even for seemingly insignificant changes. Nothing should be merged into a red master, and whomever broke it should drop everything and fix it right away. Fixes should be submitted as a PR and verified as green instead of immediately merging to master.
No force pushes to master. Only in rare circumstances should a force push to master be made, and other maintainers should be notified beforehand. The most common situation for a justified force push is when a commit has been pushed with an invalid message. The force push should be made as soon as possible to reduce side effects.
Small, logical commits. A PR should be focused on a single problem, though that problem may be reasonable to be broken into a few logical commits. For example, a global renaming may be best to be broken into a single commit that renames all files, and then a commit that renames symbols within files. This makes the review process simpler easier, so the diff of the meaty commit (where symbols are renamed) can be easily understood than if both were done in the same commit, in which case github would just show a deleted file and an added file.

There's a lot more to our process, but those are more tactical details that can wait until after some consensus is established on core values around contributing.
Additions or alternative perspectives on these values @blesh and @mattpodwysocki?

No changes to performance tests You can add new performances tests, but you can't change the old ones without serious justification. This is because we want to test outcomes from code changes vs what they were running against. If you must change a perf test, it should be done in it's own PR.

Always green master
No force pushes to master

You might want to use GitHub's protected branches to enforce these.

@thejameskyle good tip. I didn't know about that feature. master is now protected from force push.

Okay, I've got a start in, mostly copy pasta from this issue with a tip of the hat to @jeffbcross embedded for fun.
https://github.com/ReactiveX/RxJS/commit/a3f3746ab1cac095c72a0e6cfa1fab13087ecb01
Closing.


Refactor metric names

Description
Refactor metric names
Issues Resolved
https://github.com/opensearch-project/documentation-website/issues/3570
Test
UT
dashboards-search-relevance % yarn test ./server/metrics
yarn run v1.22.19
$ ../../node_modules/.bin/jest --config ./test/jest.config.js ./server/metrics
 PASS  server/metrics/metrics_service.test.ts
  MetricsService
    test addMetric and getStats
      ✓ should add metrics to the correct interval and ignore metrics in the future (7 ms)
      ✓ should add metrics to the correct component (1 ms)
      ✓ should add metrics to the correct action (1 ms)
      ✓ should add metrics to the correct status code (2 ms)
    resetMetrics
      ✓ should clear all metrics data (2 ms)
    trim
      ✓ should remove old metrics data (2 ms)

Test Suites: 1 passed, 1 total
Tests:       6 passed, 6 total
Snapshots:   0 total
Time:        1.948 s, estimated 3 s
Ran all test suites matching /.\/server\/metrics/i.
✨  Done in 3.23s.

IT
dashboards-search-relevance % curl -XGET http://localhost:5603/wbd/api/relevancy/stats
{
  "data": {
    "search_relevance": {
      "fetch_index": {
        "200": {
          "response_time_total": 28.79286289215088,
          "count": 1
        }
      },
      "single_search": {
        "200": {
          "response_time_total": 29.817723274230957,
          "count": 1
        }
      },
      "comparison_search": {
        "200": {
          "response_time_total": 13.265346050262451,
          "count": 2
        }
      }
    }
  },
  "overall": {
    "response_time_avg": 17.968983054161072,
    "requests_per_second": 0.06666666666666667
  },
  "counts_by_component": {
    "search_relevance": 4
  },
  "counts_by_status_code": {
    "200": 4
  }
}%

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

export enum METRIC_NAME {
  RELEVANT_SEARCH = 'search_relevance',
}

If you're renaming things in this PR, can you please rename this constant?

sure updated


Allow output to contain directory names etc.

Hey there! Thanks for creating this plugin, really cool stuff :)
I just encountered a small annoyance - I'd like to have the output file appear in a subfolder of my project. This isn't possible right now since the plugin specifically only allows placing it in the root. Would it be possible to allow overwriting this? Maybe with a separate outputDirectory option or similar?
Thank you very much!

Sounds reasonable, I will add an outputDir options in the next version. Thanks for the feedback.

https://github.com/stauren/vite-plugin-deadfile/pull/10
Please use v1.1.2+, outputDir is configurable now.

Awesome, thank you! And happy holidays :)


Token verification problem on GAE standard

I'm trying to implement service-to-service authentication to Google Cloud Endpoints API using Google Service account, but get the following error.
Cannot decode and verify the auth token. The backend will not be able to retrieve user info (.../lib/endpoints_management/control/wsgi.py:596)
Traceback (most recent call last):
  File ".../lib/endpoints_management/control/wsgi.py", line 593, in __call__
    service_name)
  File ".../lib/endpoints_management/auth/tokens.py", line 81, in authenticate
    error)
UnauthenticatedException: (u'Cannot decode the auth token', UnicodeDecodeError('ascii', '\xc9\xad\xbd', 0, 1, 'ordinal not in range(128)'))

Value of auth_token variable passed to self.get_jwt_claims(auth_token) is ya29.ElmlBB1mwIfrsnURUIQg0Nv6v5UPzFR02miD4w_VywMSlWGDstpmmc5vPsmUqt5rCcho797B1HeEOgT0UBQiVfv9dlsfxSMLRf67SGwX0ceK5uTujj4_tSUXog
Looks like endpoints library is trying to decode auth_token as jwt, but auth_token is not jwt. But maybe I'm wrong. Same problem occurs when I'm trying to test API using API Explorer. This happens with the latest endpoints and also with older version.
Here is my API class:
@endpoints.api(
    name='myapi',
    version='v1',
    api_key_required=True,
    auth_level=endpoints.AUTH_LEVEL.REQUIRED,
    scopes=(
        endpoints.EMAIL_SCOPE,
    ),
)
class MyApi(remote.Service):
    ...

And this is how i I'm accessing the API:
    credentials = ServiceAccountCredentials.from_json_keyfile_dict(
        json.loads(json_keyfile_data),
        scopes='https://www.googleapis.com/auth/userinfo.email',
    )
    # credentials = AppAssertionCredentials(
    #         'https://www.googleapis.com/auth/userinfo.email',
    # )
    service = build(
        name, version,
        http=credentials.authorize(Http()),
        discoveryServiceUrl=discovery_url)
    ...

I didn't know that endpoints expects JWT id_token in the authentication header. Although there could better diagnostics (token check) & more meaningful error message.


corrupt layer in private docker registry

Heya,
We have someone here who was running docker version 0.6 (I don't know why) and managed to push a corrupt layer as part of ubuntu:14.10 into our registry.
It took us a while to figure out what had gone wrong, but we're now trying to work out how to clean it up. The docker-registry currently has no way to delete a layer that we can see.
Are there plans for delete end points in the API (old or new)? and/or the ability to force push a layer to overwrite what's there currently?
Finally, is there any planned capability to include checksums on layers so as to hopefully dodge this in the future? Ideally as part of the name, so a referenced layer can't contain broken or malicious data?
Thanks,

TLDR: yes :)
More infos in https://github.com/docker/distribution with the registry go-rewrite, and/or support on irc #docker-distribution