Command edition in Editor not working on MacOS if noclobber option is set

I've been trying to understand exactly why my edition in editor was not working anymore on mac, and after investigation, I did find out that since I have the option noclobber in my rcfile, the following line was actually trying to override an existing file:
https://github.com/jeffreytse/zsh-vi-mode/blob/63e5a5209b238771e528dd22d2ac1a317ace7319/zsh-vi-mode.zsh#L1751
I think this behaviour is Mac specific, and that there might be some strange behaviour happening with mktemp reusing files, even though you delete it.
I got it working by creating a custom widget, and simply replacing
  echo "$BUFFER" > "$tmp_file"

with
  echo "$BUFFER" >! "$tmp_file"

This solution should work no matter the status of the clobber option.
Hopefully that is clear enough a description. Please let me know if you need more information

works, thanks a lot


Fix implementation of errorbar()

At the moment, the errorbar() function takes an optional parameter s,
which is presumably supposed to correspond to the same parameter for
e.g. the plot function. The only problem is that a) this argument is
unused in the function and b) matplotlib's errorbar() doesn't take a
parameter like this anyway.
I've replaced the s argument with an optional keywords argument, as for
other functions, which allows for setting colour, marker style etc.

Very nice again, thanks!


Moved to usage of UIGraphicsImageRenderer for iOS 10 and above

Added the initial support for UIGraphicsImageRenderer to decode an image from a CGImageRef.
Currently, we hardcode 8 bits per component which as mentioned in a WWDC talk isn't optimal in cases where we could get away with less bits per component.
The implementation defaults back to the original way of decoding if the user is on an older version of iOS (below iOS 10).

Sorry for the delay @bolsinga.
I added two tests that exercise the UIGraphicsImageRenderer behavior 👍
Let me know what you think


timers: add scurrius food pile timer

Had a quick look for a varbit but couldn't see anything (though am very new to this world) so using a chat message
Edit: Check now uses the varbit

Here you got the cs2 code for the buff bar:
case buff_scurrius_food_pile_cooldown_776 :
	if (%varcint1188 > 0) {
		return(~script5942(%varcint1188, %varbit9581, 100));
	}

The varbit might work like the GWD altar one for which NFC has made a cool PR here: https://github.com/runelite/runelite/pull/16493
Haven't touched scurrius yet though, so make sure to check it ingame and potentially clone https://github.com/Joshua-F/cs2-scripts and ctrl+shift+f through it (or check potentially relevant scripts like 5942) if you can't figure it out. For example, the WC group bonus uses a Varp to determine if it should be shown on the buff bar, and then the varbit determines the number on the buff bar.
Also make sure to fix the checkstyle violation.

@YvesW Thanks for the reply, have pushed a commit to fix the code styling - will also look into that CS2 script

@YvesW Cheers for leading me on to the CS2 scripts to investigate the varbit - have tested changes now with some logging in/out and my new changes seem to be working great using varbit 9581 👍


Bug with FeatureCollection.fromJson

Your package is super interesting. but the FeatureCollection.fromJson constructor doesn't work perfectly. Use GoeJson, which represents hydroelectric lines in Quebec, Canada.
It works fine with geojson_vi, turf packages and the same geojson file, but there is no calculation method like yours.
Use the following file for your tests.
Sorry for me english !
ligne_HydroQc_Pylone_WGS84_EPSG4326.geojson.zip

Interesting! Thanks for reaching out, and I'm sorry for not getting back sooner. Lemme try this and get back to you.

Looks like the multilinestring fromJson method is broken. Fixing now.

available in 0.3.1


Errno 60

Usually UnC0ver works when I reinstall it but this time it didn’t. UnC0ver version: V1.1.4

Same exact issue I have. Always been able to re-jailbreak IPhone 7 Plus on 11.3.1 until this latest version 1.1.4

Does the issue have to do with Tweakbox? I downloaded UnC0ver from Tweakbox. I deleted everything that had to do with Tweakbox. Still failed. Tried loading in UnC0ver with Impactor still the same issue. Idk what to do now.😢

That is what I was going to do too since I have been using tweakbox for unc0ver since the beginning and all was fine until version 1.1.4. I don’t think we are the only ones. I tried other version like 1.1.1 and RC6 from AppValley and still nothing different error same result. I don’t think it had to do with the future restore I did a while back since all other version worked for before this one. The only reason I have to rejailbreak is cause my phone froze when I tried to mirror my phone to my tv and I was force to shutdown with the volume down and power button.

Let me know if you find a solution and I’ll do the same.

I disabled Siri, and turn passcode off. After about 8 tries it worked. I used the tweakbox version 1.1.4 of unc0ver. Finally!!!!!

The exploit doesn’t work 100% of the time. There is nothing we can do about this.

I have same issue on iP5s iOS 11.3.1 and I used Electra first with Impactor, than MP version over Ignition.fun and than it crashed all the time. I switched to unc0ver and still same issue. EL or MP make no difference(EL respring iPhone on 1/51 and MP giving me error 60)

The signing services recently broke their multipath entitlements, there is nothing we can do about this either.
empty_list will work eventually, it's just less reliable and you just have to be patient with it. I'd recommend signing unc0ver with Impactor instead of using a signing service.
Locking this discussion as the signing services messing up their certs is not an issue on our end, and there's nothing we can do about this.


New Blocks and Refactor

-Added the Glowdust Stone Bricks sub blocks (Stairs, Walls, Slabs)
-Added Chiseled and Cracked Glowdust Stone Bricks
-Added the Glowdust Stone sub blocks (Stairs, Walls, Slabs)
-Refactored the Glow Light items to fit other naming schemes
-Renamed SoulFireAccess to FireTypeAccess
-Fixed error in FireTypeAccess from entities with empty NBT string
Have fun with this one Swan. It's a big one.

swan moment


Fix accessibility issues with Advanced Services property page...

Tab index order was not complete/correct
A couple controls lacked accessible names (and appropriate names could
not be inferred)

Fixes:  https://devdiv.visualstudio.com/DevDiv/_workitems?id=386365&fullScreen=true&_a=edit

FYI @Tanya-Solyanik @dpoeschl
/CC @dotnet/project-system

The title of that work item is "Name property is incorrect for edit field in Advanced Settings for Service window" -- did you find other issues there and fix them, or did you actually fix more filed issues than just the one? (Or am I missing something?)

@dpoeschl The VSO bug only pointed out 1 control with this issue, but went on to say "Name property should be appropriate, it should not be null".  I noticed that 2 other controls on this page had the same issue, so I just went ahead and fixed those too.

Perfect, thanks! :smile:

What was wrong with the tab order? Labels don't receive focus at all and I think this change is ignored, but now you have 2 elements with tabindex=2. Did you confirm that focus transitions correctly?

I see, Alt-T wasn't working

@Tanya-Solyanik yeah, I confirmed that focus transitions while pressing Tab still work correctly after this change.  You're correct that the label never receives focus, but the TabIndex needs to be equal to the TabIndex of the edit control (or immediately precede the TabIndex of the edit control) in order for the edit control to "inherit" the label text as the MSAA name.
Based on your experience, if it seems better to have all the TabIndex(s) unique, I can increment the index of the controls following the label (I was just going with the minimal change here, because I'm a bit naïve about all the implications).  If I am to change all the TabIndexes, I do wonder how to deal with '0' (zero).  There was originally 3 controls sharing that:

The first checkbox
The label modified here
The layout panel containing custom connection string controls

Is it "ok" for 1 and 3 to both share TabIndex '0', or should the TabIndex for the layout panel be something > 0 but less than its child controls?

@KevinH-MS Just for to reduce the diff between when using the designer and manually writing this like you are now - do what the designer does when you turn on tab ordering; each container's children starts from 0 regardless of what the tab order the parent is.


Optimize access to bitfields

For instance the I2C peripheral of the STM32F303 has a "32-bit" TXDR register that only contains 8 accessible bits (the other bits are reserved). In that case, svd2rust generates code like this:
# [ repr ( C ) ]
pub struct Txdr {
    register: ::volatile_register::RW<u32>,
}

impl Txdr {
    // ...

    pub fn write<F>(&mut self, f: F)
        where F: FnOnce(&mut TxdrW) -> &mut TxdrW
    {
        let mut w = TxdrW::reset_value();
        f(&mut w);
        self.register.write(w.bits);
    }
}

# [ derive ( Clone , Copy ) ]
# [ repr ( C ) ]
pub struct TxdrW {
    bits: u32,
}

impl TxdrW {
    # [ doc = r" Reset value" ]
    pub fn reset_value() -> Self {
        TxdrW { bits: 0u32 }
    }
    # [ doc = "Bits 0:7 - 8-bit transmit data" ]
    pub fn txdata(&mut self, value: u8) -> &mut Self {
        const OFFSET: u8 = 0u8;
        const MASK: u8 = 255;
        self.bits &= !((MASK as u32) << OFFSET);
        self.bits |= ((value & MASK) as u32) << OFFSET;
        self
    }
}

Which is wasteful because it performs 32-bit loads/stores when it could be doing 8-bit loads/stores. Instead svd2rust should generate code like this:
# [ repr ( C ) ]
pub struct Txdr {
    register: ::volatile_register::RW<u8>,
    padding: [u8; 3],
}

impl Txdr {
    // ...

    pub fn write<F>(&mut self, f: F)
        where F: FnOnce(&mut TxdrW) -> &mut TxdrW
    {
        let mut w = TxdrW::reset_value();
        f(&mut w);
        self.register.write(w.bits);
    }
}

# [ derive ( Clone , Copy ) ]
# [ repr ( C ) ]
pub struct TxdrW {
    bits: u8,
}

impl TxdrW {
    # [ doc = r" Reset value" ]
    pub fn reset_value() -> Self {
        TxdrW { bits: 0u32 }
    }
    # [ doc = "Bits 0:7 - 8-bit transmit data" ]
    pub fn txdata(&mut self, value: u8) -> &mut Self {
        self.bits = value;
        self
    }
}

This can be changed without affecting the generated API.

Which is wasteful because it performs 32-bit loads/stores when it could be doing 8-bit loads/stores.

I'm pretty sure this is not legal. I have actually had a C compiler emit narrower than they should loads/stores (because I had the bright idea of using bitfields... I was young and stupid), and some peripheral on STM32 (I think it was the GPIO one?) just did nothing in response to my writes. IIRC it is explicitly stated in the reference manual somewhere.

IIRC it is explicitly stated in the reference manual somewhere.

For the particular example in the issue description, the reference manual says

The peripheral registers are accessed by words (32-bit)

But this particular text is at the beginning of the registers section rather than repeat on each register description so it's easy to miss.

I'm pretty sure this is not legal

Yes. It's not legal in the general case. Though I have seen, at least once, a 16-bit (timer, I think?) register that was access as a word because that's how the SVD described it even though the reference manual said it could be accessed as a byte, half-word or word. But that could be considered a missing feature of SVD files; they don't have a way to encode the idea of "multiple access pattens". So I think this should be optimized on a case basis and in the SVD file rather than in svd2rust. So closing.


Support customizing the primary_web_role

This adds support for controlling the primary_web_role instead of always defaulting to web.
This allow for more flexible role naming in configs, eg: web_chicago.
Example config:
servers:
  web_chicago:
    traefik: true
    hosts:
      - <IP_ADDRESS>
      - <IP_ADDRESS>
  web_tokyo:
    traefik: true
    hosts:
      - <IP_ADDRESS>
      - <IP_ADDRESS>

Could rework https://github.com/basecamp/kamal/pull/580 after merging this.


Display Color Copied Message

Describe the Feature you want to end
After clicking on the Copy Me button user doesn't know whether the color is copied or not.
Expected behavior
The "Color has been Copied" message should be shown for a few seconds.

Hey @HridoyHazard, the UI when deployed on localhost is very different from the live server. Can you please look into it?


cipher suit client and server spilt, client add TLS_RSA_WITH_AES_128_…

…CBC_SHA256

Codecov Report

Merging #173 into master will decrease coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
- Coverage   65.51%   65.47%   -0.05%
==========================================
  Files          18       18
  Lines        4437     4437
==========================================
- Hits         2907     2905       -2
- Misses       1345     1347       +2
  Partials      185      185

Impacted Files
Coverage Δ

server/service/service_dependency.go
67.14% <100%> (ø)
:arrow_up:

server/service/governservice.go
66.42% <0%> (-1.1%)
:arrow_down:

server/service/tag.go
71.21% <0%> (+0.48%)
:arrow_up:

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 c85888c...3547678. Read the comment docs.

Coverage increased (+0.09%) to 69.868% when pulling<PHONE_NUMBER>45fdf7e6998129334a43bfc20808e5 on aseTo2016:aseTo2016 into c85888cfff66c23858245376536c0e6a9fc44d40 on ServiceComb:master.

Coverage increased (+0.3%) to 70.07% when pulling b7dc84c40adcca60694b051b65579bd92a4c76d7 on aseTo2016:aseTo2016 into c85888cfff66c23858245376536c0e6a9fc44d40 on ServiceComb:master.

Coverage increased (+0.1%) to 69.881% when pulling aeedede299c4ebe634eeea8ae0ff93dc9b98244d on aseTo2016:aseTo2016 into c85888cfff66c23858245376536c0e6a9fc44d40 on ServiceComb:master.

Coverage increased (+0.2%) to 69.926% when pulling<PHONE_NUMBER>3aacac90b16ced44ad9fdb18f1bcd4 on aseTo2016:aseTo2016 into c85888cfff66c23858245376536c0e6a9fc44d40 on ServiceComb:master.

Coverage increased (+0.2%) to 69.933% when pulling 4058fdd5a496e767f42725f8e463e2ac061bb5f8 on aseTo2016:aseTo2016 into c85888cfff66c23858245376536c0e6a9fc44d40 on ServiceComb:master.


additional fonts for #596

Status
READY
Description
adds
\defmathfont{ncm}{NewCMMath-Regular.otf}{AA66AA}{N}
\defmathfont{gnh}{GFSNeohellenicMath.otf}{AAAA66}{H}
\defmathfont{erm}{Erewhon-Math.otf}{66AA66}{E}

Could add more but perhaps a complete redesign would be needed in that case, the table is getting a bit wide
also switches out tabu package
Minimal example demonstrating the new/fixed functionality
doc change only

see PR #597

Wouldn't it be better if the book weight of NCM was used instead of regular, to see the difference between LM and NCM?

I had asked about this before: https://github.com/wspr/unicode-math/issues/473
I recall @wspr saying that it did not want to expand the table much more, but can’t retrieve where that was said…
So I would say that yes, a redesign would be need.

@davidcarlisle @ArchangeGabriel Can't the page dimensions be changed to accommodate additional fonts? Or print in landscape mode?

@apoorvpotnis  currently (after https://github.com/wspr/unicode-math/pull/597/commits/c4d204072818dacde03e5070a21a87b10d58c14b) All the fonts listed in the issue are listed (stealing some space from the margins) But clearly this design does not scale, if more fonts are added you would probably be better with some kind of overlay interaction so you just compare two at a time from some list of possibilities or whatever. I think this is OK for now though.

@davidcarlisle Garamond Math can be added as mentioned in #473.


Rename OptionButton to DropDownList

As originally mentioned in #6558, the OptionButton is actually a Drop-Down List.
This PR renames OptionButton to DropDownList.
Closes https://github.com/godotengine/godot-proposals/issues/1998

Can we just call it DropDown? I don't think the "List" suffix is ideal for a node type.

Can we just call it DropDown (or similar)? I don't think the "List" suffix is ideal for a node type.

I was thinking maybe we should go for DropDownButton, since it inherits from Button.

I don't think the "List" suffix is ideal for a node type.

We already have ItemList

I was thinking maybe we should go for DropDownButton, since it inherits from Button.

It's only a Button, because, within the engine, it inherits Button, but it's a Drop-Down List. Note: Checkbox also inherits Button, but it's not called CheckboxButton. I think it should be called what it is.

A bit long, but DropDownListButton would be the most correct and detailed one.

It's only a Button, because, within the engine, it inherits Button, but it's a Drop-Down List.

Isn't it a button that creates a drop-down list when clicked?

Strictly speaking, yes.

Is not the most common name for this to be ComboBox ? We have CheckBox already.

A Combobox is something different. A Combobox is a DropDownList with a single line, editable text box that we call a LineEdit that allows the user to either select one of the DropDownList items or enter their own value.


subcommands with hidden aliases show a visible '|' after the name

If a subcommand has a hidden alias, but no visible alias, it shows up as cmd| in help.

Thanks for pointing this out. This should be fixed with #526
I'll add some tests for prevent this as well.

This is fixed with #530


Add count of distinct terms for "Organ Part" to any  table header where it appears

closing wrong repo


Dropdown menu renders wrongly on Ubuntu

Qbit-torrent on Ubuntu 22.04 jammy-jellyfish
Dropdown menus appear wrong in that the current selected option (like in the screenshot below) takes up too much space and drives the other options way down or up as the case may be.

Here is another screenshot below of the same exact dropdown menu working fine in the normal/light theme.

This occurs with all the dropdown menus in the Qbit application.

This issue is now fixed by the latest theme update and re-writing the stylesheet.
Download it by clicking here.

Reopen the issue if necessary.


Spinup

Content is not ready to merge.

@brian-rose @ProjectPythia/education I would like to start iterating on this content with some more minds. Let me know if you are interested and we can set up some times, or feel free to make pushes to this PR.

@brian-rose @ProjectPythia/education I would like to start iterating on this content with some more minds. Let me know if you are interested and we can set up some times, or feel free to make pushes to this PR.

I'm trying to push some changes to your branch but getting a permission error:
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/jukent/pythia-foundations
 ! [remote rejected] Spinup -> Spinup (permission denied)
error: failed to push some refs to 'https://github.com/jukent/pythia-foundations'

I've never tried to push to someone else's branch before, not sure how to proceed.

Following the discussion and instructions over in #25, I just successfully pushed to this branch. Still not sure why it worked just now when I got the permission error last night, but it works!
Here I'm just merging in the latest updates from main branch.

On formatting in the markdown files, we should prefer the code block style like
```  a line of code ```
over the inline style `a line of code`.
I think it's easier to read (clear separation of text and code), and JupyterBook also automatically gives us a handy-dandy "copy" button for every code block.

@jukent, trying to review your guide as promised, but I'm having trouble with formatting. I've followed the contributor's guide precisely, but in the local rendered book I'm seeing stuff like:
Open a terminal.
.. note::
On Windows, open Anaconda Prompt. On a Mac or Linux machine, simply open Terminal.
..
Create a directory:
.. code-block:: bash
$ mkdir python_tutorial
Any ideas, anyone?

@clyne it may be that you are rendering an out-of-date version of the source? The latest version of the page you are describing is rendered here (and should look the same when you render it locally):
https://60661e6235e0e63f8268a537--pythia-foundations.netlify.app/foundations/getting-started-python/basic-python.html#reading-a-txt-file
Maybe you need to update your clone of this branch by doing
git pull

I tried doing a git pull and everything is up to date. I'm wondering if there is something in my conda environment that is not being caught by environment.yml?

Is there anything weird in the terminal output when you run jupyter-book build .?

The reason I suggested pulling is because it looks like you are rendering content that no longer exists in the latest versions.
I suggest trying
jupyter-book clean .
jupyter-book build .

Sometimes a clean start makes problems go away.

My bad. Operator error. I was on  the wrong branch. Apologies and thanks for the help.

@jukent , thanks for getting the ball rolling with our first actual content contribution. I’m happy to meet and iterate. Maybe a small group would be a good way to keep this moving forward. I’ve got some general comments below. Not sure that GitHub comments is the best way to iterate on this, but we’ll give it a shot. Comments below:

The Getting Started with Python “chapter?” is essentially a table of contents, but it doesn’t map to what is shown in the sidebar.

Why Python?: I might suggest including as the number one reason to use Python is that it is so widely used by the scientific community.

Fun with Python: The document says “Try it out in Binder…”, but there is no link or explation for Binder.

How to run Python: If we going to base all of our content around Jupyter notebooks, perhaps we should discuss it first (currently the terminal is discussed first)

Using the Conda Package…: I’d suggest maybe retitling this to something like “Managing your Python environment with Conda”, and explaining that Python is comprised of two things: the Python language which is comprised of statements, control flow, variables, etc.; and the vast Python ecosystem, which is a collection of downloadable functions that can be called from the Python language. Both of which can be most easily be managed by a package manger like Conda, which is what we will use in Project Pythia.

Creating a Conda environment: The example given creates an environment named “sample_environment”. Shouldn’t we pick a name that would be more meaningful for all of our content that we can refer to over and over again? Perhaps something like “pythia-foundations-sandbox? Also, we should be consistent with hyphens vs underscores in names.

Running Python in Jupyter: The section “Creating a Conda environment” already shows how to create a conda environment. If we’re going to base our content on Jupyter, shouldn’t we do the conda environment creation just once? I.e. the environment creation under “Creating a Conda env.” Should provide an environment that works for all (most) of our content.

Python in an IDE: There is not much in here, and maybe there doesn’t need to be. The content here is all getting started information, and I think we should keep it to  a minimum so it’s not overwhelming.

Quickstart: what is Python?: maybe rename to “A first Python program”. The content is not really addressing the question “what is Python”.

9a. We’re using “pythia_foundations” as the name of the scratch directory. Might this cause confusion with “pythia_foundations” the local copy of the GitHub repo? Maybe we should come up with a naming convention and hierarchy for all of the tutorial scratch spaces?
9b. Is “curl” bundled everywhere (on all platforms). I’m not sure that it is. Since we’re only using 4 lines of text from this file, perhaps we can include them with instructions to cut-n-paste to a file if curl is unavailable.
9c. Step 8 says “open a Jupyter notebook called mysci.ipynb”, but doesn’t explain how (unless running “jupyter lab” explicity creates this notebook, which should be explained).

@jukent is there anything in this branch that we need?
I think all the content from here got merged along with #50. If that's true, then please close this.


SampleApp not connecting to AVS after restart.

Briefly summarize your issue:
I ran the sample and registered with AVS.
For the first time it worked properly. After that I have restarted(ctrl+c and run again) the sample app. This time it is not connecting to AVS.
Attachec the debug log file. Please check.
What is the expected behavior?
Whenever we run the sampleapp, It should connect to AVS and assist user if it is registered with AVS.
What behavior are you observing?
SampleApp is not connecting to AVS
Provide the steps to reproduce the issue, if applicable:
Run the sampleapp as per the document and register with AVS
Stop the sampleapp and run again.
Tell us about your environment:
AVS Device SDK 1.12
Tell us what hardware you're using:

[ ] Desktop / Laptop

Tell us about your OS (Type & version):

[ ] Linux

connectToAVSissue.txt
Thanks
Vijay

Hi @vijay464 , in the log file you attached, did the logs stop there or are there more logs after 2019-04-15 10:44:19.430? I'd also like to know if there were any modifications done on the code?

Hi visayamv,
I have done few modifications related to volume settings. But I did not change anything related to connecting to AVS. In the above attached file, I have collected only that logs .
I faced this issue again and now I collected the more logs. Attached the new logfile here. Please check.
AVSConnectionIssue.txt
Thanks
Vijay

Hi Vijay, I'm not seeing the attempt to connect. Can you enable the sensitive logging: -DACSDK_EMIT_SENSITIVE_LOGS=ON to your CMAKE flags and post the logs here? Note that it may print out some credentials you send to AVS like the clientID, so make sure to scrub that before you post it here.

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.

Hi folks, I think the issue I'm having was well described here, so I'm not creating a new one. Basically the sample app works fine when I first execute, after quitting by Ctrl + C and start over it doesn't work anymore, works again after some long interval (hours).
My sdk version is 1.20, using ubuntu 20. Following is the debug log after setting -DACSDK_EMIT_SENSITIVE_LOGS=ON.
issueLogDbg9.txt

Hi @gabrieldespindula I don't see full logs here that would explain why the SDK is not able to connect to AVS after restart.
Can you attach full logs for 1) Fresh register and SDK is able to connect and 2) Restart

Hi dear, today I wasn't able to make it work in the first try, however I did several attempts trying different options from the menu as well. Didn't succeed. The log is attached. I'll take a look in the logs myself and also keep trying a few more times, as soon as I manage to capture a successful run, I share it here.
logSeveralTries.txt

Got a good log followed by a bad one after interrupting the execution using Ctrl + C.
goodLog.txt

Hi @gabrieldespindula  there seem to be other issues with the logs you sent. For instance I see the following error show up. Note this is an issue with the audio on the device and should be fixed before using the SDK. Once you fix this issue please let us know if you are still seeing the connection error as you described earlier.
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
2020-08-19 22:46:19.773 [  2] 9 CurlEasyHandleWrapper:libcurl:id=1,text=successfully set certificate verify locations\:
2020-08-19 22:46:19.773 [  2] 9 CurlEasyHandleWrapper:libcurl:id=1,text=  CAfile\: /etc/ssl/certs/ca-certificates.crt
  CApath\: /etc/ssl/certs
2020-08-19 22:46:19.773 [  2] 9 CurlEasyHandleWrapper:libcurl:id=1,text=TLSv1.3 (OUT)\, TLS handshake\, Client hello (1)\:
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card

Hi dear,
I was looking the logs and noticed both tries in the log (the good and the bad run) have this warnings regarding audio...
However today I was debugging and I found the issue.
Basically m_mutex is already locked when onAuthStateChange and/or sendMessage from HTTP2Transport are called. So it hangs when calling lock_guard. (I found simply swapping lock_guard to try_lock then trowing an error log when its already locked)
During the HTTP2Transport::mainLoop, it calls handleAuthorizing that locks m_mutex at  monitorSharedQueueWhileWaiting(State::AUTHORIZING) and someone else is calling HTTP2Transport::sendMessage after that, when m_mutex is already locked.
I made my own fix and it works here, but perhaps you guys know better the code and could bring a better solution.
Cheers


Poor performance

Issue / Steps to reproduce the problem

Configure IdentityServer to use ConfigurationDbContext
Configure Identityserver to use encrypted SQLite database with EF Core and IdentityDbContext
Prepare simple migrations - at least 1 client, 1 role, 2 users, 1 role, 4 scopes
Send request for token with grant type password

Packages
IdentityServer 4.1.2
.NET Core 5
Microsoft.EntityFrameworkCore 5.0.11
Microsoft.EntityFrameworkCore.Sqlite 5.0.11
SQLitePCLRaw.bundle_e_sqlcipher 2.0.6
System.Data.SQLite.Core 1.0.115
Relevant parts of the log file
[09:46:39 WRN] Compiling a query which loads related collections for more than one collection navigation either via 'Include' or through projection but no 'QuerySplittingBehavior' has been configured. By default Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
[09:46:39 DBG] Found [] identity scopes in database
[09:46:39 WRN] Compiling a query which loads related collections for more than one collection navigation either via 'Include' or through projection but no 'QuerySplittingBehavior' has been configured. By default Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'
[09:46:39 DBG] Found [] API resources in database
[09:46:39 WRN] Compiling a query which loads related collections for more than one collection navigation either via 'Include' or through projection but no 'QuerySplittingBehavior' has been configured. By default Entity Framework will use 'QuerySplittingBehavior.SingleQuery' which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'

       services.AddDbContext<IdentityDbContext>(options =>             {                 // Use SqlLite instead of UseNpgsql                 options.UseNpgsql(Configuration["YourDatabaseConnection"],                     // this will speed up the performance by making multiple small calls to the database instead of 1 huge one                         options => options.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery)                         // enbales retries on failed commands                         .EnableRetryOnFailure(                                  maxRetryCount: 4,                                  maxRetryDelay: TimeSpan.FromSeconds(1),                                  errorCodesToAdd: new string[] { }));                 // enables better logging for development - dont use in production                 options.EnableSensitiveDataLogging(true);                 // enables better logging for development - dont use in production                 options.EnableDetailedErrors(true);                 // I have never used this but the error in your log said to configure this so this is how you do it                 options.ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning));             });
Hope this helps


feat: pass options to processors

Description
This PR introduces ProcessorOptions, which can be used by the processors to change certain behavior of the internals. This is especially useful for example when the library is used in browsers the AsyncAPI processor needs to alter the path for derefences.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 6 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 93.326%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
1713

Relevant Lines:
1747

💛  - Coveralls

Fixed code smell

@smoya it is ready for review, if you are up for it 😄


Update Neutral Lighting environment (aesthetics)

Reference Issue
The update on the neutral lighting is to keep the lighting value on color chart closely consistent with the current neutral lighting, but reduce the big splash of specular highlights. See the comparison of the current neutral lighting versus new new adjustment.

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

Can you give a little more detail on why this change is important? It feels a little arbitrary. Also, why have you changed from one light on the left to two?

Can you give a little more detail on why this change is important? It feels a little arbitrary. Also, why have you changed from one light on the left to two?

If you look at the chair example that's the most obvious, but partially observable on the mixer as well. The current neutral lighting (left) produces a broad wash of hot highlights, which I identified was caused by the backside of the area light (big piece). It's not visually pleasing or behavior of how material reacts to lights, per our production team experts. My solution is to break the light into two, reduce the size, move them bit further apart, which results in breaking up the big area of hot specular into smaller highlights, so the highlights are softer now (picture right). I then adjust all the light values to make sure the coloration and RGB values remain consistent to the current neutral lighting setup. Let me know if that makes sense to you.

Interesting, thanks. A couple things:

You changed the back and left from one light to two; why not the front and right sides? You'll have the same problem when you orbit the camera to the back.

Can we see some comparisons with a broader range of models? The two you show are both highly specular. On more matte objects I think the stronger directionality helps them look less flat. I'm a bit concerned about changing this as it's a breaking change (though I'm willing to be convinced). But I'd like to ensure this is making most objects look better, since lighting is often a tradeoff between different object types. After all, a photographer will tend to set up lights differently for different kinds of products.

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

Thank you for the explanation and comparisons! I think I'm convinced now. I'm not sure why it's not picking up the CLA you signed last time; can you try to sign it again?

Hi,
Per request, the follow shows the comparison with more products.
Also, to the question "You changed the back and left from one light to two; why not the front and right sides? You'll have the same problem when you orbit the camera to the back." The default front camera view gives the first impression of the product as it's visualized, then the rest activity will be rotating the view around which is more dynamic. Therefore it's fine to have different lighting with one lights or two lights, as long as the color value is consistent. Also, the one area light versus two area lights provides interesting dynamic look: two sides with two lights setup, and the other two sides with one light setup...it's still methodical and purposeful.

I'm just wondering, any of the pictures you show are from the back face of the model?
I started using the neutral lighting for some models since it does not create a shadow on the back (which makes the same colors on different angles look different) and it does not look washed out as a not lit setup. My only problem with the current neutral lighting is the strength coming from above, which gets too bright on the top of reflective models. So I'm also worried splitting the light sources might bring the shadow I'm trying to avoid.
I wonder if this doesn't call for a more dynamic way of setting the lights instead of creating new setups or changing existing ones. E.g. the possibility to load an existing threejs scene to work as lighting background.

I'm just wondering, any of the pictures you show are from the back face of the model?

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

current neutral lighting
new neutral lighting

I started using the neutral lighting for some models since it does not create a shadow on the back (which makes the same colors on different angles look different) and it does not look washed out as a not lit setup. My only problem with the current neutral lighting is the strength coming from above, which gets too bright on the top of reflective models. So I'm also worried splitting the light sources might bring the shadow I'm trying to avoid.

The strength from above for the reflective specularity is exactly what this fix is about. It's not coming from top per se, but from the back of the area light as I found out...so that's fixed in this PR. In addition, I double-checked the top light value to make sure the RBG value on color chart is consistent as the sides.

@thomastgt, thanks a lot for the clarification and for the time spent on it!! With the pictures you've shown me, the use cases where my team would need a different HDR can be solved with this new setting

At long last! Sorry for the delay; it was a bug in the CLA-bot.


Use correct parameter for pattern index

The correct parameter to set the pattern index is pattern_idx.

Hi, thanks for this bug fix. Could you also fix Generic.json to have pattern_idx instead of pattern_idx_idx? I can accept this pull request post the update. Thanks!


fix: remove unused .js module

found this unused file...

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@003e98c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #8741   +/-   ##
=========================================
  Coverage          ?   65.87%
=========================================
  Files             ?      482
  Lines             ?    24143
  Branches          ?     2768
=========================================
  Hits              ?    15903
  Misses            ?     8064
  Partials          ?      176

Impacted Files
Coverage Δ

...et/assets/src/explore/components/controls/index.js
100% <ø> (ø)

superset/assets/src/featureFlags.ts
90.9% <ø> (ø)

superset/assets/src/explore/controlUtils.js
90.21% <ø> (ø)

superset/assets/src/explore/controls.jsx
40.14% <ø> (ø)

...rset/assets/src/explore/controlPanels/sections.jsx
100% <ø> (ø)

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 003e98c...0bad2eb. Read the comment docs.


flask-images endpoint with Flask-Restful

Hi @mikeboers ,
Any idea to make this extension work with flask-restful?
Cheers,

OMG...My mistake

Sorry I have to reopen this, I was spoke too soon before. It works for static but not the flask-restful endpoint, it returns 404, any idea how to fix this?
Thank you

You can use function to return image source, then use this as a field value for flask restful. I think this is proper way to serve images via REST, not embedding in JSON

Yes I got it working now, I forgot I override all the response to json


Update Node and Query types to hold the msg type produced by events

See elm-html-in-elm pull #8

@rogeriochaves  tests are failing btw

published as 3.0.0


[util/container] Add clang-13 to opentitan container

This commit adds clang and llvm tools for coverage measurements to the opentitan container. The versions of the installed packages match the version of the lowRISC RISC-V LLVM toolchain so that we can merge on-/off-target profiles.
Signed-off-by: Alphan Ulusoy<EMAIL_ADDRESS>


Question about rendering partial without assigning it to some key

I really appreciate your work. Is feature https://github.com/thoughtbot/props_template/pull/34 still a work in progress? It is already listed in the README as one of the features though.
json.partial! partial: "posts/blog_post", locals: {post: @post} do
end

Thank you again. I am looking forward to using this wonderful gem 🤞

Hello and welcome! Thanks for commenting!
It's been merged, but I haven't had a chance to do a release yet. I'll make it a priority to do a release in the next few days.

0.36.0 is released. Thanks!


Limit sdk bot to run only on releases from master

Reference conversation - https://github.com/Azure/azure-sdk-for-js/pull/7863#issuecomment-600383089

Instead of focusing on the branch we should instead focus on the version update is greater then what is in master and if it is then submit the PR if it is less then it should not submit the PR. We should be able to implement that logic in the version script, but we need to figure out how to pull the latest version from master.

@weshaggard  Another alternate option is to find the highest version available on npm. If version is below highest version on npm then no need to  increment version. Assuming this logic is required for all languages so I will try to have some common logic with functions plugged in in Language settings script.

I actually don't think this is an issue any longer after https://github.com/Azure/azure-sdk-tools/pull/458. So any increment PR's should be targeting the same branch which the release was made from.


fix: bump Splunk version

Tested here:

[x] https://github.com/splunk/splunk-add-on-for-cisco-esa/actions/runs/12086518758/job/33705979121?pr=455
[x] https://github.com/splunk/splunk-add-on-for-salesforce/actions/runs/12086465276/job/33705965109?pr=706

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


Rename _expr to expr

Fixes #1263
Hi @abonander, how does this look?
Let me know if this needs any changes.
Thanks

This looks fine, thanks.


Document that with default options, all clients share single event loop

Options::default() sets Options.reactor = None, which causes Client::connect to use REMOTE.spawn. To my great surprise, REMOTE is a static event loop driven by a single thread. Thus, if Options::default() is used, all RPC calls block on a single thread. This should be clearly documented, as that thread will quickly become a big bottleneck for high performance systems.

Default options are going away (because defaulting to a Remote requires services to be Send when they shouldn't have to be), so this shouldn't be an issue in the future.


add support for bseed touch switches

Added support for these touch switches: Ali
Tested with single and double switch, I don't have triple switch to test.
Created issue about this: https://github.com/zigpy/zha-device-handlers/issues/1301#issuecomment-1020633355
We also discussed that these switches sometimes react very delayed or even not a bit, also zigbee groups don't work.
I'm not a professional in this but I don't think thats a problem with the quirk.

Codecov Report

Merging #1307 (0d472a3) into dev (ae74966) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev    #1307      +/-   ##
==========================================
+ Coverage   80.99%   81.02%   +0.02%
==========================================
  Files         217      217
  Lines        6014     6023       +9
==========================================
+ Hits         4871     4880       +9
  Misses       1143     1143

Impacted Files
Coverage Δ

zhaquirks/tuya/ts001x.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 81.023%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
4880

Relevant Lines:
6023

💛  - Coveralls

I don't know why it doesn't pass the isort check, maybe someone else can edit it

Isort like that  you to deleting line 18 - 27
from zigpy.profiles import zha
from zigpy.zcl.clusters.general import (
    Basic,
    Groups,
    Identify,
    OnOff,
    Ota,
    Scenes,
    Time,
)

and add
from zigpy.profiles import zha
from zigpy.zcl.clusters.general import Basic, Groups, Identify, OnOff, Ota, Scenes, Time

on line 2.
But after doing the change run the code in black then i think its like splitting the block.

@MattWestb Did as you said but failed again, also tried with https://pycqa.github.io/isort/docs/quick_start/0.-try.html

It was not going to well ;-((
Your first correction was 95% OK and only having one sorting issue https://github.com/zigpy/zha-device-handlers/runs/4929778994?check_suite_focus=true
Only need from zigpy.zcl.clusters.general import Basic, Identify, Groups, OnOff, Ota, Scenes, Time to from zigpy.zcl.clusters.general import Basic, Groups, Identify, OnOff, Ota, Scenes, Time
If you going back to commit 7e2f9d0 its easier fixing then multiple lines that is wrong from the moment.
Isort is trickey then HA is using custom parameters and is is needing some extra manual fixing for working OK.

I have trying doing what isort is complaining of from your git and then running balck so its shall being OK (if i have doing the copy and past OK)
ts000x.txt
ts001x.txt
.Put it in your git and and making one pull of the changes and see if its happy or not.

THATS dont looks so bad !!
Its only one copy past problem:
"Warning: zhaquirks/tuya/ts001x.py:474:6: W292 no newline at end of file"
Adding one new line in  the end off ts001x.py and all shall bing OK !!
If you like being on the safe side use black playground for fixing it https://black.vercel.app/.

Not so bad i have bigger problem getting the tests working Ok !!
GREAT DONE !!

@MattWestb Haha, yeah finally...thanks :D

You was doing the coding and the testing and in the end it was working well !!!
I hope its can being added in the quirk for HA 2011-01 but i think its too late then the best is starting today i think.


How to use simple analyzer?

Hi, I want to use simple analyzer for removing english stop words and leave othe feature as default. I see the example you provided, and customized my mapping like this:
{
    "default_mapping": {
        "enabled": true,
        "dynamic": true,
        "default_analyzer": "simple"
    },
    "type_field": "_type",
    "default_type": "_default",
    "default_analyzer": "simple",
    "default_datetime_parser": "dateTimeOptional",
    "default_field": "_all",
    "store_dynamic": true,
    "index_dynamic": true,
    "analysis": {
        "analyzers": {},
        "char_filters": {},
        "tokenizers": {},
        "token_filters": {},
        "token_maps": {}
    }
}

But this didn't work. When I index a field with text "I'm not a hero", I still can't seach by keyword "not".
I'm not sure if the mapping is correct, can you help me to check it out?

Alright, I find a solution, just remove data folder and rebuild all indexs. Maybe the sotrage still use the old analyzer?

Hi @lauthrul ,
Sorry for the late reply.
Yes. The existing index retains the previous mappings, so if you change the mappings, I think you will need to recreate the index.


Experimenting with Recent Menu

@bpasero @isidorn
Experimenting with ways to remove custom logic for the recent menu in the menu bar. I don't know where this code would live, but the idea is that a listener manages the Recent Submenu data model when the recent menu is updated. This would mean commands would have to be registered to handle the different URIs. Not sure if this can be parameterized to have a single command that can be re-used. This would both remove custom logic from the menu bar but I think we could reuse it in the native case as well. Not sure due to fallback case on macOS.
P.S. don't try this code with the native menu
/cc @jrieken is this menu model abuse?

@sbatten yeah I think direction is what I had in mind as well. Instead of generating a lot of random commands it would be nicer if you could express some kind of argument that should get passed to a command (the URI to open).

/cc @jrieken is this menu model abuse?

Not sure that I can follow you... Can you point me to where things happen?

@jrieken essentially, every time the recently opened files changes, we will dispose of these menu items (up to 10) and add the new set with MenuRegistry.appendMenu

@bpasero latest commit shows what that might look like. I chose to add arguments to the menu registration (as opposed to forwarding args through the menu widget) because otherwise we just end up doing the same thing in a different way.
/cc @jrieken for changes to MenuRegistry and MenuItemAction


[feature] Dependencies between submitted functions

Example:
def add_function(parameter_1, parameter_2):
    return parameter_1 + parameter_2

with Executor(max_cores=1) as exe:
    future_1 = exe.submit(add_function, 1, parameter_2=2)
    future_2 = exe.submit(add_function, 1, parameter_2=future_1)
    print(future_2.result())

This could be just an Executor interface on top of the existing executor. Everything is happening in the same process, so there is no need to submit the dependencies to the queuing system.


Kana key doesn't work in gvim

Steps to reproduce
Using an US keyboard layout modified with the CAPS LOCK replace by KANA and I mapped french accents to a KANA+letter.
when typing a KANA+letter, it doesn't show up.
Expected behaviour
Typing CAPSLOCK+e should give 'ê' according to my keyboard mapping (works in all other windows apps)
Version of Vim
9.0.0065
Environment
Windows 10 21H2
Logs and stack traces
This worked in 8.2.4803 and did not work in 8.2.4807 (and anything after that).
The issue is in gvim, vim behaves as expected.
Obviously in my other windows applications (ie: notepad,chrome) this works.
Using KbdEdit to for the KANA mapping.

(By chance i was working on PR (#10687) to fix something after same commit.)
Main difference in that commit (8.2.4803) was that instead of relying on WIN32 API TranslateMessage() call to interpret the WM_KEYDOWN and convert them in a sequence of WM_CHAR events, we began to simulate that call via sequence of following:
// Translate the virtual key according to the current keyboard
// layout.
scan_code = MapVirtualKey(vk, MAPVK_VK_TO_VSC);         // Convert the scan-code into a sequence of zero or more unicode
// codepoints.
// If this is a dead key ToUnicode returns a negative value.
len = ToUnicode(vk, scan_code, keyboard_state, ch, ARRAY_LENGTH(ch),  0);
Those calls create translated unicode character(s?), which are entered by user, inside buffer, pointed by "ch".                                                         It is supposed to work for the cases of "official" shift keys only, as far as i understand it - i.e. Shift/Alt/Ctrl. Chord of arbitrary other buttons is not manageable in that way - may be for KANA key it would be still possible to get desired 'ê' respond from ToUnicode() - but it would need to make KANA generally recognized Shift-like modifier?

@LemonBoy


Wallet should be clear on what is in escrow vs in wallet

Historically, siad/skyd shows what was reserved/in escrow for file contracts separately from what was in the wallet in CLI. The UX should be clear on what is locked up vs what can be spent.

We now have this breakdown, which reflects the available values from /bus/wallet. Is there anything else we should have or can we close this ticket cc @ChrisSchinnerl ?

Can you add a line stating how much specifically is in escrow across all contracts? I would find that useful, tbh.

Also, I just looked again and cannot tell if this is based on UXTOs or something else. The wording could be improved.
I specifically want to see x coins are in escrow and x coins are available to spend in your wallet.

@alexfreska @pcfreak30 what the UI currently shows is not related to contracts at all. I guess what pcfreak wants is the amount of tokens locked away in contracts broken up into spent and unspent.
Which is not very easy to get accurate values for but fetching contracts and summing up their TotalCost - contract price would give you a very good approximation of tokens allocated. Then you can compare that to the spending on the contracts to see how much is remaining.


Profile Update Name should be globally updated in the app (?)

This is from a user:

On dev, I changed my display name to K H. I went back to my cohort view and found my old profile name "Kevin Hitchhiker" still taking up space in the class listing. My K H didn’t ripple over.
-Kevin

For the display name on Profile page:

Currently do we update the display name for Course/Path/Cohort/Assignment as well? Is the update global?

In class listing means list of courses/cohorts or at course's assignments?

for example like the instructor column for courses/cohorts

looks like if the cohort is public, the instructor will not be updated on cohorts page
this is a minor issue as very few cohorts will end up being public.

Update on this issue, it seems that for courses, the instructor name is not updated, and these are all non-public courses:

oh, right. Once you made course or cohort as public then you can't change it directly. I think we should add rights to control published courses/cohorts to admins

ok, I'm closing this issue. Feel free to reopen if you'll reproduce it. Note - you should be in /admins node to get rights to update published (cohorts|courses|paths)

@Brainenjii thanks!


Remove reference to setting to fail open or closed.

Summary
This setting is no longer present in the dashboard (specifically, when going to the Dashboard -> Workers & Pages ->  -> Settings).
Screenshots (optional)

Documentation checklist

[x] The documentation style guide has been adhered to.
[ ] ~If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.~
[ ] ~Files which have changed name or location have been allocated redirects.~

Hey @nevikashah - is this one good to merge?


Expose matched rule name

I wonder if it's possible to expose the matching rule name as part of the autosuggest API? i.e. Let's consider the following SQL input string that we would like to provide suggestions for:
SELECT * from <cursor>

If we've defined the following grammar:
grammar Expr;

prog:
    SELECT
    selection
    FROM table
    ;

selection:
    '*'
    ;

table: IDENTIFIER  ;

// Keywords
SELECT : [sS] [eE] [lL] [eE] [cC] [tT] ;
FROM : [fF] [rR] [oO] [mM] ;

IDENTIFIER: [a-zA-Z] [a-zA-Z_0-9]+ ;

WS: [ \t\n] -> channel(HIDDEN);

I can see from where the cursor is, that the grammar would expect parse the table rule name next, which happens to be an IDENTIFIER token.
Currently if we use this library we'll get given the following autosuggestions list:
{
    "input": "select * from ",
    "errors": [],
    "suggestions": [
        "aa",
        "ab",
        "ac",
        "ad",
        "ae",
        "af",
        // ... etc etc ...
        "zr",
        "zs",
        "zt",
        "zu",
        "zv",
        "zw",
        "zx",
        "zy",
        "zz"
    ]
}

This module generates a list of valid identifiers, but if it exposed the matched rule name as part of this module's API, we could see that the matching rule name is table, and we could apply our own domain knowledge to provide a richer auto suggestion list, i.e. Looking at the database schema and suggesting the available table names instead of guessing valid identifiers.
Let me know your thoughts! :+1:

I was thinking of doing a slightly different idea for the same purpose, where as part of the configuration for the auto-suggester, the user can provide an optional mapping of token name => callback.
Then if the cursor is at a token type that has a callback defined, we use that callback to generate suggestions. The callback may, for example, call the server, to get a list of completions.
So basically it's the same idea, except that we'd be using a callback mechanism, which I think makes the experience more streamlined.
The upside of your approach though is that the complexity of what to do with asynchronous callbacks (e.g. calling a server) is left up to the user. I'm not 100% decided on the right approach, guess the time to decide will be before implementing it! LMK if you want to try to implement it yourself.

Hey, I've been playing around with antlr4-c3 more, and it seems to offer the most flexibility to the end user by having a very unopinionated API, and as a result the library is very composable


Fail to upload/download/delete/clone/paste items in one OAuth attached blob container

Storage Explorer Version: 1.35.0-dev (98)
Build Number: 20240531.1
Branch: main
Platform/OS: Windows 11/Windows 10/Linux Ubuntu 22.04/MacOS Sonoma 14.5(Apple M1 Pro)
Architecture: arm64/x64/x64/arm64
How Found: From running test cases
Regression From: Previous release (1.34.0)
Steps to Reproduce

Expand one storage account -> Blob Containers.
Select one blob container -> Attach the blob container via OAuth.
Open the attached blob container -> Try to upload one blob.
Check whether succeeds to upload the blob.

Expected Experience
Succeed to upload the blob.
Actual Experience
Fail to upload the blob with an error.

"\"failed to perform copy command due to error: get token from environment variable failed to unmarshal token, json: cannot unmarshal string into Go struct field OAuthTokenInfo._token_refresh_source of type common.AutoLoginType\""
Additional Context

This issue also reproduces if download/paste/clone blobs.
The below error displays if delete blobs:

Verified this issue on the main build 20240614.1. Fixed.


More accessible links to repos

Would it be possible to put a link to the repository of the integration/plugin on the Overview page?
Ok, so it's not a big deal but every time I want to look up how a plugin works it would be nice to get to the repo more quickly.
Like I said, only a small request but if it is as simple as it sounds then it shouldn't be a problem but if it isn't practical then no worries....

ideally, the developer would add info.md file to the repo with that information (that will be displayed in the repository view, that way the number of clicks will be the same as if it was on the overview, and the overall experience would be better.
I may add a "full" / "preview" / "something" view in addition to "grid" and "table" that are there now, but that is something for the future, and not really what you are asking here.
Adding a link (or really anything) to the current views is not something I will do (those should be minimalistic.)


Feeding tensors doesn't stop gradients flowing through

Consider this code snippet:
a = tf.constant(0)
b = a + 1
c = b * 2
grad, = tf.gradients(c, a)
grad.eval(feed_dict={b: 0})

The result is 2, instead of 0. To obtain the true gradient, one has to wrap the tensor with an tf.cond and feed an additional indicator, which doesn't seem too elegant.
Apologize if I missed something.

It's counter-intuitive, but it would be hard to fix without significantly changing the underlying framework.
Technically tf.gradients creates a backprop graph, and the result of running this graph can be different from mathematical gradient. For instance, it can produce None values which indicate that given input is not connected to output (as opposed to 0 which means it's connected, but has no numeric effect on it).
Here, the graph you get is below, and when you feed b that severs the forward prop chain of computation, but there are still connections from the backprop chain

Is it possible to provide an is_feed op that indicates whether a tensor is feed or not? With the help of such op, feed-consistent gradients would be possible.

not sure where one would start for implementing is_fed op, maybe someone more familiar with executor internals can comments, @zffchen78 @mrry

Even if we have is_fed, it is not easy to eliminate redundant gradient computation. Suppose that b = f(a); c = g(b), the d_c / d_b part will still get computed even if f has a feed-aware gradient when b is fed.

So it seems the issue is that you are requesting TensorFlow to fetch gradients node which you know is 0 because you know what feeding part of the graph breaks connection. Meanwhile, TensorFlow has to do some computation before arriving to this conclusion. Could you just feed 0 into the gradients node to save the computation in such cases?
Also, wrapping gradient tensor in cond is not sufficient to remove redundant computation, the whole gradients subgraph must be created inside of a tf.cond statement

Even when feeding 0 to gradients, d_b / d_a still sticks around while being redundant. The only way I can think of is to construct a copy of the graph and simply don't mix gradients with feeding.
BTW, seems that the gradient of cond can be optimized harder.
a = tf.constant(0., name='a')
p = tf.constant(True, name='p')
b = tf.cond(p, lambda: tf.square(a), lambda: tf.constant(0.), name='b')
c = tf.square(b, name='c')
g, = tf.gradients(c, a, name='g')

This is a trace from g.eval(feed_dict={p: False}). The c_grad subgraph is not actually useful, but anyway get executed (not shaded in tensorboard).

If handling this issue in the framework is not practical, is there some way to throw a warning about this whenever a tensor is fed into a node that has an associated gradient computation, or at the very least include it as a warning in the reading data documentation (https://www.tensorflow.org/programmers_guide/reading_data)? This was unexpected behavior to me.

Agree that this is WAI, for better or worse.


fix: climate discovery without mode CC

Fixes #400

Pull Request Test Coverage Report for Build 527233231

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 21.511%

Totals

Change from base Build 527149526:
-0.02%

Covered Lines:
2042

Relevant Lines:
9720

💛  - Coveralls


[WIP] Apollo2 server

I started the update to Apollo server v2. It is not functional but basic ideas are there.
Things to do:

[X] Splitting the code to make it a bit clearer

[X] First experiment with new patterns

[X] Get a working version

[X] Update imports everywhere needed, as Apollo-server exports a few common helpers (makeExecutableSchema, gql etc.)

[X] Simplify the engine setup, it should now only need the correct options to work -> the API have changed a lot, and I can't tell what setting meant what, so there might be regressions

[X] First test with GraphQL Playground: we need to setup the Authorization header with localStorage['Meteor.loginToken'], however GraphQL PlayGround (replacement to GraphiQL) does not posses a passHeader` option as graphiql did. It does work if you manually update the header with your token, but obvisouly this is tedious.

[ ] Setup cookies

[ ] Populate the Authorization header when using GraphQL PlayGround. See https://github.com/prisma/graphql-playground/issues/510 for global Headers (right now we have to create an initial tab to setup headers). The best solution seems to be using cookies. In GraphiQL, we used the passHeader option that allowed access to the localStorage, but it was awfully hacky. See https://github.com/prisma/graphql-playground/issues/849

[x] Update starter package npm packages versions

[X] Meteor integration (which is needed to actually serve the graphql endpoint) : seems ok, we need to use meteor/WebApp to setup a 3rd party HTTP server (here our graphQL endpoint), and thus use apollo-server-express as well

[X] Take a look a t meteor_patch.js, is it still needed? ->Seems to work without it, I don't know which issue lead to using this however

[X] Investigate whether we should keep Express or replace its feature with other modules -> right now this is the only way to connect with Meteor

[ ] Try merging with devel to catch up latest updates?

[ ] SSR (will come later, needs both improvement on client and server)

[ ] Better error management, right now they are caught by Apollo Server and displayed in the worst possible way

[ ] Investigate using datasources instead of DataLoader to pass the collection to the resolvers (need help)

It seems easier to get rid of Express, there are no example of Apollo + Meteor + WebApp and it is not trivial. However this means we must replace Express middlewares by smth else. I am investigating this.

Resolvers should now accept a dataSources object in the context. We should access collections from this object instead of the bare context. We can maintain both the legacy behaviour (context.MyCollection) + the new syntax for the moment. However I don't know how we are expected to set this up or replace DataLoader. See https://www.apollographql.com/docs/apollo-server/v2/features/data-sources.html.

Note that you now must separate options computation from context computation (only the context option can take the current request into consideration, which was already true in v1 despite a misleading API anyway).

Nice! The new dataSources feature is really nice but let's keep the legacy context implementation for now (unless setting up datasources is really trivial). Introducing caching into the mix will make it harder to know what's really going on, and even for Vulcan users in general I feel it's better if we introduce new concepts progressively instead of all at once in the same update.

This is merged as I got a working solution, except for GraphQL Playground that we can still fix later.


Add example project

This PR aims at merging the example project available here into this package.
No code change/difference from the example available at https://github.com/folaoluwafemi/rich_text_editor_controller
The example runs as expected

🙂


refactor: emit cumulative fees when incentivizing a packet multiple times

Description

closes: #1327

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (see CONTRIBUTING.md)
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Code follows the module structure standards.
[x] Wrote unit and integration tests
[x] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[x] Added relevant godoc comments.
[x] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[x] Re-reviewed Files changed in the Github PR explorer
[x] Review Codecov Report in the comment section below once CI passes

Codecov Report

Merging #1391 (dabac81) into main (21021d0) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1391      +/-   ##
==========================================
+ Coverage   80.35%   80.37%   +0.01%
==========================================
  Files         166      166
  Lines       12083    12094      +11
==========================================
+ Hits         9709     9720      +11
  Misses       1918     1918
  Partials      456      456

Impacted Files
Coverage Δ

modules/apps/29-fee/keeper/escrow.go
93.50% <100.00%> (ø)

modules/apps/29-fee/keeper/events.go
100.00% <100.00%> (ø)


Add v1.12 ARM64 image build support

Included
Add support for building Hyperkube v1.12.1 image for ARM64.
Since azure-cli does not support arm64, I removed the code installing azure-cli.
Related issue
https://github.com/rancher/rancher/issues/16461
Build Environment
The  ARM64 image needs to be built in an ARM64 environment.

link to https://github.com/rancher/rancher/issues/16518


Replaced true and false with on and off in debug.inlineValues

This PR fixes #143543
For retro compatibility boolean is still allowed in IDebugConfiguration.inlineValues and the setting is still matched against true.

Thanks for the PR!


add CI check to ensure gen script has been run for PRs

Why
to ensure that PRs are showing the full diff of a change
What changed
added GHA check to ensure that the overlay generator script has been run
Test plan
ci works

we can reopen if we revisit


Update mwc-icon.test.ts

This proposal is to improve the unit testing suite for icon component. As shown on the demo page, it shows that the icons’ color and size are changeable; but these features are not tested in the existing unit test file. Thus, I updated the existing test file to test icon color and size settings.

this CL has been in limbo.
It's a one line change but breaks an insane amount of screenshots downstream!
We should sync on this

Closing as obsolete


Implement Clone for Window

Window is the most commonly used container. But the struct not implementing Clone/Copy, and being generic over a lifetime ('open), makes it really hard to store or to create bindings for it.
I am trying to add Luau bindings for egui at https://github.com/coderedart/luaegui
The problem is simple. Builder patterns are cool in rust because it is all inlined/optimized away by compiler, but they seem to create a lot of transient garbage in scripting languages. Every new builder fn will throw away the old object which will need to be collected by gc, and to make things worse, egui is immediate mode -> lots of garbage every frame. To avoid this issue, i just made the functions on containers like Area self mutating. eg: take the Area::enabled method. In rust, it uses builder pattern by consuming the current Area struct and returning a new struct. I bind it to mlua using
// add a method to `Area` type in lua called "enabled"
// It takes a "this"( mut ref to self) as the first argument  and another argument bool
area.add_method_mut("enabled", |_, this, enabled: bool| {
	// as you can see, the enabled method copies/clones the struct and returns a new one.
	// we will simply assign it to the same object, and avoiding creation of a lua gc-able object.
	*this = this.enabled(enabled);
    Ok(())
});

But this method is not possible for Window struct.

The method enabled takes self, but as Window is not Copy/Clone AND we can't move it out of this.
Even if it was possible, the lifetimes would definitely create some other problem. You cannot ask for a &mut bool in any scripting apis (lua/rhai etc..), as most primitive types like bools/numbers are passed by value. Instead, we have to take some kind of object (table in lua), and set the bool value just before returning from the show fn. User can check the object to see if the window is open/close.

To solve this with minimal breaking changes

Make Window Copy/Clone just like Area. This will allow easier bindings.
Remove the 'open lifetime, by not storing a mut ref bool inside Window. Instead, change the show fn to take a &mut bool along with ctx and ui closure. This is a breaking change.

Alternative
It is possible to workaround this problem:

Change the Window binding of mlua to Option<Window>, which would allow moving it out of the mut ref ("this"). But, it still means creating a new window struct every frame, instead of just creating one and using a clone of it every frame. The struct can then be modified whenever necessary.
use some unsafe to transmute the Window struct to 'static lifetime. And just skip the open fn and get/set the bool with the show fn binding.

Anyway, this is a niche use case, so nothing urgent.
EDIT: It seems, the same problem affects other containers like topbottompanel or centralpanel etc..

Are you having the same problem with Slider and DragValue?

yes. But Window is used by everyone and was the main pain point.
Lua passes numbers/strings/bools by value and tables (objects) / custom rust structs by reference.
This causes two different kinds of problems

functions like text_edit_singleline or checkbox which want a &mut T are hard. And the clumsy workarounds are

given them a lua table like { value: "my text edit string" } or { value: false }, which the lua fn will take by reference, get the value out of object, validate argument before calling the checkbox or text_edit_* functions, and then setting the new value to that table's value field.
return a copy of the new value along with response. feels functional-ish.	local my_bool, response = ui:checkbox(true);
	if my_bool then
		print("value didn't change");
	else
		print("value changed to false");
	end

We can't use rust structs with functions which take a struct by value. Best example is Window and its show fn. When you create a Window struct, lua gc will handle that struct. And you can use functions which take &self or &mut self. But you can't call a fn that wants self, because lua's GC gets to decide when the object is destroyed, as the script might have other variables holding reference to this Window struct. So, any such struct which uses builder pattern taking in self is changed into Option<Self>. So, that we can call the take fn to take the Window out of the lua mutable reference of Option and pass it to any builder fn, take the returning new struct and put it back into Option<Self> using the same mutable reference. Finally, when we call a consuming fn like show, we don't have anything to put in the Option<Self>, and if user still uses that object, we just throw a exception.

This code shows the problems and how i am working around them.
-- we can't pass mut ref to string in lua
-- so we store the string in an object and pass ref of this object to `text_edit_singleline` fn
my_data = {
    text = "my text"
}
-- a function to run inside the window
function window_ui(ui)
	-- label is fine, as it takes a readonly ref
    ui:label(my_data.text);
    -- working around the mut ref string by passing a table reference, and the fn will set the new value to the `text` field of the table
    ui:text_edit_singleline(my_data);
end
-- will be called every frame with egui Context as arg
_G.gui_run = function (ctx)
	-- we make the window static, so that we can store it in variable.
	-- and we can't clone it , so we need to build this window object every single frame
	-- because calling show consumes the object
	-- that's why `new_window` below is not just a static window, but a static Option<Window>
	-- If it was cloneable (and show only took it by reference), we could keep reusing this every frame.
    local new_window = egui.window.new("my lua window");
	-- set default pos or whatever here..
	-- these builder fn wrappers basically take the window struct out of option, call the builder fn, and put the new value back into the option.
    new_window:show(ctx, window_ui);
	-- using new_window here will throw an error, because show already consumed the value out of option
end

The main reason to have clone  is performance. Builder pattern works for compiled/inlined languages like rust that optimize everything away. But for scripting, it is a lot of redundant work and unidiomatic.
Something like this is much easier for scripting (subjective opinion):
-- create Window struct once at program startup and validate all args/config
local window_object = egui.window.create_window_object(
	{
		title = "my window",
		open = false,
		default_pos: -- and so on
	}
)

_G.gui_run = function (ctx)

	-- use the window_object every frame
	window_object.show(ctx,
		function (ui)
			ui:label("hello");
		end
	)
	// window object owns its values like "open" boolean, so we can just check to see if it is open
	if window_object:open then
		print("window is open");
	end
end


Unable to build Dopamine, branch 2.x

> Making all for tweak rootlesshooks…
==> Preprocessing SpringBoard.x…
==> Compiling SpringBoard.x (arm64)…
==> Preprocessing cfprefsd.x…
==> Compiling cfprefsd.x (arm64)…
==> Preprocessing installd.x…
==> Compiling installd.x (arm64)…
==> Preprocessing lsd.x…
==> Compiling lsd.x (arm64)…
In file included from lsd.x:2:
In file included from ../.include/libjailbreak/util.h:4:
Dopamine/BaseBin/rootlesshooks/../.include/libjailbreak/info.h:8:10: fatal error: 'xpc/xpc.h' file not found
#include <xpc/xpc.h>
         ^~~~~~~~~~~
1 error generated.
make[5]: *** [Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/lsd.x.83a5647e.o] Error 1
rm Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/lsd.x.m
make[4]: *** [/Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/rootlesshooks.dylib] Error 2
make[3]: *** [internal-library-all_] Error 2
make[2]: *** [rootlesshooks.all.tweak.variables] Error 2
make[1]: *** [rootlesshooks] Error 2
make: *** [all] Error 2

xpc.h is availabe in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/xpc

Update Xcode to 15.3. I also copied some xpc headers into $THEOS/include, but I don't think it's needed anymore with Xcode 15.3.

You need Procursus ldid https://github.com/ProcursusTeam/ldid/releases


Regular sync to start from last processed block instead of forkchoice head

resolves #1657

At the time of regular sync, forkchoice head() is not updated until the next finalized epoch so we should not use it, use the lastProcessedBlock in initial sync instead
Change blockPerChunk default value from 20 to 64 to be more efficient, similar to initial sync.
Fix initial sync bypass condition: finalized epoch maybe different from epoch of finalized block. This happens in case start slot of finalized epoch is a skipped slot.

At the time of regular sync, forkchoice head() is not updated until the next finalized epoch so we should not use it, use the lastProcessedBlock in initial sync instead

How is this possible? Ain't head suppose to update depending on attestations and new blocks?

At the time of regular sync, forkchoice head() is not updated until the next finalized epoch so we should not use it, use the lastProcessedBlock in initial sync instead

How is this possible? Ain't head suppose to update depending on attestations and new blocks?

we start the node with last known state as the finalized checkpoint in forkchoice, at initial sync some next blocks come have lower finalized epoch, that's why they'll not be best child of their parent and best descendant of their ancestor, and forkchoice will not consider them as new head.
after a while when we get new finalized checkpoints after processing blocks, we'll be able to form new head().
The new forkchoice implementation has some strict check as explained above and as per spec as well so we don't want to change that behavior of forkchoice.

we start the node with last known state as the finalized checkpoint in forkchoice

Is this because of weak subjectivity start? Why aren't we setting finalizedcheckpoint based on last known state finalized checkpoint?
Seems odd to have forkchoice broken during regular sync though because we might not get new finalized checkpoint. Does that mean we won't have head after regular sync until we reach finalization?

you're all right. We use last known state as finalized checkpoint because we want to support to start from weak subjectivity state with same API initForkchoice. I think we have 2 options to get through the issue:

[Current approach of this PR] Still use last known state as finalized checkpoint. The down side of this is we don't have new forkchoice head for a while as explained
Or create new API initForkchoiceWeakSubjectivity.

initForkChoice would use last known state's justified/finalized checkpoints to initialize checkpoints. We may have to initialize forkchoice with corresponding blocks from archivedBlocks repository.
initForkchoiceWeakSubjectivity would be the same to the current initForkchoice, and it's for initializing the node with a weak subjectivity state without having to query any blocks.

cc @wemeetagain to see which options we want to go.


Collapse prep/write steps in model evaluation

Consider merging:
In general, the plot* scripts could take the output of Snakefile_data, Specific examples:

write_outcome_distr and calculate_outcome_distrs could collapse
prep_nn_tc/write_nn_tc/plot_write_nn_tc
any others you can think of.

This issue has been dealt with. Thanks!


Shader Material Concept for Batcher

This is mostly intended for the Batcher, but right now Pushing/Popping Shaders is a bit weird if you intend to modify parameters, due to the actual draw calls being deferred to later.
For example, in this scenario both rectangles are drawn with the 2nd parameter assignment of 25.0f:
custom["Wavy"].Set(10.0f);
batch.PushShader(custom);
batch.Rect(new Rect(0, 0, 32, 32), Color.Red);
batch.Pop();

// ...

custom["Wavy"].Set(25.0f);
batch.PushShader(custom);
batch.Rect(new Rect(32, 32, 32, 32), Color.Red);
batch.Pop();

// ...
batch.Render();

I don't think this is very intuitive, and have run into it multiple times in my own use case. Thus, I think the idea of a "Material" which wraps a Shader & Parameter values might make a lot of sense. When the Material is actually used it applies any modified parameters to the current Shader.
I see a few ways for how this could be implemented:

Specific to the Batcher, and when you push a Shader it copies all the parameters into the batch state so that when it draws it assigns those values to the Shader before drawing. This is the most automatic approach but is kind of hidden. This however has concerns around GC/Allocations which I want to avoid.
Class-based approach, where the user creates a Material class and then sets values on it, and Pushes/Pops that to the Batcher. I find this option a little weird because it has the same problem as the example above - you could set some Material values, draw some stuff, then set other values, and draw some more, and it wouldn't be obvious the last Material values are the ones that will be used.

Hmm, there's probably not a great solution to this. However, here's my idea:
batch.PushShader(shader)
    .With("Wavy", 10f);
batch.PushShader(custom);
batch.Rect(new Rect(0, 0, 32, 32), Color.Red);
batch.PopShader();

It uses a fluent interface/method chaining. PushShader() should return a struct that can be chained to set the uniforms. The uniform values will be stored/pooled in the Batcher itself through some means. The struct will merely be a reference to the Batcher and maybe some version id/index to ensure that the user is not storing the struct and using it after the initial call (this is just plain user error, though).
It's obviously not a perfect solution since any uniforms set on the shader will not be overwritten if a With() call is not used (unless we use automatic setting like you described in your first solution). Additionally, I'm not really sure what should happen on PopShader() (i.e. should values be reset to what they were).
The main thing I want to avoid is Shader[].Set() since ideally we don't want any graphics calls before Batcher.Render().

Yeah I think I like this direction, my only concern (and maybe this is a non-issue?) is programmatically assigning values. Like if you're batching stuff from data, you can't do something like:
foreach (var (key, value) in assignments)
    batch.SetShaderParameter(key, value);

Although I suppose if the struct returned with batch.PushShader is valid until the next call you could do
var it = batch.PushShader(custom);
foreach (var (key, value) in assignments)
    it.With(key, value);

Will think about this a bit! I could even just go with the first example (batch.SetShaderParameter). That might be good enough.

Another option is to:

Refactor Shader to not upload parameters immediately
Add a Material class which holds parameter data
Draw calls take a Material class which uploads the parameters on-draw
Batcher takes Material and makes a (pooled?) clone on-push.

This is now fixed as of b8ea1b5. Opted to add a Material class that is easy to Clone, and the Batcher holds an internal pool of Materials it reuses. Did require a breaking change if you use Shaders though.


BACKLOG-1543 Add option to export Trans to JobEntryTrans

added new servlets with old refactored code
addJob=>registerJob
addTrans=>registerTrans
addExport=>registerPackage
added checkboxes to job & trans executors
job & trans always will send as zip
P.S. The checkboxes look like related because all checkboxes in a one group.

@pentaho-nbaker @mattcasters @deinspanjer please review

@dkincade @pentaho-nbaker @mattcasters @deinspanjer please review


[FEATURE]: Concern about the db.delete() footgun

Describe what you want
Is it just me, or is it quite easy to accidentally delete your entire users table with Drizzle?
Taking a look at the docs:

All it takes is one accidental comment, or newline before where(). Or simply forgetting to put it in.
Seems to be only a matter of time before someone has a bad day. As a comparison: the Supabase SDK does not allow you to call delete() without filters.
Not sure the best way to address it. Maybe Drizzle could have a config option to disable delete() if it does not have filters.

It's quite easy to delete all records from the table using SQL as well:
delete from users;

It's not really Drizzle's responsibility to protect against destructive actions that the user actively tries to run, as it simply converts the TS code you write into SQL. By the same logic you can argue that, for example, postgres driver shouldn't allow you to run queries like delete from users because it's potentially destructive, but it doesn't really make sense.

The only room for improvement I can see in this case is to not allow passing undefined to .where() for delete queries, because that might often happen if you implement your delete conditions incorrectly, and might indeed result in "surprise" deletion of all records in the table.

It's quite easy to delete all records from the table using SQL as well:

You are right and I agree that the deletion query should be allowed. Apologies, as I now see the post came off a bit harsh. It's not meant to blame Drizzle, as you say it gives you the power of SQL.
So the feature would be an extra safeguard. Like some other ORMs have implemented. An optional config, though I understand not wanting to clutter the config with every user suggested feature.

@AndriiSherman Great solutions.


Remove duplicates when calling get_access_points_ssids

Change-type: patch
Linked to #265
This solves an annoyance of having duplicate ssids returned when there are multiple networks available with the same ssid, eg
# nmcli device wifi list
IN-USE  SSID             MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
        BTWifi-with-FON  Infra  1     195 Mbit/s  100     ****  --
        BTWifi-with-FON  Infra  11    195 Mbit/s  32      **    --

where BTWifi-with-FON is a public network that is broadcast from multiple routers

@Page- we need to preserve the order of the SSIDs, so that they are sorted by signal strength from top to bottom. This is the easiest way I could think of - https://play.rust-lang.org/?gist=c901f433bb3e45035cca56638e7e4c09. If you find something shorter, even better.
And I think we may modify the comment to "Remove all duplicate SSIDs by preserving signal strength order". The "which come from the same ssid on multiple channels/frequencies" part is not very accurate and we can omit it altogether I think.
Thanks again for the PR!

Is there anything I can do to help this along? Unfortunately I don't seem to be able to log in to the CI system above to see why the tests are failing.

I will try to find time in the next days to update the PR with the needed changes and release a fix for this.

That's great, thank you.
Although in my opinion, the PR might be fine as it stands -- in reply to your remark earlier

we need to preserve the order of the SSIDs, so that they are sorted by signal strength from top to bottom.

I think it is a good thing to sort the SSIDs alphabetically given there's no indication of signal strength in the dropdown. To the user, without being prompted with the signal strength the sort order may just look random. On top of this if you already know the SSID you are looking for it is hard to find in the list when it's not sorted alphabetically. I've been using this code in a large shared office where there are 20-30 access points (and each on several frequencies) and the network I want to connect to is far from the strongest.

Closing in favor of #339.


Latest Update - Docker Build Issue

Hello,
I am having trouble getting Docker to build the project. I am using Linux containers. It looks like it is having trouble with installing playwright and/or chromium.
Here is my console output:
=> [ 6/12] RUN apt-get update &&     apt-get install -y xvfb xauth x11vnc &&     apt-get clean                                                                                50.1s
 => ERROR [ 7/12] RUN apt-get update && playwright install --with-deps chromium                                                                                5.3s
------
 > [ 7/12] RUN apt-get update && playwright install --with-deps chromium:
#0 0.873 Hit:1 http://deb.debian.org/debian bookworm InRelease
#0 0.937 Hit:2 http://deb.debian.org/debian bookworm-updates InRelease
#0 1.026 Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease
#0 1.152 Reading package lists...
#0 2.576 BEWARE: your OS is not officially supported by Playwright; installing dependencies for Ubuntu as a fallback.
#0 2.576 Installing dependencies...
#0 2.721 Hit:1 http://deb.debian.org/debian bookworm InRelease
#0 2.797 Hit:2 http://deb.debian.org/debian bookworm-updates InRelease
#0 2.880 Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease
#0 2.981 Reading package lists...
#0 3.816 Reading package lists...
#0 4.653 Building dependency tree...
#0 4.931 Reading state information...
#0 4.941 Package ttf-ubuntu-font-family is not available, but is referred to by another package.
#0 4.941 This may mean that the package is missing, has been obsoleted, or
#0 4.941 is only available from another source
#0 4.941
#0 4.941 Package ttf-unifont is not available, but is referred to by another package.
#0 4.941 This may mean that the package is missing, has been obsoleted, or
#0 4.941 is only available from another source
#0 4.941 However the following packages replace it:
#0 4.941   fonts-unifont
#0 4.941
#0 4.941 Package xfonts-cyrillic is not available, but is referred to by another package.
#0 4.941 This may mean that the package is missing, has been obsoleted, or
#0 4.941 is only available from another source
#0 4.941
#0 4.944 E: Package 'ttf-unifont' has no installation candidate
#0 4.944 E: Package 'xfonts-cyrillic' has no installation candidate
#0 4.944 E: Package 'ttf-ubuntu-font-family' has no installation candidate
#0 4.947 Failed to install browsers
#0 4.947 Error: Installation process exited with code: 100
------
failed to solve: process "/bin/sh -c apt-get update && playwright install --with-deps chromium" did not complete successfully: exit code: 1

I was able to run the last version without any issues. I am not sure if this is something I am not doing correctly or if this is a bug.
Thanks for your help!

Similar error on Windows:
No module named 'playwright'

Same here, not really sure what to do with it :/

Same Issue as well +1

ditto. might b related to the version of playwright in requirements not supporting the latest ubuntu 22.10. seems similar to https://github.com/microsoft/playwright/issues/13530

I got the same issue

I'm currently seeing this issue as well

I removed the packages from my error ( "xfonts-cyrillic" ) and it gave me a series of new deps which I added, in my case it was libatk-bridge2.0-0 libatspi2.0-0 libgtk-4-1 libvulkan1 libxkbcommon0. Seems to solve the chrome building issue

Hi.
You can change the file DockerfileCelery and comment the playwright stuff out. It is an end-to-end testing lib you will not need when not developing SuperAGI imo. As a quick fix I did it like that.

Then docker-compose up --build and superAGI is working again.

Hey guys really sorry from our end seems there is some issue especially on windows with playright,chromium or web-interactor tool removing it as of now from main, would fix it soon and merge!

Hey guys really sorry from our end seems there is some issue especially on windows with playright,chromium or web-interactor tool removing it as of now from main, would fix it soon and merge!

It was not working on Mac for me also

Hey guys really sorry from our end seems there is some issue especially on windows with playright,chromium or web-interactor tool removing it as of now from main, would fix it soon and merge!

Thank You

Yeah. I had the same issue.  Looking forward to the fix. Thanks in advance.

Hi.
You can change the file DockerfileCelery and comment the playwright stuff out. It is an end-to-end testing lib you will not need when not developing SuperAGI imo. As a quick fix I did it like that.

Then docker-compose up --build and superAGI is working again.
Maybe you can comment the whole line but I did not want to check all following files if the apt update is really needed. It's a workaround and no PR

somehow your trick worked but the server error was found to say as open  localhost:3000. Now another issue.

Yeah @stefan-wiesner Thanks for the tip. I worked but my install stalled again for some reason. Look forward to the fix.