Can we make wasmi work on thumbv6m-none-eabi target?

I'm trying to get wasmi to build on thumbv6m-none-eabi. This currently fails due to the platform's lack of atomics.
I started preparing a pull request to add support for using atomics from the portable-atomic crate along with the Arc type from portable-atomic-util, but ran into a couple roadblocks that I want to discuss in this ticket before continuing further.
First, I need to push support into wasmparser-nostd, but couldn't figure out where to submit a PR for this. The crate's metadata still points to the upstream wasmparser repo. After a great deal of searching I found the rf-wasmparser-nostd-* branches in https://github.com/Robbepop/wasm-tools but you aren't making this easy.
The second, trickier issue is the matter of downcast-rs and the DowncastSync bound on wasmi_core::HostError. DowncastSync is defined like so:
pub trait DowncastSync: Downcast + Send + Sync {
    fn into_any_arc(self: Arc<Self>) -> Arc<dyn Any + Send + Sync>;
}

This method signature is legal only because alloc::sync::Arc is a fundamental type. However, portable_atomic_util::Arc is not, and declaring new fundamental types is an unstable feature. It therefore isn't possible to modify downcast-rs to support portable_atomic_util::Arc as a drop-in replacement for alloc::sync::Arc without causing it to depend on a nightly compiler. I can probably get backtrace-rs to build cleanly on thumbv6m-none-eabi without support for the DowncastSync trait by tagging it with #[cfg(target_has_atomic = ...)], but then wasmi_core will need to make some slightly breaking API changes to work around its absence.

Hi @dfoxfranke,
I'dm be happy to support more (exotic) platforms with wasmi. However, this sounds like a lot of work. I was wondering if it was not better if we instead enrich the thumbv6m-none-eabi standard library with the missing functionality if possible using the portable-atomics crate. Not sure if that can be applied but it would make many crates available for the target and not just wasmi. The issue with the DowncastSync could be entirely avoided by having proper alloc::sync support in the Rust standard library for the thumbv6m-none-eabi target. Please take this idea with a big grain of salt since I have no idea what "adding stuff to target std libs" entails.
The wasmparser-nostd crate is just a fork of the wasmparser crate to make it work under no_std environments. It is just a hotfix solution until the wasmparser crate adds support (finally) so I never intended it to be a proper thing on its own.
Furthermore the indexmap-nostd crate also has to be adjusted and is yet another fork of the indexmap crate with the same purpose as the wasmparser-nostd crate.

The absence of core atomic types for thumbv6m-none-eabi is not an accidental omission; the architecture lacks support for atomic CAS operations. portable-atomic fakes it by using the critical-section crate, which in turn is a shim around an operation which has to be provided by some other hardware-specific crate. In my case I'm getting my critical-section implementation from the rp2040-hal crate, which works it by masking interrupts and acquiring a global spinlock, which is a feature specific to the RP2040. Including something like this in core wouldn't be appropriate.

What do you need wasmi to be working on this particular platform? What is the use case?
My knowledge about those platforms is very limited. The wasmi crate is known (and checked via CI) to be compilable for the thumbv7em-none-eabi platform but I guess this won't help you at all. How closely related are thumbv7em-none-eabi and thumbv6m-none-eabi?

I'm writing some programmable keyboard firmware. My original plan to just have it be table-driven started running into combinatorial explosion as I added more options, so had the idea that the user's customizations could compile down a WASM program that reads in keystrokes and outputs USB HID reports. Although, some time after I filed this ticket I had the idea that native code is also a possibility. It needs to be impossible for buggy user code to brick the keyboard, but since the RP2040 does have an MPU and support for unprivileged processes, that should be doable.
thumbv6m and thumbv7em are, as you'd expect, by and large pretty similar. However, the later includes the LDREX and STREX instructions which are required to implement atomics efficiently.

@dfoxfranke so is this issue "resolved" for you for now?

I'm also in a position to look for a wasm runtime which can run on RP2040 (thumbv6m-none-eabi) my use case is to provide the users of my device an interface to attach their code to certain interactions. I'm searching for a way to do this with wasm modules. Are there any developments or a roadmap to support  thumbv6m-none-eabi?
If so I can give support also.

Are there any developments or a roadmap to support thumbv6m-none-eabi?

Unfortunately no. I happily accept PRs as long as they are not disruptive to the crate and meet our quality standards.
I have limited knowledge of the thumbv6m-none-eabi target but if it was possible to add those missing atomic declarations to the Rust standard libraries it would be the best solution. Of course it might be not possible. For example Wasm itself does not support atomic operations, yet. However, we can still compile code using atomics to Wasm because Wasm at the same time is a single threaded abstract machine and therefore atomics can be treated as primitive types by the compiler.

I gave it a go.
A summary of the story is in this issue.
https://github.com/embassy-rs/embassy/issues/1764
What I needed to do was:

Remove spin from dependencies.
Remove downcast-rs from dependencies of core. (This shouldn't be necessary if we apply the same technique I was just lazy for this poc.)
Replace wasmparser with the vendored version which I modified.
I've added embassy-sync and portable-atomic to the deps.
I've created a clone of alloc::sync::Arc called parc::Arc 😅 . This one uses portable-atomic for all atomics and uses embassy-alloc. Removed the unstable allocator apis from it and enforced a Global allocator.
I've replaced all Arcs in vendored wasmparser with parc::Arc.
I've replaced all Arcs in vendored wasmi with parc::Arc.
I've replaced all Mutexs and RwLocks in vendored wasmi with embassy_sync::blocking_mutex::Mutex<CriticalSectionRawMutex>s.
I've included wasmi in my project as wasmi = { path = "./vendor/wasmi/crates/wasmi", default-features=false }

Then I ran the hello world example.
I omitted the wat parsing because of again.. the same issues and used:
    let wasm: Vec<u8> = vec![
        0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x08, 0x02, 0x60, 0x01, 0x7f, 0x00,
        0x60, 0x00, 0x00, 0x02, 0x0e, 0x01, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x05, 0x68, 0x65, 0x6c,
        0x6c, 0x6f, 0x00, 0x00, 0x03, 0x02, 0x01, 0x01, 0x07, 0x09, 0x01, 0x05, 0x68, 0x65, 0x6c,
        0x6c, 0x6f, 0x00, 0x01, 0x0a, 0x08, 0x01, 0x06, 0x00, 0x41, 0x03, 0x10, 0x00, 0x0b, 0x00,
        0x14, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x01, 0x0d, 0x01, 0x00, 0x0a, 0x68, 0x6f, 0x73, 0x74,
        0x5f, 0x68, 0x65, 0x6c, 0x6c, 0x6f,
    ];

This could have been an array also.
Then 🥁  🥁  🥁  🥁
0.008509 INFO Got 3 from WebAssembly
└─ src/main.rs:202
0.008542 INFO My host state is: 42
└─ src/main.rs:203

success!
I'm quite happy that it ran but not getting too excited yet since I partially know what I'm doing.
I wanted to share it because even it is probably not a sustainable or right way to do it, it points out the parts to improve to support thumbv6m-none-eabi target.
I mean if we could make this happen properly I think it will benefit a lot of people (in my imagination 😅 ) because a possibility to execute user code in a sandboxed env in RP2040 especially opens up a lot of product ideas.
Let me know what you think.

@dfoxfranke
I'd be happy to know what strategy you followed for your programmable keyboard project.
Because my project is pretty similar but it is not a keyboard.
Thanks 🙏

@alisomay impressive work!
I am very happy to see that you actually succeeded to make wasmi work on thumbv6m-none-eabi. Unfortunately the magnitude of changes necessary to get there are a bit too high for my personal taste to consider accepting this to mainline wasmi.
I think the best way forward is to improve core and alloc crates of the Rust standard library to support atomics and Arc on thumbv6m-none-eabi (if possible). At least you showed that in theory it could work, although API changes are probably needed to get there.
Did you fork wasmparser or wasmparser-nostd to implement your changes?

Thanks!
Actually not because I just wanted to go quickly to see if the idea would work.
On the other hand I plan to maybe implement those changes properly on a fork and with conditional compilation attribute macros and adding special dependencies for thumbv6m-none-eabi.
When I get around doing it, I'd gladly share it here.

When I get around doing it, I'd gladly share it here.

Looking forward to it! 🚀

Is this the branch I need to fork for wasmparser-nostd?
https://github.com/Robbepop/wasm-tools/tree/rf-wasmparser-nostd-v0.100.1

Is this the branch I need to fork for wasmparser-nostd? https://github.com/Robbepop/wasm-tools/tree/rf-wasmparser-nostd-v0.100.1

Quite a long time ago but yes I think so.

@alisomay I've moved on, but here's another approach that might work for you. I haven't tested this but please give it a shot. You'll need a nightly compiler so you can define a custom target. Fork the existing thumbv6m-none-eabi target, and set/change the following two options:
{
    "atomic-cas": true,
    "singlethread": true,
}

atomic-cas tells the compiler that it's okay for it to generate LLVM instructions such as cmpxchg, which rely on architectural support. This also causes it to include full support for atomics when it builds core.  singlethread tells LLVM that when it encounters these instructions, it can just ignore the fact that they're supposed to be atomic and lower them into ordinary non-atomic native instructions. Note that if you set atomic-cas but not singlethread, you should expect a compilation error while building core because LLVM won't know what to do about the generated atomic instructions since the architecture has no way to support them properly.
Needless to say, singlethread is extremely unsafe. You'll need to guarantee that any code targeted at your custom platform not only runs on a single core, but also that no interrupts which occur during its execution can have any visible side-effects on its memory space. If you can do that though, and I think you probably can without much trouble, you might be able to get wasmi and its dependencies to build without any modifications.

@alisomay Actually, I was going to email you with details about what I'm doing for the keyboard since I thought it would be off-topic here, but then I realized it's relevant because you can use a similar approach to isolate singlethread code from normal thumbv6m code that relies on interrupts.
As I mentioned before, I'll be natively compiling user code, and using the MPU to segregate it from supervisor code. To avoid the complexity of having to write a task scheduler, user code will get core 1 to itself and the supervisor will run on core 0. My own custom target for user code includes these options:
{
  "position-independent-executables": true,
  "relro-level": "full",
  "relocation-model": "ropi-rwpi",
  "default-codegen-units": 1
}

"ropi-rwpi" tells LLVM to generate position-independent code in a way that's friendly to the RP2040's flash XIP: all .text and .rodata references are relative to the program counter (that's the "ropi" part"), and all .data and .bss references are relative to %r9 (that's "rwpi"). The linked binary will contain no relocations and three LOAD headers: one read-only for .rodata, one read-execute for .text, and and one read-write for .data. All your loader has to do is copy the read-write segment into SRAM and then set %r9 to its base address before transferring control to the entry point.
"default-codegen-units": 1 is a workaround for https://github.com/rust-lang/rust/issues/95871.
Anyway, you can do a similar thing in order to ensure the soundness of singlethread. wasmi, along with the code it interprets, runs on core 1 with all interrupts disabled, and is compiled to your custom target. Anything that uses interrupts is compiled separately, to the normal thumbv6m-none-eabi target, and runs on core 0. If all user code targets wasm, then you don't have to bother configuring the MPU.

@dfoxfranke Amazing explanations and advices! ❤
Thank you for your time 🙏
I'll read them in detail this evening.

@Robbepop
Let's take it step by step here is a PR for the wasmparser.
https://github.com/Robbepop/wasm-tools/pull/3


NEXT-9179 - Categories are not being displayed

With a large number of categories, these are no longer displayed in the Admin. This might be due to the API-Limit which is set on each level

Could be fixed with https://github.com/shopware/platform/pull/1310


Return output from map chain in the final result of ConversationalRetrievalChain.

Feature request
Hi,
I am working on Document QA, and using ConversationalRetrievalChain, with map-reduce as chain type.
In the final result of ConversationalRetrievalChain, I want to get the individual output from each map-chain.
Motivation
This is a separate issue, and I think there should be a parameter that we can pass, to get the output of these chains as well.
Your contribution
Not as of now.

I will like to look into it and see whether something like this is already implemented. If not, I will try to implement it and submit a PR.

Hi Farhan,
Thank you for answering.
I need the final result dictionary to have the intermediate results, just like we have source dictionary and other stuff.
Thanks.

Hi gftempleton,
MapReduceDocumentChain contains a flag named “return_intermediate_steps” that allows intermediate steps to be outputted along with the final result. I guess that is what you are referring to?
After looking into it, I did find out that this flag didn't work with ConversationalRetrievalChain. I got a "ValueError: "run" not supported when there is not exactly one output key." Could you please kindly confirm whether this is also the issue you encountered?


Rename primitive -> scalar and replace keywordp with scalarp.

This PR changes the convention of calling low-level types "primitive" to calling them "scalar", which is consistent with the public protobuf documentation.
It also replaces the "keywordp" function (which was used as a way of checking if a certain class identifier named a scalar type) with the function "scalarp", which checks if the type in question is a member of the list of scalar types.

Warning:
CheckLint found errors.
No mention of parameter TYPE in docstring for function SCALARP. (MISSING-DOCUMENTATION)
//depot/google3/third_party/lisp/cl_protobufs/clos-transform.lisp:199
No mention of parameter BUFFER in docstring for function SERIALIZE-SCALAR. (MISSING-DOCUMENTATION)
//depot/google3/third_party/lisp/cl_protobufs/wire-format.lisp:166
No docstring for function GET-SCALAR-ENCODER-FORM. (MISSING-DOCUMENTATION)
//depot/google3/third_party/lisp/cl_protobufs/wire-format.lisp:202
No docstring for function GET-SCALAR-ENCODER-LAMBDA. (MISSING-DOCUMENTATION)
//depot/google3/third_party/lisp/cl_protobufs/wire-format.lisp:220
No mention of parameter INDEX in docstring for function DESERIALIZE-SCALAR. (MISSING-DOCUMENTATION)
//depot/google3/third_party/lisp/cl_protobufs/wire-format.lisp:549

Good note by Carl, the linter requires a docstring to have all of the paramters mentioned
and in upper case (at least once).


recalculate vendor.js hash

Currently after appending cssInjectionSource to already fingerprinted vendor.js, file is not re-fingerprinted, and this causes a bug when ember app is being delivered via CDNs and the latter has http cache configured (e. g. aws s3 and cloudfront) - css namespace classes change, but browser gets an older version of a file (because fingerprint hasn't changed). This PR fixes this.

I am having an issue very similar to https://github.com/ebryn/ember-component-css/issues/51, the only difference is that I am using ember-cli-deploy instead of Heroku.  I see all the same symptoms described in that issue.
THIS PR fixed the issue for me, can we get this merged in and a new version ASAP @ebryn?  Thanks!

@jimmay5469 i'm using ember-cli-deploy too. i'm not sure the approach i'm using to fix the issue is 100% valid, but considering the current addon implementation ( I mean using postprocessor hook to append a script ), I have no other idea of how to fix this. hope @ebryn will take a look soon and make his verdict.

Awesome!  Thanks for your work on this!  Looking forward to hearing the verdict!  I just wanted to make sure he had seen your PR :smile:

Thanks for this. You just saved my production bacon :100:

This needs a little more love, but I'm merging as many people are anxious for the fix. Thanks!


JOSS REVIEW: redundant install requires?

Install requires are listed in the info.py file as well as a requirements.txt file.  This seems redundant, but perhaps there is a good reason to have them in both places?  Also, the requirements.txt file specifies a version of nilearn (0.5.0a), whereas the info.py version does not.

Some services like Docker or mybinder.org prefer requirements.txt a file, if I'm not mistaken. Therefore, I would like to leave them both in, if this is alright?
And I've updated the nilearn version in requirements.txt with https://github.com/miykael/atlasreader/pull/99/commits/6fae3cc1bebe27124489542f657f8000c186de6d, to make it congruent with info.py.

Fine to leave them both in, I was just curious why. The docker justification seems reasonable to me


Fix profile page avatar height

Fixes aspect ratio of avatar on profile page.
From this:

To this:

Looks like this is the same as !43

Tested this and it doesnt seem to work for all malformations on the profile page. please have a look at https://github.com/cfoellmann/github-wide/commit/e4c6108f3f08affa0c6c56ca3862c820a287a387

Should be fixed by #49.


V11 Massive amount of warnings and minor slowdowns every time pathfinding is triggered

You are accessing CONFIG.Canvas.losbackend, which is deprecated. Use CONFIG.Canvas.polygonBackends.sight instead.
Deprecated since Version 11
Backwards-compatible support will be removed in Version 13

My guess is this  has to do with a module that is calling canvas.walls.checkCollision
This has been deprecated in favor of: CONFIG.Canvas.polygonBackends.move.testCollision
The methods work a bit differently. With canvas.walls.checkCollision you provide it a Ray object between the positions of the first and second tokens, whereas with CONFIG.Canvas.polygonBackends.move.testCollision you simply provided it two objects with the x,y coordinates of each token along with some options type and mode.
Let's say you have 2 token objects, you could check if LOS between them was obstructed like this:
let losBlocked = CONFIG.Canvas.polygonBackends.move.testCollision(token1.center, token2.center, { type: "move", mode: "any" });

I could be wrong about it being a module that is calling the deprecated method... but it's the most likely situation. The warning message will have a stacktrace and that should indicate which script is calling the deprecated method.


[Issue] ROCm 6.1 - Ubuntu package for hipblas-dev should run ldconfig after install

Problem Description
When installing hipblas-dev on Ubuntu using apt, the package installation should run ldconfig before completing.
We are testing building LocalAI using ROCm 6.1 based on an Ubuntu 22.04 image: rocm/dev-ubuntu-22.04:6.1.
Our build succeeds, but the execution fails with this error:
localai-1  | ./local-ai: error while loading shared libraries: libhipblas.so.2: cannot open shared object file: No such file or directory

We worked around the issue in our Dockerfile by manually calling ldconfig after the package installations, and were able to get everything running successfully.
This is due to the hipblas-dev package installation not running ldconfig, which is the standard policy when installing shared libraries.  Any AMD built deb package for Debian/Ubuntu should follow this policy:
Any such package must have the line activate-noawait ldconfig in its triggers control file (i.e. DEBIAN/triggers).

/opt/rocm-6.1.0/lib isn't listed in /etc/ld.so.conf, it's in /etc/ld.so.conf.d.  However:
If a file is added to  /etc/ld.so.conf.d/ and that location is included from /etc/ld.so.conf, it should follow this policy.
/etc/ld.so.conf only has one line, and that is include /etc/ld.so.conf.d/*.conf, so anything in /etc/ld.so.conf.d/ is in /etc/ld.so.conf.
If this is done as part of the package installation, it may not be needed as part of post-installation instructions.

Operating System
Ubuntu 22.04 Jammy
CPU
AMD Ryzen 7 7800X3D 8-Core Processor
GPU
AMD Radeon RX 7900 XT
ROCm Version
ROCm 6.1.0
ROCm Component
hipBLAS
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Digging into this a bit more to confirm the package is missing the trigger, and so I can understand:
Example - libc6 package
I downloaded the .deb for libc6 which also depends on a number of libraries, and adds new library files.  I extracted the control files, including the triggers:
apt-get download libc6
ar vx libc6_2.35-0ubuntu3.7_amd64.deb
mkdir control && tar -I zstd -xvf control.tar.zst -C control
ls -al  ./control

In the control directory, you can see the triggers file:
drwxr-xr-x. 1 root root    148 Apr 16 13:40 .
drwxr-xr-x. 1 root root    180 May  3 15:51 ..
-rw-r--r--. 1 root root     40 Apr 16 13:40 conffiles
-rw-r--r--. 1 root root   1353 Apr 16 13:40 control
-rw-r--r--. 1 root root  21606 Apr 16 13:40 md5sums
-rwxr-xr-x. 1 root root   7576 Apr 16 13:40 postinst
-rwxr-xr-x. 1 root root   1067 Apr 16 13:40 postrm
-rwxr-xr-x. 1 root root  17402 Apr 16 13:40 preinst
-rw-r--r--. 1 root root    930 Apr 16 13:40 shlibs
-rw-r--r--. 1 root root 151495 Apr 16 13:40 symbols
-rw-r--r--. 1 root root  85281 Apr 16 13:40 templates
-rw-r--r--. 1 root root     72 Apr 16 13:40 triggers

Which contains the expected command to run ldconfig:
# Triggers added by dh_makeshlibs/13.6ubuntu1
activate-noawait ldconfig

Example - hipblas-dev
Comparing this to the hipblas-dev package, I ran these commands to download the .deb file, extract the control files and examine:
apt-get download hipblas-dev
ar vx hipblas-dev_<IP_ADDRESS>100-82~22.04_amd64.deb
mkdir control && tar -xvf control.tar.gz -C control
ls -al ./control

This is what I see:
drwxr-xr-x. 1 root root  54 May  3 15:53 .
drwxr-xr-x. 1 root root 202 May  3 15:53 ..
-rw-r--r--. 1 root root 279 Apr 12 04:46 control
-rw-r--r--. 1 root root 694 Apr 12 04:46 md5sums
-rw-r--r--. 1 root root   0 Apr 12 04:46 postinst
-rw-r--r--. 1 root root   0 Apr 12 04:46 prerm

So we are missing the expected triggers at the very least.

@linuxtek-canada Internal ticket has been created to investigate this issue. Thanks!


Listeners

Hi!
Thanks for this cool menu!
It would be nice to have listeners for various events like onClose, onOpen.

The lib is pretty small so you could add it by yourself if you need it. PRs are always welcome.


Add zero-downtime deployments & data transformations guide

Fixes

Fixes #1030 by @sarayourfriend
Description

I am still working on this and there are significant sections and details still missing that I want to add before undrafting this. I'll update the PR description when I undraft the PR.
Testing Instructions

Checklist

[ ] My pull request has a descriptive title (not a vague title like
Update index.md).
[ ] My pull request targets the default branch of the repository (main) or
a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible
errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

This is based on previous experience. I actually haven't read any additional documents describing this process for Django, but the overall difficulty with database schema changes is a well known issue with automated zero-downtime deployments. There are lots of resources online discussing the issue and describing scenarios similar to the column name change example I share in the document.
Doing a quick search, I can't find anyone describing the process here using management commands. The only tool that Django has for dealing with part of this issue (data loss due to an unexpected error during a long-running data transformation) is to set migrations to be non-atomic: https://docs.djangoproject.com/en/4.1/howto/writing-migrations/#non-atomic-migrations
Here's a guide about zero-downtime migrations in Django, but focused exclusively on adding/removing tables and columns, rather than things like long-running data transformations that you can put into Django SQL migrations: https://gist.github.com/majackson/493c3d6d4476914ca9da63f84247407b
It's a useful resource still though, as it gives a good list of steps for each of some very common situations, so I'll include a link to it as well.

@krysal In response to your questions, I realised that it might make the document make more sense (motivations wise) to reframe it as a general document about zero-downtime deployments with data transformations as a special case. I changed the language to more clearly distinguish between a "Django migration based data transformation" and a "management command based data transformation", primarily by switching to use "data transformation" rather than "data migration" as the generic term. Hopefully this helps clarify what was already there, but I am undrafting now and am eager to hear further thoughts on whether the suggested guidelines for data transformations make more sense and what I need to further clarify (or scrap entirely :sweat_smile:)

I think one other piece that could be helpful here is an example or template Django management command which performs a data transformation as described in the document.

That's a great idea and something I'd love to do. I think there are some clever ways to make some generic tools or a base class that gives the outline.
But also, yes, I think it's sufficiently complex work to have as a separate issue, if that is okay with other reviewers.

Thanks @krysal. I added the two additional benefits to the document, not sure why I forgot to include those, but they are important ones. I also added a clarification about the "automatic" migration running that should be more timeless than either of our initial suggestions. At some point in the future we can remove it, but the information will never be inaccurate (unless we stop zero-downtime deployments :sweat_smile:)


[Feature Request] UPnP Server

Add upnp function to the router so that port mapping can be completed automatically.
This should be an exciting feature.

Is possible to do this in hook script? add port mapping rule by call upnp client util (e.g. miniupnpc).

Both methods can do this by plug-in or by integrating a upnp server.
We can try both methods and see which is easier to implement.

I found a upnp project that may be of reference value.
https://github.com/ofekp/TinyUPnP

https://github.com/easion/tinynatpmpd

https://www.rfc-editor.org/rfc/rfc6886.html
"Correspondingly, NAT-PMP allows a client to request a desired external port, and if that external port is already in use by some other client, the NAT-PMP server will instead assign some other available external port. UPnP IGD does not do this. "
This gives us the opportunity to return the actual external port to the client.

I've made a simple implementation with nodejs.
https://github.com/OpportunityLiu/nat-mapmp

I've made a simple implementation with nodejs.
https://github.com/OpportunityLiu/nat-mapmp
Great! We need a usage document.

Great! We need a usage document.

I've added readme and releases. You can also use nat-mapmp --help to see all options.

https://www.rfc-editor.org/rfc/rfc6886.html
"Correspondingly, NAT-PMP allows a client to request a desired external port, and if that external port is already in use by some other client, the NAT-PMP server will instead assign some other available external port. UPnP IGD does not do this. "
This gives us the opportunity to return the actual external port to the client.

Basically, run UPnP IGD server behind NAT is impossible, as well as PCP with PREFER_FAILURE support (which is designed for working with IGD, see https://datatracker.ietf.org/doc/html/rfc6887#section-13.2)


Is it possible to set a max size for the memory cache?

it looks like this is set at 100 by default by LRUCache, but there doesn't seem to be a way to modify this at the top level

It seems you're using recachegoose with memory engine.
Yes, you can increase it by adding option count,
for example
cachegoose(mongoose, {
  engine: 'memory',
  count: 2000
});

adding option count will increase the max size of lru cache.

Hi thanks for the quick response. I am using typescript and I get the following error when trying that
Object literal may only specify known properties, and 'count' does not exist in type 'IOptions'.ts(2353)
Do the types need to be updated to support count as an option?

ah yes, the types is missing.
it needs to update.
If you can create the PR it will be faster and helpful.
Thanks.


vgui::TextEntry GamepadUI alternative?

Hello, I wanted to ask if there's an alternative for vgui::TextEntry for GamepadUI? I have tried to use vgui::TextEntry but it seems like it wasn't working properly.

There is not.


Add the abilty to change the sprite of a character

I can tackle this if you want. Just something where each character has a folder of sprites and once you placed a character, you can switch the sprite of them.

i was thinking that the best way to handle all the different sprites would go:
initial character dropdown shows just the character -> then after you chose a character then you can change the clothes/expression of the character you picked

theres a shit ton of them for main characters

So here's what I have so far done, I have a select that shows up after you place a character and that select will sync with the current selected character to select the current outfit. Only problem is that each character has a different amount of outfits. I don't want this feature to be too intrusive to the codebase.
Do you think it will be okay if I make some sort of JSON that hard codes the counts of different outfits for each character and use that JSON to determine how many select options to make for a character?
I just don't want to butt in and try to make the repo fit the new feature.
https://github.com/user-attachments/assets/365bb67c-e24c-46a0-abd6-a05505ce2b96

Here's how the select menu looks like since OBS doesn't capture it for some reason.

I'll stop yapping and coding after this, maybe I can have a button like "Placement" that opens up the modal and it will display every character and by every character is a select for their outfits? This seems to make the most sense then changing the outfit of the character selected by the character-select who might be in the scene or not.
Doing it a similar way will only let you pick outfits for characters in the scene just like how Placement works.

you mean like this? also renaming the placement menu to like character settings could be more logical

Do you think it will be okay if I make some sort of JSON that hard codes the counts of different outfits for each character and use that JSON to determine how many select options to make for a character?

yeah

I don't want this feature to be too intrusive to the codebase.

shit is scuffed already LOL

I wouldn't mind renaming the placement menu to be a character settings and handle both the placement of a character and the outfit for every placed character. I'll look into making a basic JSON "database" that's fetched just to get hard coded info so I know basic stuff like how many outfits a character has.

Should be sometime within the next 10 hours. Sorry, I just took Friday and Thursday off from any coding

yeah np dont worry lol just wanted to hear ur alive still

I needed a break from coding since I'm in school, I code for work, and I sometimes have to teach coding due to being a TA in addition to being a part-time react dev lol
PR is made, my code is alright.  Here's the PR.

yeah im a student aswell no worries this is just a fun project :) ill take a look at it when im home

I wouldn't mind at least trying to help out if you attempt to be crazy and port it to React. I like helping out the best I can with cool stuff like this! Even if I'm only a weekend warrior with this stuff!


Add your Playlist

You can add your own Spotify playlist to get your PRs merged!

Assign me this

Please assign me this issue.

Hi please assign me this issue.

jai hind sir...
sir, i have added my second playlist...but it is not yet  meged.
my friends and me did it same time .


docs(ssr): fix typo

📝  https://react-query-git-fork-macklinu-patch-1.tannerlinsley.vercel.app/docs/guides/ssr

:tada: This PR is included in version 2.5.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Automatically generated channel name can contain invalid characters

Describe the bug
I experienced it while creating an exam but should be reproducible with lectures and exercises as well.
Give the entity a name containing periods/hashtags any other invalid character.
See that the channel name contains the invalid character as well.
Try to save the entity.
Saving fails because of an invalid channel name.
To Reproduce
see above.
Expected behavior
invalid characters should be replaced with -
Screenshots
No response
Which version of Artemis are you seeing the problem on?
6.3.5
What browsers are you seeing the problem on?
Chrome
Additional context
No response
Relevant log output
No response

Additional info: When you fail to create an exam because of this bug, a "ghost exam" is still created, which can confuse.

The automatic name can also be too long.

@lennart-keller could you have a look into this issue? Should be easy to fix. The channel name should never break the creation of exercises / lectures / exams. Ideally, the client validates the correctness already and the server does not create automatic names which could be wrong


"A monitor scale changed was detected" message blocks the window

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
Using spyder on a Windows 10 laptop connected to a bigger monitor with an HDMI connection.
When I disconnect it, there is message window that appears with the message:
"A monitor scale changed was detected.
We recommend restarting spyder..."
The issue is that this window appears behind the main spyder window and so cannot be dismissed as it is a blocking window.
To dismiss it, you need to reconnect the monitor.
Second, the window suggests to "Enable auto high DPI Scaling" which I did but the behavior remains the same.
What steps reproduce the problem?

Open spyder with a laptop connect with HDMI to a monitor
Disconnect the laptop from the monitor
The spyder window is moved to the latpop's screen but it is blocked as there's an erro message window behind the main window that cannot be dismissed

What is the expected output? What do you see instead?
1- The error message should be in front of the main window
2- if we tick the preferences / General / Interface / Auto high DPI scaling, the error window should not even open
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version: 4.2.2, installed with the Windows installer
Python version: 3.9.2
Qt version:
PyQt version:
Operating System name/version: Windows 10

Dependencies

PASTE DEPENDENCIES HERE

Hey @Iqigai, thanks for reporting. We'll try to fix this problem in a future release.
@dalthviz, I think this message annoys people a lot and we should give the possibility to hide it forever. What do you think?

Sure :+1:

Hi,
I upgraded to spyder 5.0.1 and the issue is still there. Was it corrected in an earlier version and then regressed?

Nop, that's why it's still open.

@ccordoba12 @dalthviz adding some method of permanently disabling this message would be very welcome (or better yet, turn it off by default if auto high DPI scaling is enabled), as this message can lock the user out of Spyder if an auxiliary monitor is disconnected.  This just happened to me and I was unable to use Spyder to present an example I'd set up until I reconnected my monitor.  The steps that caused this are (although I can't seem to make the problem occur again, not sure why):

Connect a monitor that has a different auto scale than the primary monitor and open Spyder on that monitor.  If you have to move the Spyder window onto the second monitor, do not check the "hide during current session" box.
Disconnect the second monitor.  Spyder detects the change in scale and pops up the "A monitor scale change was detected" message.  For me, Spyder tried to place the popup window on the second monitor that was just disconnected where I could not get to it to close it.  With this popup window up, the main Spyder window is inaccessible.

Hi @jeremymatt thanks for the feedback, indeed I think this popup window restricts more than it helps at the end so having a way to disable it from the start (either by checking the high DPI setting enabled or a specific setting) could be worthy. What do you think @ccordoba12 ?

hey, just wanted to add something in here... I just stumbled upon this popup and on my side it looks like this:

The desired button is behind the "don't show again" checkmark, the window is not resizeable and you cannot simply close it (e.g. the "X" button is grayed out)...
So for me this popup was basically something like "let's try to click on that hidden button and hope it does what I'd expect it to do"

Thank you for the feedback @raphaelquast ! That makes things even worse 😨 (although not totally sure why the dialog layout would mess up in that way) What Spyder version are you using? Also could you share the resolutions you were using when this happened? Thanks!

@dalthviz I'm using spyder 5.3.0.  Concerning the resolution, unfortunately I can't say at the moment (it was not my screen and it might take some time till I get back there)


chore(cloudflare): throw error if routes are configured in _routes.json

Close #12321
I don't know if it was the best choice, but I opted for throw error only if _routes.json exists and there are no configured routes in svelte.config.
Let me know if you think Changelogs should be generated.
I don't think it's related, but pnpm test fails on
Watching src/lib for changes...

✘ • • • •   (14 / 15)

FAIL  "watches for changes"
Expected values to be deeply equal:  (equal)

Actual:
--<script·lang="ts">export·let·answer:·number</script>
Expected:
++<script>export·let·answer;
++</script>

<EMAIL_ADDRESS>test: `uvu test "^index.js$"

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

will adapter-cloudflare-workers need the same change?
don't worry about the test failure. the tests are flaky
yes, we'll need a changeset

The adapter-cloudflare-workers shouldn't require this change because as far as i saw its configuration is managed via wrangler.toml in both svelte and cloudflare docs.
I will generate the changelogs asap than :)
Thank you for the review!

Thank you!


allow saving reports with filename based on alias instead of account number

If a lot of accounts are being scanned, it would be handy to be able to save the output using an alias, eg instead of:
prowler-output-123123123-202105060123
we can add an alias to commandline and get something like
prowler-output-mycoolaccountname-123123123-202105060123
(I'd like to work on this, pls let me know if anyone has already started though!)

Another good idea, please go ahead with it. Probably is time to add support to getopts to process long and short command line options (like -r = --region or -f = --filter-region etc...)


Choose what to sync button alignment is off, especially when zoomed in

Windows, regular DPI montior:
zoomLevel: 0

zoomLevel: 1

@alexr00 were you involved in the multi-select quick pick component?

Should be fixed now:


Setting up a parametric spider (dynamic base_url and start_urls)

Hello
How could I develop a parametric spider and run it like
Crawly.Engine.start_spider(MySpider, base_url, start_urls)
Thanks in advance
Matteo

Please use spider init/1 arguments. Reading the documentation is also advised.


Prelude shapes are not available in JSON AST models built via smithy-build

Context
We’re starting to integrate smithy into our toolchain as a means to define interfaces and generate both clients and services. We’re authoring interfaces using the smithy IDL, building the models to the JSON AST using smithy-build/smithy-cli and passing the resulting model.json as input to a code-generator we’re developing in-house.  This code-generator is written in TypeScript and does not depend on any java base classes provided in the smithy repo.
The issue
The built model.json that smithy-build emits (when running a “source” build: https://awslabs.github.io/smithy/1.0/guides/building-models/gradle-plugin.html#building-a-source-model) does not contain any of the shapes defined in the prelude (smithy.api namespace). Prelude shapes are explicitly filtered out without an ability to override this behaviour.
See:https://github.com/awslabs/smithy/blob/3a6a9a6ef43be5bc8768a7d8daef85f1a6df9a60/smithy-model/src/main/java/software/amazon/smithy/model/shapes/ModelSerializer.java#L57
Without the prelude shapes being present in the model.json it’s not possible to determine certain properties of the model.
This isn’t an issue for any tooling that is built on-top of the java base classes provided because model assembly (via e.g. ModelAssembler and Prelude classes) ensures that the prelude shapes are merged into the in-memory model which is then supplied to plugins; plugins get to see a fully realised model. This is an issue for consumers that only depend on the model.json when using source builds.
Example
Given the interface:
namespace test.auth

@httpBasicAuth
service Example { version: "1.0" }

A source build emits model.json containing
{
    "smithy": "1.0",
    "shapes": {
        "test.auth#Example": {
            "type": "service",
            "traits": {
                "smithy.api#httpBasicAuth": {}
            },
            "version": "1.0"
        }
    }
}

This JSON AST model contains a reference to smithy.api#httpBasicAuth but not its definintion. Without the definition of this prelude shape in the model then it can’t be determined whether or not httpBasicAuth is an authentication trait or not (by the presence of the authDefinintion trait on it). This is one part of determining what the effective authentication traits exist on a service. See: https://github.com/awslabs/smithy/blob/3a6a9a6ef43be5bc8768a7d8daef85f1a6df9a60/smithy-model/src/main/java/software/amazon/smithy/model/knowledge/ServiceIndex.java#L206
This functionality cannot currently be implemented in our code-generator without the definition of the prelude shapes in the model.json.
I don’t think any type of projection we could supply to smithy-build would emit the prelude in JSON AST format, prelude shapes are always filtered out.
Proposals
We’re looking for some advice before we prep a PR on the best way to modify the code such that the prelude is available in JSON AST form so that we can make it available to our code-generator.  There’s a few ways I can think to update the codebase to do this:

Add a command-line flag to smithy-cli’s build command, e.g. --emitPreludeShapes to write the prelude shapes into the model.json. All existing consumers will not be supplying this flag so existing behvaviour will be preserved by default. This flag will effectively be threading some configuration down to ModelSerializer to  allow the overriding of this line: https://github.com/awslabs/smithy/blob/3a6a9a6ef43be5bc8768a7d8daef85f1a6df9a60/smithy-model/src/main/java/software/amazon/smithy/model/shapes/ModelSerializer.java#L57
The call stack from smithy-cli down to this layer of the code looks like this:
software.amazon.smithy.model.shapes.ModelSerializer.serialize(ModelSerializer.java:65)
software.amazon.smithy.build.plugins.ModelPlugin.serializeModel(ModelPlugin.java:41)
software.amazon.smithy.build.plugins.ModelPlugin.execute(ModelPlugin.java:37)
software.amazon.smithy.build.SmithyBuildImpl.applyPlugin(SmithyBuildImpl.java:387)
software.amazon.smithy.build.SmithyBuildImpl.applyProjection(SmithyBuildImpl.java:319)
software.amazon.smithy.build.SmithyBuildImpl.executeSerialProjection(SmithyBuildImpl.java:222)
software.amazon.smithy.build.SmithyBuildImpl.lambda$applyAllProjections$5(SmithyBuildImpl.java:187)
software.amazon.smithy.build.SmithyBuildImpl.applyAllProjections(SmithyBuildImpl.java:197)
software.amazon.smithy.build.SmithyBuild.build(SmithyBuild.java:160)
software.amazon.smithy.cli.commands.BuildCommand.execute(BuildCommand.java:130)
software.amazon.smithy.cli.Cli.run(Cli.java:144)
software.amazon.smithy.cli.SmithyCli.run(SmithyCli.java:91)
software.amazon.smithy.cli.SmithyCli.main(SmithyCli.java:57)

The configuration parameter would have to be threaded through SmithyBuild, SmithyBuildImpl, ModelPlugin down to ModelSerializer. Thoughts on the cleanest way to do this?

Add a whole new command to smithy-cli, something like prelude-ast, that simply emits the prelude as a JSON AST to standard-out (or a file maybe). If the prelude model JSON AST is available, even as a separate JSON structure/file, we can merge the prelude JSON into the existing model.json at runtime within our code-generator.

Any other suggestions welcome!

I think something like a cli command could work. If we wanted to make it look like a normal smithy model package, we could create a separate project within the smithy repo that extracts the model from smithy-model and then builds it or otherwise produces output that mimics a normal smithy build output. Either way, when the rest of the team wakes up I'll talk to them about it.

Our code-generators are written in TypeScript and target Haskell

Oh now that's interesting! What made you decide to go that route over using the Java tooling?


Issue Tab - Enhancements

Acceptance Criteria
Scenario 1:
GIVEN Issue Tab is opened
WHEN I added an Issue
THEN I see the following edits:

the tags (active, Prioirity) are next to the issue title
Start date is shown instead of last update date
action and edit button are added to the accordion

Screenshot 1

Scenario 2:
GIVEN the issue accordion exists
WHEN I click on the Accordion Edit button
THEN I see the Edit Issue Modal with the Description field hidden

Scenario 3:
GIVEN the issue accordion is open
WHEN I click on the Description Edit button
THEN I see the update description modal with the date picker and text field and Modal Title 'Edit Description'
THEN I see the Description field has 500 char limit
Screenshot 3

Scenario 4:
GIVEN the issue accordion is open
WHEN I click on the New Update button
THEN I see the update issue modal with the date picker and text field and Modal title 'Update Description'
THEN I see the Description field has 500 char limit
Screenshot

@dinesh-aot this card is not in test yet. Scenario 3 only shows 250 in TEST but the proper 500 in DEV

@Connor1892 if the 500 appears in dev then it's just a deployment issue and no more coding is pending on it right? Can we close it?


Adding the ability to create signed URLs

This commit sets up the ability to generate and serve signed URLs. While the machinery to serve this request is plugged in, the impl of UrlSigningService is not meant for real production use.

Codecov Report

Merging #786 into master will increase coverage by 0.18%.
The diff coverage is 95.67%.

@@             Coverage Diff              @@
##             master     #786      +/-   ##
============================================
+ Coverage     66.08%   66.26%   +0.18%
- Complexity     3944     3974      +30
============================================
  Files           343      346       +3
  Lines         25957    26112     +155
  Branches       3249     3267      +18
============================================
+ Hits          17154    17304     +150
+ Misses         7906     7899       -7
- Partials        897      909      +12

Impacted Files
Coverage Δ
Complexity Δ

...va/com.github.ambry/rest/RestServiceErrorCode.java
92.85% <ø> (ø)
5 <0> (ø)
:arrow_down:

...github.ambry.frontend/AmbryIdConverterFactory.java
96% <ø> (ø)
2 <0> (ø)
:arrow_down:

...ain/java/com.github.ambry.frontend/Operations.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ava/com.github.ambry/frontend/SecurityService.java
100% <ø> (ø)
3 <0> (?)

...ava/com.github.ambry.frontend/FrontendMetrics.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...src/main/java/com.github.ambry/rest/RestUtils.java
96.37% <100%> (+0.15%)
58 <1> (+4)
:arrow_up:

...ub.ambry.frontend/AmbrySecurityServiceFactory.java
100% <100%> (ø)
2 <2> (ø)
:arrow_down:

...n/java/com.github.ambry/config/FrontendConfig.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...om.github.ambry.frontend/AmbrySecurityService.java
97.24% <100%> (+0.11%)
42 <1> (+1)
:arrow_up:

...github.ambry.frontend/AmbryBlobStorageService.java
93.88% <100%> (+0.04%)
60 <0> (+1)
:arrow_up:

... and 16 more

Continue to review full report at Codecov.

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

Seems like a really cool and desirable feature! What is missing from it to discourage it for production use?

@siepkes The UrlSigningService implementation in this PR (AmbryUrlSigningService) does not actually "sign" the URL i.e. it cannot detect manipulations. For production use, you will need a reliable implementation. My teammate @cgtz found some code that does it. He'll put up an issue and you are welcome to either write a new implementation or just modify AmbryUrlSigningService which would make it useful for production use.

@siepkes the relevant issue: https://github.com/linkedin/ambry/issues/788

@cgtz Comments addressed.

@pnarayanan Answering your questions
Why not allow GET_SIGNED_URL only over SSL?
This is something that should be enforced in the SecurityService. AmbrySecurityService does not do so but other implementations can (and should).
Can a GET_SIGNED_URL request ask for an SSL url?
There is no way a request can specify SSL v/s non SSL. However if the upload and download endpoints are configured correctly (https:// instead of http://), then every single URL given out will be SSL.

@pnarayanan @cgtz comments addressed


Ensure logo renders correctly in IE11

Will resolve #314

  Header logo isn't rendering correctly in IE11


Multiple excerpts with regexp

Say I have notes for books with similar structure. All of the notes contain info about the author, title, amount of pages, etc. I want to create something like an updatable table pulling all this info into a note overview. Right now I can pull out one field with excerpt and regex something like Author:.* but not for multiple fields.
If this is possible this feature would be much appreciated. Thank you!

Duplicate: https://github.com/JackGruber/joplin-plugin-note-overview/issues/60


Added clear_raw() methods to Encoder.

For color, depth and stencil views.  Also re-wrote the
non-raw versions to just use the raw ones.
Fixes #issue
PR checklist:

[x] cargo build succeeds
[x] cargo test succeeds
[x] tested examples with the following backends: GL

Easily done!  Thank you.

@icefoxen ping

Squashed in #2197


Unable to install gem

@tachyons I am trying to install your gem and I get the following
$ gem install bot_framework
ERROR:  Could not find a valid gem 'bot_framework' (>= 0) in any repository
ERROR:  Possible alternatives: ddtframework, jet-framework, lol_framework, test_framework, cli-framework

Hi , thanks for your interest , this gem is under development and I haven't pushed this gem  to rubygems yet


Dropdown key,value support

I'm trying to populate the dropdown from an array of objects. I need the value to be the object ID and the title the object label. How do I achieve this?

The current version of angular-semantic-ui doesn't support that.
If you really want to achieve it, you need to edit dropdownGroup directive and add a new attribute to store the value (in our case, the object ID).
Something like that:
<dropdown-group value="12345">Title</dropdown-group>

Last thing to do is to update the click handler:
element.bind('click', function () {
    DropDownController.update_title(scope.item_value);
});

I will update this directive tomorrow if I have time

I merged your pull request. Thanks @Kurmaev


Move messages to a separate module [ECR-4199]

Overview
Moved Exonum-core messages to a separate module. The module is still a child project of ejb and is versioned as ejb; but has a group id to match its root package. See the reasoning in Jira.
Also move potentially-needed by blockchain and/or node client apps proto definitions to common.

git submodule update --init is likely needed post-integration.
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Coverage remained the same at 85.114% when pulling 8e60bd7262a78fc3fb2a6d6baa44f1b21d609534 on move-messages-to-separate-module into e0212696d0715ed6fde4654a5d118d4eef03a3ad on master.


Fixed the bug with wrong webviewOffset (issue reported for iPhone X and other iOS devices)

The offset should be calculated as height of the toolbar PLUS the height of the status bar. Prevents the negative offset of webview (hiding behind the toolbar).

Hello,
I come back to this topic.
Here is a global solution after several tests
- (void) rePositionViews {
    // Webview height is a bug that appear in the plugin for ios >= 11 so we need to keep the previous code that work great for previous versions
    if (@available(iOS 11, *)) {

        CGFloat toolbarHeight = [self getFloatFromDict:_browserOptions.toolbar withKey:kThemeableBrowserPropHeight withDefault:TOOLBAR_DEF_HEIGHT];
        CGFloat statusBarOffset = [self getStatusBarOffset];
        CGFloat webviewOffset = _browserOptions.fullscreen ? 0.0 : toolbarHeight + statusBarOffset;

        if ([_browserOptions.toolbarposition isEqualToString:kThemeableBrowserToolbarBarPositionTop]) {
            // The webview height calculated did not take the status bar into account. Thus we need to remove status bar height to the webview height.
            [self.webView setFrame:CGRectMake(self.webView.frame.origin.x, webviewOffset, self.webView.frame.size.width, (self.webView.frame.size.height-statusBarOffset))];
            [self.toolbar setFrame:CGRectMake(self.toolbar.frame.origin.x, [self getStatusBarOffset], self.toolbar.frame.size.width, self.toolbar.frame.size.height)];
        }
        // When positionning the iphone to landscape mode, status bar is hidden. The problem is that we set the webview height just before with removing the status bar height. We need to adjust the phenomen by adding the preview status bar height. We had to add manually 20 (pixel) because in landscape mode, the status bar height is equal to 0.
        if (statusBarOffset == 0) {
            [self.webView setFrame:CGRectMake(self.webView.frame.origin.x, webviewOffset, self.webView.frame.size.width, (self.webView.frame.size.height+20))];
        }

        CGFloat screenWidth = CGRectGetWidth(self.view.frame);
        NSInteger width = floorf(screenWidth - self.titleOffset * 2.0f);
        if (self.titleLabel) {
            self.titleLabel.frame = CGRectMake(floorf((screenWidth - width) / 2.0f), 0, width, toolbarHeight);
        }

        [self layoutButtons];

    } else {

        CGFloat toolbarHeight = [self getFloatFromDict:_browserOptions.toolbar withKey:kThemeableBrowserPropHeight withDefault:TOOLBAR_DEF_HEIGHT];
        CGFloat webviewOffset = _browserOptions.fullscreen ? 0.0 : toolbarHeight;

        if ([_browserOptions.toolbarposition isEqualToString:kThemeableBrowserToolbarBarPositionTop]) {
            [self.webView setFrame:CGRectMake(self.webView.frame.origin.x, webviewOffset, self.webView.frame.size.width, self.webView.frame.size.height)];
            [self.toolbar setFrame:CGRectMake(self.toolbar.frame.origin.x, [self getStatusBarOffset], self.toolbar.frame.size.width, self.toolbar.frame.size.height)];
        }

        CGFloat screenWidth = CGRectGetWidth(self.view.frame);
        NSInteger width = floorf(screenWidth - self.titleOffset * 2.0f);
        if (self.titleLabel) {
            self.titleLabel.frame = CGRectMake(floorf((screenWidth - width) / 2.0f), 0, width, toolbarHeight);
        }

        [self layoutButtons];
    }
}

How can I use this fix? Its still not on master branch.

@pbijvani  Modify the code by yourself

@procom   I add your code, the problem is still unsolved

Any updates on when this will be available in a release?

some one can merge it please?

@radu-cigmaian can you merge it please?

Is there any way we can get it merged?

I merged this into my own fork, for those who are interested. See https://github.com/initialxy/cordova-plugin-themeablebrowser/issues/193 For details

Merge!!!

Any updates?

It's in my branch. I think there's still a bug with one of the other branches I merged. I no longer see the standard iphone header when using the embedded browser. I think I know the source branch that caused it. Nothing I can do about it currently. I don't have my iOS dev environment set up for it. So if you use my branch, take that part into consideration.


feature: support write span via grpc stream

Which problem is this PR solving?
Resolves #109
Short description of the changes
support write span via grpc stream

hi @pavolloffay @nickbp @EinKrebs
If you have time, can you help to review this mr?

The changes look good in principle to me, thanks for finding this optimization!
It looks like there are some compile-time errors relating to dependencies in CI, would you be able to take a look? Should be able to exercise the tests locally with e.g. make test/make e2e-tests/make integration-test (see also CI config )

@nickbp I fixed all the errors in tests, please review again, thanks.

Great, looks like it's passing CI as well. Thanks!


Files with a space int their name are not served

This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?
1.create a html file whose name contains a space or wich is in a folder whose name contains space
2.run this file on dartium
What is the expected output? What do you see instead?
I should see the content of the file. Instead of that I see an error saying the file wasn't found.
What version of the product are you using? On what operating system?
I'm using dart Editor version 1.5.0.dev_02_00 on Windows 7 64 bits
Please provide any additional information below.
In the older version of dart editor, files whose name contains spaces could be served.

Attachment:
screenshot.jpg (42.77 KB)

This issue has been moved to dart-lang/pub#996.


ApkTool can't decode the apk

Information

Apktool Version (2.3.3) -
Operating System (Linux) -
APK From? (Other) -

Stacktrace/Logcat
Using Apktool 2.3.3 on D.apk
I: Loading resource table...
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
W: Multiple types detected!  ignored!
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (/home/mohammad/.local/share/apktool/framework), using /tmp instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: /tmp/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

Steps to Reproduce

apktool  d D.apk -o outeddir

Frameworks
This APK is not from an OEM ROM
APK
If this APK can be freely shared, please upload/attach a link to it.
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything?Yes

If you are trying to install a modified apk, did you resign it? I can not decode the  apk using apktool so building the apk using apktool does not work

Are you using the latest apktool version?Yes

Unfortunately there isn't enough information to go on here. Doesn't look the process crashed anyway.


refactor(api): mypy: typecheck untyped defs

By default, mypy doesn't check function definitions that do not have
type annotations. This is seen as a sane default to aid introducing
typing to a codebase that doesn't have it previously, and ours was
covered spottily at best. However, it's also very easy to forget to
annotate functions, especially if they don't take arguments -
properties, magic/special dunder methods like iter, that sort of
thing; and that leads to missed opportunities for typechecking, as the
changes in this commit reflect.
Tell mypy to check functions that are not annotated (with carveouts for
older sections of the codebase that we know are soon to be deleted) and
fix up all the errors that notes.
There are few places that actually required code changes, with the most
major being the tools submodule, which needed some changes anyway to
work properly in certain call situations so arguments passed to the
interpreter wouldn't conflict with arguments passed to the scripts.
Risk Assessment
This touches a lot of iles, but most of it is annotation only changes. Key things to test are

opentrons_simulate with some of the more rarely used args like log capture
The scripts in opentrons.tools

Just one question and one request.
Can we put all the changes to the factory tests in a separate PR?

yeah that's a good idea


AI: Create mini style guide.

Create a mini style guide for how we should write and implement glossary snippets.

@abiogenesis-now @heidecke

@Bradamant3 Where should we put this? If I create a template file that people can clone and drop in content, i.e. _snippet-example.md, should we maybe just put it in there so that people can refer to it without having to look at a different file?

I've stubbed this out. Examples are the next step, but would like feedback first before I develop them.
Minimum viable snippet:
Required. One or two lines that provide a minimum definition. Do not repeat the term. Prefer fragments. Model after tooltips.
Optional. Longer additional text to appear after (in conjunction with) short description. Provide where the short description is not sufficient as the intro paragraph to a topic. Write complete but concise sentences.

Woops, +100 to including in an example template, not a separate file. Hence review here :-)

Seems reasonable to me!

I've added the draft to /_includes/glossary/_glossary-template.md. Feel free to make additional changes there.

@Bradamant3 Do you want to keep this open, or should I close this now that we have something committed to the repo?

This was addressed by https://github.com/kubernetes/kubernetes.github.io/pull/4865 in _includes/templates/glossary/README.md.


Design Notification Achitecture

Description

Design the end-to-end architecture for signing up for and canceling notifications.

Requirements

Add and cancel notifications on a per-course basis.
Receive notifications in SMS (and perhaps email).

Current Notes

PPAPI will ping us when there's a change in the database with a list of courses that changed.
We might want to switch to a relational database to develop this along with auth.

Potential relational database schema for phone numbers and course codes:

Note that we might want to change the attributes for courses and users. For example, the primary key for Course should be (course_code, quarter) instead of just (course_code). Moreover, instead of setting the primary key of User to the phone number, we can set it to some user ID.
Very basic and high-level flow for notifications:


OADP-1844: Validation to ensure vsm plugin is removed from DPA if DM is false

/cherry-pick oadp-1.2


Plex Guide Data

Not sure if this is a Plex thing, a ErSatzTV thing, or a just my setup situation... but my guide data coming into Plex for the custom channels seems mashed together.  For instance, channel 2.1 here shows correctly (what actually plays in Plex) when I tune to the channel, but the Guide Data in Plex is inaccruate.  Some clients show the data mashed together.

There have been a number of reports of Plex having inaccurate guide data (while non-Plex IPTV clients continue to show the correct data). The only solution we've come up with is to change the channel number to one that has never been used before. For example, changing 2.1 to 2.10 might temporarily resolve the issue.
Will keep this open for now since it's an ongoing issue.

That worked for me. Thank you!

The latest develop release includes #1198 which adds more display-name entries to the XMLTV and Plex now displays the channel number for me (instead of channel number dot etv). Curious if this helps XMLTV data stay accurate over time in Plex.

For anyone else still having this issue like I was and need a workaround instead of changing the channel number. I found that if you feed ErsatzTV into ThreadFin then it doesn't mix up the channels anymore. Seems Plex likes the way it feeds the XMLTV better for some reason so I don't know if any of that could be setup in Ersatz.

For anyone else still having this issue like I was and need a workaround instead of changing the channel number. I found that if you feed ErsatzTV into ThreadFin then it doesn't mix up the channels anymore. Seems Plex likes the way it feeds the XMLTV better for some reason so I don't know if any of that could be setup in Ersatz.

Do you have any guidance as to how to set up Threadfin to pass the data to Plex. I set up the portion that reads in the XMLTV from ErsatzTV, and it looks right as it says the proper number of channels and such. What I can't understand is why I get no output from Threadfin. When I look at the log it says that it is parsing the ErsatzTV XMLTV file, but it says there are 0  channels. Obviously I'm missing a piece in the Threadfiin setup.

Might (hopefully) get some traction here https://forums.plex.tv/t/dots-in-xmltv-channel-ids-cause-inaccurate-live-tv-guide-listings/889712

Channel identifiers were changed in the latest develop build with https://github.com/ErsatzTV/ErsatzTV/pull/1920 - please test and confirm whether this is any better than previous behavior.

I can confirm it's working. After 2 days of consistent correct airing programs and XMLTV guide data


Us 1264679 bug fixing

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/blocked-contacts-container.md
:white_check_mark:Succeeded

docs/build-enhanced-access-control-list-enhancedallowlist-sample.md
:white_check_mark:Succeeded

docs/colleagues-container.md
:white_check_mark:Succeeded

docs/parsing-endpoint-configuration.md
:white_check_mark:Succeeded

docs/workgroup-container.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[12.x] Build rewrites packages .d.ts files, causing intellisense problems

🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[x] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Yes, the previous version in which this bug was not present was: 10
Description
Hello!
During the bundle generating process, angular ivy compiler rebuild .d.ts files, which causes intellisense problems.
It can be noted by using 3rd party packages, such as @ionic/angular.
For instance, in @ionic/angular case, the proxies.d.ts bundled with the package, containing the mapping declarations to angular components, is something like this:
export declare class IonIcon {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
}

And Intellisense works as expected:

And after the ng serve, it turns into this:
export declare class IonIcon {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<IonIcon, never>;
    static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<IonIcon, "ion-icon", never, { "ariaHidden": "ariaHidden"; "ariaLabel": "ariaLabel"; "color": "color"; "flipRtl": "flipRtl"; "icon": "icon"; "ios": "ios"; "lazy": "lazy"; "md": "md"; "mode": "mode"; "name": "name"; "sanitize": "sanitize"; "size": "size"; "src": "src"; }, {}, never, ["*"]>;
}

So intellisense breaks:

🔬 Minimal Reproduction

ng new my-app
ng add @ionic/angular
Navigate into any Ionic component's declaration (by doing a ctrl + click in a tag, for example, in webstorm). Note that it works fine.

Just to thank u all <3

Oh!
I've realized that it was a Webstor Angular plugin fault. In VSCode it works as expected!

They already fixed it!
https://youtrack.jetbrains.com/issue/WEB-50675
https://youtrack.jetbrains.com/issue/WEB-50597
https://youtrack.jetbrains.com/issue/WEB-50321
Keep your tools updated (all of them haha)


Add support for websocket fluentd plugin

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets

License
Apache 2.0

What's in this PR?
This PR adds a new Weboscket output type for sending logs to connected websocket clients.
Why?
We want ability to run and configure Websocket fluentd plugin with logging-operator.
Checklist

[x] Error handling code meets the guideline
[ ] Logging code meets the guideline (TODO)
[ ] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

To Do

[ ] Perform a manual test to ensure it works as expected in real world.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

We decided to go with using separate fluentd container with websocket plugin and let logging-operator to only manage forwarding to it. Otherwise it's not compatible with fluentd replicas scaling and leads to problems with setting up a port in a Pod.
Closing as not a fit.


feat(Dependencies): Add back @nestjs/common to work with 6.* nest pro…

…jects.

:tada: This PR is included in version 3.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Broken link on https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/

This is a Bug Report

Problem: https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/ hyperlinks to https://kubernetes.io/docs/tasks/administer-cluster/enabling-endpoint-slices/ but there is no such page.
Proposed Solution:
~Add the task page based on https://github.com/kubernetes/website/pull/17480~
Remove the broken link
Page to Update:
https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/
/priority important-soon
/kind cleanup
/language en

/remove-priority important-soon
/priority important-longterm

@sftim , Is this issue safe to close? For reference, see
https://github.com/kubernetes/website/pull/18093 .

Happy this is done
/close


Use environment markers from setup.py install_requires

What's the problem this feature will solve?
On a setup.py we have:
setup(
    ...
    install_requires=[
        'stdlib-list; python_version < "3.10"',
        ...
    ]
)

On our requirements.in we have:
-e file:.#z3c.dependencychecker[test]

But the environment marker defined on setup.py does not land in requirements.txt once we run pip-compile requirements.in:
stdlib-list==0.8.0
    # via z3c-dependencychecker

Describe the solution you'd like
Get the environment marker from setup.py land in requirements.txt
stdlib-list==0.8.0 ; python_version < "3.10"
    # via z3c-dependencychecker

Alternative Solutions
The workaround so far is to manually add stdlib-list ; python_version < "3.10" on requirements.in, which is not a big deal, but if defeats the purpose of using -e file:.#z3c.dependencychecker[test] on requirements.in
Additional context
https://peps.python.org/pep-0508/#environment-markers
Thanks for this wonderful package! ✨ ❤  it saved plenty of work/hobby hours of mine! 🙇🏾

AFAIK pip-tools don't support transitional env markers. However this pip-compile setup.py should work.


label $association:source{name} not appearing on diagram

Version of Archi
4.10.0
Archi Plug-ins
jarchi
Operating System
windows 11
Expected Behaviour
When relationship line has label to associated object it label appears in view regardless of whether association is in view.
Actually it would be better to have a control which details behaviour based on being in view vs model.
Actual Behaviour
label $association:source{name} to appear when association not in view
Steps to Reproduce the Behaviour

add app component 1
add app component 2
Add flow between 1 and 2 with label $association:source{name}
add data object
add association to flow from data object, and name appears on flow
delete data object from view and label disappears
select data object created and add to view label appears
select app 1 and add to view, one flow has label and other doesn't

This is expected behaviour. An expression label is applied per View instance, so when the additional instance of the flow connection is added you need to add the label expression to that instance as well. It is possible to have two different label expressions for each instance.

I'll close this as working as intended.

Sounds a severe limitation in feature if it can only reach to objects on view especially via relationships.  There should be the option of either view or model.  When it comes to projecting information in a label I'm more likely to reach to an object via relationship that is not on the view to minimise the number of object on view,  that is, declutter lines and boxes on the diagram.  One would have thought model would be easy to implement.


Save default locale in session

Any feedback????

Thank you! This is available in v<IP_ADDRESS> and onwards.

awesome!, tnx


tviplayer just one url tipe work.

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.07.18 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Portugal
Provide a description that is worded well enough to be understood
this particular site, tvi player, we have one url tipes that work, "https://tviplayer.iol.pt/programa/jornal-da-uma/53c6b2633004dc00624392e1/video/62e296370cf26256cd2f3a99
but in the same site, this doesnt work:
https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No ANSI), error cp1252 (No ANSI), screen cp1252 (No ANSI)
[debug] yt-dlp version 2022.07.18 [135f05e] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] Checking exe version: avprobe -bsfs
[debug] exe versions: ffmpeg n5.0-ffmpeg-windows-build-helpers (setts)
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.07.18, Current version: 2022.07.18
yt-dlp is up to date (2022.07.18)
[debug] [generic] Extracting URL: https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187
[generic] t1e187: Downloading webpage
WARNING: [generic] Falling back on generic information extractor.
[generic] t1e187: Extracting information
[debug] Looking for video embeds
ERROR: Unsupported URL: https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1431, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1506, in __extract_info
  File "yt_dlp\extractor\common.py", line 644, in extract
  File "yt_dlp\extractor\generic.py", line 4108, in _real_extract
yt_dlp.utils.UnsupportedError: Unsupported URL: https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187

This patch is work
@@ -3,7 +3,7 @@
 class TVIPlayerIE(InfoExtractor):
-    _VALID_URL = r'https?://tviplayer\.iol\.pt(/programa/[\w-]+/[a-f0-9]+)?/video/(?P<id>[a-f0-9]+)'
+    _VALID_URL = r'https?://tviplayer\.iol\.pt(/programa/[\w-]+/[a-f0-9]+)?/\w+/(?P<id>\w+)'
     _TESTS = [{
         'url': 'https://tviplayer.iol.pt/programa/jornal-das-8/53c6b3903004dc006243d0cf/video/61c8e8b90cf2c7ea0f0f71a9',
         'info_dict': {

This patch works (at least for OP url)
@@ -3,7 +3,7 @@
 class TVIPlayerIE(InfoExtractor):
-    _VALID_URL = r'https?://tviplayer\.iol\.pt(/programa/[\w-]+/[a-f0-9]+)?/video/(?P<id>[a-f0-9]+)'
+    _VALID_URL = r'https?://tviplayer\.iol\.pt(/programa/[\w-]+/[a-f0-9]+)?/\w+/(?P<id>\w+)'
     _TESTS = [{
         'url': 'https://tviplayer.iol.pt/programa/jornal-das-8/53c6b3903004dc006243d0cf/video/61c8e8b90cf2c7ea0f0f71a9',
         'info_dict': {

I didn't check other url type

Since OP only gave this one URL. I'll merge if someone PRs this patch and adds a relevant test

"https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187"
[generic] t1e187: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] t1e187: Extracting information
ERROR: Unsupported URL: https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187

Wait for next release

i'm testing directly compiling in latest commit, but ok, thanks! i will wait.

❯ yt-dlp https://tviplayer.iol.pt/programa/para-sempre/61716c360cf2365a5ed894c4/episodio/t1e187
[TVIPlayer] wmsAuthSign: Trying to get wmsAuthSign token
[TVIPlayer] t1e187: Downloading webpage
[TVIPlayer] t1e187: Downloading m3u8 information
[info] t1e187: Downloading 1 format(s): 2500
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 126
[download] Destination: Quem denunciou Pedro？ [t1e187].mp4
[download]   0.1% of ~341.75MiB at  192.69KiB/s ETA 30:14 (frag 0/126)
ERROR: Interrupted by user


[FLINK-28556][refactor] Extract header fields of Buffer into a BufferHeader class for blocking shuffle file IO

What is the purpose of the change
(This is a small code refactor which also can be reused by following PRs.  Extract header fields of Buffer into a BufferHeader class for blocking shuffle file IO)
Brief change log

Extract header fields of Buffer into a BufferHeader class for blocking shuffle file IO

Verifying this change
This change is already covered by existing tests, such as BufferReaderWriterUtilTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure

@TanYuxin-tyx Thanks for the change. LGTM.


Setup publishing, dokka & knit

This PR cleans up the project a bit more, and sets up Dokka, Knit and configuration to publish to Sonatype/Maven Central 🥳
It also moves the demo to documentation so it can be published on the Dokka website.

Perfect, I'll create the proposal PR for the refine DSL after this PR as we discussed in #8 👍 Then we'll be ready for an a first 0.0.1 release 🥳
Whoever gives the second approval feel free to merge ☺

@nomisRev btw, maybe it will be helpful, played a little bit with your proposal about refine DSL in krefty, definitely like it
https://github.com/ustits/krefty/blob/main/krefty-arrow/src/commonMain/kotlin/dev/ustits/krefty/arrow/Refinement.kt
https://github.com/ustits/krefty/blob/main/krefty-arrow/src/commonTest/kotlin/dev/ustits/krefty/arrow/RefinementTest.kt

@ustits nice 😍 If you're interested feel free to open a PR, then we can collaborate there as well. Otherwise I'll open one later this week.


Allow users to edit a scenario by scenario ID without creating a clone

We currently have an endpoint at /scenarios/:id which allows a user to resume a scenario, but starting the scenario creates a clone of the original. This is to ensure that the user cannot make destructive changes to the original.
The CTM – and perhaps other models – would benefit from the means to edit a scenario directly, rather than receiving a clone.
We should investigate how to prevent reopening a protected scenario so that users cannot maliciously use this endpoint to change saved scenarios belonging to other users.
See quintel/etengine#1209.

This route has been added at /scenario/:id/resume.


fix: ensure valid block explorer URL for address links

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on updating the href attribute in the metadata-header.tsx file to ensure that the URL for the block explorer correctly appends the address, handling cases where the URL may or may not end with a trailing slash.
Detailed summary

Modified the href attribute to check if validBlockExplorer.url ends with a /.
If it does not, a / is added before appending address/${address}.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#5061  👈
main

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

Join @joaquim-verges and the rest of your teammates on  Graphite


Dynamic Pipe Cacti can't be cut down if worldgen spawns it on a block it doesn't normally grow on.

If a Pipe Cacti spawns on a block it doesn't normally grow on, in my case, sandstone, cutting or breaking the cactus doesn't break the whole thing; the other blocks turn invisible and trying to walk through the space it occupied causes you to be hurt by thorns and stopped as if it were still there. I use Optifine as it's a necessity on my machine, but my issue is not strictly graphical, and I don't see why it would affect the behavior of Pipe Cacti. I do not get a crash when this happens. Reproduce this by finding a desert village in which Pipe Cacti are growing. There may be one that spawned on sandstone.  I suspect this was caused by the structure issues which have been resolved as of beta 34 of DT.


need to update minimum version of astropy in setup.py

See below email exchange in which @ariedel reports a problem with using WebbPSF+POPPY 0.6 with an old version of astropy. We need to bump the minimum required to at least 1.3, and I'd probably just go with 2.0 at this point.
That clears it up. My ETC development environment is using Astropy 1.2.1
at the moment, which is very old.

Thanks!
Adric

From: Marshall Perrin
Date: Thursday, August 17, 2017 at 4:47 PM
Subject: Re: Problem running webbpsf 0.6.1 / poppy 0.6.0

‘result' in this case is an astropy.io.fits HDUlist that contains the output PSF.
What version of astropy do you have? That argument changed from
“clobber=True” to “overwrite=True” back in Astropy 1.3…

On Aug 17, 2017, at 4:42 PM, Adric Riedel wrote:

I’m trying to run webbpsf to generate PSFs for the exposure time
calculator, and I’ve run into an unexpected problem: a writeto() function
in poppy that’s complaining about an unexpected keyword.

An example that triggers the error for me:
import webbpsf as wp
NIRCam = wp.NIRCam()
NIRCam.pixelscale = 0.0311
NIRCam.detector = 'A1'
NIRCam.calcPSF(oversample=3, fov_pixels=200 * 2, monochromatic=0.0000011, outfile='testout')

The error is
/Users/riedel/data/anaconda2/envs/pandeia_7/lib/python2.7/site-packages/poppy/instrument.pyc in calc_psf(self, outfile, source, nlambda, monochromatic, fov_arcsec, fov_pixels, oversample, detector_oversample, fft_oversample, rebin, overwrite, display, save_intermediates, return_intermediates, normalize)
    297         if outfile is not None:
    298             result[0].header["FILENAME"] = (os.path.basename(outfile), "Name of this file")
--> 299             result.writeto(outfile, overwrite=overwrite)
    300             poppy_core._log.info("Saved result to " + outfile)
    301

TypeError: writeto() got an unexpected keyword argument 'overwrite'

I’m not entirely certain where this ‘result’ is even getting the overwrite keyword.

Thanks,

Adric

Updated the version number to 1.3 in setup.py; confirmed that all tests pass on Travis when using the minimal supported versions of astropy, numpy, and Python itself.


[xAI API] Anthopic SDK doesn't report usage

This is an xAI API question, but I don't know where else to ask this because there's no help center, community support forums, Discord server, or any such thing as far as I can tell.
According to the documentation, or what little there is of that, xAI is "fully compatible" with the Anthropic SDK.
When streaming, unlike Claude through the same SDK, the output tokens count is not available. I was able to get this information from openai, claude, mistral, together-ai, and groq, without much of a hassle. I can't seem to find a way to get xAI to do the same. What am I missing?

@KernelDeimos We're aware of the issue and fixing it. In the meantime you can use curl or OpenAI SDK which would provide the output tokens count.
You can reach out to our support email at<EMAIL_ADDRESS>

Yep, I switched Puter's xAI service to OpenAI's SDK and it's working great.


migrate new missing value encoding to master branch

to get rid of the hatching pattern after all

Related to #326.


fix bug with 'learn more' link for on-chain opt in

:tada: This PR is included in version 1.28.1-dev.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Accounts on multiple instances

It seems that the current Multi Account functionality is bound to a single instance, the one used for the first account login.
Enhancement: for additional accounts allow logins to other/separate instances.

Just to verify, does switching instances (in settings) and then adding multiple accounts solve your problem? Definitely needs better UI though I agree.

Ok, I have now realized that changing the instance in Settings indeed changes the account.
The UI should allow this in one place. A login should consist of instance, user name and password. The account selection screen should offer a list of username@instance.
Plus, all the instances I am on are not included in the apps default instance list, so I need to type them every time I change.


Allow to pass/get items via Input

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ x ] feature request
[ ] support request/question

Current behavior
We can pass/get items only via form directives like ngModel or formControlName
Expected behavior
Ability to pass items and receive results via component input without forms directive, like
<tag-input [(items)]='items'></tag-input>

What is the motivation / use case for changing the behavior? (if applicable)
More flexible usage without additional things.

Hi @artaommahe,
sorry but I am not planning on adding additional properties/features at this time


Fix compatibility with OpenFL 6.0, fix dependencies in haxelib.json

Haven't tried it yet, but I assume a few things broke!

Ok, yep, looks like HTML5 and Native builds are broken. The embedded font seemed to be the problem - should be an easy enough fix.

Full info about the new release is here: http://community.openfl.org/t/openfl-6-0-is-now-available/9376


Create Preliminary Help Doc

Create a space for help docs to live. Not sure how we interconnect them. Just via unique file names and links?

@ltwp can you quickly put together some placeholder text for this?

Ghostlines does not yet have help docs. We're working on it.

In the meantime, please send us any questions or comments in an email or tweet at us:

<EMAIL_ADDRESS>
@ghostlines_pm

Or learn more: https://ghostlines.pm

Ghostlines does not yet have help docs. We're working on it.

In the meantime, please send us any questions or comments in an email or tweet:

<EMAIL_ADDRESS>
@ghostlines_pm

Learn more at https://ghostlines.pm.


[framework] Marks sui::url as deprecated

Description
We're deprecating this module for now.
Test plan
Not much to test.

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] REST API:

@tnowacki @tzakian what are we going to do with this? Thoughts? Opinions? Suggestions?


Reexport biguint

BigUint is part of the public API surface of RSA. As such, I think it's a good idea to reexport it. It avoids forcing the user to add a dependency on num-bigint-dig when importing pubkeys or privkeys.

thanks, makes sense