Implement non-external foreign function calls (#1170)

This is currently a draft PR because:

[x] Miri becomes unacceptably slow (at least on my machine): it seems stuck at mangling functions.
[ ] It contains a horrible hack (OutputMirHack in src/bin/miri.rs) to make cross-crates calls work. I hope to get rid of that...
[ ] I'm currently not sure how to test (or emit an error for, if this doesn't work currently) unwinding described in https://github.com/rust-lang/miri/issues/1170#issuecomment-586597241.
[ ] When a custom #[no_mangle]/#[export_name] function has the same symbol name as a shim, what should Miri do? https://github.com/rust-lang/miri/pull/1776#issuecomment-821199490

Closes #1170.

Miri becomes unacceptably slow (at least on my machine): it seems stuck at mangling functions.

What you do here should not have any effect on executions that do not do such function calls -- is that currently not the case?

Also I don't think we should support anything relying on mangling. What if you restrict this to calling functions with an explicit link_name?

What you do here should not have any effect on executions that do not do such function calls -- is that currently not the case?

It's not. A custom #[no_mangle] (or #[export_name]) function can override a shim here, so the exported_symbols search performed every time when any extern function is called.

Also I don't think we should support anything relying on mangling. What if you restrict this to calling functions with an explicit link_name or no_mangle?

I dropped mangled functions support and it seems faster now.

A custom #[no_mangle] (or #[export_name]) function can override a shim here

Oh... that's not what #1170 is about.^^ I would expect hard-coded shims to take precedence. That would also solve any performance concerns.
If we can overwrite shims, shouldn't we also have a way for you to still somehow call the actual underlying implementation? That seems like a separate feature, maybe we can leave it to a separate PR.

Oh... that's not what #1170 is about.^^ I would expect hard-coded shims to take precedence. That would also solve any performance concerns.

I was just hoping to detect more undefined behaviors (caused by using #[no_mangle] to override a libc function accidentally, since custom #[no_mangle] functions are taking precedence in practice).

If we can overwrite shims, shouldn't we also have a way for you to still somehow call the actual underlying implementation?

That sounds like RTLD_NEXT...
But maybe it's better to emit an error other than letting it override the shim silently? Actually I don't know what will happen in practice on non-Linux platforms or when libc is statically linked if someone tries to define a function that has the same symbol name with a libc function. If the linker is going to emit an error or make a random choice, a throw_unsup_format is fine, I think.

I was just hoping to detect more undefined behaviors (caused by using #[no_mangle] to override a libc function accidentally, since custom #[no_mangle] functions are taking precedence in practice).

Hm, that is fair -- but it seems like a very different usecase from #1170: there you want to actually execute that user-defined code; here it seems better to just abort execution? Jumping to the user-defined shim would only be correct if this is always guaranteed to happen, and as you said I am not sure if that is true e.g. when statically building binaries with musl.

here it seems better to just abort execution?

I agree, but does that mean I need to add the same check (to abort it) to all the arms in those long matches that I added check_abi last time?
(I really hope there's a iterable list of Miri supported shims somewhere in the code...)

Hm... it might be better to combine check_args, check_abi, and check_<whatever, something for link_name> into one function that does it all. If that function receives the name of the shim (which it needs for the new check) we'd also have better error messages than we do currently for arg/ABI mismatches.
But that seems entirely orthogonal to what you implemented here. So maybe first turn this PR into a solution for #1170, i.e., calling non-foreign extern functions when no shim was found -- and then in a follow-up PR add the new check?

:+1:

:umbrella: The latest upstream changes (presumably #1779) made this pull request unmergeable. Please resolve the merge conflicts.

'm currently not sure how to test or emit an error for unwinding

Every time a stack frame is popped, this function is called:
https://github.com/rust-lang/miri/blob/58436e942a9f301748a2d7e88e6184e168cfcfbd/src/shims/panic.rs#L120
There you should be able to detect a situation where unwinding == true and you are inside a function with an ABI that does not allow unwinding (because its ABI is, for example, extern "C").

(because its ABI is, for example, extern "C").

The problem is that, after rust-lang/rust#76570, I don't know if there's such an ABI anymore...

The problem is that, after rust-lang/rust#76570, I don't know if there's such an ABI anymore

Never mind, I've found a case that ought to be detected: https://github.com/rust-lang/rust/pull/84158#issuecomment-819157324

you are inside a function with an ABI that does not allow unwinding (because its ABI is, for example, extern "C").

I guess I can detect that by checking the ABI of https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/interpret/struct.Frame.html#structfield.instance. I want to reuse https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/layout/fn.fn_can_unwind.html, and I found that the result computed by that function is only stored in https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/abi/call/struct.FnAbi.html#structfield.can_unwind.
However, the only ways to construct an FnAbi I found is through the functions in the FnAbiExt trait, which all require a cx that implements LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>> + HasDataLayout + HasTargetSpec + HasTyCtxt<'tcx> + HasParamEnv<'tcx>. I don't know how to get/create one in Miri (although I found this in rustc_codegen_cranelift useful). :thinking:
Is there a better way to check it?

Using FnAbi in Miri is an outstanding issue: https://github.com/rust-lang/rust/issues/56166.
However, the Frame type for Miri stackframes contains an Instance, isn't that enough to get the ABI?

I want to reuse https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/layout/fn.fn_can_unwind.html

That might currently be hard to do, also see https://github.com/rust-lang/rust/issues/65303.

I don't want to duplicate https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/layout/fn.fn_can_unwind.html...

:umbrella: The latest upstream changes (presumably #1801) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #1814) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #1791) made this pull request unmergeable. Please resolve the merge conflicts.

(Please let me know when this is ready for another round of review.)

S-waiting-on-author -> S-waiting-on-review!

This is great, thanks a lot @hyd-dev for working through so many rounds of review. :)
@bors r+

:pushpin: Commit 57e4f1d285c53d8826a6911c84230a46720c7498 has been approved by RalfJung

:hourglass: Testing commit 57e4f1d285c53d8826a6911c84230a46720c7498 with merge 28717a0e907ef427946a39adca1cbe3fa4b1e0f4...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 28717a0e907ef427946a39adca1cbe3fa4b1e0f4 to master...


edit reactions

todo:

add functionality to add and edit reactions
should be done in terms of Names of species, constants, etc
ideally with drop-down autocomplete or similar to enter species/constants in expression

https://doc.qt.io/qt-5/qtwidgets-tools-customcompleter-example.html

ensure expression can be parsed, similarly to initial analytic condition

to represent a membrane reaction involving species only from one compartment, can set the compartment of the reaction to another compartment, then it will only occur at the membrane between the two compartments

resolved by #131


Update to cache@v4

Just a trivial drive-by fix while playing with this.

Hey @jan-kiszka
thanks for the PR, always welcome! ❤
It makes total sense to update the action to cache@v4. Since you call it a "fix" though I thought I inquire: Have you seen any difference to v3 in an metric or behaviour?
From the [Release Notes]8https://github.com/actions/cache/releases) I see that only node was updated and not much more.

The "fix" is more related to the cited warnings shown for the CI run using it.


Using Back button in the search block does not execute the search

Describe the bug
When using Back button with the search block filters, the search results don't update although the URL of the current filter selection is updated.
To Reproduce
Steps to reproduce the behavior:

Go to a Page
Add a Search block with a Type filter, allowing multiple values and using a Checkbox as a widget. Save the changes
Select a checkbox in the search block, the query is executed and search results refreshed.
Select another checkbox in the search block, the query is executed and search results refreshed.
Select another checkbox in the search block, the query is executed and search results refreshed.
Hit the "Back" button in the browser

Expected behavior
The search results are reloaded with the Previous filter applied
What really happens
The search results are not reloaded. Only the URL is changed.
Screenshots
See the video.
Pantaila-bideoa hemendik: og., 2023.eko otsren 16a 16:44:05.webm
Software (please complete the following information):

Volto Version: 16. The video is from current demo.plone.org. (also happens in 15.x)

Just an abstract idea to fix this might be, dispatching GET_QUERYSTRING_RESULT_SUCCESS whenever we pop from location history.
I will look more into it, but before I just wanted to hear others' opinions on this :). Thanks!

I can't comment on the details of the implementation, if you think that dispatching the action is OK, that's OK. Can you add a PR and check the details.

can i work on this?

Hi @anikdhabal, in Plone, you can just assign an issue to yourself if you have an approach just make sure there isn't any prior work done.
I have also mentioned an approach above, you can also show your love to that if you want (^^).


Build problems with git clone: autoreconf -i /  broken configure script / syntax errors

I use Zeus
Zeus needs CLN 23.05.x or channel balances just display "NaN"
clboss (0.12 or 0.13) does not work with CLN v23.05.*, because of https://github.com/ZmnSCPxj/clboss/issues/164

So clboss needs https://github.com/ZmnSCPxj/clboss/pull/162 to work with a v.23.05.x, as far as I understand. All channels are closed,I just have some on-chain balance and would love to start from scratch.
I can't compile neither 0.12 nor 0.13 git clones on my Raspiblitz, with our without PR. The tar.gz works, but it doesn't have https://github.com/ZmnSCPxj/clboss/pull/162. There seem to be some missing quotes somewhere or so, I don't know (yet) about this stuff, so please help.
bitcoin@raspberrypi:~ $ git clone https://github.com/ZmnSCPxj/clboss.git clboss-git
bitcoin@raspberrypi:~ $ cd clboss-git/

When I run autoreconf, it throws warnings at the beginning and fails later.
bitcoin@raspberrypi:~/clboss-git $ autoreconf -i
aclocal: warning: couldn't open directory 'm4': No such file or directory
aclocal: warning: couldn't open directory 'm4': No such file or directory
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'auxdir'.
libtoolize: copying file 'auxdir/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:11: installing 'auxdir/compile'
configure.ac:11: installing 'auxdir/config.guess'
configure.ac:11: installing 'auxdir/config.sub'
configure.ac:7: installing 'auxdir/install-sh'
configure.ac:7: installing 'auxdir/missing'
Makefile.am: installing 'auxdir/depcomp'
parallel-tests: installing 'auxdir/test-driver'
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: copying file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build-aux/m4'.
libtoolize: copying file 'build-aux/m4/libtool.m4'
libtoolize: copying file 'build-aux/m4/ltoptions.m4'
libtoolize: copying file 'build-aux/m4/ltsugar.m4'
libtoolize: copying file 'build-aux/m4/ltversion.m4'
libtoolize: copying file 'build-aux/m4/lt~obsolete.m4'
configure.ac:15: installing 'build-aux/compile'
configure.ac:5: installing 'build-aux/config.guess'
configure.ac:5: installing 'build-aux/config.sub'
configure.ac:9: installing 'build-aux/install-sh'
configure.ac:9: installing 'build-aux/missing'
Makefile.am: installing 'build-aux/depcomp'
parallel-tests: installing 'build-aux/test-driver'
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'auxdir'.
libtoolize: copying file 'auxdir/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:45: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.

AX_PTHREAD(:,
        AC_MSG_ERROR([Need pthread.])
)
AX_LIB_EV

Commenting all these lines out (AX_LIB_EV also throws an error) fixes the problem only for the moment (and at the other 2 or 3 places), but later compilation fails "somewhere in the pthread area", so I stopped digging deeper here. I guess the configure script needs to be fixed, or whatever comes out of autoreconf -i seems to be incorrect, also having to run it twice is somehow suspicious.

Solved with autoconf update.

i fixed this with sudo apt install autoconf-archive


fix caching module to allow for abitrary named ontology modules

currently for determining the allowed subject and object classes for a given predicate the caching module imports all models from apis_ontology.models. If this import fails the module cant find any allowed classes and raises an error.

I am working on a PR that drops any use of caching alltogether


Spark SQL inline not supported

Dear dev-team,
I stumpled upon inline returning multiple columns, however dplyr/sparklyr syntax does not seem to support something like this. Take for instance the following minimal example:
> df
# Source:   table<df> [?? x 4]
# Database: spark_connection
       x     y     g     w
   <int> <int> <dbl> <dbl>
 1     2     2     1     1
 2     1     4     1     1
 3     3     4     1     1
 4     3     2     2     1
 5     3     3     2     1
 6     2     3     2     1
 7     1     3     3     1
 8     4     4     3     1
 9     1     3     3     1
10     3     2     3     1

This should be something like the identity function (with "col1" and "col2" as new column names), however it fails.
> df %>% group_by(g) %>% summarize(xy = collect_list(struct(x, y))) %>% mutate(inline(xy))
Error: org.apache.spark.sql.AnalysisException: The number of aliases supplied in the AS clause does not match the number of columns output by the UDTF expected 2 aliases but got inline(xy) ;

Is there a way to use inline sql function within sparklyr?
best regards,
Stephan

@schlichtanders dplyr supports pass-through functions that become SQL functions if no r-function overrides them, so for instsance df %>% select(inlin(g)) would become SELECT inline(g) FROM df, is this what you mean?

that sounds really good!, thank you a lot


Nature builder (balancing)

Buff Bug
a) Geminate Attack - reduce cooldown for Big Bug to 5:
b) Geminate Attack -  reduce cooldown for Very Big Bug to 3.

Iron bear - reduce gold cost from 210 to 180

Shroom - increase gold cost from 230 to 250

done

ty


mstatus.mie reset when hitting breakpoint

I'm currently evaluating PULPissimo platform with Ibex core and I encountered some strange behaviour with interrupts. It seems that after hitting breakpoint mie in mstatus register is reset to 0.
Here is my setup:

PULPissimo with Ibex core and pulp-platform/riscv-dbg as debug core,
ZedBoard (Xilinx Zynq, master version of all cores) and Terasic DE10-Nano (Altera Cyclone-V, with modifications to make the code compatible with Quartus),
Digilent HS2 JTAG programmer,
OpenOCD compiled basing on instructions from PULPissimo,
pulp-platform/pulp-riscv-gnu-toolchain.

OpenOCD config and log as well as gdb log (including issued commands) can be found here.
Code:
#include <stdint.h>

int main() {
  register int mstatus_mie = (1<<3); // mstatus.mie
  asm volatile ("csrw 0x300, %0" :: "r" (mstatus_mie) );

  uint32_t mstatus[3];
  asm volatile ("csrr %0, 0x300" : "=r" (mstatus[0]));
  asm volatile ("nop");  // First breakpoint

  asm volatile ("csrr %0, 0x300" : "=r" (mstatus[1]));
  asm volatile ("nop");  // Second breakpoint

  asm volatile ("csrw 0x300, %0" :: "r" (mstatus_mie) );
  asm volatile ("csrr %0, 0x300" : "=r" (mstatus[2]));
  asm volatile ("nop");  // Third breakpoint

  return 0;
}

What the code does is set mie flag in mstatus register (0x300) and store it in mstatus[0], then after hitting breakpoint read it to mstatus[1] and to confirm, mstatus register is written again and result stored in mstatus[2].
Basically after sending x/3x mstatus gdb returns: 0x00001808	0x00001800	0x00001808, so in mstatus[0] and mstatus[2] mie flag is set, whereas in mstatus[1] it is not set, although, to my understanding, it should be recovered after going out of debug mode.
Is it expected behaviour? If not what can I do to further test it?

Thanks @MarekPikula for opening this issue. I will look into it later today.

Hi @MarekPikula ,
I had a look into your issue. mstatus.MIE is actually not modified when entering debug mode and thus also does not need to be recovered when leaving debug mode.
It is not clear to me, why in your case MIE is set to 0 anyway. In theory, this could be caused both by hardware or software. The hardware sets MIE to 0 either when

executing an exception. In this case, it also modifies mtval, mepc and mcause. But most importantly, it would set mstatus.MPIE to hold the old value of MIE. This is not the case here. The corresponding bit (bit 7 of mstatus) is always 0.
executing an mret instruction. In this case, MIE just gets overwritten by MPIE, which is 0 (depending on the version of the sources, we recently changed it). However, I don't know why the core should execute an mret instruction here.

Thus, I more suspect that once in debug mode, the core executes a CSR write instruction that clears MIE in software. Would that be possible?
Other possible but unlikely hardware causes:

dcsr.EBREAKM is not set in which case the controller would not enter debug mode but just trigger a breakpoint exception. This deasserts mstatus.MIE but would not make the core connect to OpenOCD. This would actually also change MPIE. But maybe you can check dcsr?
The core gets another exception after entering debug mode which deasserts mstatus.MIE but which is not properly handled (no MRET, i.e. mstatus.MIE is not restored). I don't think that would work either and you could get some info on this from mret, mtval etc.

Anyway, what would really help is if you could reproduce the problem in simulation and send me the waves as VCD. I also would need to know the exact commit of Ibex you are at. We recently had a couple of changes in the controller and CSR files and I would like to make sure that I am looking at the right sources.
Best,
Pirmin

Here is the debug_rom.S for reference.
It doesn't modify mstatus for sure.
Today I rechecked with master on ZedBoard, because I noticed version I tested had some small modifications, but still it produces the same result.
Unfortunately I don't have a license for QuestaSim, which would allow to make the whole PULPissimo simulation with OpenOCD connection, but I could send you waveforms from Quartus SignalTap. Let me know which signals should I tap into for your best convenience.
For Xilinx I'm at pulpissimo master, so I'm at 13313952cd50ff04489f6cf3dba9ba05c2011a8b.  For Intel I'm based on 2a947c5e7fa79ea951dabcf68a566cd147d853a3 with changes from #336 and merged into pulpissimo branch.

Thanks @MarekPikula for getting back and providing more details. I was looking at the same sources. I guess we have to get into Quartus SignalTap and Vivado ILA then.
We basically need:

the instruction in the decoder
the state of the controller
the signals making the controller jump into FLUSH state
the signals making the controller do what it does in the FLUSH state
mstatus.MIE, mstatus.MPIE

Today I made some investigation. I assembled SignalTap to your request and added some additional signals like different PCs. It seems that correctly MIE is moved to MPIE on debug request.
MPIE is being reset on illegal_insn fetched from 0x1A110300, which happens to be whereto in DM (here you can find address mapping within the DM). whereto is used by DM to point the core to the next address, so it's always jal instruction (source here). From what I can see it wants to jump to address 0x1A114360, which is within DM's address space (0x1A11????), but not pointing to anything, thus reading 0x0 instruction, which is indeed illegal instruction.
Tomorrow I'll investigate further with the debug core, but I presume it's a debug core issue rather than ibex'.
Thanks for pointing me in the right direction.

Thanks @MarekPikula for getting back and providing more insight. Really interesting! I am wondering, what does the illegal instruction handler do?

Ok, more or less I've got it figured out. For the out-of-range 0x1A114360 jump address it was just my error due to some changes in riscv-dbg to make it work with Quartus. Either way it didn't really matter if it was 0x4360 or 0x0360, because either way DM takes only 12 lower bits from address for internal decoding.
So whereto was pointing to 0x1A110360, which happens to be Program Buffer. The instruction, which generates illegal_insn is fence.i, which according to code in ibex_decoder.sv is not supported and correctly generates illegal instruction.
The problem is that this instruction is neither from debug_rom.S nor is generated anywhere in debug module and is sent to Program Buffer from computer (traced to dmi_req in dm_csrs.sv). I'll make some further investigation into this what is the specific origin of this instruction later.
From what I can see implementing Zifencei extension for Ibex wouldn't be that problematic, but I don't have too much time for this right now, so maybe shall I or you open an issue with a request to implement it?
Either way it's definitely not nice of gdb to issue an instruction without knowing if it's supported, but from what I can see availability of Zifencei isn't communicated anywhere in CSRs.

Thanks for the investigation Marek. I think openocd will generate fence.i in a number of cases, which is probably good motivation to at least handle fence.i as a nop.

From what I understand Zifencei wouldn't be that hard to implement – it would be just flushing instruction prefetch buffer and pipeline, am I correct?

That would be better. I wasn't thinking about the need to handle the prefetch buffer, should have given it more thought.

Indeed we'd want the prefetch buffer flush. Plain FENCE is currently implemented as a nop (which I think is correct, but haven't given the matter much thought).
Should be fairly simple, already got other things that need to flush the buffer so not much to do.

I'd be happy to add an implementation, I'll open an issue to track the work

Here's an interesting point about fencing: riscv/riscv-openocd#315.

Can you look at the issue I submitted on OpenOCD (riscv/riscv-openocd#415)? Supposedly:

The spec says in the Debug Mode section: "Exceptions don’t update any registers. That includes cause, epc, tval, dpc, and mstatus.
They do end execution of the Program Buffer."

@imphil it indeed works when hartid=0. Until now I used Ibex with hartid=0x20, as it is supposedly advised not to use hartids below 32 for current riscv-dbg. Now I started testing if it's really the case and indeed after connecting with OpenOCD I've got:

Error: Failed to execute fence.i

I'm guessing something is goofed in OpenOCD, possibly connected with riscv/riscv-openocd#359.
Either way, for now I'm making fence.i a nop waiting for #391.

I just realised how much easier it would be if I had this message in the first place :man_facepalming:

Ok to to summarize:

Something breaks when you use hartid=0x20?
OpenOCD does indeed test if fence.i is supported but if it isn't you get an error?

So we do want fence.i support and should also look into why 1. is hapenning?

Nothing breaks if hartid=0x20 in Ibex. The only thing that is unreliable is OpenOCD, which doesn't report fence.i fail, although the core itself reports command error.
If it isn't supported I've got an error and debugging stack is pretty much unusable. I've been testing it under Eclipse and it was not possible to debug anything, as OpenOCD didn't want to cooperate after this error.

I have discovered the ebreak instruction is also broken when using debug mode, given the PULP RISCV debug module uses this in various places I suspect this totally breaks any debug setup that uses it. I've opened an issue to track this here: https://github.com/lowRISC/ibex/issues/393 will hopefully have a PR with a fix Monday.
FENCE.I implementation may not be required, potentially still something that would be useful to add though.

I think the original problem here is solved. There are some follow-up tasks tracked in separate issues:

Exceptions in debug mode should not have an effect on mstatus and some other CSRs: lowRISC/ibex#168
Add support for FENCE.I in Ibex: lowRISC/ibex#391
OpenOCD should test if a hard actually has support for FENCE.I an not issue it if not: riscv/riscv-openocd#415
OpenOCD does not like non-contiguous hartids and the first hartid shoud be 0: riscv/riscv-openocd#359. Because of this problem, the PULP team recommends to use a patched version of OpenOCD for PULPissimo, see here: https://github.com/pulp-platform/pulpissimo/blob/master/README.md#GDB-and-OpenOCD

I suggest to close this issue. WDYT?

The patched version of OpenOCD does nothing more than rise maximum number of harts to 1024, so it doesn't really solve the issue. The patched version doesn't report missing fence.i for harts greater than 0.


Nextcloud Apps

Is your feature request related to a problem? Please describe.
I would like to know which Nextcloud app is newly created or updated without manually checking
https://apps.nextcloud.com/?order_by=last_release&ordering=desc
Describe the solution you'd like
A plugin with gives me a list of apps would be fine to to have an eye on it.
Describe alternatives you've considered
Maybe they can build in an rss feed into the website it self.
Additional context
Something like the F-Droid plugin or similiar.

They have their feed right here:
-https://apps.nextcloud.com/en/feeds/releases.rss
-https://apps.nextcloud.com/en/feeds/releases.atom


Latest build is broken

Getting the following error when trying to use the latest Docker build
2024-04-19 15:17:19 Traceback (most recent call last):
2024-04-19 15:17:19   File "/picobrew_pico/server.py", line 1, in <module>
2024-04-19 15:17:19     from app import create_app, socketio
2024-04-19 15:17:19   File "/picobrew_pico/app/__init__.py", line 1, in <module>
2024-04-19 15:17:19     from flask import Flask
2024-04-19 15:17:19   File "/usr/local/lib/python3.10/site-packages/flask/__init__.py", line 7, in <module>
2024-04-19 15:17:19     from .app import Flask as Flask
2024-04-19 15:17:19   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 27, in <module>
2024-04-19 15:17:19     from . import cli
2024-04-19 15:17:19   File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 17, in <module>
2024-04-19 15:17:19     from .helpers import get_debug_flag
2024-04-19 15:17:19   File "/usr/local/lib/python3.10/site-packages/flask/helpers.py", line 14, in <module>
2024-04-19 15:17:19     from werkzeug.urls import url_quote
2024-04-19 15:17:19 ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/site-packages/werkzeug/urls.py)

I’m not running on docker, but after some brief searching, looks like werkzeug version is incompatible with flask. I suspect werkzeug 3.0 is being used whereas flask is 2.x (requirements.txt show flask==2.1.2) has known incompatibity with werkzeug 3.0. Could try using  a werkzeug 2.x version. Just a guess here after brief search.

Probably.. I'll try to update the dependencies at some point.. with three toddlers, my time for extracurricular activities is non existent

Maybe someone can PR some Uber fast obfuscated binaries to help 🤣

I hear you on time. I’m on the other end of the spectrum - old dog learning new tricks here. Think we could add werkzeug==2.3.7 to requirements.txt? Or just werkzeug >=2.3, <3.0 to requirements.txt?

Yeah.. I'll take a look tonight

just pushed updated requirements to latest.. took me a hot minute to connect my pico but everything seemed to work, let me know if this fixes it

werkzeug isn't in requirements, but on my box in both wsl2 (jammy) & w11 i had Werkzeug==3.0.2

Just an FYI here… With the update in requirements.txt on bleak to 0.21.1  Python 3.7 is broken. Looks like bleak dropped support for Python 3.7 with 0.21.0. The @tmack8001  image (ps_server_stable_beta6.zip) that many use out of the box won’t start on pi boot but can be invoked from the command line. Since bleak isn’t working I suspect tilts will have an issue.

Just an FYI here… With the update in requirements.txt on bleak to 0.21.1 Python 3.7 is broken. Looks like bleak dropped support for Python 3.7 with 0.21.0. The @tmack8001 image (ps_server_stable_beta6.zip) that many use out of the box won’t start on pi boot but can be invoked from the command line. Since bleak isn’t working I suspect tilts will have an issue.

forgot about 3.7 🤦♂

Given that python 3.7 was EOLed last year, 2023, we should drop support for it and upgrade everything over to 3.8 or even better 3.11+

Given that python 3.7 was EOLed last year, 2023, we should drop support for it and upgrade everything over to 3.8 or even better 3.11+

a few commits, and its building across all versions again, but there are security vulnerabilities.  we should do that though


PR Updates link as registered in issue #11407

Description
In the intune installation section:

To configure devices with Microsoft Intune, use a custom policy:
Go to the Microsoft Intune admin center

The URL is wrong.
It should have been https://intune.microsoft.com/ instead of https://intune.micorsoft.com/
Notice the spelling of Microsoft.
Why
Explained above

Closes #11407

Changes
URL as mentioned above.

@anubhav4sachan thank you, I already updated it as part of another PR.


CIF-865 - Exception in error log when selecting virtual product tree root

Description
When a virtual product tree root is selected in the products console an exception is logged in the error log.
Similar exception is logged also when we open the properties of the virtual product tree root.
This PR provides a workaround for the AEM issue in FolderThumbnailServlet which fails when generating a thumbnail for virtual product tree root.
Related Issue
CIF-865
How Has This Been Tested?

manually
added unit test

Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes and the overall coverage did not decrease.
[X] All unit tests pass on CircleCi.
[X] I ran all tests locally and they pass.

Guys, could you take a look at this PR, please?

Thank you guys. I will merge this now and add more info on possible solutions in the issue tracker.


[18.03] backport authz buffer fix

When the authz response buffer limit is hit, perform a flush.
This prevents excessive buffer sizes, especially on large responses
(e.g. /containers//archive or /containers//export).
Backports moby/moby#36595 @ 74f8e47352e71aad4015d8d9dea8f16e7a055863
Which is a fix for https://github.com/moby/moby/issues/36576
git cherry-pick -x -s -Xsubtree=components/engine 74f8e47352e71aad4015d8d9dea8f16e7a055863

https://github.com/docker/docker-ce/pull/513 backports https://github.com/moby/moby/pull/36507

rebased to get the gotestyourself changes in


[#3930] add to websocketHandlerDecoratorFactory for wapping webSocket…

Codecov Report

Merging #3931 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #3931      +/-   ##
==========================================
- Coverage   40.69%   40.68%   -0.02%
==========================================
  Files        2202     2203       +1
  Lines       71474    71477       +3
  Branches     9846     9846
==========================================
- Hits        29088    29078      -10
- Misses      39630    39642      +12
- Partials     2756     2757       +1

Impacted Files
Coverage Δ

...navercorp/pinpoint/web/config/WebSocketConfig.java
0% <0%> (ø)
:arrow_up:

...ocket/DefaultWebSocketHandlerDecoratorFactory.java
0% <0%> (ø)

...p/pinpoint/rpc/client/WriteFailFutureListener.java
56.25% <0%> (-18.75%)
:arrow_down:

...m/navercorp/pinpoint/test/OrderedSpanRecorder.java
70.19% <0%> (-3.85%)
:arrow_down:

...ofiler/sender/StandbySpanStreamDataSendWorker.java
80.59% <0%> (-2.99%)
:arrow_down:

...navercorp/pinpoint/rpc/common/SocketStateCode.java
82.92% <0%> (-2.44%)
:arrow_down:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
61.7% <0%> (-2.13%)
:arrow_down:

...java/com/navercorp/pinpoint/rpc/DefaultFuture.java
72.5% <0%> (-1.67%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.51% <0%> (-0.7%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
71.06% <0%> (-0.33%)
:arrow_down:

... and 4 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 4abf4be...982ba4f. Read the comment docs.


python3Packages.flask-migrate: 4.0.4 -> 4.0.5

Description of changes
Changelog: https://github.com/miguelgrinberg/Flask-Migrate/blob/main/CHANGES.md

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 255901 run on x86_64-linux 1

9 packages built:

pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist
powerdns-admin
python310Packages.flask-migrate
python310Packages.flask-migrate.dist
python311Packages.flask-migrate
python311Packages.flask-migrate.dist


Optimizing imports in a Kotlin class removes android imports

Not sure if this is the correct place to create this issue, feel free to ask me to move it if needed.
When optimixing imports in an android kotlin class, any android specific libraries are removed as if they are unused. A simple way to test this is to:

Open a Flutter project
Go to MainActivity.kt
Optimize imports
See that the import for android.os.Bundle is removed, even though it is being used

This can be done accidentily by making a change to MainActivity.kt, and then commiting via the Android Studio commit dialog with the 'Optimize imports' option checked.
I've checked this on Android Studio 3.4.1, using Flutter version
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.4 18E2035,     locale en-GB)
P.S. This may also affect java classes, though I haven't tested it

Does the app crashes when you run it?

Yes, if you attempt to build the APK without this import it will fail.
I presume this would be the same for any android class that is missing a required import

Closing since this is no longer reproducible with the latest version of Android Studio 4.0.1.

flutter doctor -v
[√] Flutter (Channel master, 1.21.0-8.0.pre.176, on Microsoft Windows [Version 10.0.19041.388], locale en-US)
    • Flutter version 1.21.0-8.0.pre.176 at C:\Development\flutter_master
    • Framework revision d9637ed784 (3 hours ago), 2020-08-11 23:51:03 -0400
    • Engine revision 6381b1511b
    • Dart version 2.10.0 (build 2.10.0-11.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30320.27
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (4 available)
    • SM G950F (mobile) • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • Windows (desktop) • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.388]
    • Web Server (web)  • web-server         • web-javascript • Flutter Tools
    • Chrome (web)      • chrome             • web-javascript • Google Chrome 84.0.4147.105

• No issues found!


WIP: PixyCam

The PixyCam line follow seemed to be successful on Frankie, so the following need to be completed for it to work on Apollo

[ ] Adjust camera settings to highly detect only the gaffers tape. This can be done directly on the Pixy using PixyMon. Also in the arduino side, there's a commented out line of code that sets the Pixy up to detect white lines.

[ ] Figure out Pixy mounting situation. The Pixy needs to be in an angled bracket of some kind in the middle of the robot. A CAD for this should be made soon.

[ ] Adjust constant values for Apollo. Currently, they are only 3 numbers that we will have to adjust for this to work on Apollo. 1.) The error threshold constant 2.) Normal driving velocity 3.) Correctional velocity

We can remove them when we go to test the actual bot

for future reference, if you keep all of those changes in a separate commit, then you can just revert one commit as opposed to cherrypicking the changes. just an FYI

Doesn't seem like this is going to be used this year; a good starting point for future implementation


Warn not to delete all Weave Net pods

Fixes #2719

Documentation changes:
modified kube-addon

Documentation changes:
modified kube-addon

Documentation changes:
modified kube-addon


Fix double count of EC-numbers

This PR provides a fix for #5. I've also updated the default SwissProt-URL to be using the mirror in Switzerland, which provides way faster downloads than the one we we're previously using.
Before:

After:

@ninewise Alright, thx! I'll fix my commit history tomorrow, and I will change the URL to http://ftp.expasy.org/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.xml.gz. I did not know that ftp is blocked on the HPC, but that's very good to know for the future.


write constructor from raw data

segment(const rawCompressedSegment*);

According to the definition of a rawCompressedSegment, it seems to contain a whole region (i.e. up to 16x16x16 segments) instead of a single segment, I'm not sure what this function is supposed to do.


Disable versioning checkbox after bucket creation

Fixes: https://github.com/aquarist-labs/s3gw/issues/672
References:

https://github.com/aquarist-labs/s3gw/issues/534
https://github.com/aquarist-labs/s3gw/pull/497

Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[x] CHANGELOG.md has been updated should there be relevant changes in this PR

The backend-types check failure has nothing to do with this PR, so this will be ignored and NOT fixed. Don't know how this happens, but the last commit to main was successful and did not show this behaviour.


Ie11 fix

Towards #585
@kgrgreer and @adamvy PTAL. We have clients that need IE11 support. Some of these fixes are non-template-string usage of ES6/ES2015 features. Isn't our policy not to use such features? We may need a PSA.

On Aug 3, 2017 1:35 PM, "adamvy"<EMAIL_ADDRESS>wrote:
@adamvy commented on this pull request.
In src/foam/core/lib.js
https://github.com/foam-framework/foam2/pull/586#discussion_r131209989:

@@ -70,6 +70,19 @@ foam.assert = function assert(cond) {
};

+foam.getMethodName = (function named() {}).name === 'named' ?
I think this should be part of the foam.Function library.
What if we move this to the stop of stdlib.js and define
foam.LIB({
name: 'foam.Function',
methods: [ { name: 'getName', code: ... } ]
});
The trouble with that is that foam.LIB needs it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/586#pullrequestreview-54167491,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABsWSGtWeNMCQRRx1KYmaBRE3rtfBlmYks5sUgTXgaJpZM4Ospip
.

Mark Dittmer<EMAIL_ADDRESS>writes:

The trouble with that is that foam.LIB needs it.

foam.LIB only needs it when defining methods in the short form.  The
long form takes the name from the plain map, as per my example.

I see what you mean.
On Aug 3, 2017 4:37 PM, "adamvy"<EMAIL_ADDRESS>wrote:

Mark Dittmer<EMAIL_ADDRESS>writes:

The trouble with that is that foam.LIB needs it.

foam.LIB only needs it when defining methods in the short form. The
long form takes the name from the plain map, as per my example.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/586#issuecomment-320083232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABsWSKEcgVMvVRSaDA68xplFoFmUkX4yks5sUi-WgaJpZM4Ospip
.

If there's no other comments here I'll merge this so we can update the users seeing the compatibility issues.

@jacksonic please merge this so we can ship to those users. @kgrgreer PTAL and LMK if we should have a PSA about features we do and don't use. Perhaps we should have a doc for that too?


Shared Image Gallery Definition Failure

Hi Walid,
I came across a condition where the else throw statement in Get-SHRLatestImageVersion.ps1 causes the function to fail. In my case I want to provide only an image definition in my build parameters and not a specific version as in your example.
$imageReference.id = /subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Compute/galleries/<galleryname>/images/<imageDefinitionName>

I'm providing a valid input but it doesn't match the $imageVersionResourceIdPattern. The function fails at the throw, but by simply removing this else block I'm able to build from the gallery without issue.
        if ($ImageReference.Id -match $imageVersionResourceIdPattern ) {
            Write-PSFMessage -Level Host -Message 'Image reference is an Image Version resource.'
            $imageVersion = Get-AzGalleryImageVersion -ResourceId $ImageReference.Id
            $azImageVersion = $imageVersion.Name
            $azImageDate = $imageVersion.PublishingProfile.PublishedDate
            Write-PSFMessage -Level Host -Message "Image version is {0} and date is {1}" -StringValues $azImageVersion, $azImageDate.ToString('o')
        }
        #else {
        #    throw "Image reference Id does not match expected format for an Image Definition resource."
       # }

I'd assume the other final else throw block should be sufficient for error handling?
    else {
        throw "Image reference does not contain a publisher or Id property. ImageReference, publisher, and Id are case sensitive!!"
    }

This was fixed with the pattern update you made, right?

The PR only addressed the custom App Plan feature and fixed the Regex, I didn't want to remove the 'else throw' block without flagging it here to you first.
I'd suggest we simply remove the 'else throw' block entirely from the Get-SHRLatestImageVersion.ps1 at lines 81-83 or we need to duplicate the entire blocks above which seems a little redundant and uses an additional parameter to differentiate between Shared Image Gallery Types.
$ImageReference.Version
$imageRererence.Id

See https://github.com/WillyMoselhy/AVDReplacementPlans/pull/33

This was resolved in the downscaling host pool release.


Update Deployment section for production-grade installation steps in README.md

Done the changes in readme.md


add NTP daemon to image

not currently included and would be useful :)

I've noticed (several times now, grr) that if the system clock is set to 1970 then opam install will block forever -- I believe it will download ocamlfind, unpack it with timestamps from 2015, build an object file with timestamp in 1970, ocamlbuild (or make, not sure) will conclude that the object file is 45 years old and rebuild it, again and again.
Even without an ntp daemon, a one-shot sync to pool.ntp.org would make life a lot better.

@heidi-ann -- could you take a shot at a pull request to add this?  It should be a case of adding the right ntp daemon to the apt-get install list in the scripts here, and the builder will pick it up.

Another problem when this happens is that a log-file is generated which can fill the SD-card if left running too long. Should be straightforward to add ntp I think. This is the script that installs the other packages.

I don't have access to a cubie until tus, but i'll take a look then

Can also help fixing:
$ git clone https://github.com/samoht/mirage-seal.git
Cloning into 'mirage-seal'...
fatal: unable to access 'https://github.com/samoht/mirage-seal.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

(which was fixed by sudo ntpdate -s time.nist.gov)

The recent refresh installs and starts chronyd to handle NTP so hopefully this is no longer an issue. Closing...


Create a proper error for using vanilla jax transforms

Codecov Report

Merging #1456 (d068200) into main (0208584) will decrease coverage by 0.00%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main    #1456      +/-   ##
==========================================
- Coverage   82.26%   82.25%   -0.01%
==========================================
  Files          65       65
  Lines        5351     5355       +4
==========================================
+ Hits         4402     4405       +3
- Misses        949      950       +1

Impacted Files
Coverage Δ

flax/core/tracers.py
84.61% <50.00%> (+1.28%)
:arrow_up:

flax/errors.py
87.09% <66.66%> (-1.04%)
:arrow_down:

Continue to review full report at Codecov.

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


i made a windows version for this

Due to different requirements, a separate webui version was created
https://github.com/sdbds/audiocraft-webui
Please let me know if there are any problems that need improvement.

I already used in this windows with this workflow. it works on windows already as it is - i mean main repo
https://youtu.be/v-YpvPkhdO4

I already used in this windows with this workflow. it works on windows already as it is - i mean main repo
https://youtu.be/v-YpvPkhdO4

This is a one-click installation version, no need to manually enter any commands.

I already used in this windows with this workflow. it works on windows already as it is - i mean main repo
https://youtu.be/v-YpvPkhdO4

#7 and this version no triton error.

Any speed difference with the manual install ?

Any speed difference with the manual install ?

i can make a more faster version for using torch 2.1 and cu121，but I can't guarantee it will be more stable.

You can give a choice to user to choose between torch 2.0.1 with cu118 and 2.1dev with cu121. It would also make sense to compile xformers during the install process.

You can give a choice to user to choose between torch 2.0.1 with cu118 and 2.1dev with cu121. It would also make sense to compile xformers during the install process.

ok,i will add 2.1dev

You can give a choice to user to choose between torch 2.0.1 with cu118 and 2.1dev with cu121. It would also make sense to compile xformers during the install process.

i had used to add 2.1dev ,but xformers 0.0.21dev dont made from torch2.1dev,so it will show some error even it works well


[FIX] Update text to reflect that BackgroundSuppressionPulseTime is recommended

regarding Issue: Background suppression timing for ASL #1842
I've changed 'required' to 'recommended' and slightly reworded the sentence.
Michael

We have two approvals and it's been 5 days (not that the 5-day embargo is required for small bug fixes like this). I'm going to merge now.


Update spokewrench installation

Like mentioned in BackBLAST PR 65, update the install of spokewrench so that curated conda channels are not required. I updated both the spokewrench environment file and the GitHub Actions workflow to remove the "defaults" channel. End-to-end tests pass successfully on Mac when spokewrench is installed without the "defaults" channel. Automated installation tests (via GitHub Actions) are passing on both Mac and Ubuntu. @LeeBergstrand Would you mind giving your review? Thanks!

Thanks! Merging.


range operator semantics is not clear if left > right

The current specification has this:
The set contains all values numerically between the
first and the second, inclusively.

and an example of 4w5 .. 4w8 but it does mention the semantics of what 4w8 .. 4w5 would be?
Is it an empty set or the "anti" set of 4w6 .. 4w7 that is the set that does not contain 4w6 or 4w7 but contains the two sets 4w0..4w5 and 4w0x8..4w0xff?

Or should the set 4w8 .. 4w5 be an error?

If we base it on the constant folding part of p4c, it is the empty set.
        if (left->to<IR::Constant>()->value <= cst->value &&
            right->to<IR::Constant>()->value >= cst->value)
            return Result::Yes;

I don't think anything is amiss here, though we could add some text to avoid the way you got tripped up -- i.e., what "inclusive" means in the case where the left value is greater than the right.
The notation for ranges is borrowing conventions from the mathematical notion of an interval. Note that the [Wikipedia Article](https://en.wikipedia.org/wiki/Interval_(mathematics) explicitly calls out a .. b notation (e.g., from Pascal) as an instance.
In this context, the term "inclusive" is usually taken to mean that the interval is closed -- i.e., it includes its end points. In math, this is often written [a,b] instead of (a,b) for an open interval.
However, if a < b then [b,a] = (b,a) = [b,a) = (b,a] = {}. That is, an interval is empty whenever the left value is greater than the right.

An empty range like 5..4 does seem like a situation where some P4 developers might prefer the option to get a warning if that occurred in their code, since it seems at least somewhat likely to be a bug (although not guaranteed to be a bug, e.g. if they did it intentionally with a range like FOO..4 where FOO is a constant that is sometimes intentionally used to cause an empty range in some compile runs, but a non-empty range in others).
Agreed that it seems reasonable for the language to explicitly allow it and define it as an empty range that contains no elements, and if used in a select expression, would never be selected.


Add Nosto support

What is the motivation for adding / enhancing this feature?

Add Nosto Product recommendations support thru their JavaScript API:
https://developer.nosto.com/
What are the acceptance criteria

NostoRecommendations component added as a VS Module
NostoRecommendations component used on Category and Product page

Info from Nosto folks (let me know if You'd like to be connected):

In terms of Vue Storefront, we have discussed this internally and it seems that with our GraphQL setup we can implement with quite a little friction anyway. Here are our docs - https://github.com/Nosto/techdocs/wiki/VueJS
. You can access a Nosto dev/sandbox account by following the link you have been sent. Select the "test/dev" account option when prompted and you will be able to play around with Nosto linked to a test side.
If you need an API key, you can request one via the chat support in the Nosto dashboard. Just mention you are testing PWA and would like access to GraphQL :D
Please let me know if you have any questions, if we have a customer in mind we can certainly organise a call around the scope of the project as well.

this is connected to #363 (and possibly a duplicate)


ASYNC libs with firebase

How to use firebase lib with ESPAsyncWebServer https://github.com/me-no-dev/ESPAsyncWebServer
ESPAsyncTCP https://github.com/me-no-dev/ESPAsyncTCP
I cant reach web server when firebase streaming.

HI, just wanted to know if it will be possible to use the mentioned ASYNC library mentioned in the previous comment, https://github.com/me-no-dev/ESPAsyncTCP with this library? i've already used it in my project, so i guess it is a requirement for me rather than a choice.


pip install for microsoft-kiota-authentication-azure fails with python 3.11 on M1 Mac

Attempting to use Kiota on M1 Mac (Ventura) and Python 3.11 installed from homebrew.
The pip install for microsoft-kiota-authentication-azure fails:
>python3.11 -m pip install microsoft-kiota-authentication-azure
Collecting microsoft-kiota-authentication-azure
  Using cached microsoft_kiota_authentication_azure-0.1.0-py2.py3-none-any.whl (5.6 kB)
Collecting aiohttp==3.8.1
  Using cached aiohttp-3.8.1.tar.gz (7.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting azure-core==1.21.1
  Using cached azure_core-1.21.1-py2.py3-none-any.whl (178 kB)
Collecting microsoft-kiota-abstractions==0.1.0
  Using cached microsoft_kiota_abstractions-0.1.0-py2.py3-none-any.whl (30 kB)

....

Building wheels for collected packages: aiohttp
  Building wheel for aiohttp (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for aiohttp (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [109 lines of output]
      Error in sitecustomize; set PYTHONVERBOSE for traceback:
      AssertionError:
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build

....

      running build_ext
      building 'aiohttp._websocket' extension
      creating build/temp.macosx-13-arm64-cpython-311
      creating build/temp.macosx-13-arm64-cpython-311/aiohttp
      clang -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk<EMAIL_ADDRESS>-c aiohttp/_websocket.c -o build/temp.macosx-13-arm64-cpython-311/aiohttp/_websocket.o
      aiohttp/_websocket.c:198:12: fatal error: 'longintrepr.h' file not found
        #include "longintrepr.h"
                 ^~~~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for aiohttp
Failed to build aiohttp
ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects

Hi, @mikekistler. Thank you for reporting this issue. The installation error is caused by one of azure-core's dependencies aiohttp version 3.81 which had compatibility issues with python 3.11. We have updated our dependencies to use the latest version of aiohttp which should fix the above issue. Upgrade to version 1.1 and let us know if the issue persists.

Thank you for the quick response @samwelkanda! Version 0.1.1 does indeed fix this issue.


invalid group reference

The code
"param\\1"   : "value"
causes:
Error: 'invalid group reference 1 at position 12'!
Seems that the parameter name is interpreted as regular expression directly.
Please check for unwanted side effects.
Finally this should cause an "invalid parameter name" error.

Retest successful.
Error message now is: Error: 'Invalid key name detected: '"param\\1"'.
Issue can be closed.


Strip out old agent

[ ] Remove all agent side code only used by the old agent
[ ] Make the scheduler start instead of the agent / remove the ability for the agent to start

Hey team! Please add your planning poker estimate with Zenhub @arnaudsjs @hlloreda @Hugo-Inmanta @jptrindade


Add streaming for GoogleCloudStorage

Add the ability to stream buckets. Also improve performance of the caching mechanism when creating or deleting bucket.

This change is

@chrsmith @ILMTitan PTAL

There was some issue with GitHub so I have to fake a commit to push my changes to this branch. I'll squash the commits when merging with master.

Thanks!


Bump NuGet client libraries and command-line tool

Fixes #3316. Note: NuGet.CommandLine v5.9.1 is still not available.

Unrelated build failure in Azure Pipelines - Build Cake Ubuntu:

##[error]Failed while installing version: 2.1.202 at path: /opt/hostedtoolcache/dotnet with error: Failed while extracting downloaded package with error: Error: The process '/bin/tar' failed with exit code 2

@gitfool your changes have been merged, thanks for your contribution :+1:


Support string arrays in Pinecone metadata

Support string arrays in Pinecone metadata
Since #415, PineconeStore automatically flattens metadata (all nested objects and arrays) when adding documents.
However Pinecone officially supports list of strings in metadata, so this PR will add support for string arrays in Pinecone metadata by not flattening them.
https://docs.pinecone.io/docs/metadata-filtering#supported-metadata-types

Hey @yujinakayama, thanks for this, and sorry for the delay! Going to go with #1518 which fixes the same issue without changing any tests but will give you a shoutout as well.


Frequent/Common Issues

This is a list of frequently reported issues and their status, checked boxes indicate the issue is resolved.

[x] Plant/Animal modules can be placed in the wrong machines
[x] Machines that require plant/animal modules to run may work when placed by certain kinds of robots/scripts
[ ] Crash when opening Py wiki

Please do not file new bugreports for the above issues.

How do I make it so that Plant/Animal modules cannot be placed in the wrong machines externally?

Seems like these are all fixed.


[LLVM] update to 12.0.1

Library name: LLVM
New version number: 12.0.1
Other information that may be useful (release notes, etc...)
https://github.com/llvm/llvm-project/releases/latest

@xavier2k6 ,Is this issue a port update or a tool update for LLVM?

tool update
FYI - There is no option/category for tool updates when creating an issue.

@xavier2k6 ,I duplicated this issue to issue #19568,let's update vcpkg-tools together in issue #19568,I temporarily close this issue


docs: create the model generation guide

Description

New guide explaining how to go about generating types using Modelina
In the introduction and the template development docs, I've added a note stating that if someone is only interested in types/model generation, they should use Modelina directly.
Updated CLI naming

Related issue(s)
Resolves https://github.com/asyncapi/generator/issues/1042

You will need to adjust narrative in the main document as the scope of #1042 was not a tutorial, but more of a guide that tells you what is needed and shows an example.

we do not need to mention https://github.com/derberg/python-mqtt-client-template. You can just add a note that the example you provide can be integrated in a template that one can create by following https://www.asyncapi.com/docs/tools/generator/generator-template
I think it is enough that first step of the guide just says that @asyncapi/modelina needs to be added to template dependencies as npm install --save @asyncapi/modelina because then it is automatically added to package.json
Model generation using the AsyncAPI CLI section can be removed as it is not adding anything new, template with or without modelina - generation is always the same. You can just link to https://www.asyncapi.com/docs/tools/generator/usage#generator-cli (btw we have error there as section should be called AsyncAPI CLI, and we should also have a link to https://www.asyncapi.com/docs/tools/cli there)
please remember about proper linking inside asyncapi.com with relative links and also consistent usage of upper/lower cases with names of tools

also, in your PR can you add between line 37 and 38 in https://github.com/asyncapi/generator/blob/master/.github/workflows/update-docs-in-website.yml#L37-L38 a line rm -r ./pages/docs/tools/generator to always have a clean and empty state of generator docs folder in website? Problem is that we now do not remove, and just add, so when we rename files like this https://github.com/asyncapi/generator/blob/master/docs/generator-template.md then we now get a duplicated tutorial in website

Hey @derberg, I have addressed all the feedback you left on this PR

@derberg this is ready for a second review

@Florence-Njeri please have a look at this comment with big modification - there was suppose to be much more content, not just finish with adding dependency 🤔
also do not forget about 👇🏼

please also update the title and description of PR - we do not merge tutorial with this PR

sorry @Florence-Njeri my comment was weirdly interpreted by GitHub commit suggestion
pasting the same comment below:

title: "Adding models generation in template"
weight: 200
This guide will walk you through the process of enabling models/types generation in a template by using Modelina.
Modelina is an AsyncAPI library designed for generating data models by utilizing inputs like AsyncAPI, OpenAPI, or JSON schema inputs. Its functionality revolves around creating data models from the provided AsyncAPI document and the model template, which defines message payloads. It is better to use Modelina in your template to handle model generation rather than providing custom templates.
You can integrate work shown in this guide in a template that you can create by following tutorial about creating a template.
In this guide, you'll learn how to use Modelina in a template code to enable support for Python data models generation.
Add Modelina dependency
Install Modelina in your project using npm: npm install --save @asyncapi/modelina.
Your template's package.json file should now contain Modelina pointing to its latest version:
"dependencies": {
   ...
   "@asyncapi/modelina": "^2.0.5"
   ...
 }

Create a models.js file
Create a new directory in the template directory named src/models and create a models.js file within it. In the models.js file, add the following code:
// 1
import { File } from '@asyncapi/generator-react-sdk';
// 2
import { PythonGenerator, FormatHelpers } from '@asyncapi/modelina';

/**
 * @typedef RenderArgument
 * @type {object}
 * @property {AsyncAPIDocument} asyncapi document object received from the generator.
 */

/**
 * Render all schema models
 * @param {RenderArgument} param0
 * @returns
 */
// 3
export default async function schemaRender({ asyncapi }) {
  // 4
  const pythonGenerator = new PythonGenerator();
  // 5
  const models = await pythonGenerator.generate(asyncapi);
  // 6
  const files = [];
  // 7
  for (const model of models) {
    // 8
    const modelFileName = `${FormatHelpers.toPascalCase(model.modelName)}.py`;
    // 9
    files.push(<File name={modelFileName}>{model.result}</File>);
  }
  return files;
}

Let's break it down. The code snippet above does the following:

The File component from the generator react SDK is needed to handle further rendering of generated models into files.
The PythonGenerator generator is a core that you need for models generation. Additionally you can import FormatHelpers that give you a set of helpers that make it easier to modify model names to match your required case.
You can change the name schemaRender to anything else like modelRenderer. More important is that this must be an async function and be a default export. This function is invoked during generation process and it should contain the logic behind models generation.
First you create an instance of the PythonGenerator model generator. If you decide to use present functionality from Modelina, you need to pass your presets here during instance creation.
Actual models generation is one line of code, and as a result you get an array of models that later you need to turn into files.
You need to define an array that must be returned from schemaRender function. The array must contain React components, and in this case <File> component.
Iterate over generated models and use their content to create proper definitions of <File> component.
Notice how using Modelina helpers, in this case toPascalCase function, you can make sure that the filename of your model follows specific case pattern.
Each component must be added to files array that you later return from the default function. Notice the definition of <File> component that enables you to provide the name of resulting file and the content of the model. Notice also model.result that shows that initially generated array with models did not contain raw models content but a set of output objects that contain not only result but also other info, like for example modelName.

With such model template that uses Modelina, as a result of generation process you would receive a set of model files in $OUTPUT_DIR/src/models directory.
Conclusion
Modelina provides a flexible and powerful way to generate data models from AsyncAPI, OpenAPI, or JSON Schema documents. By integrating Modelina you can much faster enable models generation in your template.

suggested restructure and rewrite:
- give more details
- follow guide not tutorial
- remove CLI as in this topic CLI is not relevant, especially that Generator can also be used as library and not only as tool integrated in AsyncAPI CLI

@Florence-Njeri I suck at grammar, so please after accepting the change, do a review and probably improvement

/rtm

/bounty


Freeze effect

Hi, I've created a freeze effect for your extension. I tested it only on Firefox with Tampermonkey, but it should work with other browsers.
edit: just tested it with chromium, it works as expected.

Sweet, thanks!


Fix comments and nullability in examples

Description
Fixed incorrect nullability checks in examples, and comments aswell.
Type of change
Please delete options that are not

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] Ran dart analyze or make analyze and fixed all issues
[x] Ran dart format --set-exit-if-changed -l 160 ./lib or make format and fixed all issues
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my changes haven't lowered code coverage

Change looks good, it'd be great if you would fix the other issues brought up by the checks if you have time :)

Done, though since i did it through the web ui theres lots of commits, squashing would work


Write guide to delete data in Kubernetes cluster

Related to https://github.com/united-manufacturing-hub/united-manufacturing-hub/issues/661
Sometimes it is necessary to delete data in the Kubernetes cluster. Unfortunately, this is not easy and might result in the persistent volumes not beeing recreated, etc.

Is this still relevant @JeremyTheocharis  ?


feat: add load method that returns a Promise

See #226 for context

Summary

Test plan

@theKashey could you review it please?

😍, welcome to the club


Set up the MEAN stack

Week 1 Goal

I'll get the node framework going

change priority to number 2.
created db instance for NFLstats on aws

added node

let me know if you need me to explain the structure to you

switched back to mongo
created db instance on mlab
ds021356.mlab.com


Resync pull request

Resync to latest structure

@cliffordwolf
@kdockser
@simon5656
Hi Clifford, Ken
I have synced my changes to Cliffords re-structure, could you please take a look at this pull request
Thx
Lee

LGTM. Merged.


demo运行失败  flutter run --debug --verbose

[   +2 ms] FAILURE: Build failed with an exception.
[   +1 ms] * Where:
[   +1 ms] Script 'D:\Program Files\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 780
[   +1 ms] * What went wrong:
[   +3 ms] Execution failed for task ':app:compileFlutterBuildDebug'.
[   +1 ms] > Process 'command 'D:\Program Files\flutter\bin\flutter.bat'' finished with non-zero exit value 1
[   +2 ms] * Try:
[   +2 ms] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[   +4 ms] * Get more help at https://help.gradle.org
[   +1 ms] BUILD FAILED in 3m 31s

请提供有意义的信息
只有一个exit value 1
不能说明为什么错了，错哪里了。

[   +2 ms] [ +129 ms] Initializing file store
[   +3 ms] [  +12 ms] Done initializing file store
[+1226 ms] [+1739 ms] kernel_snapshot: Starting due to {InvalidatedReason.inputChanged}
[   +2 ms] [  +15 ms] D:\Program Files\flutter\bin\cache\dart-sdk\bin\dart.exe D:\Program Files\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root D:\Program
Files\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --target=flutter -Ddart.developer.causal_async_stacks=true -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation
--no-link-platform --packages D:\workspace1\aspectd\example.packages --output-dill D:\workspace1\aspectd\example.dart_tool\flutter_build\c125647ee42b768ffbe33457bf2c9b57\app.dill --depfile
D:\workspace1\aspectd\example.dart_tool\flutter_build\c125647ee42b768ffbe33457bf2c9b57\kernel_snapshot.d package:example/main.dart
[+26698 ms] [+26666 ms] Persisting file store
[  +17 ms] [  +20 ms] Done persisting file store
[   +2 ms] [  +18 ms] "flutter assemble" took 28,714ms.
[   +5 ms] [   +2 ms] Target kernel_snapshot failed: Invalid argument(s): Cannot find executable for D:\Program Files\flutter\bin\cache\dart-sdk\bin\dart.bat.
[  +76 ms] build failed.
[  +13 ms] #0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
[   +3 ms] #1      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:183:7)
[   +1 ms]
[   +1 ms] #2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:615:18)
[   +5 ms]
[   +2 ms] #3      FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:515:33)
[   +2 ms]
[   +2 ms] #4      AppContext.run. (package:flutter_tools/src/base/context.dart:146:29)
[   +1 ms] #5      _rootRun (dart:async/zone.dart:1126:13)
[   +2 ms] #6      _CustomZone.run (dart:async/zone.dart:1023:19)
[   +4 ms] #7      _runZoned (dart:async/zone.dart:1518:10)
[   +2 ms] #8      runZoned (dart:async/zone.dart:1465:12)
[   +1 ms] #9      AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
[   +1 ms] #10     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:505:20)
[   +1 ms] #11     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
[   +3 ms] #12     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:413:21)
[   +7 ms]
[   +1 ms] #13     AppContext.run. (package:flutter_tools/src/base/context.dart:146:29)
[   +3 ms] #14     _rootRun (dart:async/zone.dart:1126:13)
[   +1 ms] #15     _CustomZone.run (dart:async/zone.dart:1023:19)
[   +4 ms] #16     _runZoned (dart:async/zone.dart:1518:10)
[   +2 ms] #17     runZoned (dart:async/zone.dart:1465:12)
[   +2 ms] #18     AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
[   +3 ms] #19     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:364:19)
[   +2 ms] #20     CommandRunner.run. (package:args/command_runner.dart:112:25)
[   +1 ms] #21     new Future.sync (dart:async/future.dart:224:31)
[   +7 ms] #22     CommandRunner.run (package:args/command_runner.dart:112:14)
[   +6 ms] #23     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:250:18)
[  +13 ms] #24     run.. (package:flutter_tools/runner.dart:63:22)
[   +5 ms] #25     _rootRun (dart:async/zone.dart:1126:13)
[  +12 ms] #26     _CustomZone.run (dart:async/zone.dart:1023:19)
[   +5 ms] #27     _runZoned (dart:async/zone.dart:1518:10)
[  +11 ms] #28     runZoned (dart:async/zone.dart:1502:12)
[   +6 ms] #29     run. (package:flutter_tools/runner.dart:61:18)
[  +11 ms]
[   +2 ms] #30     AppContext.run. (package:flutter_tools/src/base/context.dart:146:29)
[   +1 ms] #31     _rootRun (dart:async/zone.dart:1126:13)
[   +5 ms] #32     _CustomZone.run (dart:async/zone.dart:1023:19)
[   +3 ms] #33     _runZoned (dart:async/zone.dart:1518:10)
[   +2 ms] #34     runZoned (dart:async/zone.dart:1465:12)
[   +4 ms] #35     AppContext.run (package:flutter_tools/src/base/context.dart:145:18)
[   +1 ms] #36     runInContext (package:flutter_tools/src/context_runner.dart:64:24)
[   +2 ms] #37     run (package:flutter_tools/runner.dart:50:10)
[   +5 ms] #38     main (package:flutter_tools/executable.dart:65:9)
[   +1 ms] #39     main (file:///D:/Program%20Files/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
[   +1 ms] #40     _startIsolate. (dart:isolate-patch/isolate_patch.dart:305:32)
[   +5 ms] #41     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
[   +2 ms] > Task :app:compileFlutterBuildDebug FAILED
[  +10 ms] 1 actionable task: 1 executed
[   +5 ms] FAILURE: Build failed with an exception.
[   +4 ms] * Where:
[   +2 ms] Script 'D:\Program Files\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 780
[   +5 ms] * What went wrong:
[   +1 ms] Execution failed for task ':app:compileFlutterBuildDebug'.
[   +1 ms] > Process 'command 'D:\Program Files\flutter\bin\flutter.bat'' finished with non-zero exit value 1
[  +16 ms] * Try:
[  +14 ms] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[   +2 ms] * Get more help at https://help.gradle.org
[  +10 ms] BUILD FAILED in 33s
[ +218 ms] Running Gradle task 'assembleDebug'... (completed in 34.1s)
[  +12 ms] "flutter run" took 35,409ms.
Gradle task assembleDebug failed with exit code 1
#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      buildGradleApp (package:flutter_tools/src/android/gradle.dart:387:7)

#2      _AndroidBuilderImpl.buildApk (package:flutter_tools/src/android/android_builder.dart:97:13)
#3      AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:522:28)

#4      FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:450:54)
#5      _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:73:64)
#6      _rootRunUnary (dart:async/zone.dart:1134:38)
#7      _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#8      _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#9      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#10     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#11     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#12     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
#13     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
#14     ApplicationPackageFactory.getPackageForPlatform (package:flutter_tools/src/application_package.dart)
#15     _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:73:64)
#16     _rootRunUnary (dart:async/zone.dart:1134:38)
#17     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#18     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#19     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#20     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#21     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#22     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
#23     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
#24     AndroidApk.fromAndroidProject (package:flutter_tools/src/application_package.dart)
#25     _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:73:64)
#26     _rootRunUnary (dart:async/zone.dart:1134:38)
#27     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#28     _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#29     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
#30     Future._propagateToListeners (dart:async/future_impl.dart:709:32)
#31     Future._completeWithValue (dart:async/future_impl.dart:524:5)
#32     Future._asyncComplete. (dart:async/future_impl.dart:554:7)
#33     _rootRun (dart:async/zone.dart:1126:13)
#34     _CustomZone.run (dart:async/zone.dart:1023:19)
#35     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
#36     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:965:23)
#37     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#38     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#39     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#40     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

Cannot find executable for D:\Program Files\flutter\bin\cache\dart-sdk\bin\dart.bat.
flutter 环境问题


Change Log Type of Stripe Webhook Warnings to debug

Related to https://github.com/opencollective/opencollective/issues/6484
As reported at, https://github.com/opencollective/opencollective/issues/6484#issuecomment-1450153769 the CI logs are filled with these warnings. Suggesting changing them to debug instead.

Looks mostly the same:

Looks mostly the same.

@znarf : I missed some warnings there. I just fixed the remaining ones as well.

For those @SudharakaP look at this PR: opencollective/opencollective-frontend#8686

Thanks @hdiniz for the help. That takes care of those. 👍🏽

These were fixed here @znarf  https://github.com/opencollective/opencollective-frontend/pull/8686

Ok, the mentioned PR was not merged when I did my last review.

I've restarted the CI and now all the noise seems to be gone. 🎊


Improve wiki page: How To: Create a guest user

Thank you for super gem and perfect docs and wiki.
I suggest (and please review) the improvement of setting Guest User. The wiki page recommends how to set a helper function current_or_guest_user. And usage of  logging_in which handles the copying data form guest_user to current_user.
Then there is a section:

If you use this logging_in function and write the code it needs, you must customize the create action in both the sessions controller and the registrations controller by calling current_or_guest_user after super.

It seems to me too complex change. I think that there is a more simple solution: call logging_in function each time (before_filter :logging_in) and use the following code:
 def logging_in
   # do nothing if not logged in or no guest session
   return unless user_signed_in? and session[:guest_user_id]

   # put business logic here
   # ...

   # remove guest sessin and Guest User from AR
   if session[:guest_user_id]
     begin
       User.find(:guest_user_id).destroy
       rescue ActiveRecord::RecordNotFound
     end
     session[:guest_user_id] = nil
   end
 end

The wiki is maintained by the community, so you should be able to edit and improve it however you'd like. :)
Thank you!

Thanks @carlosantoniodasilva , good to know. But, I cannot change it directly without review. What to do in this case?


Extension causes high cpu load

Environment data
Issue Type: Performance
Extension Name: python
Extension Version: 2019.6.22090
OS Version: Windows_NT x64 10.0.17763
VSCode version: 1.36.0 (user setup)
Expected behaviour
intellisense shows at once
Actual behaviour
intellisense shows 2 to more seconds after typing code while cpu usage goes to about 20%
Logs
sorry, I cannot find /home/user/ms-python.python-unresponsive.cpuprofile.txt on windows.

I try to use Anaconda Extension Pack as intellisense tool, and uninstall the python
extension. Then most of designed features of python file lost, such as linting, function hint, code
formatting, code navigation, etc.
Maybe I should change some settings to get it work as python extension?

Unfortunately we cannot help you without the ms-python.python-unresponsive.cpuprofile.txt.
However you can try the following:

Go into your settings and disable the language server ("python.jediEnabled": true) (see here for more info https://github.com/microsoft/vscode-python/issues/3977)
If the problem persists, please try to locate the cpuprofile.txt file, *(this gets created by VS Code)


Compatible with the latest version of Zotero

ref #18

Can you also drop a compiled XPI here as well? Thanks.

zotero-memento.zip
👍 Don't forget to rename the file to zotero-memento.xpi after downloading it.

here's one that also includes https://github.com/leonkt/zotero-memento/pull/12
zotero-memento.zip

i have renamed zotero-memento.zip to  zotero-memento.xpi but zotero (v. 6) is unable load the extension. Any hints?
thank you

i have renamed zotero-memento.zip to zotero-memento.xpi but zotero (v. 6) is unable load the extension. Any hints? thank you

I downloaded this and renamed to xpi, as you did, and it installed just now: Mac OS 12.6, Zotero 6.0.15

Probs Windows do not allow extension name editing (unless you explicitly change the settings to allow for it).

For some reason @Spehhhhh's version works on my computer (latest macOS and latest Zotero), while @sneakers-the-rat's version doesn't.

This would be a great PR to get merged into a new release - would love to install without having to munge the version field.
In any case, thanks all for the work on this plugin!

Now is the time to release here a version compatible with Zotero 7 beta. I'm not willing to do it and break something, as simple as it appears to be.

+1 for a zotero 7 version


Validator packaging

When I corrected the typo valdiate -> validate some thing broke. This fixes it.
Also, when installing the package the validator couldn't find the spec as it's not included in the packages. This also fixes it by including it as a module.
However, since the templates and spec are in a separate folder from cyanobyte, when they are installed they create a folder for each in the lib/site-packages directory. This is weird and could create name collisions. I suggest to move the spec inside the cyanobyte folder, and be part of the module.
Templates could be also moved, or left there and renamed to cyanobyte-templates for example. Or removed... Is there anybody that uses the templates provided by the module? I wasn't aware they where included since I took a look on the spec thingy.

This is weird and could create name collisions. I suggest to move the spec inside the cyanobyte folder, and be part of the module.

I like spec being a top-level folder in the repo, as it's cleaner for the project, but it might be inconsistent with Python packaging.
The same goes for templates. I'd like to keep the templates bundled inside the packaging, as it makes the quickstart easier for someone rather than having to save individual files to their computer.
Maybe if folders are renamed to cyanobyte-spec and cyanobyte-templates that would avoid the name collisions?

Sounds good

Hello @Fleker, is there any problem to pull?

This change looks good.


[Doc] Add azure blob config in csi driver document

What is this PR for ?
The PR adds env config for azure blob in juicefs csi document. Without the config, users experience Unable to create azure client, acount name should be... error.
How is this PR tested?
The mentioned envs is tested by deploying juicefs csi on Azure K8S service, and a testing pod and pvc are created successfully.

 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.jiachuan.zhu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@chncaesar Please sign the CLA

close this pr, as document is updated elsewhere.


[ConstraintSystem] A couple of improvements to multi-statement closure handling

Conjunction: Transform all unbound outer variables into placeholders during ambiguity
Since there is no solver follow-up after ambiguity has been detected in the body of a closure,
let's just mark all of the unbound type variables as holes while forming a solution, otherwise
CS.finalize() would crash with Solver left free type variables.

Improve diagnostic precision by attaching  missing member diagnostic to an affected pattern/statement.

Conjunction: Propagate fix and hole scores to outer solution
While producing a combined solution, let's reflect the number of
fixes and holes discovered in the conjunction, that way it would
be possible to filter solutions and keep track of the fact that
there were issues in the conjunction.

Resolves: rdar://92854767

I failed to reduce a test-case for "Solver left free type variables" which a regular closure but that was triggered by https://github.com/apple/swift/pull/58879 in one of the result builder bodies, so we kind of have a test-case for that in the suite :)

@swift-ci please test

@swift-ci please test source compatibility debug

@swift-ci please test source compatibility release

@swift-ci please test


Pes colors load. Names are not given for magic colors

Colors in pes do have special predefined names and should keep those handy.

With the most recent commit the predefined names should be shown.


Tags overlap footer in map card

Woah, long tags :D

@xavijam This is how it looks with a CSS only approach. I'm basically using the same code we're using for the description. By default, we show 3 tags, and X more if there are more. And if it doesn't fit in 2 lines, we show the ellipsis. What do you think?

I feel that we need some space after the tags. It looks very tight when there's a long description:

For me looks good, @saleiva?

@saleiva what do you think of this? thanks!

What about leaving the tags in just one line and adding the gradient in the same way we do with the description?

We can try and see how it looks. Is it okay then to "hide" the "X more" text if everything doesn't fit in one/two lines?

yeah I think so

@saleiva this is how it looks with your proposed solution:

+1


Feature/e2e

awesome! what are the browsers this runs on now?

@tarrencev in .travis.yml, the container is launched with -- MULTI=windows/chrome,windows/firefox,mac/chrome,mac/firefox (and you/me/anyone can add more as we want them)

This process has started failing on the ion-app-web repo (SSL certificates are taking longer to provision than expected) and needs some debugging before we can merge to master


Add website durations to reports.

Currently, reports only list websites based on the number of times they are visited. However, this is not the only indicator of risk.
Reports should also take into account websites that violate the KCSIE categories with low hit rates but high browsing durations, and the list them appropriately.

This can likely be achieved by adding a weight field to the datasets.
The weight field should combine the hit count with the browsing duration into a numerical value that can then be used to sort the results by.

For FortiClient based reports, the browsetime SQL field should be equivalent to the browsing duration on a website.


ArangoSearch FuzzySearch misleading analyzer example.

I was experimenting with arangosearch functionality, particularly with NGRAM_MATCH.
Used this guide: https://www.arangodb.com/docs/3.8/arangosearch-fuzzy-search.html#searching-with-ngram_match
There is a misleading example of analyzer creation for trigram:
//db._useDatabase("your_database"); // Analyzer will be created in current database
var analyzers = require("@arangodb/analyzers");
analyzers.save("trigram", "ngram", { min: 3, max: 3, preserveOriginal: false, streamType: "utf8" }, ["frequency", "norm"]);

Should be:
//db._useDatabase("your_database"); // Analyzer will be created in current database
var analyzers = require("@arangodb/analyzers");
analyzers.save("trigram", "ngram", { min: 3, max: 3, preserveOriginal: false, streamType: "utf8" }, ["frequency", "norm", "position"]);

There are no direct instructions about the necessary "position" feature in order to make the ngram analyzer work in the official documentation or at least I have not found ones. https://www.arangodb.com/docs/3.8/arangosearch-fuzzy-search.html#searching-with-ngram_match
It would be much better if such nuance was covered.
But there are such instructions here and this notebook was really helpful.
Thank you in advance for your attention!

Thanks for raising this, it is currently addressed by https://github.com/arangodb/docs/pull/813

As #813 is merged we close this one as well, please feel free to provide more feedback if needed.


bibtex2html: 1.98 -> 1.99

Motivation for this change
Version 1.99 can be built with OCaml 4.06.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: bibtex2html
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99
shrinking /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99/bin/bib2bib
shrinking /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99/bin/bibtex2html
gzipping man pages under /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99/share/man/
/nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip is /nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip
stripping (with command /nix/store/8wl4dykwswy42wxj671b6k7vk2ydxg86-binutils-2.30/bin/strip and flags -S) in /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99/bin
patching script interpreter paths in /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99
checking for references to /build in /nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99...
/nix/store/64l0sbnb05120a66pl2gqwvwinzdc7ik-bibtex2html-1.99

Success on x86_64-darwin (full log)
Attempted: bibtex2html
Partial log (click to expand)
else \
        cp bibtex2html.byte /nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99/bin/bibtex2html ; \
        cp bib2bib.byte /nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99/bin/bib2bib ; \
fi
post-installation fixup
gzipping man pages under /nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99/share/man/
/nix/store/5im29qx9rni3w8l3j8i2yr22sin55kxv-cctools-binutils-darwin/bin/strip is /nix/store/5im29qx9rni3w8l3j8i2yr22sin55kxv-cctools-binutils-darwin/bin/strip
stripping (with command /nix/store/5im29qx9rni3w8l3j8i2yr22sin55kxv-cctools-binutils-darwin/bin/strip and flags -S) in /nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99/bin
patching script interpreter paths in /nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99
/nix/store/4ka0crax06gyvm3203g9bzk9d1fms8ia-bibtex2html-1.99

Success on x86_64-linux (full log)
Attempted: bibtex2html
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99
shrinking /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99/bin/bibtex2html
shrinking /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99/bin/bib2bib
gzipping man pages under /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99/share/man/
/nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip is /nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip
stripping (with command /nix/store/vp40my263xk32f07788srrgl59rycsna-binutils-2.30/bin/strip and flags -S) in /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99/bin
patching script interpreter paths in /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99
checking for references to /build in /nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99...
/nix/store/c4x80dmn29n18iga8k7gswwx9rc3pdnm-bibtex2html-1.99


recommended way to pass audio from other process to vst output

Hi, I've been with dpf programming a plugin for OpenUTAU allowing to use openutau in a daw by using TCP to transmit the time of the daw, the play status etc
here's the current status https://youtu.be/ybWCgldQiF4
however right now the audio is directly played by openutau, i'm looking for the most efficient way to send the audio directly to the vst.
Do you have any ideas about the best way to go about it ?
the vst is C++ but openutau is C# under .net core

So the audio comes from a separate process? Shared memory + semaphores is likely fastest.

can it be done if the other process is in c# tho ? i think it might be trickier

I have no experience with that, so cant really tell.


Add travis configuration file

Please, don't forget to enable this repo at https://travis-ci.org/

Merged and enabled, cheers!


Update README.md

Just a small typo in the windows installation description

Great catch! Thank you 🙏