Campaigns backend support

As a comms team member, I want to define a custom banner (or video) on HompePage plus a filter of related projects, so the users can easily find the Highlighted or Featured projects and have a clue when they land on or homepage following the campaigns lead on digital channels like Twitter.
Suggested task list:

Analysis and data schema design
Implementing the services for creating campaigns, editing, viewing a list of active campaigns and relating campaigns to projects, and default sorting in Admin Bro
Implement AdminBro changes
Services for filtering  Featured Projects
Services for custom banners block
list of Default filters for not showing all campaigns in the projects filter dropdown box

Details:
#1 data schema design
We need an entity called Campaigns. admin can view edit and define new campaigns in admin bro and relate it to different projects, with default sorting, these campaigns have different data fields like:

isActive
Name: simple string for custom naming
Title: Shown on the homepage
Subtitle: shown on the home page
Hashtags: array of hashtags which first one is the key hashtag of this campaign
mainMedia: IPFS link to a movie or a picture (guide on size and dimension should get clarified by the front end and get validated on admin bro
related projects: it could be an array or all projects (PS: this can be handled by a tag and have tags array in the projects entity instead of this entity
DefauttOrder: current sorting or other sorts
isAmongDefaultFilters: this shows whether this filter is available on the front-end filter box or no
homepage Order: we show up to 3 active campaign on the HomePage, this shows which come first

#2 adminBro services:

View list f campaigns, default view: name, creator, isActive, createDate -
Sort and filter by about fields
Create campaigns with the above fields
edit
(I'm not sure about deleting it could be making to inactive

#3 Implement AdminBro
#4 Services for filtering - please see the details in   Featured Projects - up to 9 project with default sorting will appear here
#5  Services for custom banners block ,please see the link for more detail  - up to 3 active campaigns will show up here.
#6 list of Default filters for not showing all campaigns in the projects filter dropdown box
isAmongDefaultFilters make it clear for front end wheter to consider this campaign in default filters on projects page or not

@MoeNick  Thank you  for this great detail, now I agree with what you have written, but during implementation I might have some comments

@MoeNick This is a great idea, and I have some ideas to implement it.

I think this bug(https://github.com/Giveth/giveth-dapps-v2/issues/1994#issuecomment-1443493703) related to this issue


Avoid deploy tests

Coverage remained the same at 13.611% when pulling 62b7b99a2e6cb5914aaa0cce1ec1dff2c901d2ef on avoid-deploy-tests into 2678de828e2e025e6d7476d493c5fbdff308ab18 on master.

Coverage remained the same at 13.611% when pulling 70535f2ed765b46d5e8c4366a838b9cb6291bb15 on avoid-deploy-tests into 2678de828e2e025e6d7476d493c5fbdff308ab18 on master.


Strange glitchy character appearing between blocks

I apologize if this isn't the correct place to ask this. I am setting this up and currently have 2 blocks, battery-combined-udev and time. In my dwm config, I have the fonts Iosevka and Font Awesome 5 Pro Regular defined and they both work correctly. In between the two blocks I set up, a strange character is appearing right before the time block. My blocks.h:
/* time interval in seconds to sleep before looking for updates in the main loop */
#define SLEEPINTERVAL                   1

#define PATH(name)                      "/home/rensenware/.config/scripts/"name

/* If interval of a block is set to 0, the block will only be updated once at startup.
 * If interval is set to a negative value, the block will never be updated in the main loop.
 * Set signal to 0 if signalling is not required for the block.
 * Signal must be less than 10 for clickable blocks.
 * If multiple realtime signals are pending, then the lowest numbered signal is delivered first. */

/* pathu - path of the program whose output is to be used for status text
 * pathc - path of the program to be executed on clicks */
static Block blocks[] = {
/*      pathu              pathc                interval                signal */
        { PATH("battery-combined-udev.sh"),NULL,0,                      2},
        { PATH("time.sh"), NULL,                1,                      0},

        { NULL } /* just to mark the end of the array */
};

static const char *delim =  "  ";

My time.sh module:
#!/bin/sh

icon=

cmd=$(date +"%a %Y-%m-%d  %H:%M")

echo "$icon $cmd"

My battery module:
#!/bin/sh

battery_print() {
    PATH_AC="/sys/class/power_supply/AC"
    PATH_BATTERY_0="/sys/class/power_supply/BAT0"
    PATH_BATTERY_1="/sys/class/power_supply/BAT1"

    ac=0
    battery_level_0=0
    battery_level_1=0
    battery_max_0=0
    battery_max_1=0

    if [ -f "$PATH_AC/online" ]; then
        ac=$(cat "$PATH_AC/online")
    fi

    if [ -f "$PATH_BATTERY_0/energy_now" ]; then
        battery_level_0=$(cat "$PATH_BATTERY_0/energy_now")
    fi

    if [ -f "$PATH_BATTERY_0/energy_full" ]; then
        battery_max_0=$(cat "$PATH_BATTERY_0/energy_full")
    fi

    if [ -f "$PATH_BATTERY_1/energy_now" ]; then
        battery_level_1=$(cat "$PATH_BATTERY_1/energy_now")
    fi

    if [ -f "$PATH_BATTERY_1/energy_full" ]; then
        battery_max_1=$(cat "$PATH_BATTERY_1/energy_full")
    fi

    battery_level=$(("$battery_level_0 + $battery_level_1"))
    battery_max=$(("$battery_max_0 + $battery_max_1"))

    battery_percent=$(("$battery_level * 100"))
    battery_percent=$(("$battery_percent / $battery_max"))

    if [ "$ac" -eq 1 ]; then
        icon=""

	echo "$icon  $battery_percent%"
    else
        if [ "$battery_percent" -gt 90 ]; then
            icon=""
        elif [ "$battery_percent" -gt 74 ]; then
            icon=""
        elif [ "$battery_percent" -gt 49 ]; then
            icon=""
        elif [ "$battery_percent" -gt 24 ]; then
            icon=""
        else
            icon=""
        fi

        echo "$icon  $battery_percent%"
    fi
}

path_pid="/tmp/polybar-battery-combined-udev.pid"

case "$1" in
    --update)
        pid=$(cat $path_pid)

        if [ "$pid" != "" ]; then
            kill -10 "$pid"
        fi
        ;;
    *)
        echo $$ > $path_pid

        trap exit INT
        trap "echo" USR1

        while true; do
            battery_print

            sleep 30 &
            wait
        done
        ;;
esac

Let me know if any more information is required.

Have you applied the dwm patch in the patches folder? Also does that character appear even if you remove the icons from the scripts or with icons other than what you are currently using?

I hadn't applied the patches, no, I'll try that now. Is the systray patch just for if I wanted a systray and unnecessary otherwise?

It appears even when I disable the icons.

Yes, the systray patch is for dwm already patched with systray, the other patch is for dwm without the systray patch. You can read the readme for more info.
The problem occured since you didn't apply the patch. So closing the issue.

If you don't want the features of clickability, color and cursor hinting, torrinfail's dwmblocks might be more suited for your usecase.

Looks like it is, thanks for your help.


Create AWS docker image for fine tuning

Tests:

https://github.com/mosaicml/llm-foundry/actions/runs/6820732410/job/18550104321?pr=731

added


How to export execution result to slack?

We donot see json files of results, is it possible to post execution results to slack?

You can export json results with saveJson: true:
{
  "reporter": "cypress-mochawesome-reporter",
  "video": false,
  "reporterOptions": {
    "saveJson": true
  }
}

As for the Slack integration, you can try use cypress-slack-reporter, but I never tried it, so Im not sure how to use it (:

THanks @LironEr

The cypress-slack-reporter, have Pre-Requisites for:
yarn add mochawesome --dev
yarn add mochawesome-merge --dev
yarn add mochawesome-report-generator --dev
yarn add cypress-multi-reporters --dev
So I guess it wont work with this.
maybe I can send a post request by extracting data from json

This reporter already does all these steps behind the scenes.
So I understand correctly, you can run this reporter, and then the slack reporter.
./node_modules/.bin/cypress-slack-reporter-full --reportDir cypress/reports/html

it will find index.json file, parse it and send slack message


Can not access web site on itself host via forwardproxy

e.g:
We have a forwardproxy for https://proxy.plus on host A, and a web site https://web.plus ( different from proxy.plus ) on the same host with caddy. P.S. enable tls always.
When browse the https://web.plus via https://proxy.plus proxy, chrome says "ERR_TUNNEL_CONNECTION_FAILED".
Other web sites work okay via https://proxy.plus.

When browse https://web.plus, caddy gives the vhost web.plus which should be proxy.plus.
The code: https://github.com/mholt/caddy/blob/master/caddyhttp/httpserver/server.go#L385

Thanks for the report!
I am not sure when I'll be able to dive into this issue, and PRs are always welcome.

When browse https://web.plus, caddy gives the vhost web.plus which should be proxy.plus.
IIRC, vhost is determined by Host header, which is web.plus.

The problem is most likely that Caddy receives:
CONNECT web.plus HTTP/1.1
Host: web.plus

which is proxying request that should have internally went to proxy.plus, but Caddy matches it to web.plus and sends it there for processing. Then the standard web.plus chain of middleware won't know what to do with this wierd request. The fix will probably involve changes to the Caddy itself, I am not quite sure what would be an elegant solution.
/cc @mholt
P.S. as a temporary workaround you can try using PAC files, to make browser use DIRECT connection to web.plus and not send CONNECT requests to Caddy.

@jim3ma, what client software are you using?

@bemasc just Chrome with SwitchyOmega.
@mholt can you consider to extend some config for caddy to match host customize ?

I think I know why this is happening. Caddy is programmed to handle requests by Host header, to choose the middleware chain it follows. For any Host that doesn't match one defined in the Caddyfile, it routes to a forwardproxy chain, if configured. But in this case, Caddy has a site defined for the Host name you're trying to access via a proxy.
How would Caddy know which middleware chain to use?

We could send all CONNECT requests into middleware chain with forwardproxy, but that doesn't integrate very well into current host matching logic of Caddy.
As an aside, here's another temporary workaround: add forwardproxy to all your chains.

@mholt When chrome uses forwardproxy, chrome dials proxy.plus with tls. The tls connection knows the right host is proxy.plus with SNI, so when match vhost, Caddy should consider the SNI hostname.

@mholt When chrome uses forwardproxy, chrome dials proxy.plus with tls. The tls connection knows the right host is proxy.plus with SNI, so when match vhost, Caddy should consider the SNI hostname.

BTW,  every vhost has the supported methods like POST, GET, DELETE. When match vhost, the supported methods should be considered.

test

tewst

@sergeyfrolov  add forwardproxy to all chains seems not work for proxy directive.

Caddy should consider the SNI hostname

Webservers generally don't do this, and there are setups that rely on this not being the case. Among other more general network configurations, the fact that webservers don't prioritize SNI in vhost matching is how Domain Fronting censorship circumvention technique works.

BTW each vhost has the supported methods like POST, GET, DELETE. supported methods should be considered

If supported methods are known for each vhost, then this might work. Currently, when forwardproxy loads, it sets the chain it's in to be a fallback for unmatched hosts. We can disable CONNECTs on all vhosts but forwardproxying one and allow CONNECT requests to be handled by fallback. As an added advantage, we would be able use FallbackHost only for unmatched CONNECT requests, as opposed to current state of things in which all and every unmatched request goes into forwardproxying chain.

How about a flag like -sni-first that tells Caddy to try matching a site based on the SNI name and then, if there are no matches, to use the Host header instead?

The sni-first option is okay.
So we did not hack the match method which always move traffic to forwardproxy.


fix multiple matches bug

Expected behavior: when we have multiple matchers, we should only use ts that matches all
Bug: this was overlooked, we returned true if any matches worked
Fix this with unit tests of MultiMatch

thanks for reviewing


packer build fails for ubuntu 18.04

Description
building the image with packer fails during installation of package Az
Area for Triage:
Packages
Question, Bug, or Feature?:
Bug
Virtual environments affected

[x] Ubuntu 18.04 LTS

Expected behavior
packer build to complete without error
Actual behavior
running packer build for the ubuntu 18.04 image fails
$ packer build -var-file ~/azure-pipeline/packer_sp.json ubuntu1804.json
....Installing package 'Az'                                                            Downloaded 0.00 MB out of 0.02 MB.                                              [oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo  ]                                                                                Testing to make sure that script performed as expected, and basic scenarios work
    azure-arm: Az Module was not installed
    azure-arm: Az version 2.8.0 is not installed
==> azure-arm: Provisioning step had errors: Running the cleanup provisioner, if present...
==> azure-arm: Removing the created Deployment object: 'pkrdp7n4s2972tu'
==> azure-arm:
==> azure-arm: Cleanup requested, deleting resource group ...
==> azure-arm: Resource group has been deleted.
Build 'azure-arm' errored after 3 hours 47 minutes: Script exited with non-zero exit status: 1.Allowed exit codes are: [0]

==> Wait completed after 3 hours 47 minutes

==> Some builds didn't complete successfully and had errors:
--> azure-arm: Script exited with non-zero exit status: 1.Allowed exit codes are: [0]

==> Builds finished but no artifacts were created.
$

Hello, @mgabathuler
Looks like temporary network issue with PowerShell repository. I have got the same error, but for other modules:

hi @al-cheb
thanks for checking, in that case i'll try again tomorrow and update here with the result

ran the build again today and i am getting past the failing point from yesterday but failing at another point now
==> azure-arm: Provisioning with shell script: /home/matthias/git/virtual-environments/images/linux/scripts/installers/terraform.sh
==> azure-arm: parse error: Invalid numeric literal at line 1, column 10
==> azure-arm:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
==> azure-arm:                                  Dload  Upload   Total   Spent    Left  Speed
==> azure-arm: 100   303  100   303    0     0   1147      0 --:--:-- --:--:-- --:--:--  1147
==> azure-arm:   End-of-central-directory signature not found.  Either this file is not
==> azure-arm:   a zipfile, or it constitutes one disk of a multi-part archive.  In the
==> azure-arm:   latter case the central directory and zipfile comment will be found on
    azure-arm: Archive:  terraform__linux_amd64.zip
    azure-arm: Testing to make sure that script performed as expected, and basic scenarios work
    azure-arm: Terraform was not installed or found on PATH
==> azure-arm:   the last disk(s) of this archive.
==> azure-arm: unzip:  cannot find zipfile directory in one of terraform__linux_amd64.zip or
==> azure-arm:         terraform__linux_amd64.zip.zip, and cannot find terraform__linux_amd64.zip.ZIP, period.
==> azure-arm: Provisioning step had errors: Running the cleanup provisioner, if present...
==> azure-arm: Removing the created Deployment object: 'pkrdpwftq1vn0is'

is this something new or maybe also just a fluke?

thanks for checking, i think i'll close this issue then and just retry and keep my fingers crossed :)
thanks for all your help @al-cheb


Integration with systemd

Hi,
For me, using an /etc/default/mlvpn file to which config files to read at startup is very convenient idea.
When playing with MLVPN on a Debian Jessie systemd enabled box, I had to type a "systemctl enable mlvpn" command to have MLVPN started at boot time.
Does it make sense to integrate this systemctl command within MLVPN installation script ?
Regards

doing systemctl enable mlvpn is mandatory when using systemd system.
mlvpn uses systemd generators, like openvpn do to handle multiple configuration file: systemctl enable mlvpn@configname
This is pretty much the same as OpenVPN does.
/etc/default/ is a thing of the past it seams. Feel free to point to me other packages doing what you think is better


Usage clarification

Disclosure for incompatibility with production environments.

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


[textdraw.streamer] DestroyDynamicPlayerTextDraw: No such id was found. (playerid: 0, textId: 0) (NOTIFIKASISYSTEM\SHOWITEMBOX.pwn:19)

how to fix that sir

You are trying to make a transaction with a deleted id. Share line 19 from the SHOWITEMBOX.pwn file.

for(new i=-1;++i<10;) PlayerTextDrawDestroy(playerid, TextDrawItemBox[playerid][(IndexItemBox[playerid]*10)+i]);

Your ID has an invalid value. Change the code as follows.
for(new i = -1; ++i < 10;)
{
	if(TextDrawItemBox[playerid][ (IndexItemBox[playerid] * 10) + i ] != 0)
	{
		PlayerTextDrawDestroy(playerid, TextDrawItemBox[playerid][ (IndexItemBox[playerid] * 10) + i ]);
	}
}

use this ...
stock PlayerText:FIX_PlayerTextDrawDestroy(playerid, PlayerText:textid)
{
    if (IsValidDynamicPlayerTextDraw(playerid, textid))
    {
        PlayerTextDrawDestroy(playerid, textid);
    }
}

i too got this.[textdraw.streamer] DynamicTextDrawShowForPlayer: No such id was found. (textId: 0) (C:\Users\91915\Desktop\Legendary RP (3)\gamemodes\lrp-5-1.pwn:50388)

i too got this. [textdraw.streamer] DynamicTextDrawShowForPlayer: No such id was found. (textId: 0) ( gamemodes\lrp-5-1.pwn:50388)
[textdraw.streamer] DynamicPlayerTextDrawSetString: No such id was found. (playerid: 0, textId: 0) (gamemodes\lrp-5-1.pwn:58428)

add my code and replace PlayerTextDrawDestroy to FIX_PlayerTextDrawDestroy

sir only of PlayerTextDrawDestroy? I mostly use PlayerTextDrawHide. Can i use this format for PlayerTextDrawHide too? The error shown in this line is hided.


Incorrect credentials

Page: /guides/tutorials/codelabs/pubsub-to-appengine/
Feedback:
The service account used in this code lab needs the pubsub/subscriber role.

https://github.com/spinnaker/spinnaker.github.io/pull/604


Ignore errors when concatenating multiple netCDF files

Hi guys, thanks for building this tool firstly.
I tried to convert multiple netCDF files of the same matter to a single zarr file but this error occurs:
ValueError:<variable_name> is not present in all datasets.
while there is an option in xarray to just ignore the errors: https://docs.xarray.dev/en/stable/generated/xarray.DataArray.drop_vars.html
I couldn't find such option to configure in the yml template file. Can you please advise?
I also have a netCDF file to be converted to Zarr that will always raise the error Error: Cannot parse timestamp from... if I explicitly define the variables in the config template. No errors if I remove variables config in the template, however, I do need to select particular variables:
  variables:
    - sea_ice_fraction
    - sea_ice_fraction_dtime_from_sst
    - sst_dtime

It would be great if you can suggest the matters above.
Thank you very much.

Update

I also have a netCDF file to be converted to Zarr that will always raise the error Error: Cannot parse timestamp from... if I explicitly define the variables in the config template. No errors if I remove variables config in the template, however, I do need to select particular variables:

I figured out this part of the issue by adding time to the variables.
Still stuck with trying to ignore the errors issue.

Update
Please ignore the whole issue, I selected the wrong variables.

Update
It would be great if it's possible to declare variables to be dropped from the dataset just like being able to define variables to be selected in the config template file.
Reason: a netCDF file may have 20 different variables, but only need to grab 17 of them, it's faster to declare 3 variables to be dropped compared with declaring 17 variables to be selected.
Thank you very much.

I tried to convert multiple netCDF files of the same matter to a single zarr file but this error occurs:
I couldn't find such option to configure in the yml template file. Can you please advise?

This could be solved in nc2zarr by inserting missing variables with fill value data. But this isn't implemented yet. Happy to receive your PR. Meanwhile you could write your own pre-processor to insert missing variables.

I also have a netCDF file to be converted to Zarr that will always raise the error Error: Cannot parse timestamp from... if I

Same here, neither nc2zarr nor xarray can parse any timestamp format. Write your own pre-processor to fix that.

It would be great if it's possible to declare variables to be dropped from the dataset just like being able to define variables to be selected in the config template file.

Good point! Will let you know here, once this is implemented. Meanwhile, write your own pre-processor that does what you want :)

Thank you, I ended up writing a simple python script to help me with defining selected variables. Have a good day!


Billboard depth testing performance improvements

Leftover from #6621
Right now we're doing the depth testing checks in the fragment shader.  We can move most of this to the vertex shader (when texture reading in the vertex shader is supported), but the math will be slightly different for computing the screen coordinates.
See this comment: https://github.com/AnalyticalGraphicsInc/cesium/pull/6621#discussion_r195212797

Let's please do this for the upcoming release as it will be a significant performance win for a large number of billboards, which is a common case.

@bagnell I'm really stuck on this one.  I'm not sure how to get the coordinates for the depth texture lookups, and I'm not sure what I should be comparing the result of that lookup to.


Fix typo for std::debug in docs

Docs are incorrect on debugging page. Std::Debug --> std::debug

@tharbert and @huitseeker Could you please confirm these changes?

@randall-Mysten pinged better reviewers :)

@huitseeker Thank you!

This PR is issued against the wrong branch, u fortynat es muy we need it reissued against main for a merge @Deagler


SPIKE: Explore Sentinel policies

Describe the issue
Cost estimate is inspiring, any other low-hanging fruit high value items we can demo?
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context
Add any other context, attachments or screenshots
Definition of done

New well-formed tickets in ZenHub
A slide in the demo presentation discussing some of the features

Not relevant anymore


Project members cannot fetch their own repositories for pipelines

I used a non-admin user, cluster owner and project owner. After adding the gitlab private repository, click "Authorize & Fetch Your Own Repositories" and I get an error
Sourcecodecredentials.project.cattle.io "p-zx9dv-gitlab-root" is forbidden: User "u-j88t5" cannot get sourcecodecredentials.project.cattle.io in the namespace "u-j88t5"
But I tested it successfully with the user 'admin'.

The cause it users missing credential permissions the user namespace.
Workaround in v2.1.0:

Exec into rancher server container(or target to the management cluster in HA mode) and run
$ kubectl edit globalrole user
Find rules for sourcecodecredentials & sourcecoderepositories resources, change their apiGroups from management.cattle.io to project.cattle.io, and save.

1. kubectl edit globalrole user

root@9eea3ba74dda:/var/lib/rancher# kubectl edit globalrole user
error: unable to launch the editor "vi"

You can do a apt install vim in the container before editing, or patch the resource in some other ways.

Version -2.2 master 10/23
Verified fixed

kubectl edit globalrole user
error: the server doesn't have a resource type "globalrole"
how to fix it

@qingdi Are you using standalone or ha install, which kubernetes is your kubectl connecting to?

@qingdi Are you using standalone or ha install, which kubernetes is your kubectl connecting to?

I was able to reproduce this once again using v2.2.2.
I have a local user that has Project Owner and Cluster Owner roles.
When attempting to add their own repositories for pipelines, the following error is encountered:
sourcecodecredentials.project.cattle.io "p-2ckk4-github-ebauman" is forbidden: User "u-499kl" cannot get resource "sourcecodecredentials" in API group "project.cattle.io" in the namespace "u-499kl"

Adding versioning information:
Rancher | v2.2.2
User Interface | v2.2.41
Helm | v2.10.0-rancher10
Machine | v0.15.0-rancher6-1

Reopening issue. This does not appear to be fixed.

Synced with @ebauman it is reproducible in v2.2.2 with the following steps:

Add a test user with custom global permissions: Manage Authentication,Manage Catalogs
Add the user to be the owner of a provisioned cluster, and the owner of the Default project.
As the test user try to fetch repositories for pipelines in the Default project.

The cause is that RBAC rules for sourcecodecredential resources are only included in user(Standard) role, and it's user-scoped resource so it's not granted by prtb.
A workaround is to use Standard User global permission.

Tested with master-head from July 15
Test:

Add a test user with custom global permissions: Manage Authentication, Manage Catalogs
Add the user to be the owner of a provisioned cluster, and the owner of the Default project.
Use the test user to fetch repositories of the pipeline in the Default project.

Result:
The test user can fetch pipeline repositories.


The implementation name is Pore

Server#getName() is meant for the implementation name. https://github.com/LapisBlue/Pore/blob/aceb8b40b9e9bdd1e7ddee1883dab77ac2efee5c/src/main/java/blue/lapis/pore/impl/PoreServer.java#L167 so it should equal 'Pore'

This has been fixed.

pointer to c302ed32ecf0e05a4 for reference


Release v3.3.0

CHANGELOG 3.3.0

🚀 Added

Added stepper examples on homepage (https://github.com/beercss/beercss/issues/65#issuecomment-1628890530)
Added style to internal scrollbars
Updated search to not use header inside menu (https://github.com/beercss/beercss/issues/188)
Updated default dialog to be rounded like material 3 guidelines (https://github.com/beercss/beercss/issues/186)
Updated slider to be like material 3 guidelines
Added left|right|top|bottom|horizontal|vertical directions to margin and padding helpers, you can use like this {direction}-margin or {direction}-padding (https://github.com/beercss/beercss/pull/150)
Added auto-margin and auto-padding helpers (https://github.com/beercss/beercss/pull/150)
Added clickable icon on field element using  tag (https://github.com/beercss/beercss/issues/195)

🩹 Fixed

Fixed focus on textarea element without border
Fixed data-ui behavior to not focus on element after open a snackbar (https://github.com/beercss/beercss/issues/183)
Fixed data-ui menu behavior
Fixed mis-rendered issues (https://github.com/beercss/beercss/issues/194)

⚠ Breaking changes

Renamed toast to snackbar to be material 3 friendly (https://github.com/beercss/beercss/issues/182)
Removed --inverse-on-primary variable, this color doesn't exists on official material color scheme
Updated default chip to be like material 3 guidelines (https://m3.material.io/components/chips/overview)
Merging loader and progress elements into <progress> tag to be more semantic with a pure css solution

🚩 Examples
// Renamed toast to snackbar to be material 3 friendly

// Before

...

// After

...

// Updated default chip to be like material 3 guidelines

// Before

  today
  Chip

// After

  today
  Chip

// Merging loader and progress elements into <progress> tag to be more semantic with a pure css solution

// Before

// After
<progress></progress>
<progress class="circle"></progress>
<progress class="orange-text"></progress>

<progress value="0.25"></progress>
<progress value="25" max="100"></progress>

// Updated search to not use header tag inside it

// Before
<menu class="min">

      arrow_back
      <input placeholder="Search text">
      close

  ...
</menu>

// After
<menu class="min">

    arrow_back
    <input placeholder="Search text">
    close

  ...
</menu>

// Added stepper examples on homepage

  <button class="circle">1</button>

  <button class="circle">2</button>

  <button class="circle">3</button>

// Added directions to margin and padding helpers
// Added auto-margin and auto-padding helpers

// Added clickable icon on field element using  tag

    search

  ...

Hey @KicKerBNU all resolved, except the case of search. We can create another feature PR to change the behavior of search, because at moment, I have no idea how to do that in our search. It's ok for you?

Hey @KicKerBNU all resolved, except the case of search. We can create another feature PR to change the behavior of search, because at moment, I have no idea how to do that in our search. It's ok for you?

Sounds good 🎉


parse_part dropping any instance of \r\n

Took awhile to track this down, but our binary uploads may contain \r\n in the file bodies somewhere, and it looks like Multipart is stripping every instance, leading to invalid files being stored to disk.
It looks like it might be here https://github.com/cryptosense/multipart-form-data/blob/master/lib/multipart.ml#L163 where all of the lines, having been split on \r\n, are simply concatenated together as-is, not restoring the \r\n that was there beforehand (to be clear, we need the bytes 0d0a to be in the final filestream).
I tried a few different hacks, but I'm not very familiar with Lwt_stream, and couldn't quite figure out how best to get it to interpose the streams I need. Any hints on how to make it work?

This has become very relevant for me. I'll see if I can address that issue.

I'm not a maintainer anymore, but if this package does not work, you might want to try https://github.com/dinosaure/multipart_form (not released yet).

Thanks. I decided for a direct API call instead, but I'll take a look if I decide to use multipart in the future.

I also suspect that handling of \r\n is not correct: https://github.com/rgrinberg/opium/issues/258#issue-792867630

I also suspect that handling of \r\n is not correct: https://github.com/rgrinberg/opium/issues/258#issue-792867630


Update troubleshoot document for correct IOTEDGE_LOG

It should be IOTEDGE_LOG=debug not IOTEDGE_LOG=edgelet=debug. This fixes #71563

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

Thank you for this update @vadim-kovalyov
#sign-off


[Scaleset] Add RDP/SSH NAT rules to scale set

[ ] Implement rules in ARM template
[ ] run test plan
[ ] also see autoscale, work should be combined

Moving to sprint 2.


Heal whitespace on CSR upload to workaround openssl bug

Follow up to discussion in #437 - try to repair whitespace "errors" in uploaded PKCS10

With Crypt::PKCS10 1.8 (available once I resolve an elusive test issue), you can easily use it to work-around this OpenSSL bug.
Your code will look like this:
my $csr = Crypt::PKCS10->new( $filename, readFile => 1, ignoreNonBase64 => 1  ) or
                                                                die Crypt::PKCS10->error;
my $fixed = $csr->csrRequest(1);
my $signed = qx/openssl ca -batch <<_EOF\n${fixed}_EOF\n/;
                                  # Hopefully you aren't using openssl's CA :-)

That's it.  $fixed is RFC-compliant PEM that OpenSSL (and anyone else) should accept, even with strict parsing.  (Prior to V1.8, csrRequest(1) used MIME's maximum line length, which isn't strictly compliant.)
Note that this also verifies the signature (#437) and parses the entire CSR.  So you can do your policy enforcement, logging, etc from the $csr object.
ignoreNonBase64 will allow (and remove) non-Base64 characters in the PEM block, such as those you get when someone forwards a CSR in an e-mail and it gets quoted with '>'.  It's optional.
Without ignoreNonBase64, all the whitespace is removed, but non-Base64 characters will cause the CSR to be rejected.
If you need it, subjectPublicKey(1) will also be strictly compliant PEM, so you can feed it to OpenSSL.
I hope this is helpful.


Add option to hide help-button

Idea
Perhaps it would be beneficial to hide the help button from the user interface, because after a while it no longer provides any added value to the user.
Screenshots

done!


Add hierarchal view to explorer

I received the below feature request via email from a user.
This is the View that I currently have in VS Code. However, I need a hierarchical overview, just like in the teradata studio. Also, I can see Databases, but not

Additional context:
Databases and users in Teradata can form a hierarchy, i.e. a db/user can be created within another db/user. See the SQL example below.
CREATE DATABASE parent
AS PERMANENT = 60e8,
    SPOOL = 120e8;

CREATE DATABASE child FROM parent
AS PERMANENT = 60e7, -- notice how space gets reduced as it needs to fit into the parent db space
    SPOOL = 120e7;

CREATE DATABASE grandchild FROM child
AS PERMANENT = 60e6,
    SPOOL = 120e6;

-- and now, let’s display the hierarchy

WITH RECURSIVE JER (LEVEL, DATABASENAME, OWNERNAME, ROUTE)
AS
(
SELECT 1 LEVEL,
       DATABASENAME,
       OWNERNAME,
       CAST('/'||TRIM(DATABASENAME) AS VARCHAR(128)) ROUTE
  FROM DBC.DATABASES
 WHERE DATABASENAME='DBC'
UNION ALL
SELECT JER.LEVEL + 1,
       D.DATABASENAME,
       D.OWNERNAME,
       JER.ROUTE || '/' || TRIM(D.DATABASENAME)
  FROM DBC.DATABASES D,
       JER
 WHERE d.DATABASENAME<>'DBC'
   AND d.OWNERNAME = JER.DATABASENAME
)
SELECT LEVEL,
       DATABASENAME,
       OWNERNAME,
       ROUTE
  FROM JER
 ORDER BY 4

I support this enhancement as well

Implemented - Changes will be included with V0.4.0 build.

Currently, there's no Users object type supported by the parent project sql-tools.
Due to this, this might make it impossible to view databases nested under users, if that's possible?
Currently the query used to pull the ROOT level databases is:
SELECT
    DatabaseName AS "label"
    ,DatabaseName as "name"
    ,DatabaseName AS "database"
    ,'${ContextValue.DATABASE}' AS "type"
    ,'database' AS "detail"
    ,'database' AS "iconId"
  FROM DBC.DBase
  WHERE
    RowType = 'D'
    AND OwnerName = 'DBC' --"Root" level databases only, don't pull nested DBs here
  ;

As far as I've found, 'D' is the correct type for Database...
I'm going to be working on adding a toggle for the connection to display users as databases for #16. I think that should mitigate this possible issue... I think that actually will also solve for #11 as well.


add specific instructions for using WeSay to S&R a project

closes #360 the main use for this is to encode the users email address for them so they can still use wesay without a username.
Preview:

edit: changed "Get Project From Internet" to "Get from Internet" to match what WeSay actually says
open to suggestions for changing the wording.

Another idea I just had: you could make the username "copy-able" just like you did for the S/R URL.  That could help people get the username correct since it contains a special character.  Just a thought, perhaps a separate PR.


Work on Flaky CI

Coverage remained the same at 70.878% when pulling f1cea871937938f586cf1af71f522108085c0d02 on work-on-flakiness into 6ee0b01d2404e5974d10e34c315b2be568c4bffe on main.


Watson Error 415 when creating a collection

# Prepare a collection of documents to use
col, col_id = helper.fetch_object(discovery, "collection", "Story Chunks", environment_id=env_id,
    create=True, create_args=dict(
        environment_id=env_id, configuration_id=cfg_id,
        description="Stories and plots split up into chunks suitable for answering"
    ))

WatsonException: Error: The request failed. Please try again., Code: 415
It worked the previous week. New services with new credentials don't solve the issue.

It has been solved now :
https://github.com/watson-developer-cloud/python-sdk/commit/bff824afb72e693708d7a8f015b83432f0e76057


ESP32R0 workaround is not Windows specific

Hey guys,
"Reset with ESP32R0 Windows workaround" fixed for me the board not reseting into download mode, even though I'm on macOS running IDF on Ubuntu 14.04 in Virtualbox.
The issue was with "ESP32_Core_board_V2".
It took me a while to try it, as I was mislead by "Windows" in the name. To save others same headache, it would be better to remove "Windows" text from the option.
As far as I understand, the problem is with cp210x drivers, windows or mac.

Thanks @grisevg for reporting this. If you're passing through the USB device (rather than the serial port) to VirtualBox then the problem is probably to do with USB latency introduced between VirtualBox Linux guest and the host OS, rather than the cp210x mac drivers (which aren't being used in that case, and our macOS developers don't report this problem when running natively on macOS).
However your point is well taken that there are situations where this problem is triggered without being on Windows. We'll update the labelling for this option, thanks for pointing it out. (We're also going to change the default esptool behaviour so it should work on the default settings, by merging Marty's PR espressif/esptool#172).


Annotation @BeanParam is generating errors in Swagger Editor

When you use the @BeanParam annotation in the parameter that contains an attribute of type list, you are generating some errors in Swagger Editor.
If you change type: object totype: string the errors disappear.
In my case I need to use collectionFormat: csv, but even changing this property to csv appears  collectionFormat: multi.
If you remove @BeanParam and put @ApiParam (value = "Fields") @QueryParam ("fields") List <String> fields does not display errors.
For example:
@GET
@Path("/test")
@ApiOperation(value = "Test BeanParam")
@ApiResponse(code = 204, message = "No content")
public Response test(@BeanParam TestBeanParam test) {
    return Response.noContent().build();
}

public class TestBeanParam {

    @ApiParam(name = "test", value = "Test BeanParam")
    @QueryParam("test")
    private List<String> fields;

    public List<String> getFields() {
        return fields;
    }

    public void setFields(List<String> fields) {
        this.fields = fields;
    }
}

File swagger.json:
/api/v1/test:
    get:
      summary: Test BeanParam
      description: ''
      operationId: test
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: test
          in: query
          description: Test BeanParam
          required: false
          type: array
          items:
            type: object
          collectionFormat: multi
      responses:
        default:
          description: successful operation

Errors displayed in Swagger Editor:
Line
name: test

Error
Schema error at paths['/api/v1/test'].get.parameters[0].required
should be equal to one of the allowed values
allowedValues: true

Line
items:
    type: object

Error
Schema error at paths['/ai/v1/test'].get.parameters[0].items.type
should be equal to one of the allowed values
allowedValues: string, number, integer, boolean, array

Line
collectionFormat: multi

Error
Schema error at paths['/api/v1/test'].get.parameters[0].collectionFormat
should be equal to one of the allowed values
allowedValues: csv, ssv, tsv, pipes

Problem solved. The problem was that I was using a version of the outdated swagger-maven-plugin. I changed the version and it is now working correctly.


Recipes

I made a custom command :sort and when I got it working I thought two thing:

I wonder what other ex-mode users have defined as custom commands
I want to share my custom command

So, my question is: is it a good idea to create an entry in the README.md to gists of user defined custom commands? Or maybe a /recipes dir or a RECIPES.md file?
This could have the added benefit for the maintainers to see popular custom commands which could find it's way into the main package.
PS. My custom sort command (I use this all the time!):
atom.packages.onDidActivatePackage (pack) ->
    if pack.name == 'ex-mode'
        Ex = pack.mainModule.provideEx()
        Ex.registerCommand 'sort', ->
            textEditor = atom.views.getView(atom.workspace.getActiveTextEditor())
            atom.commands.dispatch(textEditor, 'sort-lines:sort')

I do like this idea.  Let's work it out to see if we can make the "recipes" more useful.
I wonder.... what if we added a custom :recipes or :dispatch command, which could auto-complete available commands? that are available from a /recipes folder in the plugin?
Or perhaps... this should be another plugin entirely, that relies on ex-mode?  this is a great idea, but might be out of scope of ex-mode, where the idea is to implement vim-mode functionality via commands, to reproduce the native command features used in vim.

I'm open to the idea of having user contributed scripts/commands directly in the repo. As with git and other linux applications, they use a folder named "contrib", and I'm also liking that name for such a folder.
@Gijsjan You are welcome to open a MR for this, and I'll add it to the repo.


MIM-114: Make it possible to save maintenance request without maintenance unit

'maintenance_unit_option_id' in vals is true even if the value of vals['maintenance_unit_option_id'] is false, so it would fail when trying to save the maintenance unit.
Should maybe change all the if 'x' in vals checks in this method? We can do it in a separate PR that we don't merge until after release though in case it unexpectedly breaks something.

I'd say we change all the if 'x' in vals right away as it sounds like you can't create a ticket without tenant or lease for example right now?  Please test if that's the case and if it is, change all of them to if vals['x] 🙏


Write-DBADataTable regression: no longer defaults the schema to dbo

Bug Report
Write-DbaDataTable no longer defaults the schema to dbo when not -Schema parameter is specified.

General Troubleshooting steps

[X] Verified running the latest release of dbatools?
[X] Verified errors are not related to permissions?
[X] Can duplicate in new/clean PowerShell session (clean = powershell -NoProfile)?

Version Information

Operating System (Name|Version): Windows 8.1
PowerShell Version: 5.0.10586.117
SQL Server (Edition|Version): SQL 2014

@FriedrichWeinmann since a default is specified for $Schema do we need to call Test-Bound before we set $schemaName = $Schema?

No, we don't, that was an error of mine and just setting it without that if-clause would fix the issue. Thanks for catching that!
Want to do the honors? Otherwise I can get to that tomorrow (not at my desktop machine right now)

I can take care of it. Just waiting on a PR to be merged in. Still learning how to correctly use git.


Include Field extra keys name in warning

Fixes https://github.com/pydantic/pydantic/issues/7099

please review


moved developer checklist down so that important description appear above

What kind of PR is this?:

/kind chore
What this PR does / why we need it:
Moved developer checklist down so that important descriptions appear above. (This section)
This makes PR previews on messaging channels much more readable and concise.

Codecov Report

Merging #231 (b7ea8a4) into main (8c64769) will decrease coverage by 0.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #231      +/-   ##
==========================================
- Coverage   79.45%   79.25%   -0.20%
==========================================
  Files          45       45
  Lines         511      511
  Branches      117      117
==========================================
- Hits          406      405       -1
- Misses         98       99       +1
  Partials        7        7

Impacted Files
Coverage Δ

src/pages/dex/index.tsx
68.75% <0.00%> (-6.25%)
:arrow_down:

Continue to review full report at Codecov.

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


[🐞] Context+hidden slot breaks SSR

Which component is affected?
Qwik Runtime
Describe the bug
When SSR renders a child into a parent that doesn't render a Slot, it will not see the parent's context. On the client it's not a problem.
Reproduction
https://qwik.builder.io/playground/#v=1.2.12&f=7VZLTsMwFNxzCrPpR0UhmwqBmm64AKIL1kkUClLVSI2RqCzfnRl%2FYxeQuqzUXewXv9%2BMPW9EmseHCBTskQB3WAUF5oLEdpsZLdNdrjKa3vxHQdurFo3KyQ2pWs%2Bm7RRJp431gV9qgMcWj3mrcEerkvB1%2B%2Bq93g2dDgC42QMnQmngR7dHBG%2Bku2iEL2P75S62IPL8BFTOSwEaMzPFUUFZJsyGAm4hEJW4dZ9wZT8Wi7ley3673XVh5gruDhFZ5X1MJmJFZGDSDmeXAqFm52xZLnuraGnDsu64BvhnqDX1%2BzeAvp%2Fl95NQLmFt49lY4pz3xDUsw5Jo%2BCIhwgPHR0mlyP5rjhxMJM0RaEgy9LA91MOHGWY2m1ffvKT%2B0EbKD2YUiDmKEgPGJVibTizLQrxRso%2F9F%2BOMY2DSMGHwG1hmeM1YUGbmVTc9ZPtTFj5wljfJqZalTgr9M7%2FVfXrcX%2BXTXYf29TW%2BvNf4Bw
Steps to reproduce

remove the second open in the playground. The context is now the one from the top parent
remove the first open in the playground. SSR will crash.

System Info
qwik v1.2.12

Additional Information
working on a fix
playground code:
import {
  component$,
  useSignal,
  Slot,
  useContextProvider,
  useContext,
  createContextId
} from<EMAIL_ADDRESS>
const c = createContextId<any>('c');

export const ProviderParent = component$(({val=0, open=false}) => {
  const s = useSignal(open);
  const t = useSignal(val);
  useContextProvider(c, t)
  return (

      <button onClick$={() => (s.value = !s.value, t.value++)}>toggle</button>

      {s.value && <Slot />}

  );
});

const ContextChild = component$(() => {
  const t = useContext(c);
  return
Ctx: {t.value}
;
});

export default component$(() => {
  return (
    <ProviderParent open>
      Closing this ProviderParent by setting open=false will crash the SSR
      <ContextChild />
      The below Ctx should be 50. When you set open=false it will be 0, from the parent above it.
      <ProviderParent val={50} open>
        <ContextChild />
      </ProviderParent>
    </ProviderParent>
  );
});

Any chance you could attempt to create a fix?

Yes, I'm working on it :)

you rock!

This is fixed in #5263


[EASI-3691] Geography questions updates

EASI-3691
Changes and Description

Frontend

Updated General Characteristics read only section
Update TargetsAndOPtions forms
Add new geographiesStatesAndTerritories and geographiesRegionTypes to apolloGQL files
Add new geographiesStatesAndTerritories and geographiesRegionTypes translation files

Backend

Added enums
Added column for geographies region type
Added column for geographies states and territories type
Updated schema and DTOs

How to test this change
Frontend

Go to Page 4 in General Characteristics
Fill out Targeted Geography question
Ensure data persist, is in csv, and read only

Backend

Bring server containers up
Test endpoints
Assert no errors and database values updated accordingly

PR Author Review Checklist

[x] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[x] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[x] Updated the Postman Collection if necessary.

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

Functionally this still looks good! I just found some merge conflict notation in the postman file. Can you correct that please?

@patrickseguraoddball There is a merge conflict in one of the FE tests, may be better for you or @garyjzhao to tackle this one

@patrickseguraoddball There is a merge conflict in one of the FE tests, may be better for you or @garyjzhao to tackle this one

I'll handle it


Create README.md

comment 1

This is a comment from GH CLI

Preview Deployment
The preview environment is booting up.
It may take up to 10 minutes to be ready.
Once it is up, you will be notified with another comment from me.
Beep boop! 🤖

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment

Key
Data

Commit
e72d08d308d4775042fb4f96e25d7c73ac113d04

URL
https://pr6.example.com

Admin Password
e72d08d308d4775042fb4f96e25d7c73ac113d04

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment
The preview environment is booting up. :ramen:
It may take up to 10 minutes to be ready. :clock10:
Once it is up, you will be notified with another comment from me. :sound:
Beep boop! :robot:

Preview Deployment

Key
Data

Commit
e72d08d308d4775042fb4f96e25d7c73ac113d04

URL
https://pr6.example.com

Admin Password
e72d08d308d4775042fb4f96e25d7c73ac113d04


Bug: CSS custom property pfe-avatar--colors not working on pfe-avatar

Description of the issue
Pfe-avatar should allow the color set to be customizable through --pfe-avatar--colors.  However, this feature is not currently working, and this.customColors() always returns undefined .
Impacted component(s)

pfe-avatar

Steps to reproduce

Inspect element
$0.customColors = '#00000 #ffcc00 #eeeeee;'
$0.constructor._registerColors()

or

Set --pfe-avatars-colors: '#00000 #ffcc00 #eeeeee;' on :host in scss or custom CSS

Expected behavior
Expect $0.constructor.colors to include customColors
Expect an avatar that has this.customColors to display in one of those colors as randomized by this._colorIndex
Possible fix
The following is a possible fix if it doesn't break any unexpected APIs I may be overlooking could easily be implemented in both branches.
Create class property colors with getter/setter:
static set colors(colors) {
  this._colors = colors;
}

static get colors() {
  return this._colors;
}

Remove property getter for customColors() on line 76-78 and replace it with instantiation in the constructor, also remove line 314 call to PfeAvatar._registerColors() and replace it with call in the constructor this.registerColors():
constructor() {
  super(PfeAvatar);

  this._initCanvas = this._initCanvas.bind(this);
  this.customColors = this.cssVariable("pfe-avatar--colors");
  this.registerColors();
}

Change  class method static _registerColors() to instance method registerColors() on line 112.
Change this.colors = []; to PfeAvatar.colors = [] on line 113.
Change this.defaultColors to PfeAvatar.defaultColors on line 114.
Change this._registerColor(color) to class method call PfeAvatar._registerColor(color) on line 124 and 134.
registerColors() {
  PfeAvatar.colors = [];
  const contextColors = this.customColors || PfeAvatar.defaultColors;

  contextColors.split(/\s+/).forEach((colorCode) => {
    let pattern;
    switch (colorCode.length) {
      case 4: // ex: "#0fc"
        pattern = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/.exec(colorCode);
        if (pattern) {
          pattern.shift();
          const color = pattern.map((c) => parseInt(c + c, 16));
          PfeAvatar._registerColor(color);
        } else {
          this.log(`[pfe-avatar] invalid color ${colorCode}`);
        }
        break;
      case 7: // ex: "#00ffcc"
        pattern = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/.exec(colorCode);
        if (pattern) {
          pattern.shift();
          const color = pattern.map((c) => parseInt(c, 16));
          PfeAvatar._registerColor(color);
        } else {
          this.log(`[pfe-avatar] invalid color ${colorCode}`);
        }
    }
  });

  return this.colors;
}

Change call to PfeAvatar.colors to this.colors in _registerColor() on Line 145:
static _registerColor(color) {
  this.colors.push({
    color1: `rgb(${color.join(",")})`,
    color2: `rgb(${this._adjustColor(color).join(",")})`,
  });
}

@mwcz what's the intention here? that I can register colours on the class and have them available to every instance? or that each instance can have it's own custom colours? or both?

There's definitely a bug here.  customColors() is an instance method but is being called from the static _registerColors, so it's returning undefined and falling back to defaultColors every time.
@bennypowers The intention was to have colors customizable on a page-wide or per-avatar basis.  page-wide is way more important, so I'd be totally in favor of fixing that and throwing away per-avatar customization.  Since per-avatar doesn't work anyway, removing it wouldn't even be a breaking change.
@zeroedin I think the reason customColors was returning undefined is you're running $0.customColors = on a property that doesn't have a setter, only a getter.  To change customColors you need to set --pfe-avatar--colors: #ff0000 #00ff00 #0000ff; on the <pfe-avatar> itself or somewhere that will cascade to the avatar.  I wasn't quite able to follow the fix you suggested since it seemed like you also have static methods calling instance methods and instance methods overwriting static properties (registerColors setes PfeAvatar.colors = []).

@mwcz Yes, at the time of this writing it believe it was my misunderstanding of how the customColors was intended to work.  I think when you and I talked over google meet we had clarified that misunderstanding to my recollection.  I also have a modified component written that cleans up on the static/instance method issue you are noting in a further exploration.  That code just resides locally though I have not pushed it anywhere.  I'll revisit and share if we deem it necessary or helpful.
I believe @bennypowers and I discussed leaving this issue open to review pfe-avatar later if a change of functionality was warranted after 2.0 release.  That said, if there is a bug and the functionality is not as it should be compared to 1.* branch we should fix it.

@mwcz @zeroedin the CSS Paint API is very similar to the canvas API we're already using and it has a polyfill. I do believe that using this paint API along with CSS custom properties we could solve both the page-wide and per-element issues just with CSS:
html {
  --avatar-base-hue: 128;
}

pfe-avatar#special {
  --avatar-base-hue: 64;
}

or something

@bennypowers Very cool, that's the first I've heard of the Paint API and it sounds like exactly what's we need: a way to draw something with JS and react to custom property changes.
It looks like Firefox and Safari may never implement it. I know Safari says "under development" but the webkit ticket has been dormant for four years.  There's a good chance we'd be stuck with the polyfill forever.  If the polyfill is really good, that may be fine.

Some things to consider:
Do we ship the component with the polyfill? probably not, right? but then we require users to load it? or have the component lazy load it as needed? neither of those are amazing options


optimize: Refactoring the code of TCC mode

Ⅰ. Describe what this PR did
optimize: Refactoring the code of TCC mode.
优化：重构TCC模式相关的部分代码。
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@tanzzj @long187 PTAL

Codecov Report

Merging #3730 (1c032d8) into develop (69d1297) will decrease coverage by 0.15%.
The diff coverage is 21.87%.

@@              Coverage Diff              @@
##             develop    #3730      +/-   ##
=============================================
- Coverage      51.31%   51.16%   -0.16%
- Complexity      3576     3577       +1
=============================================
  Files            646      645       -1
  Lines          21809    21809
  Branches        2738     2700      -38
=============================================
- Hits           11191    11158      -33
- Misses          9480     9489       +9
- Partials        1138     1162      +24

Impacted Files
Coverage Δ
Complexity Δ

...ommon/src/main/java/io/seata/common/Constants.java
100.00% <ø> (ø)
1.00 <0.00> (ø)

...java/io/seata/spring/tcc/TccActionInterceptor.java
13.72% <0.00%> (+0.51%)
2.00 <0.00> (ø)

...ava/io/seata/rm/tcc/api/BusinessActionContext.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...io/seata/rm/tcc/api/BusinessActionContextUtil.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...a/rm/tcc/interceptor/ActionInterceptorHandler.java
15.87% <28.57%> (-6.92%)
5.00 <0.00> (-2.00)

...io/seata/rm/tcc/interceptor/ActionContextUtil.java
43.66% <33.92%> (-18.41%)
9.00 <4.00> (+4.00)
:arrow_down:

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

... and 31 more


Native integration - pass down window.ppnativexo

We should pass down the nativexo object to child frames, so it can be invoked when paypal.Checkout is rendered from a button or existing checkout frame.

Fix pushed.


PlatformDependent does not prefer JDK8 LongAdder

Motivation:
Prefer JDK8 LongAdder if it is available.
Modifications:
Introduce LongAdderFactory which provides JDK8 LongAdder via indirection.
Result:
JDK8 LongAdder is used if available.

Fixes https://github.com/netty/netty/issues/5458

Ouch..
1.6
1.6

@CodingFabian without raising the source level I am not sure about this.


Shell scripts should pass shellcheck

Description
shellcheck is a program to check style and function
of shell scripts. It's available from both apt and Travis-CI's whitelisted packages
(see also instructions).
I'm happy to add this as a pull request.
Example run
joshua@debian-thinkpad:/usr/local/src/js-beautify/tools$ ./build.sh metatest
Testing shellscripts...
./tools/release-all.sh: Bourne-Again shell script, ASCII text executable

In ./tools/release-all.sh line 3:
REL_SCRIPT_DIR="`dirname \"$0\"`"
                ^-- SC2006: Use $(..) instead of legacy `..`.

In ./tools/release-all.sh line 4:
SCRIPT_DIR="`( cd \"$REL_SCRIPT_DIR\" && pwd )`"
            ^-- SC2006: Use $(..) instead of legacy `..`.

In ./tools/release-all.sh line 15:
    $SCRIPT_DIR/generate-changelog.sh beautify-web/js-beautify || exit 1
    ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 24:
    cd python
    ^-- SC2164: Use cd ... || exit in case cd fails.

In ./tools/release-all.sh line 34:
      npm version $NEW_VERSION
                  ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 48:
      git checkout $ORIGINAL_BRANCH
                   ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 53:
        sed -i "" $@
                  ^-- SC2068: Double quote array expansions to avoid re-splitting elements.

In ./tools/release-all.sh line 55:
        sed -i $@
               ^-- SC2068: Double quote array expansions to avoid re-splitting elements.

In ./tools/release-all.sh line 64:
    sedi -E 's@(cdn.rawgit.+beautify/v)[^/]+@\1'$NEW_VERSION'@' README.md
                                                ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 65:
    sedi -E 's@(cdnjs.cloudflare.+beautify/)[^/]+@\1'$NEW_VERSION'@' README.md
                                                     ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 66:
    sedi -E 's/\((README\.md:.js-beautify@).+\)/(\1'$NEW_VERSION')/' README.md
                                                    ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 73:
    cd $SCRIPT_DIR/..
    ^-- SC2164: Use cd ... || exit in case cd fails.
       ^-- SC2086: Double quote to prevent globbing and word splitting.

In ./tools/release-all.sh line 87:
(main $*)
      ^-- SC2048: Use "$@" (with quotes) to prevent whitespace problems.
      ^-- SC2086: Double quote to prevent globbing and word splitting.

Interesting tool.  Please submit a PR to integrate it into the build.


Releasing your version as a seperate plugin?

I love this version, since it fixes a lot of issues W3TC themselves won't fix, like PHP7 and APC.
However, for convenient it would be wonderful if you can release this community edition on https://wordpress.org/plugins/. (Maybe rename the project, I don't know?)
I hope you agree?
Kind regards,
Melroy

Hi, we have talked a lot here and we decided to stay on github.
It is not a final decision, but for the moment it's the best choice.
Thank for your interest in this project.


Catching event from custom render component

I'm trying to catch emitted event from custom component that is being rendered by the table. Is that possible?

Hi, I have the same issue. If you already figure it out how to catch the emitted event, please let me know.
Thanks

looks like a duplicate of https://github.com/akveo/ng2-smart-table/issues/423


update dependencies

I've had to set the overrides on global as Resemble now seems to use the Image and FileReader that comes with the browser.
Wasn't sure what version bump you'd like for the package... but i've gone for major to match resemblejs.
fixes #2

thanks, i gonna test it on weekend

@ddo did you get time to review the PR at the weekend?

any luck?
I've been using this updated code for apps and have it as part of our CI, so it works for me if that helps...

Hi,
Have you any interest in merging this PR?
If not i'll publish my update (with thanks to you for the original code)

@ddo Please accept this PR. I need it as well.

@peter-mouland Could you publish your fixes in worst case and link the NPM module?

@JonWallsten just released on npm https://github.com/peter-mouland/node-resemble-v2 / https://www.npmjs.com/package/node-resemble-v2

hey @ddo, This PR is still open - shall i just close it and hope people find my v2 repo instead?

i gonna test and decide later, ty

FYI, I've been using the updated (v2) since October daily with automated regression testing so I can at least verify for my use case it is solid.

ty https://github.com/ddo/node-resemble/releases/tag/2.0.0
there are still minor issues:

image-type v3
onError if the resemble supports it


Configure Hono Helm chart

Configure Hono Helm chart for deployment purposes.
Document to this issue as needed.
Final documentation to a separate file in repo or to README.md

Is this done? Prometheus is working and configured so..?


Imports resolution in Rye projects broke in 1.1.371

Steps to reproduce: install rye, then for instance:
mkdir repro
cd repro
rye init
rye add quart
echo "import quart" > src/repro/foo.py
rye install pyright
pyright

This worked up to version 1.1.370, with 1.1.371 you get:

error: Import "quart" could not be resolved

I suppose the reason is microsoft/pyright#8341, because the behavior of the Python interpreter changes depending on the current path.
Is there a way to disable this sandboxing of the interpreter?
(I think this is an issue with pyright and not Rye but I have still opened a bug on their end as well.)

Not sure how rye is using the cwd to add the .venv path to search paths but I can repro.
I think the security change was not necessary in this case though. We can still run the interpreter in the current working directory. The code already excludes the cwd for all modules except os and sys, and it seems those can't be overwritten by the user. At least I can't get python to load a 'sys.py' or 'os.py' in my current folder with import sys.

Going to transfer this back to pyright as it was fixed there and the original user isn't actually on pylance. I don't think the bug actually affects pylance because our cwd was never where the source file was.


python3Packages.responses: 0.13.3 -> 0.13.4

Motivation for this change
Update to latest upstream release 0.13.4
Change log: https://github.com/getsentry/responses/releases/tag/0.13.4
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

1 package built:

home-assistant


System Plugin: Bringing-in Sprint/2010 changes to main.

Reason for change: Bringing-in System plugin changes from Spring/2010 to main/stable2.
Test Procedure: Build complete image and test system plugin.
Risks: Medium
Signed-off-by: Arun Madhavan<EMAIL_ADDRESS>

Need to revert latest dev/changes


[DatePicker] A11y - read the date as current

Environment
Win 10/ Chrome/ JAWS 18
MacOS/ Safari/ VoiceOver

[ x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
We use DatePicker component in our app and in the latest a11y report it was stated that when the current date is selected the screen reader doesn't read it as current

Examples 🌈
The proposed variant is to add the phrase "current date" between the date and the time.
Motivation 🔦
Such a addition will help screen readers' users to distinguish the current date from any other.

@adyubina Are you using the latest version http://next.material-ui-pickers.dev/?

Check the http://nexxt.material-ui-pickers.dev :)

thank you @oliviertassinari and @dmtrKovalenko
I tried http://next.material-ui-pickers.dev but there the problem is present as well
Please see my video and screenshots attached
IMG_3203.mov.zip

Yes, I have noticed that when tabbing from the date input to calendar Icon the current date is read. But it is not the issue we care about. Our case is about when the calendar popup-up is open and a user is tabbing through days. In this case eye-sighted users can see on the screen where "today" is, but there is no information for screen readers to distinguish today from the rest of the days.

Hi @dmtrKovalenko and @oliviertassinari
have you had a chance to look at the data a posted? It looks like I can't proceed on the in my project without your assistance, so could you please give the issue describe above some of your time.


More convenient ways (pipe, stream?) to transfer results across steps

@N7DR raised questions in gitter as how to transfer "output" from one step to another one, without having to create a file. In particular, his definition of "output" can be "output" written to the terminal from programs.
There are two related features:

disk-based Capturing output to a file and pass it to another step. For example, in the following example the stdout was captured to a.txt, which is the output of step a, and is passed to step default as input.

[a]
output: 'a.txt'
sh: stdout='a.txt'
  echo "whatever"

[default]
input: 'a.txt'
sh: expand=True
   cat {_input}

memory-based Sending variables across through variables,

[a: shared='out_var']

sh: stdout='a.txt'
  echo "whatever"

out_var = open('a.txt').read()

[default]
depends: sos_variable('out_var')
sh: expand=True
   echo {out_var}

What was requested was some sort of "unnamed" output, something like:
[a]

sh:
  echo "whatever"

[default]
out_a = sos_output('a')
sh: expand=True
   echo {out_a}

Basically holding output from step 'a' to a variable that can be retrieved from other steps (and creating a dependency because of this.)
Depending on the size of output, there can be disk based and memory based solutions. This ticket is created to see if anyone else is interested in such a feature, and for discussions on interface and implementation of such a feature.

I think one problem with the first (disk-based) scenario is that people run out of names for temporary files and would like to remove these intermediate files automatically.
So instead of
[a]
output: 'a.txt'
sh: stdout='a.txt'
  echo "whatever"

[default]
input: 'a.txt'
sh: expand=True
   cat {_input}

we could have some named temp file, such as
[a]
output: sos_temp('a')
sh: stdout=_output
  echo "whatever"

[default]
input: output_from('a')
sh: expand=True
   cat {_input}

It is a small change but sos_temp would create a temporary file, which would be automatically removed after sos terminates.

The memory-based scenario could be improved from
[a: shared='out_var']

sh: stdout='a.txt'
  echo "whatever"

out_var = open('a.txt').read()

[default]
depends: sos_variable('out_var')
sh: expand=True
   echo {out_var}

to
[a: shared='out_var']

sh: stdout=sos_variable('out_var')
  echo "whatever"

[default]
depends: sos_variable('out_var')
sh: expand=True
   echo {out_var}

Bo wrote on 4/29/20 8:50 PM:

I think one problem with the first (disk-based) scenario is that people run out of names for temporary files and would like to remove these intermediate files automatically.

Yes, I probably communicated it poorly, but part of my objection to using
temporary files as things are currently implemented is roughly:

You have to think of a name that is guaranteed both to be unique;

You need to be sure that the file is still around when you read it in
another step (i.e., it isn't prematurely deleted);

You need to get rid of the file when the sequence of steps is complete
(otherwise you can end up with lots of temporary files hanging around ...

All this could be managed even with the current SoS workflow code, but it's an
ugly mess for the user to do himself, and, if SoS ends up insisting on using
files, it should handle all the bookkeeping itself automagically, so that the
user doesn't have to worry about any of this stuff.
I'm a great believer in having computers do all the error-prone nasty bits of
bookkeeping (like remembering temporary filenames) so that users can
concentrate on the real problem they're trying to solve.

we could have some named temp file, such as
[a]
output: sos_temp('a')
sh: stdout=_output
  echo "whatever"

[default]
input: output_from('a')
sh: expand=True
   cat {_input}

It is a small change but sos_temp would create a temporary file, which would be automatically removed after sos terminates.

That certainly looks like a great improvement in usability, if one has to use
files.
Doc
PS I looked at the particular use-case where I first ran into wanting to use
stdout from one step in another step, and the output I was trying to transfer
is just a short line of text, maybe 25 characters (although it can take
several hours of CPU time to generate that line :-) )... so having to jump
through hoops just to pass ~25 bytes definitely seemed like something that
should be made much easier.
--
Web:  http://enginehousebooks.com/drevans

Bo wrote on 4/29/20 9:43 PM:

The memory-based scenario could be improved from
[a: shared='out_var']

sh: stdout='a.txt'
  echo "whatever"

out_var = open('a.txt').read()

[default]
depends: sos_variable('out_var')
sh: expand=True
   echo {out_var}

to
[a: shared='out_var']

sh: stdout=sos_variable('out_var')
  echo "whatever"

[default]
depends: sos_variable('out_var')
sh: expand=True
   echo {out_var}

YES! I came up with something precisely equivalent to this as I was pondering
the problem during the night last night :-)
Doc
--
Web:  http://enginehousebooks.com/drevans

Thanks for the feedback, I think both improvements make sense but I am pinging @gaow for a second opinion.

In snakemake there is a temp() function for temporary files. But one will still have to come up with a file name:
https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#protected-and-temporary-files
I dont think coming up with a file name is too much of a trouble, eg, one option is to base the filename on input like f'{_input:n}.tmp'.
I personally prefer to always use input and output files -- pipelines are more robust that way. What happens if we pass variables around for the scenario @N7DR mentioned: "the output I was trying to transfer is just a short line of text, maybe 25 characters (although it can take several hours of CPU time to generate that line :-) ).". Without a file output, when we rerun the pipeline it will have to redo hours of computation, or we still can somehow cache it, eg in .sos folder?
I think caching the stdout make more sense. Then behavior of tempfile and passing stdout will be different. Tempfile are meant to be removed after the workflow completes and the computation will have to be done all over again in a rerun. But stdout will be cached and will not trigger rerun unless .sos folder is removed.
I'm cool with the proposed interface for both applications. I suppose sos_temp() can take any string input parameter to create as many temp files as a step needs? Then it does not have to be text file but rather any file format, and will be removed as soon as steps depending on these files are complete?
stdout=sos_variable() interface looks good. A more general question is, should we cache sos_variable regardless whether it is for stdout or otherwise obtained?

I tend to over-complicated things...
So in the sos_tempfile case, my draft implementation here has a few usages, although the baseline is that all sos_tempfile will be automatically removed right before sos shuts down. snakemake says "after all rules that use it is completed", which is better but a bit more difficult to implement.

Scenario one: We just need a temp file, and I do not care what name you use.

[a]
output: sos_tempfile()

sh: stdout=_output
  echo "whatever"

[default]
input: output_from('a')

sh: expand=True
   cat {_input}

Note that once the sos_tempfile() is created, it is referred by _output and output_from('a') so a name does not matter.

Refer to the same tempfile by name.

[a]
output: sos_tempfile('echo')

sh: stdout=_output
  echo "whatever"

[default]
input: sos_tempfile('echo')

sh: expand=True
   cat {_input}

In this case a name is given to the temp file, which has nothing to do with actual filename, but sos guarantees that the same name refers to the same temp file.

If the path actually matters, and you only wants SoS to remove the file after the workflow is completed (the snakemake usage).

[a]
output: sos_tempfile(path='a.txt')
sh: stdout=_output
  echo "whatever"

[default]
input: output_from('a')

sh: expand=True
   cat {_input}

Only dir, prefix or suffix of the temp file matters (as in the parameters of tempfile.mkstemp),

[a]
output: sos_tempfile(dir='.', suffix='.txt')
sh: stdout=_output
  echo "whatever"

[default]
input: output_from('a')

sh: expand=True
   cat {_input}

I felt that this mechanism can be used internally for the removal of temporary files. Right now we try hard to remove temporary files immediately after they are used, but we could use this mechanism to register temp files and let sos handles removal upon completion.

Indeed this is getting complicated. I think 1 ~ 3 are well motivated, but not sure about the necessity for 4.

the path actually matters, and you only wants SoS to remove the file after the workflow is completed (the snakemake usage).

I think we will remove all temp files after SoS completes anyways? The only motivation for allowing one to set full name is when temp file has to be written to specific paths not system's default /tmp or  /var/tmp. So to simplify 3, we can allow for sos_tempfile(path(...)) and if the input is instance of path then we treat it a full path?

Usage 4 is sometimes justified because processing script might look for particular file extension to determine what to do (suffix='.fastq' or suffix='.fastq.gz), or if the temp file has to be in the workdir (dir='.'). I really cannot think of a usage for prefix, but I kept it because tempfile.mkstemp has it.
If you agree 1-3 are justifiable, let us do this:

sos_tempfile(), create a unique temp file in system temp directory.
sos_tempfile(dir, suffix, prefix), create a unique temp file in specified directory, or with specified suffix, prefix.
sos_tempfile(name=''), create a named temp file to be referred repeatedly.
sos_tempfile(...) or sos_tempfile(path=...) to be a filename with type str), path, or file_target. This basically tells sos the file should be removed later on.

Note that sos_tempfile does not create any file or open any file, it just provide a filename.

Okay!

A complication is that SoS should not create any signature if the input or output is sos_tempfile.

Will this trigger rerun? Thinking of zapped files, a rerun is only triggered if the steps generating those files before they get zapped, or steps using zapped file as input are changed. Does it make sense to do the same for sos_tempfile?

Will this trigger rerun?

Yes, because with zap we have a placeholder to hold the file information, and with sos_tempfile the actual file is removed so no information can be found.

At this point I think we can merge these two features.
With zap we immediately replace a (large) file with a placeholder file that physically exists, usually in working directory. The information helps SoS check step signature so the step would continue as if the entire file is still there. This is not particular easy to use since users would need to call something like _output.zap() explicitly.
So perhaps using _output.zap(), we do something like
output: sos_tempfile(whatever)

sos_tempfile(some_intermediate_file)
sos_tempdir(some_intermediate_dir)??

which tells sos that these files and directories should be removed afterwards. However, we keep information on these files somewhere so that the signature will still be recorded and be used to avoid rerun of the step.
So we improve sos_tempfile by keeping track of their information and use signatures, and we use a concept that is more familiar to users than "zap".
Note that with this approach zap would be done at the end, so it cannot be used for users who want to control the size of project during the execution of the workflow. That said, the syntax is there and SoS can always be improved to remove the files more intelligently.

At this point I think we can merge these two features.

Yes I think this makes sense.

so it cannot be used for users who want to control the size of project during the execution of the workflow.

This will be a major limition to my benchmark applications where I just want to get rid of large steps as soon as possible. However indeed we can think about improving that later if we are enough motivated by applications.

However indeed we can think about improving that later if we are enough motivated by applications.

We are again bitten by the flexibility of SoS in this regard, because it is very difficult to predict if a target will no longer be used, given that a nested workflow could be set up later with something like sos_run("some_workflow") when some_workflow could be set up dynamically and refer to something created before.
So in addition to using zap explicitly, users would have to inform sos_tempfile the scope of tempfile with something like
sos_tempfile(scope='workflow')

and the tempfile would by default be removed after the completion of a "workflow" that it is created, and then
sos_tempfile(scope='step')

will remove it as soon as the step is completed, and
sos_tempfile(scope='master')

will remove at the end of the entire sos run.


Kubernetes resource types of the kubernetes provider are not updated in between releases of Bicep

Describe the bug
The type definitions for the Kubernetes extensibility provider are updated to Kubernetes v1.25.3. The current Kubernetes version is v1.28.
If I as a user want to deploy a kubernetes resource that is only available in v1.28 onto a v1.28 cluster, the kubernetes provider type definition will flag it as an unknown type.
To Reproduce
Lets use an example, in v1.28, consider
https://github.com/kubernetes/kubernetes/blob/07f47d8b407ace1cf85f814b787718ba1e65ef6a/CHANGELOG/CHANGELOG-1.28.md?plain=1#L263
We see the changelog reflects there was an addition to the  StorageVersion API a new field ServedVersions was added

Notice how the Bicep compiler warns on this field below:

Additional context
We likely want to trigger an automated CI pipeline to publish on each patch version being released by Kubernetes and generate a package with the corresponding types.
In the meantime, it would be useful to add a manual step to release Bicep with the types corresponding to the latest Kubernetes minor version that was released at the time Bicep is released

@shenglol Do we need to update the release checklist to also include K8s type updates?

@shenglol Shenglong Li FTE Do we need to update the release checklist to also include K8s type updates?

No, this requires dynamic type loading to be implemented first. A k8s version bump can deprecate certain resource API, so we cannot always bundle the latest k8s version with the Bicep compiler.


[💡 FEATURE REQUEST]: Google Pub-Sub driver

Plugin
JOBS
I have an idea!
Hey guys,
In addition to the currently supported jobs drivers, it would be great if Google Pub Sub was added to the list.
This would mean that we could use the cloud-native services of the two major cloud providers (AWS & GCP).
Thanks!
EDIT: Driver repo: https://github.com/roadrunner-server/google-pub-sub

Hey, @joaopbnogueira 👋🏻 Nice feature request. I'll add to the v2023.2.0 milestone.

Hey, @joaopbnogueira 👋🏻 Could you please add a few use cases of how do you plan to use this driver, what features you currently use, etc...

Hi @rustatian I have to be honest, I haven't given it much thought, but to give you some context, the idea is that we're going to use Google PubSub at the org level for cross-service communication and this is where the need comes from. I'm mostly interested in the consumer part of things, and publishing would be a nice-to-have at this stage.
I imagine, that there will need to be a configuration section containing, the project id and subscription id at the very least, to be able to subscribe to a given topic, as well as options to configure the way of working (pull vs push). For pull subscriptions I assume the most interesting kind is "streaming pull" while for push an endpoint would somehow have to be provided.
Regarding IAM the simplest approach would probably be to provide a service account json file.
Other advanced scenarios could include:

create and configure topics & subscriptions
define schemas

Thank you having a look at this

Thank you very much for your use-case 👍🏻
I guess, I finish working on this driver this week (work out of the work 😄), but as for the streaming part: technically, the stream would be spread over all workers, since from the google-pub-sub it's just a set of messages... For sure, you may use only 1 worker or use prefetch: 1 to have a model like: consume -> worker -> Ack -> Next -> Worker ...

It's also hard to test that driver, I need to figure out how to use emulator inside the GitHub actions: https://cloud.google.com/pubsub/docs/emulator

Hey @rustatian just a quick disclaimer first that I've never used it, but why not a docker image? https://github.com/marcelcorso/gcloud-pubsub-emulator
Or at least using the Dockerfile as reference to how to set it up.

Oh, thanks for pointing me to this 👍🏻 That will definitely help me, at least, with the local tests 😃

Hey @joaopbnogueira 👋
Google pub-sub driver would be released with RR v2024.2.0. Docs will be updated soon, and you would be able to at least try this driver locally (I'll include how-to local configuration) or with real gpub-sub 😃
Repo is here: https://github.com/roadrunner-server/google-pub-sub

Thank you a lot @rustatian 🚀


Point values on line chart

Hello,
I am using a line chart from your library, but i have a lot of entries in the list of (x,y) pairs. So the line is full of points for each pair and it doesn't look good. Is there a way to remove the dots, and just keep the line, so that i can still see the progress, but not every value? This is what i mean happens(see the picture):

Thanks

i just found the property for has points. sorry

Hey, how did you solve this?


release: 4.3.0

can you merge/tag/release @katspaugh?

Coverage remained the same at 82.45% when pulling ba1151a71c5af7ba3ad38bcff2154c580f5e73d7 on release-430 into 32f4035c4eb9f8e5e357cd6e1fccfae03002bb51 on master.

ping @katspaugh

Sorry for the delay, I'm on it.

It's published now 👍


Revamp css2

hey @ItsRoy69
removed all MUI components and fixed mongoose URL issue too
Thank You...!!

hey @ItsRoy69
here are changes you have asked for


Docker for Windows + VirtualBox

Output of docker version:
Client:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      windows/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 15
Server Version: 1.12.0-rc4
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 33
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: host overlay bridge null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.15-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.953 GiB
Name: moby
ID: AEQB:GCTT:V75N:7KWG:JFW3:YV3K:G2SK:LPYJ:FBP5:64BT:QC7K:3GQQ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Docker for Windows
Steps to reproduce the issue:

Try to run VirtualBox while Docker for Windows is running
Run VBoxManage setproperty hwvirtexclusive off
Try to run VirtualBox while Docker for Windows is running

Describe the results you received:
Whether hwvirtexclusive is on or off, VirtualBox fails.
Describe the results you expected:
Theoretically, Docker could coexist with VirtualBox? I think?

@remexre am I missing something?

When Hyper-V is enabled, Windows itself effectively runs as a VM, in the parent partition of the hypervisor.
It is impossible for VirtualBox to use VT-x inside a Hyper-V partition (including parent partition).

Looks like I might've while skimming :stuck_out_tongue:
Is running the Linux VM in Hyper-V the only option?

You might be able to run Virtualbox inside a Hyper-V VM with nested virtualisation enabled https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/nesting - not on the parent one, but in another VM.


Groq Client

This is a Groq Client that provides a way to use the, rather fast, Groq cloud inference service, which provides options to use a few LLMs, such as Meta's Llama 3 and Mistral.AI's Mixtral.
This client supports text generation and function/tool calling (when using certain models as noted by Groq).
Streaming is support, including with function/tool calling.
Token costs are also implemented.
Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

Codecov Report
Attention: Patch coverage is 8.80000% with 114 lines in your changes missing coverage. Please review.

Project coverage is 12.80%. Comparing base (03259b2) to head (e89231e).

Files
Patch %
Lines

autogen/oai/groq.py
6.19%
106 Missing :warning:

autogen/oai/client.py
44.44%
5 Missing :warning:

autogen/logger/file_logger.py
0.00%
1 Missing :warning:

autogen/logger/sqlite_logger.py
0.00%
1 Missing :warning:

autogen/runtime_logging.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #3003       +/-   ##
===========================================
- Coverage   32.45%   12.80%   -19.66%
===========================================
  Files          93      100        +7
  Lines       10109    10317      +208
  Branches     2172     2355      +183
===========================================
- Hits         3281     1321     -1960
- Misses       6544     8986     +2442
+ Partials      284       10      -274

Flag
Coverage Δ

unittests
12.76% <8.80%> (-19.70%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Nice! Will review soon!

LGTM! Thanks Mark!

Great :)

Sorry, found a bug when testing logging. Minor but will fix if someone wants to log this (or Together.AI)

Fixed, thank you, good to go :)

@marklysze if this is merged before the blogpost on non-openai models, please also add the Groq Client in the blogpost.

@marklysze if this is merged before the blogpost on non-openai models, please also add the Groq Client in the blogpost.

Good call, will do

Thanks @qingyun-wu! @Hk669, I've updated the blog #2965.


ERROR ITMS-90087: "Unsupported Architectures"

I have this problem when I i try to upload the Archive Release.

ERROR ITMS-90087: "Unsupported Architectures. The executable for Sportube.app/Frameworks/GoogleCast.framework contains unsupported architectures '[x86_64, i386]'."

But I use a Run Script in Pre-Actions:
#!/bin/bash

# This script strips unused architectures from any frameworks embedded in an
# app bundle. It should be called from an Xcode project as a post-build step.

if [ -z "${TARGET_BUILD_DIR}" ]; then
  echo "This script should be invoked from an Xcode project."
  exit 1
fi

app_dir="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

framework_dirs=($(find "${app_dir}" -type d -name '*.framework'))
for framework_dir in "${framework_dirs[@]}"; do
  framework_name=$(defaults read "${framework_dir}/Info.plist" CFBundleExecutable)

  if [ !-z "$framework_name" ]; then
    framework_path="${framework_dir}/${framework_name}"

    echo "Removing unused architectures from framework: ${framework_name}"

    slice_paths=()
    for arch in ${ARCHS}; do
      slice_path="${framework_path}_${arch}"
      lipo "${framework_path}" -extract "${arch}" -output "${slice_path}"
      slice_paths+=("${slice_path}")
    done

    lipo "${slice_paths[@]}" -create -output "${framework_path}_thinned"
    rm -f "${slice_paths[@]}"

    rm -f "${framework_path}"
    mv "${framework_path}_thinned" "${framework_path}"
  fi

done

If you run the script manually do you see any errors?

When I try to run the script manually i got:

This script should be invoked from an Xcode project

I change the bash script with:

That is the recommended of stripping unwanted architecture. Do you have the same issue with other apps that don't use the Cast SDK?

@entertailion Cast SDK is dependency for jwplayer iOS SDK

We don't have any other developers who are having this issue. There must be something particular about your apps dependencies that might be causing an issue with stripping the architectures. Have you reached out to the jwplayer team?

I know but the errors are:
ERROR ITMS-90087: "Unsupported Architectures. The executable for Sportube.app/Frameworks/GoogleCast.framework contains unsupported architectures '[x86_64, i386]'."
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'Sportube.app/Frameworks/GoogleCast.framework/GoogleCast' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."
ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."
WARNING ITMS-90080: "The executable 'Payload/Sportube.app/Frameworks/GoogleCast.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."

Just realized you are running this as a pre-build step. The script needs to run as a post build step.

I insert the script bash in Pre-Actions and Post-Actions for Archive Release?

The script needs to be invoked in the post actions.
Also, the way your are running the script from the command line won't work, because $ARCHS won't be set. It's set by Xcode. If you wanted to run it manually you'd have to set it to the list of architectures that your'e building for, minus the x86 one.

@entertailion
I add in post-actions but when I try to upload in App Store still not working..

Having Same problem
ERROR ITMS-90087: "Unsupported Architectures. The executable for Sportube.app/Frameworks/GoogleCast.framework contains unsupported architectures '[x86_64, i386]'."
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'Sportube.app/Frameworks/GoogleCast.framework/GoogleCast' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."
Any one can help plz?

Any joy with this issue?

My app didn't pass automatic Apple Review because it contains 'contains unsupported architectures '[x86_64, i386]'. Are there any updates? It would helpful to add any script to strict 'unsupported architectures' to the 'Setup for Developing with the Cast Application Framework (CAF) for iOS' page

Opened a ticket to update to new unsupported architectures.

Anyone have a solution for this issue? I'm still getting in in 2021...


Your right to send free messages has ended!It will renew after August 22, 8:00 AM.

https://console.upstash.com/qstash?tab=chat
i want to integrate this qdash+llm in python and typescript, how to set my account so that i can use it instead of limit free

I need to add your credit card and upgrade your QStash plan.

Closing this issue because of inactivity.


Matplotlib plot axes badly displayed with dark theme when previously edited elsewhere

Environment data

VS Code version: 1.39.2
Extension version (available under the Extensions sidebar): 2019.10.41019
Python version (& distribution if applicable, e.g. Anaconda): 3.6

Actual behaviour
I am aware of #3221 and #3230 but this is a little bit different.
When a notebook is edited in jupyter notebook or lab with a light theme and opened in VSCode with a dark theme, the graph axes are displayed black on dark gray so they are barely visible.

Sorry but it's unlikely we'll be fixing this any time soon. The graph itself is stored in the notebook. We'd have to do color translations on it to get it to display in the dark theme. This would be rather difficult because we have no idea how the plot was generated in the first place.
The only workaround at the moment is for you to regenerate the graph.

I think what we may do here is to eliminate theming altogether just for plots. Make them always render on a white background using whatever style the user has applied to their plots. This is effectively what Jupyter Labs does.

Dupe of #8000


ZeroDivisionError

I'm attempting to get DLAS training ESRGAN. I'm on Windows 10 and using Anaconda.
Here's what I'm getting:
Traceback (most recent call last):
  File "train.py", line 361, in <module>
    trainer.init(args.opt, opt, args.launcher)
  File "train.py", line 114, in init
    self.total_epochs = int(math.ceil(total_iters / train_size))
ZeroDivisionError: division by zero

Not sure how to fix my train_size being zero. Is my path to my images wrong? Thanks.

Yup my path was wrong, my mistake sorry!

Hey there,
I'm really sorry, but I cannot spare the effort to actually support DLAS for wider use. Despite the fact that I started down the road of writing documentation and providing "recipes" like exists for ESRGAN, I don't maintain a test suite that ensures that these things don't get broken and it would be impossible for me to ensure backwards compatibility.
With that being said, I believe what is happening in your case is you've misconfigured the dataset somehow such that train_size=0. I'd set num_workers=0 and try adding some breakpoints into single_image_dataset.py to try and figure out what is going on.
It has also been some time since I've trained a GAN on DLAS. If you're interested in actually getting this to work, I would highly recommend reverting to the commit where I added the ESRGAN recipe: bbc677dc7bb5d3ad32e3754198eecb156093051a

To be clear: I'm happy to answer questions. I just will not be fixing any bugs that get reported. Happy to review PRs though.

No worries, with Tortoise taking off the way it is, I'm sure you've been a lot busier than expected. I'm still new to all this in general so I'll try to find an easier spot to jump in.