Adds an optional RHACS install step

Installs RHACS after post-install if rhacs_enable=true.
Requirements for the ansible orchestration host (i.e. jump host) that may be additional are:

helm
kubernetes.core.helm (ansible collection)

Tested on RHEL 8.4 against an existing OS 4.7.18.
Tested with:

ansible 2.9.23
helm v3.5.0+6.el8
kubernetes.core.helm 2.1.1

Tested with a deploy-cluster.yml play and had to set OPENSHIFT_WORKER_INSTANCE_TYPE=m5.xlarge.

Can one of the admins verify this patch?

@mffiedler @jtaleric @mohit-sheth Is there anything you need from me on this PR? thanks.

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

/rerun aws

🤯 I feel like there was a link to CI at one point in this PR thread but now it has magically disappeared.
i.e. https://jenkins.scalelab.redhat.com/job/scale-ci-deploy-CI/6/
which failed due to missing ansible collection. I expect the CI containers/hosts need:
ansible-galaxy collection install kubernetes.core
and probably:
dnf -y install helm

🤯 I feel like there was a link to CI at one point in this PR thread but now it has magically disappeared.
i.e. https://jenkins.scalelab.redhat.com/job/scale-ci-deploy-CI/6/
which failed due to missing ansible collection. I expect the CI containers/hosts need:
ansible-galaxy collection install kubernetes.core
and probably:
dnf -y install helm

@mohit-sheth thanks for your help getting this tested in CI. Do you have any advice re: the missing dependencies? thanks.

@mffiedler @jtaleric @mohit-sheth do you have any input for me on this PR / the missing dependencies? thanks

@mffiedler @jtaleric @mohit-sheth do you have any input for me on this PR / the missing dependencies? thanks

https://github.com/cloud-bulldozer/scale-ci-deploy/blob/master/OCP-4.X/roles/openshift-install/tasks/main.yml#L46-L66
Seems we could simply add he additional necessary packages here to be installed on the jumphost.

@mffiedler @jtaleric @mohit-sheth do you have any input for me on this PR / the missing dependencies? thanks

https://github.com/cloud-bulldozer/scale-ci-deploy/blob/master/OCP-4.X/roles/openshift-install/tasks/main.yml#L46-L66
Seems we could simply add he additional necessary packages here to be installed on the jumphost.
thoughts @mohit-sheth

I think the ansible collection needs to be installed before ansible is run. (but I may be wrong there).

I have added ansible collections to out jump host that is used for the CI, you can add helm to the packages list andwe can rerun the CI @gavin-stackrox

/rerun aws

!!! Couldn't read commit file !!!

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

14:29:12 ERROR! couldn't resolve module/action 'kubernetes.core.helm_repository'. This often indicates a misspelling, missing collection, or incorrect module path.
14:29:12
14:29:12 The error appears to be in '/var/jenkins/workspace/scale-ci-deploy-CI/OCP-4.X/roles/rhacs_install/tasks/main.yml': line 9, column 3, but may

@gavin-stackrox

hi @mohit-sheth, I'm going to guess that this has something to do with how the kubernetes.core collection was installed on the jump host. Or maybe there is a version difference with what was installed and what I tested.
I'm using ansible & ansible-galaxy (2.9.23) and the kubernetes.core collection is 2.1.1.
$ ls -l ~/.ansible/collections/ansible_collections/kubernetes/core/plugins/modules
total 152
-rw-r--r--. 1 gavin gavin  5259 Jun 30 16:19 helm_info.py
-rw-r--r--. 1 gavin gavin  4375 Jun 30 16:19 helm_plugin_info.py
-rw-r--r--. 1 gavin gavin  7304 Jun 30 16:19 helm_plugin.py
-rw-r--r--. 1 gavin gavin 20590 Jun 30 16:19 helm.py
-rw-r--r--. 1 gavin gavin  7286 Jun 30 16:19 helm_repository.py
-rw-r--r--. 1 gavin gavin  6373 Jun 30 16:19 helm_template.py
-rw-r--r--. 1 gavin gavin     0 Jun 30 16:19 __init__.py
-rw-r--r--. 1 gavin gavin  5819 Jun 30 16:19 k8s_cluster_info.py
-rw-r--r--. 1 gavin gavin  5392 Jun 30 16:19 k8s_exec.py
-rw-r--r--. 1 gavin gavin  5576 Jun 30 16:19 k8s_info.py
-rw-r--r--. 1 gavin gavin  8264 Jun 30 16:19 k8s_json_patch.py
-rw-r--r--. 1 gavin gavin  7418 Jun 30 16:19 k8s_log.py
-rw-r--r--. 1 gavin gavin 14009 Jun 30 16:19 k8s.py
-rw-r--r--. 1 gavin gavin  6781 Jun 30 16:19 k8s_rollback.py
-rw-r--r--. 1 gavin gavin 11323 Jun 30 16:19 k8s_scale.py
-rw-r--r--. 1 gavin gavin  7089 Jun 30 16:19 k8s_service.py

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

ansible [core 2.11.2]
kubernetes.core:2.1.1 was installed successfully

total 152
-rw-r--r--. 1 root root  5259 Jul  8 23:59 helm_info.py
-rw-r--r--. 1 root root  4375 Jul  8 23:59 helm_plugin_info.py
-rw-r--r--. 1 root root  7304 Jul  8 23:59 helm_plugin.py
-rw-r--r--. 1 root root 20590 Jul  8 23:59 helm.py
-rw-r--r--. 1 root root  7286 Jul  8 23:59 helm_repository.py
-rw-r--r--. 1 root root  6373 Jul  8 23:59 helm_template.py
-rw-r--r--. 1 root root     0 Jul  8 23:59 __init__.py
-rw-r--r--. 1 root root  5819 Jul  8 23:59 k8s_cluster_info.py
-rw-r--r--. 1 root root  5392 Jul  8 23:59 k8s_exec.py
-rw-r--r--. 1 root root  5576 Jul  8 23:59 k8s_info.py
-rw-r--r--. 1 root root  8264 Jul  8 23:59 k8s_json_patch.py
-rw-r--r--. 1 root root  7418 Jul  8 23:59 k8s_log.py
-rw-r--r--. 1 root root 14009 Jul  8 23:59 k8s.py
-rw-r--r--. 1 root root  6781 Jul  8 23:59 k8s_rollback.py
-rw-r--r--. 1 root root 11323 Jul  8 23:59 k8s_scale.py
-rw-r--r--. 1 root root  7089 Jul  8 23:59 k8s_service.py

it is still giving the same error 🤔

It is probably easier for me to switch the steps to shell commands rather than try to resolve the ansible collection issue. Can I get the necessary access to run CI i.e. /rerun aws? It'll be quicker than me cobbling together the AWS resources. @mohit-sheth @jtaleric. Thanks.

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

18:02:35 TASK [openshift-install : Install dependencies] ********************************
18:02:35 Monday 12 July 2021  12:33:24 +0000 (0:00:03.244)       0:00:16.044 ***********
18:02:39 fatal: [ec2-34-220-206-94.us-west-2.compute.amazonaws.com]: FAILED! => {"changed": false, "failures": ["No package helm available."], "msg": "Failed to install some of the specified packages", "rc": 1, "results": []}

whats the OS on those EC2 instances?

fedora 32

@gavin-stackrox to test out the CI for the time being helm has been installed manually by @mohit-sheth [root@ip-172-31-18-81 ~]# helm version
version.BuildInfo{Version:"v3.4.2", GitCommit:"23dd3af5e19a02d4f4baa5b2f242645a1a3af629", GitTreeState:"clean", GoVersion:"go1.14.13"}
so to test it out , you could remove that line 67 in https://github.com/gavin-stackrox/scale-ci-deploy/blob/82f65f31514e1ccd7ed1ee79a4686810525bdad0/OCP-4.X/roles/openshift-install/tasks/main.yml#L67
also are there any env vars that need to be set to true? coz they will need to be set in the CI files.

@Harshith-umesh thanks. There are no env vars required (that I know of). I'm firing up a fedora 32 instance in AWS now to see what the pkg name is.

@gavin-stackrox asked about the env vars coz shouldn't the var RHACS_ENABLE be set to true to test out the changes ?

@gavin-stackrox asked about the env vars coz shouldn't the var RHACS_ENABLE be set to true to test out the changes ?

@Harshith-umesh good point.

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

updated worker node type to m5.xlarge , since insufficient cpu on workers is causing the ci to fail

/rerun aws

Results for scale-ci-deploy

Platform
Result
Runtime

aws
PASS
00:55:50

Destroy aws cluster
PASS
00:06:22

Is this mergeable as is or should I change the RHACS_ENABLE var to false in CI/properties_files/common_vars.sh?

Is this mergeable as is or should I change the RHACS_ENABLE var to false in CI/properties_files/common_vars.sh?

yes , don't think we need to enable rhacs.

rebased


Self-test failing due to Node <-> GLIBC mismatch

E.g. https://github.com/NLnetLabs/ploutos-testing/actions/runs/12100450980/job/33746703240#step:3:1
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

I think this is caused by running the GH checkout action v3 on Ubuntu Bionic where the action now requires Node 20 which requires newer glibc than is present in Bionic.
I'm not sure there is a solution to this as IIRC the older action version will cease working from December 5th.

Hmm, if it's just the checkout action failing we could do it using normal git instead.

Hmm, if it's just the checkout action failing we could do it using normal git instead.

That doesn't work because then it fails at the next action used which is actions/cache.

Disabling building on Ubuntu Bionic and Debian Stretch allows the packaging tests to succeed.

For context this is presumably in some way related to https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ but I'm not sure exactly what caused it. The only difference I can see is the use of new runner image https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20241124.1.


hsm-config: set hsm config on middleware start and SetHostname

This commit:
Adds the setHSMConfig() function to call the HSM API's
BitBoxBaseSetConfig() on middleware startup and when the Base hostname
is changed using an RPC.
The IP and hostname are fetched from redis and prometheus respectively
whenever setHSMConfig is called.
For statusLedMode and statusScreenMode we currently use the default
LED_ALWAYS and SCREEN_ALWAYS until we have redis config for those values.

Tested:


Deb packaging for Subgraph OS

Addresses #38.

closing this PR because we want to maintain the debian branch and not merge it into master


Upgrade AppAuth iOS version to 1.3.0.

Hi, Thank you for your great repo.
Related to #63, I faced the same problem with AppAuth 1.1.0 and iPad OS 13.3.1.
After I use AppAuth  1.3.0 (latest), the issue was gone.
I think it's better to upgrade default AppAuth version for iOS to 1.3.0 if no concerns you have.
Thank you.

Merged, thank you!


Add null/no value to input_series for rules unit tests

Proposal
Sometimes alerts depend on a time series being there, or not, and it would be great to be able to test what happens if the time series disappears.
For example, we have this alert for our Postgres instances:
- alert: postgres_invalid_indices
  expr: count(pg_index_bloat_bloat_size{idxname=~".*_cc(new|old)"}) by (cluster, instance, team, datname) > 0
  for: 4h

Basically this alert tells us if any indices that match the regex pattern .*_cc(new|old) exist for more than 4 hours.
I could test this alert by timeseries like this:
tests:
  - interval: 1m
    input_series:
      - series: pg_index_bloat_bloat_size{idxname="my_index", team="team1", cluster="cluster1", datname="db1"}
        values: '1+0x1440' # (1 for 24h)
      - series: pg_index_bloat_bloat_size{idxname="my_index_ccnew", team="team1", cluster="cluster1", datname="db1"}
        values: '1+0x240' # (1 for 4h)
      - series: pg_index_bloat_bloat_size{idxname="my_index_ccold", team="team1", cluster="cluster1", datname="db1"}
        values: '1+0x120' # (1 for 2h)

    # Unit tests for alerting rules
    alert_rule_test:
        # Alert should not be triggered after 10 minutes.
      - eval_time: 10m
        alertname: postgres_invalid_indices
        exp_alerts: []

        # Alert should not be triggered after 2h minutes.
      - eval_time: 2h
        alertname: postgres_invalid_indices
        exp_alerts: []

        # Alert should not be triggered after 3h and 59m
      - eval_time: 239m
        alertname: postgres_invalid_indices
        exp_alerts: []

        # Alert should trigger after 4h
      - eval_time: 4h
        alertname: postgres_invalid_indices
        exp_alerts:
          - exp_labels:
              severity: low
              team: team1
              cluster: cluster1
              datname: db1

        # Alert should not be triggered after 4h and 6m (because of staleness)
      - eval_time: 246m
        alertname: postgres_invalid_indices
        exp_alerts: []

Now if I wanted to test if _ccold would trigger this alert I would have to create a new set of tests and input_series because the input_series doesn't support null.
input_series could support something like this:
- interval: 1m
  input_series:
    - series: pg_index_bloat_bloat_size{idxname="my_index_ccold", team="team1", cluster="cluster1", datname="db1"}
      values: 'NULL+NULLx60 1+0x240' # (no value for 1h, then 1 for 4h)

You can use stale for this.
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

Thanks for the suggestion. I read the whole unit test docs and searched all over the place and I couldn't find anything like that so I thought the feature doesn't exist. I still don't understand what exactly is stale and how to use it.


Error on typing "s"

PS C:\Users\Dominic\Desktop\HQ_Bot-master> python .\answer_bot.py

Press s to screenshot live game, sampq to run against sample questions or q to quit:
s
| Reading screenTraceback (most recent call last):
  File ".\answer_bot.py", line 288, in <module>
    get_points_live()
  File ".\answer_bot.py", line 266, in get_points_live
    question,options=parse_question()
  File ".\answer_bot.py", line 119, in parse_question
    text = read_screen()
  File ".\answer_bot.py", line 100, in read_screen
    text = pytesseract.image_to_string(Image.open(filename))
  File "C:\Users\Dominic\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 193, in image_to_string
    return run_and_get_output(image, 'txt', lang, config, nice)
  File "C:\Users\Dominic\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 140, in run_and_get_output
    run_tesseract(**kwargs)
  File "C:\Users\Dominic\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 111, in run_tesseract
    proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "C:\Users\Dominic\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Dominic\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

Can anyone help me with this?

I have the same problem.

SO DO I

Enetr this into your terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then enter brew install tesseract

Anyone found a way to fix this error yet?


Integrate existing member baseline alarms with PagerDuty and Slack

User Story
We want the member account GuardDuty, SecurityHub and Config Cloudwatch alarms that are already configured to go to a service on pagerduty and then onto our #modernisation-platform-member-alarms channel.
Value
We are aware of these security alarms and can deal with them or refine them as needed.
Questions / Assumptions

Definition of done

[ ] alarms integrated for all member accounts
[ ] user docs have been updated
[ ] another team member has reviewed
[ ] tests are green

Reference
How to write good user stories

https://github.com/ministryofjustice/modernisation-platform/pull/1344 closes


Dev: TvA Report Actuals are only in the report if collected data is Disaggregated on the Data Collected Form

See how the 42 shows in Actuals for "Number of Indicators Results/Outcome Added", but does not list the other data collected 714 . The Actual should be 756

This Data collected
https://tola-activity-dev.mercycorps.org/indicators/collecteddata_update/3122

Is Disaggregated by Country

https://tola-activity-dev.mercycorps.org/indicators/collecteddata_update/3264
 This one Is not Disaggregated

What should happen if someone enters data both in the Disaggregation form at the bottom and in the Achieved textbox?

For now, I will pull data from the "achieved" field and not from the disaggregate data values.

added ticket to address/handle the disaggregations totals #667


Bug: ConversationV2.messages() doesn't use pagination

Describe the bug
AFFECTED VERSION: 0.1.3-beta0 (from cocoapods-integration)
As mentioned in https://github.com/xmtp/xmtp-react-native/issues/34 - a React Native SDK user noticed only 100 messages are being pulled for a convo. This lines up with the code which appears to push pagination responsibilities to the consumer, but requiring them to use Date cutoffs.
https://github.com/xmtp/xmtp-ios/blob/d9463d7/Sources/XMTP/ConversationV2.swift#L107
Expected behavior
The consumer mentioned .messages() without params would be expected to return all messages in the conversation. This is their perceived expected behavior.
Steps to reproduce the bug
No response
Resolution
Need to confirm whether or not this is still an issue on 0.2.1-alpha0

Still an issue in 0.2.1-alpha0

If we want to replicate listInvitations() which does pull all possible messages, we need to pass in a nil pagination: https://github.com/xmtp/xmtp-ios/blob/d9463d79b3d63d4a114de14fc31a21bb74ee9289/Sources/XMTP/Conversations.swift#L264

@nplasterer this was fixed in https://github.com/xmtp/xmtp-android/pull/74, right?

@neekolas the fix you have linked is for conversation.list() only returning 100 conversations. I don't believe I've fixed or written a test for messages. This is likely still a bug unless @dmccartney fixed it with the batchQuery work which did land last week.

This should be fixed on iOS now.


Cursor issues with dark backColor

Hi.
My application has got both dark and light themes.
When I set my Scintilla.BackColor to gray which is what I want for the background, the text select cursor disappears(Because it is gray and you obviously can't see gray on gray)
Is there a way to create a custom cursor over the Scintilla control so that I can add in a white text select cursor(As scintilla doesnt have a Cursor property)?
Thanks

scintilla.CaretLineBackColor = Color.White;

That didnt do anything

Oops, that was the wrong line.
scintilla.CaretForeColor

That changed the little blinky thing which is something else I wanted to do, But to clarify I mean the actual mouse cursor itself

No, the mouse pointer color cannot be changed. This is managed by Windows, not Scintilla.

Controls like the textbox and richtextbox have got cursor properties though, Would something similar be possible to add to scintilla?

Correct me if I'm mistaken, but the Cursor property does not change the color.  Right?
As for whether ScintillaNET has or should have a Cursor property, you should look at issue #22, commit d8b0e800f79a4aaff3de2cec0d0fb179e3588a63. When we let Windows Forms handle cursors for us it created problems, so the property was disabled. You're welcome to try and enable it again and see if you can get some of your ideas working.

Yeah. The cursor property just lets you choose the cursor type that is seen when you mouse over the control, but it just uses the ones defined in the current cursors set in Windows.  Cursors are images, so you can't just change colors. You could look into custom cursors for the app as a whole but I bet you would have to hook into some Windows API stuff for that or something.

I was under the impression one could define a custom .cur file with the cursor property.
Ill have a look at that, Thanks for the help guys :)


[Bug]: Long Texts in Readme and UI

Version of the software
0.1.27 [Beta]
Operating system
Windows 10
Browser / Native
Browser [Chrome/Firefox/Brave]
What happened?
add a long text in Readme of a config select it in Configs tab
then page will be super wide and creation date and more will go to another world

i always write debugging info there
also the readme section itself will get ruined too
long config names without space can cause same problems too
Relevant LoliCode if needed
No response

"Select config" in "Jobs" tab will show the Readme too
a very long text without any space will cause problems in that tab too


Feat: Extends props attribute with features to inject attributes and event handlers declaratively

Adds inject_as, selector features to props attribute, to enable automatic injection of properties into an rsx! definition.
The basic principle is to be able to declaratively inject values of a custom component onto tags or other components in the rsx! definition of that custom component.
inject_as - maps name

inject_as is an optional attribute name mapper of the value to inject, i.e.
my_class => class or
clicky => onclick

selector injects attribute values or event handlers:

selector is a ; separated list of pseudo css like selectors that indicate where to inject the value
syntax: <tag |<EMAIL_ADDRESS><tag |<EMAIL_ADDRESS>
tag | component - _i.e., div | MyCustomComponent
: - similar to css pseudo selector, indicates the presence of a sibling selector
:[nth] - the nth sibling at the current level
:[..nth] - the first nth siblings at the current level
:[nth..] - all siblings from nth` on at the current level
@ - similar to css pseudo selector, indicates the presence of a sibling element selector
@[nth] - the nth of the element at the current level
@[..nth] - the first nth  elements at the current level
@[nth..] - all elements from nth` on at the current level
> - child element
; - is a divider for subsequent selectors, values can be injected more than once

one addition to rsx! syntax
To make the automatic inject possible the rsx! needs to know the custom context type as well as custom context instance name. The syntax has been extended to take the form name:type;, i,e., rsx! { cx: Component; ... }
This requirement for injection does not preclude or interfere with the original definition of rsx!, it just extends it for this use case.
Manual Example
#[derive(Props)]
pub struct ComponentProps<'a> {
    #[props(default)]
    my_class: &'a str,
    #[props(default)]
    onclick: EventHandler<'a, MouseEvent>,
    children: Element<'a>,
}

#[allow(non_snake_case)]
pub fn Component<'a>(cx: Scope<'a, ComponentProps<'a>>) -> Element {
    cx.render(rsx! {
        div {
            onclick: move |evt| cx.props.onclick.call(evt),
            a {
                "class": "{cx.props.my_class}"
            }
            &cx.props.children
        }
        div {
            onclick: move |evt| cx.props.onclick.call(evt),
            "class": "{cx.props.my_class}"
        }
    })
}

#[attributes(optional(div), exclude(class, name, id))]
#[derive(Props)]
pub struct Component2Prop<'a> {
    #[props(default)]
    class: &'a str,
    #[props(default)]
    onclick: EventHandler<'a, MouseEvent>,
    children: Element<'a>,
}

#[allow(non_snake_case)]
pub fn Component2<'a>(cx: Scope<'a, Component2Prop<'a>>) -> Element {
    cx.render(rsx! {
        div {
            Component {
                my_class: "{cx.props.class}",
                onclick: move |evt| cx.props.onclick.call(evt),
                &cx.props.children,
            }
            div {}
        }
        div {}
    })
}

Declarative Equivalent
use dioxus::events::MouseEvent;
use dioxus::prelude::*;

use dioxus_sugar::attributes;

#[attributes(optional(div), exclude(class, name, id))]
#[derive(Props)]
pub struct ComponentProps<'a> {
    #[props(default, inject_as = "class", selector= "div:[1]; div:[0] > a")]
    my_class: &'a str,
    #[props(default, selector= "div")]
    onclick: EventHandler<'a, MouseEvent>,
    children: Element<'a>,
}

#[allow(non_snake_case)]
pub fn Component<'a>(cx: Scope<'a, ComponentProps<'a>>) -> Element {
    rsx! {
        cx: ComponentProps;
        div {
            a {}
            &cx.props.children
        }
        div {}
    }
}

#[derive(Props)]
pub struct Component2Prop<'a> {
    #[props(default, inject_as = "my_class", selector = "div > Component")]
    class: &'a str,
    #[props(default, selector = "div > Component")]
    onclick: EventHandler<'a, MouseEvent>,
    children: Element<'a>,
}

#[allow(non_snake_case)]
pub fn Component2<'a>(cx: Scope<'a, Component2Prop<'a>>) -> Element {
    rsx! {
        cx: Component2Prop;
        div {
            Component {
                &cx.props.children,
            }
            div {}
        }
        div {}
    }
}

The idea was born out of supporting Dioxus-Sugar which declaratively includes valid html attributes and event handlers for custom component properties. Dioxus-Sugar adds the attribute and event handler definitions to the custom component properties and this feature injects those and other custom properties into the custom component definition. Which lets me finish my ultimate reason for building any of these Dioxus-Bulma :)

CSS selector to attribute_on syntax mapping
element:nth-child(n)				element:[n]

element:nth-last-child(n)			element:[-n] *

element:first-child				element:first *

element:last-child				element:last *

element:only-child				n/a **

element:nth-of-type(n)				element@[n]

element:nth-last-of-type(n)			element@[-n] *

element:first-of-type				element@first *

element:last-of-type				element@last *

element:only-of-type				n/a **

element:not(p)					n/a

plus

element:child-range(n1..n2)			element:[n1..n2]
element:child-range(..n)			element:[..n]
element:child-range(n..)			element:[n..]

element:type-range(n1..n2<EMAIL_ADDRESS>element:type-range(..n<EMAIL_ADDRESS>element:type-range(n<EMAIL_ADDRESS>
* this does not exist, but I want to add it
** unless implemented for dynamically added elements/components, which it is not supported now

I can change the square brackets to parenthesis, but I think they are more rusty/idiomatic
I don't have a better idea for replacing : or @, any suggestions?
I want to change both attribute_on and handler_on to selector

I created this PR on the wrong branch and could not push updates, nor could I change the source branch, so I am closing this one and have opened a new PR https://github.com/DioxusLabs/dioxus/pull/364 from the correct branch.


parameter "pagination"

I set the parameter pagination, but it never shows.
const SWIPER_CONFIG: SwiperConfigInterface = {
direction: 'horizontal',
pagination: {
el: '.swiper-pagination',
type: 'bullets',
}
};
"ngx-swiper-wrapper": "^4.9.0" is used

You are using really old version of this wrapper and I believe that version was still using Swiper 3.x so you need to use that configuration format.


Generating umd or iife bundle not working with<EMAIL_ADDRESS>

Generating umd or iife bundle is working with<EMAIL_ADDRESS>but not working with<EMAIL_ADDRESS>error is:
[unocss] does not found CSS placeholder in the generated chunks, this is likely an internal bug of unocss vite plugin
error is found in this file, line 195.  problem code block should start at line 180:
https://github.com/unocss/unocss/blob/main/packages/vite/src/modes/global/build.ts

I'm actually seeing this issue with<EMAIL_ADDRESS>too.
Downgrading unocss to 0.42.1 seems to fix this for me.

We temporarily close this due to the lack of enough information.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required


In Android after three time runs connect method then only connects otherwise just blank

Sorry but I don't understand. Do you mean that on the third try you are able to connect?


Check web/Latex.ts and add any missing special characters

Consider adding greek letters as special characters


Added linux tests without extra dependencies

Fixes #50

Codecov Report

Merging #52 (2a571ad) into main (2c4fbd8) will decrease coverage by 63.7%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##            main     #52      +/-   ##
========================================
- Coverage   99.5%   35.8%   -63.6%
========================================
  Files         86      86
  Lines       2121    2121
========================================
- Hits        2109     758    -1351
- Misses        12    1363    +1351

Impacted Files
Coverage Δ

facilyst/models/utils.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/test_version.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/models/optimizers/hyperopt.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/mock_tests/test_wave.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/mock_tests/test_dates.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/mock_tests/test_features.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/models_tests/test_bert_qa.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/mock_tests/test_mock_utils.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/models_tests/test_hyperopt.py
0.0% <0.0%> (-100.0%)
:arrow_down:

facilyst/tests/utils_tests/test_cli_utils.py
0.0% <0.0%> (-100.0%)
:arrow_down:

... and 51 more

Continue to review full report at Codecov.

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


Use Sidekiq to deliver emails

We want to send emails using a background job to make them retryable in
the case of failure.
I considered writing a custom job to handle this but opted instead to
keep things simple and use the default setup.
Calling deliver_later queues a ActionMailer::MailDeliveryJob to
perform sending the email.
I opted to keep using the default queue for these jobs as we don't
have a large volume of jobs where separate queues would help with
prioritisation.
Checklist

[x] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

:+1: Going to test this on the review app before merging/shipping

Confirmed, still works!


(chromium) 64-bit chromium is installed under WoW64 Program Files (x86)

Expected Behavior

64-bit chromium installs under %PROGRAMFILES%
Current Behavior

64-bit chromium installed under %PROGRAMFILES(X86)%
Is there a reason why it is placed under the WoW64 Program files dir ?
Possible Solution

Steps to Reproduce (for bugs)

choco install chromium

Context

Originally posted by @AeliusSaionji in https://github.com/chocolatey-community/chocolatey-coreteampackages/issues/238#issuecomment-235787365
Your Environment

Package Version used: v74.0.3729.131
Operating System and version: Windows 8.1 Pro x64
Chocolatey version: 0.10.13
Install/uninstall gist:

Yeah, it's wrong but the fault lies with the upstream installer.
It is probably possible for this to be forcibly corrected by chocolatey,  though it's probably not wise to create a circumstance which is unique to a chocolatey install unless absolutely necessary.

Yeah, it's wrong but the fault lies with the upstream installer.

Ah, yea - https://bugs.chromium.org/p/chromium/issues/detail?id=380177


Feature: support host + mod workflow

As I've been reading the Moddable book again recently, I was reminded of the workflow of pushing a host program to a device via mcconfig before running "mod" programs via mcrun for quicker feedback. This was brought up as a method of supporting "hot reloading", but this is also useful as a documented pattern used by folks familiar with Moddable.

How does this fit with the current build and run commands in xs-dev?
Should this be an init template option?
What best practices for host+mod programs can we codify into this feature? Security through compartments? Module dependencies?
Should this pattern be used for "production" deployments or just the local development workflow?
Are there any caveats that could make this feature difficult to understand and debug?
Does this work for the simulator or wasm targets? Or is it just for on-device platforms?

One motivator for this feature is the xs-dev starting guide and ensuring folks have a good experience with those instructions. I am thinking of creating a ECMA-419 host for projects using the IO APIs.
This could be the first step towards supporting that "hot reload" ideal and/or over-the-air updates for devices on the same network.
/cc: @phoddie @andycarle @dashcraft

This is a topic i'm super excited about honestly. Having a robust host that has out of the box behaviors, similar to a bolts included framework, is something I've been trying to build for awhile, but haven't had time.
The mcrun stuff is still super unfamiliar for me as well, i need to really do a deep dive and use it far more often.

Great topic. Thanks for getting this started. A little background might help.
We designed mods to allow JavaScript modules to added to a product's firmware . The idea is that the product firmware provides the foundation and a mod plugs into that to extend or modiy the firmware in some way. The most common way to think of that is the the product's firmware is an application and the mods are some kind of extension to the application. Another way to think of it is that the product firmware is the operating system and the mods are applications. We've seen mods used to effectively deliver content -- to change the visual theme of a product's UI or deliver a "tutorial of the month."
One thing that is common in all of these is that the host firmware is created by one person/organization and the mod is created by another. Here, especially with hot reloading, we are talking about something a bit different where the host and mod are the total firmware. The mod isn't an extension. It is just a faster way to install the modules currently under active development.
That brings up an important detail. The modules in a mod are not preloaded, of course. But most of the modules in the host are preloaded. By definition a JavaScript module is loaded exactly once. That means that any preloaded module in the host firmware cannot be overridden by a different verison of the module in a mod. This is good (because it prevents a mod from overriding parts of the host that aren't intended to be overridden) and bad (because we cannot override an arbitrary module). For the hot reloading scenario, it presents a challenge since the modules to be hot-reloaded either need to be absent from the host or at least not preloaded by the host.

How does this fit with the current build and run commands in xs-dev?

It could make sense to have build & run handle both the host and mods. They are very similar (mcrun and mcconfig share much of the same implementation in mcmanifest.js). That said, there isn't currently a 100% reliable signal that a given manifest is a host or a mod, so the user still has to be aware of the intent. But, perhaps that should be addressed.

Should this be an init template option?

That's easier: yes!
It would be good if the manifest indicated that it was a mod and which host(s) it is intended to work with.

What best practices for host+mod programs can we codify into this feature? Security through compartments? Module dependencies?

The right answer depends on the host's requirements. A general ECMA-419 host doesn't have security needs. It is really just a bundling of the native module dependencies. Compartments get in the way. A lightbulb host has real security requirements and Comaprtments are a great solution.  If you consider the case of mod as application, a host might even launch each module of a mod into a separate Worker (and the Worker might use a Compartment to restrict he mod).

Should this pattern be used for "production" deployments or just the local development workflow?

All of the uses of mods, apart from hot reloading, have always assumed use in production. It does get a bit more complicated because xsbug isn't there to install the mod. But, there are patterns.

Are there any caveats that could make this feature difficult to understand and debug?

See everything above. ;)

Does this work for the simulator or wasm targets? Or is it just for on-device platforms?

It definitely works in the simulator. We use it there often. It works in wasm too, though it has been a while since I tried.


Testing GitHub actions, take 3.

r? @brotzeit
(rust_highfive has picked a reviewer for you, use r? to override)


Convert cjs files to js files  and rely on default

Description
This PR attempts at converting cjs extension files to js files and just rely on the default settings.
For more information visit the Node documentation section on package.json and file extensions
As a bonus, I've updated the dev script with an --open flag so the browser opens when npm run dev gets executed.
Feel free to comment with any questions and I'll gladly address them.
Motivation and Context
As per the documentation, node interprets js files as commonJS depending on what is passed. By default it allows js files to be interpreted as expected. Given that many of these files are using commonJS e.g. module.exports{}, it only makes sense to rely on the default setup.
How Has This Been Tested?
The changes pass the pipeline and the app runs as expected.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Great job.
@all-contributors add @gaber85 for code.


Syntax Highlighting Breaks In Multi-language Buffers

This issued is based on the comment by @Swivelgames in #2790
Anyone still experiencing syntax highlighting issues with large files should comment in the previous ticket or make a new one. This issue is specifically related to multi-language buffers.
Syntax Highlighting Breaks In Multi-language Buffers

Reproducible in VIM 8.2 on multiple platforms

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled May 13 2022 20:56:28)
macOS version - x86_64
Included patches: 1-4950
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl               +file_in_path      +mouse_urxvt       -tag_any_white
+arabic            +find_in_path      +mouse_xterm       -tcl
+autocmd           +float             +multi_byte        +termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
-balloon_eval      +fork()            +netbeans_intg     +termresponse
+balloon_eval_term +gettext           +num64             +textobjects
-browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     +perl              +title
+channel           +ipv6              +persistent_undo   -toolbar
+cindent           +job               +popupwin          +user_commands
-clientserver      +jumplist          +postscript        +vartabs
+clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +vim9script
+cmdline_hist      +langmap           -python            +viminfo
+cmdline_info      +libcall           +python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
+conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          +rightleft         +vreplace
+cscope            +localmap          +ruby              +wildignore
+cursorbind        +lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con        +mksession         +smartindent       +writebackup
+diff              +modify_fname      -sodium            -X11
+digraphs          +mouse             -sound             -xfontset
-dnd               -mouseshape        +spell             -xim
-ebcdic            +mouse_dec         +startuptime       -xpm
+emacs_tags        -mouse_gpm         +statusline        -xsmp
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary
-farsi             -mouse_sysmouse    -tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X -DMACOS_X_DARWIN -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib<EMAIL_ADDRESS>-L/usr/local/opt/readline/lib -L/usr/local/lib -o vim -lm -lncurses -liconv -lintl -framework AppKit -L/usr/local/opt/lua/lib -llua5.4 -mmacosx-version-min=12.0 -fstack-protector-strong -L/usr/local/lib -L/usr/local/Cellar/perl/5.34.0/lib/perl5/5.34.0/darwin-thread-multi-2level/CORE -lperl<EMAIL_ADDRESS>-lpython3.10 -framework CoreFoundation -lruby.3.1 -L/usr/local/Cellar/ruby/3.1.2/lib

When editing a file that contains more than one syntax-highlighted language, certain scenarios cause VIM to revert to highlighting only the primary language.
@Tao-Quixote had a great example of this, where a file that is using HTML/Jade, CSS/SASS/Stylus, and JavaScript/TypeScript/CoffeeScript appears to only highlight the first parent syntax language after the breakage occurs.
So far, the only thing that works is manually running :syntax sync fromstart whenever this happens.
Reproduction Steps
The easiest way to reproduce the issue, that I have found, is to:

Open VIM (# vim)
Edit the problematic file (:e my-file) (In my case, it was a ~1000 line Vue.js file)
Jump to the bottom of the problematic file (G)
Open a new Buffer in the same window (:e some-other-file)
Switch back to the problematic buffer (:bp)

Expected

Syntax highlighting will be applied appropriately for all languages present in the file

Actual

Syntax highlighting is only performed for primary language; Remaining languages are either highlighted with that syntax, or not at all.

Example File
Example derived from the comment by @Tao-Quixote in #2790
<template>

</template>

Blah, blah, blah. Proper name. Place name. Backstory stuff...
EDIT: This section used to be collapsed. I removed the collapsible portion to make sure this section does not get overlooked, since it already addresses the first response to this ticket.
This issue is based on the original issue outlined in #2790. However, upon further inspection, I believe there are actually two separate problems being discussed in that story:

Syntax Highlighting fails for large files (this is most likely due to redrawtime)
Syntax Highlighting inconsistently applies syntax when multiple syntaxes are present in a file

The former may be fixed sometimes with one of these two configuration changes, because syntax highlighting seems to halt when it takes longer to execute than the threshold defined by redrawtime:
set redrawtime=10000 " If something breaks, you may have to wait 10 seconds for VIM to unfreeze
set re=0 " Force VIM to use the new RegEx engine, because it's faster/more-efficient/etc

The latter issue mentioned above is fixed during each occurrence by running :syntax sync fromstart.
These two solutions are mutally exclusive to their respective issues, highlighting the separation (no pun intended).
Upon inspection, both of these issues are valid and continue to garner attention despite the issue remaining closed. Neither of these should be broken out of the box, of course, as these are major usability issues. And, of course, anything should still be considered a bug if the solution is to introduce extraneous configuration in order to make a particular feature work consistently; Especially if that configuration is not immediately obvious, requires excessive values, and requires the user to dig around through closed issues in order to find the workaround. It may be worth it to explore whether or not the former issue is still valid.
However, again, discussions related to issues with syntax highlighting for large files should be limited to the previous ticket or a new one. This issue is specifically related to multi-language buffers.

Note sure why you opened a new ticket, but please note, including several other syntax rules inside one single file, may be the cause of it. It may happen, that some syntax rules do not play together very well (and may not even expect to find parts of the language that are clearly not allowed for that language) when combined and it may cause already heavy syntax highlighting to become even more slow, and syncing may be off.
You already seemed to have found syntax sync fromstart and I think this is the proper solution to your problem. It may make sense to check how fast the syntax engine works by running the syntime command. Also it may make sense to check the particular syntax files in place to see if they have some syn sync rules already applied which may not fit for your document.

Note sure why you opened a new ticket, [...]

I acknowledge that I initially fell into the same trap when I wrote my comment on the previous ticket! 😅
The Backstory section of the issue above outlines the justification for creating this new ticket.  These are separate issues. I believe you're still conflating the two issues as well. As I pointed out, the previous ticket was related to Large Files, not to multi-language buffers. Not only that, the ticket was closed.
After it was closed, a few people (including myself) with the Multi-language issue contributed to the thread, under the assumption that the two issues were identical.  After investigating both I discovered that, while they're both within the same problem space/domain (syntax highlighting), they're two very separate issues.
I'm sure you're busy with a number of other things. Out of respect for everyone's time, I took the time to debug, reproduce, and demonstrate the differences between both issues. Not only was this done in my original post, but I will also elaborate below. 🙂

[...] but please note, including several other syntax rules inside one single file, may be the cause of it. [...]

Correct!  That is the scope of this issue ticket. 😄  In the end, I'm pretty sure this comes down to areas of responsibility.

[...] It may happen, that some syntax rules do not play together very well (and may not even expect to find parts of the language that are clearly not allowed for that language) when combined and it may cause already heavy syntax highlighting to become even more slow, and syncing may be off. [...] It may make sense to check how fast the syntax engine works by running the syntime command. Also it may make sense to check the particular syntax files in place to see if they have some syn sync rules already applied which may not fit for your document.

As previously mentioned, the Multi-language Highlighting issue is not due to slowness
This is, again, another example of conflating the two issues mentioned before.  The Large File issue was related to slowness.  This is another issue entirely.  This is underscored by the following:

syntime report does not reveal exorbitant timings
This is reinforced by the fact that set redrawtime workaround has no effect
set re workaround has no effect
Lastly, syntax highlighting actually completes to the end of the file, but it only highlights first language.

I even applied your changes to 8.2.5009, set set redrawtime=5, and witnessed a message. But when I exited vim, and reproduced the issue (as outlined below), no message appeared, underscoring the fact that this issue isn't due to timing or slowness.
This issue was reproduced after isolating it to a fresh compilation of vim master
More importantly, this issue was isolated and reproduced using a fresh compilation of vim from source using version 8.2.5009
Reproduction steps:

Run vim --clean -u NONE ./victimizedFile
Type :syntax on
Type G

Notice the file's syntax is highlighted, but sub-languages are not. In fact, Steps 2 and 3 can be done in any order.
Reproduction Examples

Results of syntime report
>> emphasis mine
  TOTAL      COUNT  MATCH   SLOWEST     AVERAGE   NAME               PATTERN
  0.000608   100    62      0.000081    0.000006  htmlTagError       [^>]<
  0.000505   70     40      0.000069    0.000007  htmlArg            \<\(http-equiv\|href\|title\)=
  0.000446   56     21      0.000128    0.000008  htmlTagName        \<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>
  0.000262   36     8       0.000037    0.000007  htmlArg            \<\(accept-charset\|label\)\>
  0.000201   75     22      0.000041    0.000003  htmlLink           \_[^>]*\<href\>
  0.000175   92     77      0.000034    0.000002  htmlError          [<>&]
  0.000129   111    73      0.000008    0.000001  htmlTagN           </\s*[-a-zA-Z0-9]\+
  0.000114   90     52      0.000007    0.000001  htmlTagN           <\s*[-a-zA-Z0-9]\+
  0.000112   30     0       0.000027    0.000004  htmlArg            \<aria-\%(activedescendant\|atomic\|autocomplete\|busy\|checked\|
  0.000105   55     2       0.000041    0.000002  htmlBold
  0.000089   53     0       0.000031    0.000002  javaScript

Additionally, it appears that the following remedies the issue, which may point to the source of the problem:

Jump to the top of the file: g
Scroll down (holding j, or by using Lzt, C-d, C-f, or other means)

Notice how the file is correctly highlighted thoroughly.
Interestingly enough, before making it to the end of the file, if you jump to the last line G, you will notice that the highlighting for the sub-language is not complete. Slowly scroll up from there, you'll eventually land on a spot in the buffer where half of the code is highlighted, and the other half is not.
Expanding on that, the bottom of the highlighted portion of code from the sub-language was the last visible line in the buffer when we scrolled down from the top.

Here's the reproduction steps in action:
https://asciinema.org/a/w2VwAbNeGSVSE4St7DwehJjuP

@chrisbra Didn't mean to overload you with too much info, but does any of this help? My last comment is probably the most useful, I imagine.

I am experiencing this exact issue as well! Do we still not have a fix?

Not that I'm aware of. This is still broken for me.
Can you post your vim - - version?

as mentioned before, this is highly dependent on the syntax script involved as well as the buffer content. I think each syntax script need to be addressed specifically (for which you may need to get into contact with the syntact script author, as mentioned in the file).

That appears to be @dkearns, but I'm not sure.
@dkearns Any chance you have insight into this?

Mostly this sounds like a synchronization problem, especially where "syn sync fromstart" is the fix. Vim provides several choices for this; see :help syn-sync . One may specify how many lines vim should start back at to begin synchronization.  I think this is really a user settings issue not a syntax/html.vim issue.
I think the other problem involves the choice of "region"s that delineate the different language zone. Its just a vim syntax region -- so if the start and end patterns are somehow ambiguous with the included language there'll be problems. See syntax/vim.vim for examples with including lua, perl, ruby, python, tcl, and mzscheme.

@Swivelgames I only quickly skimmed your very thorough report but I'll have a better look soon.
It appears to be a syncing problem caused by the long JavaScript block comment.  The HTML syntax file sets a low sync minlines value of 10.  If you increase that to something like 500 it should work better.

I'm facing a similar issue when using https://github.com/preservim/vim-markdown with code fencing. The fenced code block loses syntax highlighting when I jump to end of file by G. It works on manually trigging :syntax sync fromstart


comment out a line setting the reconnect server of a player in the Se…

This was causing the server of a player to not be changed in the database if he did not logout after being moved to the lobby. Safe to remove since we have a check in the ReconnectHandler to not save the lobby as the server of a player.

Can one of the admins verify this patch?  Type 'ok to test' to test.

Don't feel bad at least you try to get the poms updated, I always forget.


Tag releases

To make tmpsms packagable for package systems like Snap, AUR, etc. releases should be tagged. Preferable with semver versioning, so you can communicate breaking changes.

Done! 👍

Done! 👍

Awesome, I've created and will maintain the tmpssms aur package for Arch linux users.
Keep up the great work!

Awesome, I've created and will maintain the tmpssms aur package for Arch linux users.
Keep up the great work!

Awesome sounds great!

Awesome sounds great!


Docs Content Validation's page is removed

Docs Content Validation uses https://docs.microsoft.com/en-us/contribute/validation-reference/ as it's website.

@meganbradley can you look into this?

@hsebs can you tell me a little more about this issue, so I understand what solution to provide?

This app is deprecated and will be removed soon. I'm just trying to warn the various repo owners before I remove it.

@hsebs per @meganbradley I think we can close this. The app that links to the validation ref page will be removed.


feat: added text override on CheckoutActionComplete

Signed-off-by: Haris Spahija<EMAIL_ADDRESS>Part of: #409
Impact: minor
Type: feature
Component
CheckoutActionComplete now has overrides when i18next will be implemented (see #409)
Breaking changes
No breaking chances, all added fields are optional
Testing

Add a new prop changeButtonText to <CheckoutActionComplete />
Add the value "test" to changeButtonText
Button should display "test" when test is given as a value to the prop. When the prop changeButtonText is not added, it should default to the values given in default props

🚀 Preview deployed
Built with commit 65e9a4b5a5c051c0b87f953d6dc421f5f08c2cb0
https://deploy-preview-452--stoic-hodgkin-c0179e.netlify.com

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Screen blinking / slow image assembly speed

Hi there,
it seems that you are still updating this project.
I put the 5.7 inch together and it seems that the screen blinks for about 27 seconds while assembling the image on the screen. Is that normal or is there something wrong with mine?
Just trying to see if something got screwed up that I am not being able to find.
Couldn't find an email address for you, so I am posting here.
Thank you.

Hi @nsamarkus the refresh time is normal if you checkout https://shop.pimoroni.com/products/inky-impression-5-7?variant=32298701324371 they write there:

Please note that Inky Impression takes around 30 seconds to refresh the screen, so is best suited to projects that don't rely on constant screen updates.

I currently play around with some tweaks to the library from Pimoroni as they have hard coded sleeps in it and do not use the busy state from the screens controller.

Totally missed that on the product page. My bad. First time that I used a color e-ink. Just wanted to make sure something didn't get messed up. Thanks for the response. :)


Preprocessor preview gives out error 'urllib.error.URLError'

venv "C:\Users\user\Desktop\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Version: v1.7.0
Commit hash: cf2772fab0af5573da775e7437e6acdca424f26e
Installing sd-webui-controlnet requirement: trimesh[easy]
Launching Web UI with arguments:
No module 'xformers'. Proceeding without it.
Style database not found: C:\Users\user\Desktop\stable-diffusion-webui\styles.csv
[-] ADetailer initialized. version: 24.1.0, num models: 9
ControlNet preprocessor location: C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads
2024-01-05 20:47:06,611 - ControlNet - INFO - ControlNet v1.1.427
2024-01-05 20:47:06,661 - ControlNet - INFO - ControlNet v1.1.427
Loading weights [7c819b6d13] from C:\Users\user\Desktop\stable-diffusion-webui\models\Stable-diffusion\majicmixRealistic_v7.safetensors
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.
Creating model from config: C:\Users\user\Desktop\stable-diffusion-webui\configs\v1-inference.yaml
Startup time: 9.6s (prepare environment: 3.1s, import torch: 1.8s, import gradio: 0.6s, setup paths: 0.5s, initialize shared: 0.2s, other imports: 0.3s, load scripts: 2.2s, create ui: 0.3s, gradio launch: 0.4s).
Loading VAE weights specified in settings: C:\Users\user\Desktop\stable-diffusion-webui\models\VAE\vae-ft-mse-840000-ema-pruned.ckpt
Applying attention optimization: Doggettx... done.
Model loaded in 3.3s (load weights from disk: 0.5s, create model: 0.2s, apply weights to model: 1.1s, load VAE: 0.8s, calculate empty prompt: 0.6s).
2024-01-05 20:47:47,350 - ControlNet - INFO - Preview Resolution = 512
Downloading: "https://huggingface.co/lllyasviel/Annotators/resolve/main/body_pose_model.pth" to C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads\openpose\body_pose_model.pth

Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1037, in _send_output
    self.send(msg)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 975, in send
    self.connect()
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1454, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 513, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1071, in _create
    self.do_handshake()
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1342, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api
    result = await self.call_function(
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
    response = f(*args, **kwargs)
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\controlnet_ui\controlnet_ui_group.py", line 729, in run_annotator
    result, is_image = preprocessor(
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\utils.py", line 75, in decorated_func
    return cached_func(*args, **kwargs)
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\utils.py", line 63, in cached_func
    return func(*args, **kwargs)
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\global_state.py", line 37, in unified_preprocessor
    return preprocessor_modules[preprocessor_name](*args, **kwargs)
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\scripts\processor.py", line 257, in run_model
    return remove_pad(self.model_openpose(
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\openpose\__init__.py", line 447, in __call__
    poses = self.detect_poses(oriImg, include_hand, include_face)
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\openpose\__init__.py", line 333, in detect_poses
    self.load_model()
  File "C:\Users\user\Desktop\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\openpose\__init__.py", line 208, in load_model
    load_file_from_url(body_model_path, model_dir=self.model_dir)
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\basicsr\utils\download_util.py", line 98, in load_file_from_url
    download_url_to_file(url, cached_file, hash_prefix=None, progress=progress)
  File "C:\Users\user\Desktop\stable-diffusion-webui\venv\lib\site-packages\torch\hub.py", line 611, in download_url_to_file
    u = urlopen(req)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 519, in open
    response = self._open(req, data)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
    result = func(*args)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1391, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>

canny works just fine, but other like openpose and depth gives out this error. i have tried 'pip install --upgrade certifi' but it does nothing.

Did you ever find a solution to this?  I'm getting the same errors and having the exact same problem.  Canny works fine, but openpose, depth, etc. throw out that error.

Maybe it's because your network is not stable enough. If you are using a proxy, switch to a more stable one

Maybe it's because your network is not stable enough. If you are using a proxy, switch to a more stable one. Or you can download these files manually and put them into the correct location

Thanks for the advice the control net is working for me now maybe because of updates, thanks


@broskoski: Simplest possible swiping carousel

There's still some issues with this I'm working out but it works alright. Would gladly swap this out with a library if I could find one that is halfway decent (suggestions?).

:+1: looking good, can I use it in microgravity?

This is interesting: http://dev.w3.org/csswg/css-snappoints/

There were some component-js swipe components that looked pretty good http://component.github.io/?q=swipe. Although I can't personally vouch for any of them. Maybe this is an opportunity to release our own open source swipe component :)


Antivirus service should only be created if antivirus deployment is created

Currently the service is always created, even if there is no deployment for it to point to.

Nice find! Thank you :slightly_smiling_face:


Add ability record a movie, exposed to Dart code

Similar to https://github.com/flutter/flutter/issues/8244, but recording movies instead of screenshots.
The raw bytes of the movie will be too big, so we'll need to use libffmpeg to encode it.  Any sufficiently compressing codec that's playable in a browser by default will do (mp4 may not be suitable because of licensing requirements).  We also don't want to statically link the engine against libffmpeg, so we'll have to dlopen it.
In testing, this will be especially handy when you have continuous integration tests being run in an automated remote environment.  Failing tests can provide a link to the movie recording of what the test was doing, which will provide insight into the test failure.
@chinmaygarde

Initial take on what the Dart API would look like (in dart:ui):
/// Represents a movie recording of the current frame buffer activity.
class ScreenRecording {
  /// Creates a new `ScreenRecording`.
  ///
  /// Recording will commence immediatly and will continue until [stop] is
  /// called (unless [duration] is specified, in which case the recording will
  /// automatically be stopped after the specified duration).
  ScreenRecording([Duration duration]);

  /// Gets the stream of encoded bytes produced by the recording.
  ///
  /// These bytes will be encoded using the <TODO> codec.
  Stream<List<int>> get stream;

  /// Stops recording. The recording's [stream] will send a "done" event after
  /// the final bytes of the recording have been sent.
  ///
  /// If the recording is already stopped, a [StateError] will be thrown.
  void stop();

  /// Whether the recording has been stopped, either automatically or explicitly
  /// using [stop].
  bool get isStopped;
}

We'll have to make it clear in the docs that device deployments will have to bundle libffmpeg in order to be able to use this...
@abarth for thoughts

I have a request regarding screen video recording. When recording screens i need to be able to obfuscate certain widgets on the screen for privacy reasons. Can you have a think about how this can be done ? Maybe some sort of annotation  to make it automatic OR a callback to give the developer the opportunity to do it manually ?

@zoechi Is this going to be picked in the near future?
If not, is there any other way I can achieve this in a graceful manner?
Would be a good add-on since most of the existing sdk's like appsee and uxcam do not work on flutter ui. I want this for initial testing of my app and see how user's are interacting with it.

We're unlikely to do this in the foreseeable future.
The https://github.com/flutter/assets-for-api-docs repository has code to use a test widgets binding to go one frame at a time, capturing screenshots, then assemble them into a video after the fact.  It's how we achieve animations like the one in https://api.flutter.dev/flutter/widgets/Image/loadingBuilder.html

We're unlikely to ever do this, so closing.


added documentation for PTLMC

Please check to see if this documentation is sufficient for PTLMC

Unfortunately, can't merge. flake8 tests are not passing.


Microsoft Azure units label

Microsoft Azure chart is missing VM-hours for the hero number and storage services usage.
The backend APIs provide no units; thus, we must hard code something.
https://github.com/project-koku/koku-ui/issues/1469

Codecov Report

Merging #1470 into master will decrease coverage by 0.08%.
The diff coverage is 35.00%.

@@            Coverage Diff             @@
##           master    #1470      +/-   ##
==========================================
- Coverage   76.39%   76.31%   -0.09%
==========================================
  Files         198      198
  Lines        3546     3555       +9
  Branches      665      672       +7
==========================================
+ Hits         2709     2713       +4
- Misses        752      756       +4
- Partials       85       86       +1

Impacted Files
Coverage Δ

...ports/reportSummary/reportSummaryDetails.styles.ts
100.00% <ø> (ø)

...ntaryDashboard/ocpSupplementaryDashboardWidgets.ts
100.00% <ø> (ø)

...pages/dashboard/components/dashboardWidgetBase.tsx
47.61% <16.66%> (-0.56%)
:arrow_down:

...nts/reports/reportSummary/reportSummaryDetails.tsx
47.77% <22.22%> (+0.58%)
:arrow_up:

src/components/charts/trendChart/trendChart.tsx
81.55% <50.00%> (-0.63%)
:arrow_down:

...nents/reports/reportSummary/reportSummaryItems.tsx
79.16% <100.00%> (+0.90%)
:arrow_up:

src/store/dashboard/common/dashboardCommon.ts
100.00% <100.00%> (ø)

src/utils/computedReport/getComputedReportItems.ts
74.07% <0.00%> (-1.86%)
: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 27b570f...2efc28a. Read the comment docs.


Update header and footer to include more links

Goal
The main goal is to add some missing links in the home page (mainly the Rising Stars projects, but also some specific pages like the Hall of Fame or the Tiimeline)
First iteration
Header
At the top, the links are moved inside a "hamburger menu". Before there used to be only "Projects" and "Tags" links, I've added the "Hall of Fame", the "Timeline" and the "About" pages.

Footer
At the bottom, a new "footer" shows 2 categories of links

Direct links to some pages (basically the same links as in the hamburger menu)
Related projects: Rising Stars and State of JS.

Second iteration

Make the top menu "responsive"
Add Best of JS logo in the footer
Add Rising Stars image in the footer

Header

Footer

Screenshot for the README.md


error LNK2019: unresolved external symbol fn_name referenced in function

Hi! I'm attempting to use cc for FFI with a C++/CUDA program. I receive this error:
error: linking with `link.exe` failed: exit code: 1120
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.37.32822\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "
  // ... lots of characters
    = note: wf_lab.wf_lab.49f2ab786cc9a047-cgu.10.rcgu.o : error LNK2019: unresolved external symbol ffi_test referenced in function _ZN6wf_lab4main17hc80f789cc725edc4E
          C:\Users\the_a\code\wf-lab\target\release\deps\wf_lab.exe : fatal error LNK1120: 1 unresolved externals

warning: `wf_lab` (bin "wf_lab") generated 61 warnings (32 duplicates)
The following warnings were emitted during compilation:

warning: cuda.cu
warning: cuda.cu

Cargo.TOML:
[build-dependencies]
# For CUDA FFI
cc = { version = "^1.0.83", features = ["parallel"] }

main.rs:
extern "C" {
    fn ffi_test();
}

fn test_cuda_ffi() {
    unsafe {
        ffi_test()
    }
}

fn main() {
    test_cuda_ffi();
}

Builds.rs:
use cc;

fn main() {
    cc::Build::new()
        .cuda(true)
        .cudart("static")
        // todo: Is expicitly specifying gencode required?
        // Generate code for RTX 2 series.
        .flag("-gencode").flag("arch=compute_75,code=sm_75")
        // Generate code in parallel
        .flag("-t0")
        .file("./cuda/cuda.cu")
        .compile("cuda_test");
}

cuda.cu:
// This C++ function can be called from C code
extern "C" void ffi_test() {
// void ffi_test() {
    std::cout << "FFI TEST" << std::endl;
}

Note:  I think I have confirmation the C++ code is compiling correctly: If I put in random characters in the C++ function being called, I get an appropriate syntax error when I do cargo build.
Where would you start? TY!

Where would you start?

cargo clean.

Set-Location: A positional parameter cannot be found that accepts argument 'clean'.
Of note, the associated error if compiling on Linux:
lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/mnt/c/Users/the_a/code/wf-lab/target/debug/deps/wf_lab-a1d82c572833d8e1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/bin/ld: /mnt/c/Users/the_a/code/wf-lab/target/debug/deps/wf_lab-a1d82c572833d8e1.1717mp8s0eatta04.rcgu.o: in function `wf_lab::test_cuda_ffi':
          /mnt/c/Users/the_a/code/wf-lab/src/main.rs:286: undefined reference to `ffi_test'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

warning: `wf_lab` (bin "wf_lab") generated 62 warnings (32 duplicates)

cargo clean.

Set-Location: A positional parameter cannot be found that accepts argument 'clean'.

This is not an error message from cargo. Looks like from powershell? Come on...

Looks like I had a typo. cargo clean runs, but no change in behavior.

no change in behavior.

Really? So it doesn't complain about not being able to compile the presented cuda.cu and actually reaches the linking stage? Just in case for reference, after fixing up cuda.cu I can't reproduce any of the referred problems. [Apart from cargo warnings on Windows, but those are benign and a different story.] Here is a test. Since you have no actual CUDA code, rename cuda.cu to cuda.cpp and omit CUDA flags/options in build.rs...

I appreciate you trying it! I have been working that angle recently; here's the latest build.rs main:
fn main() {
    // Tell Cargo that if the given file changes, to rerun this build script.
    println!("cargo:rerun-if-changed=cuda/cuda.cpp");
    cc::Build::new()
        // .cpp(true)
        // .cuda(true)
        // .cudart("shared") // todo: troubleshooting.
        // Generate code for RTX 2 series.
        // .flag("-gencode").flag("arch=compute_75,code=sm_75")
        // Generate code in parallel // todo: Do we want this?
        // .flag("-t0")

        //         .include("...")
        //         .flag("-Llibrary_path")
        //         .flag("-llibrary")
        //         .compile("...");

        .file("cuda/cuda.c")
        .compile("cuda");
        ```

Something is seriously off with your setup. In other words it doesn't looks like cc-rs is at fault here. It looks as if C compiler is not called at all, or that it produces empty object files. See what's going on with cargo build -vvv (after cargo clean) in search for clues. But those would be for you. You should see cl.exe called. Note the object names and examine them with dumpbin /symbols... Try to calls cl yourself...

I will post back here once I learn more. Currently unable to get cc to generate any files on Win or Linux. Very long linker errors. Compiling with the clang/clang++/nvcc CLI tools works.

The problem was I was missing CXX = clang++ in the system environmental variables.

The problem was I was missing CXX = clang++ in the system environmental variables.

This doesn't really make sense, but if it helps you, then it helps you. But just in case for reference. The issue starts as "CUDA on Windows doesn't link." As far as I recall, using C++ compiler other than Visual Studio with CUDA on Windows is unsupported by Nvidia. This is unlike Linux, where it's perfectly fine to use clang++ with nvcc. Secondly, cc-rs is perfectly capable of working without any additional environment variables set. The fact that you have to set some is rather an anomaly than a rule, at least when compiling hello-ffi-style snippets. But again, if it works for you, then it works for you...

Thank you for the input. Currently, using cc with C++ works. I'm having some reasonably productive troubleshooting now with NVCC and CUDA proper using CC. For example, cl : Command line error D8021 : invalid numeric argument '/Wextra'. I'm going through the manual compiler steps output by CC, and working through it.
Once done, I will PR this repo with a self-contained example. I know you said something's up with my system, but I am attempting to create a reproducible setup with a good user experience for CUDA FFI.

There is a sanity test in cc-test. It's exercised on Github Action only on Linux though. The reason for why it's not exercised on Windows is because there is no scriptable installer (to perform minimal compiler installation). But one can execute it "manually" in cc-rs tree on a Windows system with working CUDA installation. As per .github/workflows/main.yml, with cargo test --manifest-path cc-test/Cargo.toml --features test_cuda.

Excellent; thank you for that tip! That sounds great.


Move symphony-client-examples module to symphony-java-sample-bots project

In an effort to simplify development of the java-client and combine existing project work, the symphony-client-examples module will be moved and incorporated with the project symphony-java-sample-bots project.

Move is done!

txs.  I will update readme.


Add Motrix

A full featured download manager based on aria2 | homepage
Microsoft Reviewers: Open in CodeFlow

 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.:x: codgician sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

/AzurePipelines run

The installer is not digitally signed. Does that mean unsigned installer will not be accepted by official repo? Thanks.


How to return a Page to the pool?

Hi, Grafana Tempo uses the low-level API for scanning columns, including ColumnChunk, PageReader, etc. There have been performance improvements to the library recently to introduce reference-counted buffers and I think there might be a gap where a Page (backed by bufferedPage) isn't returned to the pool, nor is there a way to do it manually.  It's possible that I missed the proper usage of these low-level structs, so this issue is both a possible finding and an ask for clarification.
Our loop is basically:
for _, rowGroup := range rowGroups {
    pages := rowGroup.ColumnChunks[n].Pages()
    defer pages.Close()

    for {
        page := pages.ReadPage()
        ...

It looks like new memory is allocated for every call to ReadPage(), and not reused from the internal pool, via a bufferedPage with new refs in column.decodeDataPage.   I didn't see where the page is unref'd to return the buffers to the pool.
Thoughts
Should this be happening automatically, as the semantics of ReadPage mention that the given page is only valid until the next call?    Another possibility is to introduce Page.Close() which unrefs the buffers and allows downstream applications finer control over the lifetime.

Hello @mdisibio, thanks for starting this discussion.
You are correct that at this time there is no mechanism to release pages. I initially did not want to expose external APIs without having a clear understanding of the use cases, so the feedback you provide is definitely valuable.
Something that I want to make sure is that we minimize the chances for an application to misuse the API. For example, if we introduce a Close method, it is possible for some pointers referencing memory within the page to become implicitly invalid (for BYTE_ARRAY or FIXED_LEN_BYTE_ARRAY pages for example). Such cases are fertile grounds for bugs, which makes it harder for users to use the library and adds maintenance time answering issues.
A single Close method might also not be useful in cases where the application needs to retain or share the page between multiple components. Internally, parquet-go has a reference counter for bufferedPage, it could make sense to expose an API to allow the application to manipulate the reference count. For example, the Apache Arrow library exposes Retain/Release methods on many objects as a manual memory management mechanism. While reference counting can be an effective solution to optimizing memory management, I don't believe that it is a common pattern for Go developers to use since we often more intuitively rely on the GC.
For these reasons, I believe that if we expose a way for the application to participate in granular memory management of the pages, we should make it an opt-in mechanism (e.g. the program is still correct if we let the GC reclaim memory). There are two approaches that I think we could take:

Expose functions to change the reference count, using type assertion on the interface type to increment/decrement. Using these functions is optional and are only hints for the library:

page, err := pages.ReadPage()
...
parquet.Release(page)

Provide a function to support the use case you are referring to (which would also fix the ambiguous use of defer in your example). Then the contract is that none of the values read from the page must escape the scope of the closure used by the range function. Internally the library can close/release resources accordingly:

parquet.RangePages(columnChunk, func(page parquet.Page) error {
  ...
})

Let me know what you think!

I would lean towards exposing Retain/Release methods as this provides the most amount of control for applications and doesn't introduce abstraction for error handling or concurrency.  We put Values in channels and if Retain/Release are exposed then there are two paths available: Clone the values and release the page immediately, or retain/release the backing page with the Value lifetimes.  The first case is essentially the same as the proposed callback, and benchmarks are promising (reduced cpu/mem despite the increased small allocs from Cloning many values).  Interested in testing the second  case as it seems to have both benefits: repool page, and no cloning.


Does not allow custom css or js files

Looking through the code in https://github.com/smpallen99/ex_admin/blob/master/web/templates/layout/admin_lte2.html.eex - looks like we cannot customize the css and js. Please include the following line (for css):
    <link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">

Also, please include a corresponding line for app.js
cc @smpallen99

There is already a way to add a custom head_template by setting config :ex_admin, :head_template with {layout, template}. So you can add your own css and js in there.

@smpallen99 - Thanks, I had not gone through that part of the code, and have followed your suggestion and implemented the same.


i saw the issues 553 but still don't know how to use will display

IMPORTANT - BEFORE CREATING YOUR ISSUE PLEASE READ THE FOLLOWING:

PLEASE STATE THE VERSION NUMBER you are using.
Are you using the latest version of JTAppleCalendar? Latest version is currently 7.1.4
PROVIDE ENOUGH INPORMATION SO I CAN RECREATE THE PROBLEM.

xcode 9.2 swift 4
i am using 7.1.4 jtapplecalendar
i am the beginner user for swift & xcode
and i want to make the app that have a calendar
so i tried this jtapplecalendar
and i saw every video on youtube
then i tried to make calendar like this video:https://www.youtube.com/watch?v=zOphH-h-qCs&t=3s
i fallow every step in video
after i saw the issues 553 that Explanation ：Type 'ViewController' does not conform to protocol 'JTAppleCalendarViewDelegate'
but i still don't know what i have to code in willdisplay
because i code same as cellforitemat but it have Thread 1: signal SIGABRT
this is my last tried to code
extension ViewController :JTAppleCalendarViewDelegate, JTAppleCalendarViewDataSource{
    func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
        let mycell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "myCustomCell", for: indexPath) as! CustomCell

        mycell.detaLable.text = cellState.text
    }

    func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {
        let mycell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "myCustomCell", for: indexPath) as! CustomCell
         mycell.detaLable.text = cellState.text
        self.calendar(calendar, willDisplay: mycell, forItemAt: date, cellState: cellState, indexPath: indexPath)
        return mycell
    }

    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
        formatter.dateFormat="yyyy MM dd"
        formatter.timeZone=Calendar.current.timeZone
        formatter.locale = Calendar.current.locale

        let startDate = formatter.date(from: "2017 01 01")!
        let endDate = formatter.date(from: "2017 12 31")!

        let parameters = ConfigurationParameters(startDate: startDate, endDate: endDate)
        return parameters
    }

it still have signal SIGABRT
i search about like one week
but i still don't know how to do
sorry i'm not good at english
but i really try hard to understanding
and i thought this jtapplecalendar is wonderful to the beginner
so please help me

Your function should look like this.
You should not dequeue inside the willDisplayCell function.
    func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
        let mycell = cell as! CustomCell
        mycell.detaLable.text = cellState.text
    }

closing issue.
Let me know if it works for you.

I tried and still have signal SIGABRT
I don't know why.........

@MichaelSun3566 can you send me the project as a zip file?
<EMAIL_ADDRESS>

Thanks! i got my mistake

Please tell me how to solve this issue


Use net.IPNet as DstIP in flower filter

currently Flower filter DstIP is a string that is expected
to be either an IP or CIDR wih special handling for transforming
an IP to CIDR. currently this logic was only applied to IPv4 addresses.
Which caused filters with IPv6 /128 mask to be re-applied on interfaces.
To solve this, we take a more structural approach for DstIP field
and use net.IPnet instead of plain string.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

42 of 46 (91.3%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 80.048%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/tc/driver/cmdline/tc_cmdline.go
3
5
60.0%

pkg/tc/types/filter.go
18
20
90.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
2002

Relevant Lines:
2501

💛  - Coveralls

thanks for the review @ykulazhenkov  !


Enable failure on cycles.

Fixes https://github.com/polina-c/layerlens/issues/4

@martingeorgiu, would you mind to accept invitation and review?

PR: https://github.com/polina-c/layerlens/pull/17

Published. Let me know if there are issues.


Possible bug with inserting extra space between string literal and dot symbol

Description
Not sure if this is bug or I'm doing some not allowed operation but please take a look.
let's consider such small macro
import SwiftCompilerPlugin
import SwiftSyntax
import SwiftSyntaxBuilder
import SwiftSyntaxMacros
import SwiftDiagnostics

public struct TestMacro: PeerMacro {
    public static func expansion(
        of node: SwiftSyntax.AttributeSyntax,
        providingPeersOf declaration: some SwiftSyntax.DeclSyntaxProtocol,
        in context: some SwiftSyntaxMacros.MacroExpansionContext
    ) throws -> [SwiftSyntax.DeclSyntax] {

        guard let declaration = declaration.as(FunctionDeclSyntax.self) else {
            fatalError()
        }
        let body = declaration.body!.statements
        return ["""
                func test1() {
                    \(raw: body)
                }
                """]
    }
}

@main
struct MyMacro: CompilerPlugin {
    let providingMacros: [Macro.Type] = [
        TestMacro.self,
    ]
}

and when using in this example
import MyMacro

struct Struct {
    @TestMacro
    func method() {
        let x = 100
        "Swift Macro".lowercased()
        let y = 123.byteSwapped
    }
}

macro is expanded to this code
func test1() {

        let x = 100
        "Swift Macro" .lowercased()
        let y = 123.byteSwapped
}

There is extra space after string literal Swift Macro and before .lowercased(). As you can notice for int literal in next line  it is working fine.
swift-syntax 509.0.2
Here is link to full macro project.
https://github.com/mkowalski87/swift-macro-issue
Steps to Reproduce
No response

Tracked in Apple’s issue tracker as rdar://118176218

That was indeed an issue with BasicFormat. I’m fixing it in https://github.com/apple/swift-syntax/pull/2345.


Coordinator Worker for Simulated Player Deployments

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.

Description
Adds a Coordinator Worker, which is a basic C# worker located and built inside the GDK, launched as a managed worker inside a simulated player deployment. This coordinator worker is responsible for generating locator authentication tokens and starting + connecting a headless simulated Unreal client to a target deployment using these tokens.
The coordinator worker is a C# project inside Build/Programs/Improbable.Unreal.Scripts. It requires two new spatial package dependencies: worker_sdk for csharp and core, which are the minimal dependencies for a C# worker. These are downloaded when running Setup.bat.
A simulated player cloud deployment launch config is included in Build/Programs/Improbable.Unreal.Scripts/WorkerCoordinator/SpatialConfig/cloud_launch_sim_player_deployment.json.
Running Setup.bat generates a worker config file for the coordinator worker in spatial/workers/improbable.
The steps for a user to launch a simulated player deployment (using these coordinator workers) are:

Run Setup.bat (should be done automatically when checking out the GDK)

This builds the C# coordinator worker and places the spatial coordinator worker config file inside the user's spatial directory (spatial/workers/improbable/)

Build a SimulatedPlayer worker for cloud

This will automatically bundle the previously built coordinator worker with an Unreal simulated client, and generates startup scripts that will launch the coordinator when started in a deployment

Launch a simulated player deployment using the previously added DeploymentLauncher script (or through the Unreal Editor UI)

Release note
Upgrade Core SDK version to 13.5.1 - This fixes an issue with the Locator login flow for Linux clients.
Tests
The coordinator worker has been manually tested in launched simulated player deployments using the ThirdPersonShooter project. Additionally, it has been successfully tested on another machine with a new copy of the GDK and using a different Unreal project.
How can this be verified by QA?

[ ] Run Setup.bat
[ ] Build a SimulatedPlayer (by executing BuildWorker.bat <GameName>SimulatedPlayer Linux Development <GameName>.uproject)
[ ] Build your other workers for cloud (Server is required)
[ ] Upload assembly
[ ] Launch a simulated player deployment using the DeploymentLauncher script. Execute ./Game/Plugins/UnrealGDK/SpatialGDK/Binaries/ThirdParty/Improbable/Programs/DeploymentLauncher/DeploymentLauncher.exe create {project_name} {assembly_name} {main_deployment_name} {main_deployment_config} {main_deployment_snapshot} {sim_player_deployment_name} ./Game/Plugins/UnrealGDK/SpatialGDK/Build/Programs/Improbable.Unreal.Scripts/WorkerCoordinator/SpatialConfig/cloud_launch_sim_player_deployment.json {num_players (e.g. 14)}

Documentation
How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)?
Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.

Closed this PR, all Simulated Player work is included in https://github.com/spatialos/UnrealGDK/pull/932


The time type seems to be changed back to a "date" in the last update

I use fields with the "time" type every day and ever since the last update, when I try to fill in a property with that field I'm told "value must be a valid date."

When I checked the Fileclass fields settings, all my Time entries now say "undefined" in the options area. When I try to edit them, they have date information instead of the HH:mm of a time field.
I can create new Time fields, but any ones that existed before seem munged.

Hi, can you paste here the frontmatter of your fileclass file please? (to check the settings of your startTime and endTime fields)

Here you go, I removed the non-Time fields.
extends:
fields:
  - name: endTime
    type: Time
    options:
      timeFormat: HH:mm
    path: ""
    id: aOch6O
  - name: startTime
    type: Time
    options:
      timeFormat: HH:mm
    path: ""
    id: YidYWA
version: "2.11"
limit: 20
mapWithTag: false
icon: file-text
tagNames:
filesPaths:
bookmarksGroups:
excludes:
savedViews: []
favoriteView:
fieldsOrder:
  - YidYWA
  - aOch6O
  - umxMjB
  - suKNUh
  - D9SVSf
  - 2pLDFf
  - qzTbwM
  - cgGG4n

Oooo my bad, when migrating, I've changed the format of the options for the Time field type and forgot to migrate them...
you can change "timeFormat" for "dateFormat" in your fileClass file for the Time fields and it should work


Cannot Unmarshal Object

Problem description
When I try to start any container, I get this error:
ERROR: for drone-server  Cannot start service drone-server: oci runtime error: json: cannot unmarshal object into Go value of type []string
This happens if I start it manually, or if I try docker-compose up
I tried uninstalling and reinstalling docker and docker-compose. This is on SLES. I made sure that docker and docker-compose were up to date. Let me know if you need any more information from me.

My theory on this is that you've built an image that is missing something so that it can be run with the default Docker or Compose commands.
Try running an image like docker run nginx:latest or docker run wordpress:latest to see if if your Docker installation is OK. If you're able to run any of those images, the problem is with the image that you're using. Otherwise it might be something related to your Docker installation.
I'm closing this issue since there's nothing for us to improve in the docs.
@sebster2 next time that you're stuck, post on https://forums.docker.com/ instead of filing an issue in the docs repo.


iterm2: builds as x86_64 on apple silicon

Describe the bug
The iterm2 attribute builds as an x86_64 binary on apple silicon.
Steps To Reproduce
Steps to reproduce the behavior on an apple silicon machine:
nix-env -i iterm2
The resulting binary will be built for x86_64:
matthew@matthews-air ~ [1]> file .nix-profile/Applications/iTerm.app/Contents/MacOS/iTerm2
.nix-profile/Applications/iTerm.app/Contents/MacOS/iTerm2: Mach-O 64-bit executable x86_64

Expected behavior
It is built for arm64.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
It maybe that we can't produce native arm64 apps until  #101229 is fixed.
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: iterm2
# a list of nixos modules affected by the problem
module:

Needs bump to 3.4.0 https://gitlab.com/gnachman/iterm2/-/issues/9160#note_446745658