58748

Field
Value

Redmine Ticket Number
58748

App-Dev Road Map #
n/a

Start Date
10/08/2019

Due Date
10/08/2019

App-Dev Priority
UP-Disqueued

Development Story Points
n/a

Peer Review Story Points
n/a

Ticket Author
@chriswiseman-dcgov

https://github.com/dchbx/gluedb/pull/303 work moved to another branch


why does 'host color' accept text, instead of using a controlled vocabulary?

Need to look at what package(s) this is from and look at usage.
There may not have been a vocabulary for color when this term was created?
Can anyone suggest a vocabulary?

PATO has colors. I'm not sure I trust them as color experts, but it is probably better than nothing. https://www.ebi.ac.uk/ols/search?q=color&groupField=iri&start=0

'host color' is in the 'host associated' and 'symbiont associated' packages


Outdated server version

Version of Waterdog
v<IP_ADDRESS>
Expected Behavior
I should be able to go into the server without issues.
Actual Behavior
The server said "Timed out" "Unable to connect to world"
Crashdump, Backtrace or Other Files

Describe the bug
The proxy was out dated and I couldn't join the server.
To Reproduce

Download Powernukkit <IP_ADDRESS> and run it. Run the latest version of waterdog. Join the waterdog proxy.
Screenshots
None
Server software used:
Powernukkit
Additional context
Can you please add a 1.16.220 version for Minecraft PE?

The Waterdog was already updated.

Thank you for helping me! I appreciate your work on the waterdog project. I will star it. I didn't know it happened so quickly.


Do not query the backend on home page for unnecessary items, see /xmlui/?XML

see dspace/config/spring/api/discovery.xml

why 5, aren't we displaying only the last 3? lets continue this in #180


TODO: Add settings to addon

Add settings to the addon for customisation.
i.e.

show file name instead of artist and song name
show diffent colored images in presence
possibly change "foobar2000" to "music", but that requires an additional API app..

please add option to disable feature while track paused or stopped. i think this information is unnecessary

Implemented


live_demo.ipynb - 12 hours (and counting) to optimise model on Jetson Nano - is this normal?

Hi everyone,
I have recently setup trt_pose on a fresh Jetson Nano, all requirements installed including PyTorch v1.6 and torchvision v0.7.0 on Jetpack 4.4.
I am trying to run the live demo in jupyter notebook. The following line has taken 12 hours so far:
model_trt = torch2trt.torch2trt(model, [data], fp16_mode=True, max_workplace_size=1<25)
Is this normal? Surely it can't be?

Just an update. I killed the process as it didn't appear to be doing anything. I have managed to complete the model optimisation by:

Installing https://pypi.org/project/jetson-stats/ and using it to enable 6GB of swap memory.
Replacing the original line outlined in the original post, with the following (the line is the same, just wrap it with the 'with' statement:

with torch.cuda.device(0):
    model_trt = torch2trt.torch2trt(model, [data], fp16_mode=True, max_workplace_size=1<25)

Hi even I have this problem. It is taking too long and the system is stuck. I also got a low memory warning on the Jetson nano.What to do???

Hi,
I think you should export the torch model to onnx first then convert onnx to tensorrt engine.

Hi,
I think you should export the torch model to onnx first then convert onnx to tensorrt engine.


Remove the line below indicator spot

How do you remove this?

Thank you for the wonderful package. Really impressed.

Hi, you can customize the color and width of the line using getTouchedSpotIndicator inside the LineChartData, check this code:
lineTouchData: LineTouchData(
        getTouchedSpotIndicator: (barData, spotIndexes) {
          return spotIndexes
              .map((e) => TouchedSpotIndicatorData(
                    FlLine(
                      color: Colors.transparent,
                    ),
                    FlDotData(
                      show: true,
                      dotColor: Colors.purple,
                      dotSize: 4,
                    ),
                  ))
              .toList();
        },
      ),

I know it is not well placed, and it's confusing, but please use transparent color as a hot fix, I will find a better way to do that.
Thanks!

Thank you so much, it look better now.

NoProblem


pull request for e2e test at 12/31/2016 22:56:13

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


Fixing Helm Ingress Capabilities Check

Fixing what was attempted to be fixed in https://github.com/DefectDojo/django-DefectDojo/pull/6759
The original attempted fix checked for the API version plus the resource, when it should have only checked for the API version.

Could you please bump the chart version for this change? Thanks
https://github.com/DefectDojo/django-DefectDojo/blob/b3d3c426deefc74e05795f2d1f30599417d7a96c/helm/defectdojo/Chart.yaml#L5

Could you please bump the chart version for this change? Thanks
https://github.com/DefectDojo/django-DefectDojo/blob/b3d3c426deefc74e05795f2d1f30599417d7a96c/helm/defectdojo/Chart.yaml#L5

Bumped to 1.6.89

Fixing what was attempted to be fixed in #6759
The original attempted fix checked for the API version plus the resource, when it should have only checked for the API version.

Can you elaborate?
Idea was was to check if resource is in beta specification or in stable to support older clusters. If you remove exact resource type then whole thing makes no sense.
Do you some issues?

@dsever Sorry for the late reply. I think the Helm documentation is misleading. The Capabilities.APIVersions.Has function appears to only work properly with API versions (networking.k8s.io/v1) and not Resources (networking.k8s.io/v1/Ingress).
$ kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.2

$ helm version
version.BuildInfo{Version:"v3.13.0", GitCommit:"825e86f6a7a38cef1112bfa606e4127a706749b1", GitTreeState:"clean", GoVersion:"go1.21.1"}

I have the networking.k8s.io/v1 API version available, but not the networking.k8s.io/v1beta1 API version:
$ kubectl api-versions | grep networking
networking.k8s.io/v1

With the latest version of the chart, I get an Ingress resource with the networking.k8s.io/v1beta1 API version:
$ helm template defectdojo/defectdojo --version 1.6.89 -s templates/django-ingress.yaml
---
# Source: defectdojo/templates/django-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: release-name-defectdojo
  labels:
    defectdojo.org/component: django
    app.kubernetes.io/name: defectdojo
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: defectdojo-1.6.89
spec:
  tls:
  - hosts:
    - defectdojo.default.minikube.local
    secretName: defectdojo-tls
  rules:
  - host: defectdojo.default.minikube.local
    http:
      paths:
        - path: /
          backend:
            serviceName: release-name-defectdojo-django
            servicePort: http

With my change, I get the correct Ingress resource:
# fixing_helm_ingress_capabilities_check branch
$ helm template helm/defectdojo -s templates/django-ingress.yaml
---
# Source: defectdojo/templates/django-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: release-name-defectdojo
  labels:
    defectdojo.org/component: django
    app.kubernetes.io/name: defectdojo
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/managed-by: Helm
    helm.sh/chart: defectdojo-1.6.90-dev
spec:
  tls:
  - hosts:
    - defectdojo.default.minikube.local
    secretName: defectdojo-tls
  rules:
  - host: defectdojo.default.minikube.local
    http:
      paths:
        - pathType: Prefix
          path: "/"
          backend:
            service:
              name: release-name-defectdojo-django
              port:
                name: http

Please base your PR towards dev instead of master

@Maffooch I based the PR towards dev

$ helm template defectdojo/defectdojo --version 1.6.89 -s templates/django-ingress.yaml
Source: defectdojo/templates/django-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: release-name-defectdojo
labels:
defectdojo.org/component: django
app.kubernetes.io/name: defectdojo
app.kubernetes.io/instance: release-name
app.kubernetes.io/managed-by: Helm
helm.sh/chart: defectdojo-1.6.89
spec:
tls:

hosts:

defectdojo.default.minikube.local
secretName: defectdojo-tls
rules:

host: defectdojo.default.minikube.local
http:
paths:
- path: /
backend:
serviceName: release-name-defectdojo-django
servicePort: http

With my change, I get the correct Ingress resource:

fixing_helm_ingress_capabilities_check branch
$ helm template helm/defectdojo -s templates/django-ingress.yaml
Source: defectdojo/templates/django-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: release-name-defectdojo
labels:
defectdojo.org/component: django
app.kubernetes.io/name: defectdojo
app.kubernetes.io/instance: release-name
app.kubernetes.io/managed-by: Helm
helm.sh/chart: defectdojo-1.6.90-dev
spec:
tls:

hosts:

defectdojo.default.minikube.local
secretName: defectdojo-tls
rules:

host: defectdojo.default.minikube.local
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: release-name-defectdojo-django
port:
name: http

Sorry for my late response, you can't validate Capabilities by using template, because it never reaches the k8s API, try with --dry-run
Another concern I'm seeing, from version 1.7 it will be always true, because networking.k8s.io/v1 is there from version 1.7 when network policies have graduated

Closed as stale


Add css grid support

The properties gridColumnStart, gridColumnEnd, gridRowStart and gridRowEnd takes numbers but currently glamor suffixes these numbers with px which causes invalid CSS. glamor even adds px when I pass the numbers in a string which makes these properties impossible to use with glamor.

you can also name the lines and use those names instead of the numbers as a workaround.
grid-template-columns: [first] 40px [line2] 50px;


[SUPPORT] PySpark reading hudi partition column for hudi table incorrectly

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
A clear and concise description of the problem.
We have a hudi table with the following relevant hudi.properties:
hoodie.table.precombine.field=updated_at
hoodie.datasource.write.drop.partition.columns=false
hoodie.table.partition.fields=inserted_at
hoodie.table.type=COPY_ON_WRITE
hoodie.archivelog.folder=archived
hoodie.table.cdc.enabled=false
hoodie.populate.meta.fields=true
hoodie.partition.metafile.use.base.format=false
hoodie.table.version=5
hoodie.timeline.layout.version=1
hoodie.table.base.file.format=PARQUET
hoodie.table.recordkey.fields=id
hoodie.table.keygenerator.class=org.apache.hudi.keygen.TimestampBasedKeyGenerator

It may be worth noting that our deltastreamer is passed:
hoodie.deltastreamer.keygen.timebased.output.dateformat='yyyy/MM/dd'

as configuration.
and the inserted_at column is a LongType. The avro schema from an example parquet file is below:
{"name":"inserted_at","type":["null","long"],"default":null}

When reading this table using the following pyspark code, the inserted_at column, even when inferSchema:false and the schema is explicitly set when loading the pyspark dataframe, displays the hudi output format of yyyy/MM/dd instead of the LongType, even when casting.
    base_path = f"s3a://{bucket_name}/{table_prefix}"
    df = (
        spark_session.read.options(**hudi_opts)
        .format("hudi")
        .load(
            base_path,
            schema=T.StructType(
                fields=[
                    T.StructField("inserted_at", T.LongType(), nullable=True),
                    # other columns
                ]
            ),
        )
    )
    df.show()

To Reproduce
Steps to reproduce the behavior:

write hudi table with similar configuration
read from table pyspark

Expected behavior
A clear and concise description of what you expected to happen.

I'd expect to be able to read the LongType value correctly

Environment Description

Hudi version : 0.13

Spark version : 3.1

Hive version :

Hadoop version :

Storage (HDFS/S3/GCS..) : S3

Running on Docker? (yes/no) : No

Additional context
Add any other context about the problem here.
Stacktrace
Add the stacktrace of the error.

@bradleybonitatibus If we have passed keygen.timebased.output.dateformat='yyyy/MM/dd' then we would expect the partition column value should be converted to that format. While reading it shouldn't matter. inferSchema configuration mainly works on CSV kind of file types.

Thanks for the reply, @ad1happy2go! I guess for additional context, when we read this Hudi table from Redshift via external table, the inserted_at column reads as LongType and not the output date formatted yyyy/MM/dd column. Is there something I'm missing with respect to why Redshift external tables can read the column as the correct value vs PySpark?

@bradleybonitatibus I am not very sure about Redshift, But whenever we will try to read hudi table we should get in 'yyyy/mm/dd' format only. If somebody try to directly read the parquet file, then it may get it as long and value also as long. So may be something like that may be happening with Redshift hudi connector. The string value is actually correct as we are using TimestampBasedKeyGenerator.
Below is the code I used , please check -
DROP TABLE hudi_table;

CREATE TABLE hudi_table (
    uuid STRING,
    rider STRING,
    driver STRING,
    fare DOUBLE,
    city STRING,
    ts BIGINT
) USING HUDI
tblproperties (
type = 'cow', primaryKey = 'uuid'
,hoodie.table.keygenerator.class='org.apache.hudi.keygen.TimestampBasedKeyGenerator'
,hoodie.deltastreamer.keygen.timebased.timestamp.type='UNIX_TIMESTAMP'
,hoodie.deltastreamer.keygen.timebased.output.dateformat='yyyy/MM/dd'
)
PARTITIONED BY (ts);

INSERT INTO hudi_table
VALUES
('334e26e9-8355-45cc-97c6-c31daf0df330','rider-A','driver-K',19.10,'san_francisco',1695159649);

select * from hudi_table;

@ad1happy2go we are using that config on that column (keygen.timebased.output.dateformat='yyyy/MM/dd') because we need the table to be partitioned by yyyy/MM/dd on that column.  However, we would like the value to be read as LongType.  So, we need the partition format to be different from the stored/read format.
What configuration do you recommend to allow that?


HV-1031 Creating copy of PathImpl during marking processed paths

Merged and backported to 5.3. Thanks.


Taxes - Tax rate editor is not auto-focused

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.56-0
Reproducible in staging?: y
Reproducible in production?: n
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:

User is admin of Collect workspace.

Go to staging.new.expensify.com.
Go to Profile > Workspaces > Collect workspace.
Go to Taxes.
Add a tax rate.
Click on the tax rate added in Step 4.
Click Value.

Expected Result:
The tax rate editor will be auto-focused.
Actual Result:
The tax rate editor is not auto-focused.
Workaround:
n/a
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/458b9cac-1b0e-4c01-ab89-9798d1146f23
View all open jobs on GitHub

We think that this bug might be related to #wave-control

This PR addresses this issue.

Re-stated Problem:
The auto-focus feature on the tax rate editor is not functioning as expected. When a user clicks on the tax rate value, the input field should automatically gain focus, but it currently does not.
Root Cause:
The issue likely stems from the ref (inputCallbackRef) not being properly forwarded to the native input element within the AmountForm component. The useAutoFocusInput hook seems to be intended for this purpose, but if the child component does not correctly implement forwardRef or does not pass the ref down to the actual DOM element, the focus method will not be triggered.
Proposed Solution:
Ensure that the AmountForm component (or whichever component is wrapped by InputWrapper) properly implements the forwarding of refs using React.forwardRef and useImperativeHandle. Here's an outline of changes:
Modify the AmountForm component to accept a ref and use useImperativeHandle to forward this ref to the actual input element.
Ensure the inputCallbackRef is passed to the InputWrapper and consequently to the AmountForm.
Confirm that the lifecycle of the component aligns with when the auto-focus should be triggered, possibly using the useEffect hook if necessary.
Pseudo-code Example:
// AmountForm component
const AmountForm = React.forwardRef((props, ref) => {
  const inputRef = React.useRef();
  React.useImperativeHandle(ref, () => ({
    focus: () => {
      inputRef.current.focus();
    },
  }));

  return <input ref={inputRef} {...props} />;
});

// Usage in ValuePage
<InputWrapper
  InputComponent={AmountForm}
  ref={inputCallbackRef}
  // ...other props
/>

Alternatives Explored:
An alternative solution might be to manually trigger the focus on the input element via a side effect when the component mounts or updates, without using useAutoFocusInput, but this would be less reusable and might not align with the existing design patterns in the codebase.

Re-stated Problem:
The auto-focus feature on the tax rate editor is not functioning as expected. When a user clicks on the tax rate value, the input field should automatically gain focus, but it currently does not.
Root Cause:
The issue likely stems from the ref (inputCallbackRef) not being properly forwarded to the native input element within the AmountForm component. The useAutoFocusInput hook seems to be intended for this purpose, but if the child component does not correctly implement forwardRef or does not pass the ref down to the actual DOM element, the focus method will not be triggered.
Proposed Solution:
Ensure that the AmountForm component (or whichever component is wrapped by InputWrapper) properly implements the forwarding of refs using React.forwardRef and useImperativeHandle. Here's an outline of changes:
Modify the AmountForm component to accept a ref and use useImperativeHandle to forward this ref to the actual input element.
Ensure the inputCallbackRef is passed to the InputWrapper and consequently to the AmountForm.
Confirm that the lifecycle of the component aligns with when the auto-focus should be triggered, possibly using the useEffect hook if necessary.
Pseudo-code Example:
// AmountForm component
const AmountForm = React.forwardRef((props, ref) => {
const inputRef = React.useRef();
React.useImperativeHandle(ref, () => ({
focus: () => {
inputRef.current.focus();
},
}));
return <input ref={inputRef} {...props} />;
});
// Usage in ValuePage
<InputWrapper
InputComponent={AmountForm}
ref={inputCallbackRef}
// ...other props
/>
Alternatives Explored:
An alternative solution might be to manually trigger the focus on the input element via a side effect when the component mounts or updates, without using useAutoFocusInput, but this would be less reusable and might not align with the existing design patterns in the codebase.
Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/faizanabbasi70

📣 @abbasifaizan70! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
1. Make sure you've read and understood the [contributing guidelines](https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md).

2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one [here](https://new.expensify.com/). If you have multiple accounts (e.g. one for testing), please use your main account email.

3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like [this](https://www.upwork.com/freelancers/~01ca8ad8ce36b9eceb). If you don't already have an account, sign up for one [here](https://www.upwork.com/nx/signup/?dest=home).

4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
   ![Screen Shot 2022-11-16 at 4 42 54 PM](https://user-images.githubusercontent.com/30609178/231263719-a8a3b7d3-36a0-4d7f-8ad4-cebe1f560fa4.png)
   Format:

Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Re-stated Problem:
The auto-focus feature on the tax rate editor is not functioning as expected. When a user clicks on the tax rate value, the input field should automatically gain focus, but it currently does not.
Root Cause:
The issue likely stems from the ref (inputCallbackRef) not being properly forwarded to the native input element within the AmountForm component. The useAutoFocusInput hook seems to be intended for this purpose, but if the child component does not correctly implement forwardRef or does not pass the ref down to the actual DOM element, the focus method will not be triggered.
Proposed Solution:
Ensure that the AmountForm component (or whichever component is wrapped by InputWrapper) properly implements the forwarding of refs using React.forwardRef and useImperativeHandle. Here's an outline of changes:
Modify the AmountForm component to accept a ref and use useImperativeHandle to forward this ref to the actual input element.
Ensure the inputCallbackRef is passed to the InputWrapper and consequently to the AmountForm.
Confirm that the lifecycle of the component aligns with when the auto-focus should be triggered, possibly using the useEffect hook if necessary.
Pseudo-code Example:
// AmountForm component
const AmountForm = React.forwardRef((props, ref) => {
  const inputRef = React.useRef();
  React.useImperativeHandle(ref, () => ({
    focus: () => {
      inputRef.current.focus();
    },
  }));

  return <input ref={inputRef} {...props} />;
});

// Usage in ValuePage
<InputWrapper
  InputComponent={AmountForm}
  ref={inputCallbackRef}
  // ...other props
/>

Alternatives Explored:
An alternative solution might be to manually trigger the focus on the input element via a side effect when the component mounts or updates, without using useAutoFocusInput, but this would be less reusable and might not align with the existing design patterns in the codebase.
Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/faizanabbasi70

⚠ Missing/invalid email or upwork profile link. Please make sure you add both your Expensify email and Upwork profile link in the format specified.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: <https://www.upwork.com/freelancers/faizanabbasi70>

⚠ Missing/invalid email or upwork profile link. Please make sure you add both your Expensify email and Upwork profile link in the format specified.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/faizanabbasi70

Demoting to NAB

I can take this since it's part of Simplified Collect

@sonialiap could you please assist with payment since @s77rt reviewed the linked PR?

All looks good, processing payment
@s77rt $500 - offer sent

@sonialiap Accepted! Thanks!

Paid ✔


Fix MvM class upgrade icon location

classselection.res has a floating mvm upgrade wrench that isn't currently in the correct place

Fixed


Thrift build fails in toolchain build attempt on fresh Ubuntu 14.04 LTS

Snippet from build:
checking for gcc... /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/gcc accepts -g... yes
checking for /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/gcc option to accept ISO C89... none needed
checking whether /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/gcc understands -c and -o together... yes
checking dependency style of /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/gcc... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/g++ accepts -g... yes
checking dependency style of /home/wesm/code/native-toolchain/build/gcc-4.9.2/bin/g++... gcc3
checking for ranlib... ranlib
checking for bash... /bin/bash
checking for perl... /usr/bin/perl
checking for python... /usr/bin/python
checking for ar... /usr/bin/ar
checking for ant... no
checking Checking EXTERNAL_PATH set to... /home/wesm/code/native-toolchain/source/thrift/thrift-0.9.0-p2/contrib/fb303
checking whether to enable optimized build... yes
checking whether to enable static mode... yes
checking Checking thrift_home set to... /usr/local
checking for boostlib >= 1.33.1... configure: error: We could not detect the boost libraries (version 1.33 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.

Setting export BOOST_ROOT=$TOOLCHAIN_CLONE/build/boost-1.57.0 beforehand doesn't fix the problem.
Installed libboost-dev with apt and the build succeeds, but this defeats the goal of the toolchain.

Any ideas here? We could patch Thrift to try to fix this.

I think there is a bug in the thrift configure script, where it does not pickup the value defined by the config flag. If I remember correctly, there is a issue upstream that might even be fixed and you could backport the patch.

That seems like the right option. I'll look at some point in the future if no one beats me to it

I just came across this too. The change below fixed it
git diff source/thrift/build.sh
diff --git a/source/thrift/build.sh b/source/thrift/build.sh
index a58e5cf..c4fd278 100755
--- a/source/thrift/build.sh
+++ b/source/thrift/build.sh
@@ -65,12 +65,12 @@ if needs_build_package ; then
     --with-nodejs=no \
     --with-lua=no \
     --with-go=no --with-qt4=no --with-libevent=no ${PIC_LIB_OPTIONS:-} $OPENSSL_ARGS
-  wrap make
+  wrap make   # Build fails with -j${BUILD_THREADS}
   wrap make install
   cd contrib/fb303
   rm -f config.cache
   chmod 755 ./bootstrap.sh
-  wrap ./bootstrap.sh
+  wrap ./bootstrap.sh --with-boost=${BOOST_ROOT}
   wrap chmod 755 configure
   CPPFLAGS="-I${LOCAL_INSTALL}/include" PY_PREFIX=${LOCAL_INSTALL}/python wrap ./configure \
     --with-boost=${BOOST_ROOT} \

I'll send a patch to gerrit.

Should be fixed by https://github.com/cloudera/native-toolchain/commit/59d9f88b658b41c88f9f5100b2a0bc57fa7f4260

thank you!


Incorrectly rendered border radius

Bevy version
main
What went wrong
From the borders example, the center yellow nodes should be circles but they get cut off on the right and bottom:

Confused about the issue after the title change. Is this about the yellow nodes or the red ones?
I can't reproduce the issue with the yellow nodes on macOS (m1) with scale_factor 1.0 or 2.0 on latest main.
I suspect that the red node behavior is not a regression, but I am unable to bisect due to whatever drama is happening at wgpu right now.

Not sure if its related to this but I also encountered a border bug. When I run the example targeting x86 it all renders as it should but when the target is wasm32 its rendered incorrectly.

That's odd, the sdf should work the same on all platforms, it's just arithmetic.

I agree, I just tested it on my computer at work where the borders also render correctly.
AdapterInfo { name: "ANGLE (Intel, Mesa Intel(R) UHD Graphics 770 (ADL-S GT1), OpenGL 4.6)", vendor: 32902, device: 0, device_type: IntegratedGpu, driver: "WebGL 2.0 (OpenGL ES", driver_info: "3.0 Chromium)", backend: Gl }

One thing that stands out when comparing the adapter info is that on the computers where its rendered correctly its using OpenGL 4.6 while the other computer uses OpenGL 4.5.0


Add Docker support

Hi, first of all I would like to thank you for continuing to develop the project.
I would like to see an aquatone docker image like Amass tool

To be honest I don't know how to create the Dockerfile=((

Dockerfile:
FROM golang:latest
RUN apt-get update &&
apt-get install -yq chromium
#install aquatone binary
WORKDIR /opt/aquatone
RUN go get github.com/shelld3v/aquatone && rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["aquatone"]
docker build -aquatone .
docker run -v screenshots:/screenshots -v dockerresults:/dockerresults --rm -i aquatone -http-timeout 30000 -threads 5 -scan-timeout 10000 -screenshot-timeout 80000 -screenshot-delay 10000 -out /screenshots/1 -save-body false -nmap

Feel free to submit a pull request if you want


Router cleanups

Matthias seems to be in the mood for cleaning up the core router code.  While I enjoy nothing more than resolving the many rebase conflicts this creates for me, I feel I should push some obvious cleanups before Matthias gets to them.
More seriously: I haven't pushed these before because I'm reluctant to debate whether they are worthwhile when the best argument is simply to present them along with the more compelling work they lead to.  But on the other hand, I don't want to rebase them more often than necessary.  I think they look fairly obvious, but who knows.

Nice!


cloudflare_notification_policy does not support Megabit per Second filters

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.3.9
on darwin_arm64

provider registry.terraform.io/cloudflare/cloudflare v3.34.0

Affected resource(s)

cloudflare_notification_policy

Terraform configuration files
resource "cloudflare_notification_policy" "advanced_ddos_attack_l4_alert" {
  account_id  = local.account_id
  name        = "Advanced Layer 3/4 DDoS Attack Alert"
  enabled     = true
  alert_type  = "advanced_ddos_attack_l4_alert"

  filters {
    megabits_per_second = ["50"]
    packets_per_second = ["50000"]
  }
}

Link to debug output
N/A
Panic output
No response
Expected output
Resource is managed properly
Actual output
│ Error: failed to set filters: Invalid address to set: []string{"filters", "0", "megabits_per_second"}

Steps to reproduce

Create resource has exemplified above

Additional factoids
No response
References
No response

megabits_per_second is not a support field so it won't work here. moving to an enhancement issue.


Provide option to exclude img from photoswipe

I need a way to exclude specific images from the photoswipe gallery. I did not find a solution for that so I build this. Maybe other people need something similar as well.
This implementation skips all pictures with the attribute photoswipe="false". I'm not a web developer so I don't know if that is a 'good' solution to add flags to an element.

@zzossig This PR is quite old already and I will close it for now. If this should ever be interesting again for someone else, it could be reopened.


Add first half of new "create project" view

Major changes:

Uploader has much more help text.
Uploader asks for license information.

Not implemented, but in scope for a follow-up commit:

License data isn't saved anywhere. I'll implement that in a follow-up
PR.
Direct upload support from archive.org is in progress.

Test plan: uploaded a project and ran unit tests

It's been 24h with no comment, so I'll land for now.


geocoding api not responding fast enough

I've this error only in production, on dev machine it is super fast. I've seen this answer on SO, http://stackoverflow.com/questions/26093393/geocoding-api-not-responding-fast-enough-for-ip-address, but I'm not searching by IP. This is what I'm doing in my model:
  reverse_geocoded_by :latitude, :longitude  do |obj,results|
    if geo = results.first
      obj.city    = geo.city
      obj.zip = geo.postal_code
      obj.state = geo.state
      obj.country = geo.country_code
    end
  end
  after_validation :reverse_geocode

And this is my geocoder config file
Geocoder.configure(
  timeout: 15,                 # geocoding service timeout (secs)
  lookup: :google,            # name of geocoding service (symbol)
  api_key: 'myKey',               # API key for geocoding service
)

Any suggestion?

I am seeing this as well.  When I take the URL that is used for GET and paste it into a browser, it works just fine, and quite fast.  Might Google be doing something to block non-browser requests?

Google enforces per-second and per-day query limits. It sounds like maybe your servers are hitting these limits? If you're using a key this explanation doesn't completely make sense, but there might be some (new?) per-IP throttling (?). In any case, this sounds like a problem with server environment, not a Geocoder gem issue. Are your servers handling a lot of requests? Have you recently run any bulk geocoding tasks?

I shouldn't be hitting the limit.  I think something may have changed with the keys and what API's are enabled or something.  I seem to go in circles trying to figure out the proper way to use the various keys.  I guess it is possible they started enforcing something that they weren't before.  If no one else is seeing the issue, it is probably just account related on my side.

I am seeing this issue as well - it's a keyed account and I know I'm not hitting the limit, so not sure what's going on here.

@frugardc do you have an HTTPS proxy?  This turned out to be some weird interaction between our proxy and the Net::HTTP::Proxy constructor in the gem for us.  We had to be super specific about what we passed into the https_proxy config when we set up Geocoder - like it had to be a FQDN WITHOUT the protocol.

I see this issue on my production too. Any solution?

I had the same problem with Google on production, but not locally or on staging. In my case it had to do with https://maps.googleapis.com sometimes resolving to a 172.217.x.x IP address, such as <IP_ADDRESS> and <IP_ADDRESS>, and production had a route that kept <IP_ADDRESS>/8 internal, causing our geocode lookups to hang. Adding a route for <IP_ADDRESS>/16 to the internet fixed it.

Closing this for now, as it seems unlikely it's a Geocoder bug.

had the same problem: was a IP v6 production config issue:
https://stackoverflow.com/questions/16040158/rails-mailer-netopentimeout-execution-expired-exception-on-production-serve


"How to: Create multi-project templates" doesn't deal with project references

Currently, the creation of multi-project templates as documented does not contemplate project references.
When using the template to generate a solution, we can transform project names to our liking in the ProjectTemplateLink tags:
< ProjectTemplateLink ProjectName="$safeprojectname$.Foo.Bar" >...
In this case, the documentation does not explain how the transformation of the project's name would be reflected in project references to it elsewhere in the solution.
Project references appear to retain the names of the project references used in the original solution from which the solution template was generated. The process of overriding project reference names via templating in the .csproj file to correct such inconsistencies is not explained in the documentation.

@pm64 -- Thanks for your feedback; we appreciate it. To make sure we have all the information needed to triage your issue, please let us know which topic you’re referencing.

@WilliamAntonRohm I believe it's this one: How to: Create project templates, as referenced in the issue title :)


Add Show synthetics

Add Show synthetics option for decompilers on dev3

not working for Procyon dec

Fixed in https://github.com/Col-E/Recaf/commit/c8e07d4e08354c1be847afdf4d31cc29ffe15d5b


Added OAuth Strategy for Shelby.TV

We are launching our API at Video Hackday, NYC (hackday.tv) and would love to be included in Omniauth as an OAuth provider strategy.
We love what you guys have done with Omniauth and are happy to contribute!
[Also, will develop strategies for your 1.0 release of OmniAuth, love the new direction!]

Can you rebase this on the current OmniAuth 0-3-stable? I'll merge if you do.

will do.
will do a pull request later today, thanks.
looking forward to the 1.0 release!
best,
henry
http://twitter.com/henrysztul
{:twitter => @henrysztul http://twitter.com/henrysztul  }
{:web => [ SHELBY.TV http://shelby.tv/, henrysztul.info ] }
On Tue, Oct 18, 2011 at 2:56 PM, Michael Bleigh <
<EMAIL_ADDRESS>
Can you rebase this on the current OmniAuth 0-3-stable? I'll merge if you
do.
--
Reply to this email directly or view it on GitHub:
https://github.com/intridea/omniauth/pull/458#issuecomment-2445792


Add ability to switch between PHP and mySQL versions

I'd like to fork VVV and make adjustments that would ease development using tj, such as being able to select and modify PHP and mySQL versions. I'd also like to get rid of all of the default WordPress installations, as they're never used and they cause the provisioning to take way too long.
I've already forked the VM and have begun using the fork, so I'll create a develop branch and start work when time allows. I'd also like to create a unique GUI dashboard to create sites, as mentioned in #25.

[x] Streamlined Linux box
[x] Remove default WP installs from VVV
[x] WP-CLI, Composer, PHP, MySQL, Apache
[x] Simple dashboard design
[x] Update Ubuntu
[x] Update to be more or less up to date with original VVV
[ ] Ability to change dependency versions e.g. PHP, MySQL, etc. (https://github.com/phpbrew/phpbrew)

If possible, this should be done in a backwards compatible way; where users can git pull the up to date VM without breaking existing development projects. I'm marking this as a breaking change just in case.

Started implementing on https://github.com/ezekg/theme-juice-vvv/tree/feature-php-switch.


When you click the "Summarize" button in the bottom right corner of the interface, the error message may be a network connection problem or a problem with the Google Translate TTS (Text-to-Speech)API

Error when attempting to get a response from LLM.
list index out of range
Exception in thread AudioResponse:
Traceback (most recent call last):
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connection.py", line 198, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\util\connection.py", line 85, in create_connection
raise err
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\util\connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connectionpool.py", line 793, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connectionpool.py", line 491, in _make_request
raise new_e
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connectionpool.py", line 1099, in _validate_conn
conn.connect()
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connection.py", line 616, in connect
self.sock = sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connection.py", line 207, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x000002C30E247650>, 'Connection to translate.google.com timed out. (connect timeout=None)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(pool, url, reason) from reason  # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='translate.google.com', port=443): Max retries exceeded with url: //TranslateWebserverUi/data/batchexecute (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002C30E247650>, 'Connection to translate.google.com timed out. (connect timeout=None)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\gtts\tts.py", line 268, in stream
r = s.send(
^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\requests\adapters.py", line 507, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='translate.google.com', port=443): Max retries exceeded with url: /_/TranslateWebserverUi/data/batchexecute (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000002C30E247650>, 'Connection to translate.google.com timed out. (connect timeout=None)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\CY\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner
self.run()
File "C:\Users\CY\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run
self._target(*self._args, **self._kwargs)
File "C:\Transcribe-main\transcribe-main\app\transcribe\audio_player.py", line 65, in play_audio_loop
self.play_audio(speech=final_speech)
File "C:\Transcribe-main\transcribe-main\app\transcribe\audio_player.py", line 40, in play_audio
audio_obj.save(temp_audio_file[1])
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\gtts\tts.py", line 335, in save
self.write_to_fp(f)
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\gtts\tts.py", line 316, in write_to_fp
for idx, decoded in enumerate(self.stream()):
File "C:\Transcribe-main\transcribe-main\env\Lib\site-packages\gtts\tts.py", line 287, in stream
raise gTTSError(tts=self)
gtts.tts.gTTSError: Failed to connect. Probable cause: Unknown

The error seems to indicate that connection to translate.google.com timed out.
What country are you based in?
Run the following command and share output for it
ping translate.google.com

Want to see if translate.google.com is reachable from your computer.
I am unsure at the moment what operation in Transcribe uses
As discussed in some of the other issues we are interacting on, it seems like you have undertaken some amount of customization of transcribe for specific use cases. It would be best to create a branch/ PR in transcribe, that would make collaborating much easier going forward.

China，正在 Ping www3.l.google.com [<IP_ADDRESS>] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

Seems like google.com is not reachable from the location you are in.
The Suggest Response and Read functionality will not work in this case because gtts library needs to connect to google.com
The issue description states that problem was observed when clicking the summarize button.
The details of the investigation seem to suggest that the problem is observed in functionality associated with Suggest Response and Read button.
It would be great for you to figure out what the real issue is.
As stated in a different issue the best way to move forward is to discuss this in a different setting.
There are 2 options to move forward
I see following ways to move forward

Connect with me on LinkedIn

OR

Join the Transcribe community where we will discuss this further - share email so I can send invite to join the community

https://join.slack.com/t/transcribe-2024/shared_invite/zt-2itsf3xdz-1pcM7gDtmAkIRuIpIJBIZw

invite sent


merge VM6 and VC5 glomeruli

Bates et al. (2020) complete EM AL neuron reconstruction suggests that VM6 = VC5:

The antennal lobe (AL) consists of 51 olfactory and 7 non-olfactory glomeruli [5]. There has been some confusion about glomerulus VM6 and VC5 in the field and indeed it is very likely that different studies have given the same neurons different names and different neurons the same name. We believe that what we have listed as VC5 has been previously referred to as VM6 [101,102], or as VM6+VP1 [29,31] or as ‘‘VC5 and VM6’’ [23]. We find that VC5 is a large glomerulus with three uPNs from two different lineages. From the soma position and axon morphology, we think one of these uPNs is an embryonic anterodorsal PN similar to the VM6+VP1 PN described by Yu et al. (2010) [29]. We also note that there is some indication that VC5 might not be olfactory but rather thermo- or hygrosensory [5].

These should be merged (keeping VC5)
Also update associated neurons.
related to #894

NB hemibrain ROI list has VC5, but no VM6.


Parent data in custom converter

As of now, the JsonCustomConvert interface has the methods serialize(data: T): any and deserialize(data: any): T.
In some cases, the (de-)serialization might be dependent on the parent's object values. We could add an optional parameter parentData?: any in both methods that contains the parent data (object) if it exists, undefined otherwise.

This is exactly the feature I currently need and that's why I came across this issue.
Would be great if a context could be passed.
Then this could be extended in the future with other useful data.

A reference to the jsonConvert instance would be also nice. In some use cases I needed access to it in order to manually (de)serialize something.


fix: the topup urls are now under /account which fixes highlighting

🐝 PR preview in Swarm
Preview URL: https://bah5acgza6qaagp4vhy7ro7zhhy3l2dv5zlzvibns2de24st6qdq2qpdehghq.bzz.link
Swarm Hash: f400033f953e3f177f273e36bd0ebdcaf35405b2d0c9ae4a7e80e1a83c64398f
Commit Hash: 08c279da950ac9a34b948b6af5400854fcdce227
Commit Message: fix: the topup urls are now under /account which fixes highlighting


Where are numTrustedProxies stored in istio resource?

In the official documentation, you can find the following manifest and command to set numTrustedProxies using IstioOperator.
$ cat <<EOF > topology.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    defaultConfig:
      gatewayTopology:
        numTrustedProxies: 2
EOF
$ istioctl install -f topology.yaml

It is important to understand how cloud server maintenance and operations can be affected.
I have investigated what effect on k8s resource the above istioctl install operation causes.
However, the result of the investigation was only a change in IstioOperator annotation, and no change was observed before or after istioctl install.
So, I have two questions.

What annotations on pods and deployments are affected if I set numTrustedProxies and istioctl install?
After setting numTrustedProxies, what is the best process to revert back to the situation before setting them (i.e., to a situation without numTrustedProxies)?

Best regards.

Its the istio configmap.

After setting numTrustedProxies, what is the best process to revert back to the situation before setting them (i.e., to a situation without numTrustedProxies)?

istioctl install is declarative, so the approach should be to run the same install but without it set

@howardjohn
Thank you for your reply!
Finally I found it! Thank you so much.
kubectl edit configmap istio -n istio-system

piVersion: v1
data:
  mesh: |-
    defaultConfig:
      discoveryAddress: istiod.istio-system.svc:15012
      gatewayTopology:
        numTrustedProxies: 2

I am more familiar with istio. Thank you very much.
I note my understanding. Is the following understanding correct?

The numTrustedProxies stored in istio's ConfigMap is given to the ingressgateway when the ingressgateway is built (by this code), so when the numTrustedProxies is updated, the ingressgateway must also be restarted.

The ingressgateway specifies the location of trusted IPs in the X-forwarded-for by passing numTrustedProxies to the envoy filter xff_num_trusted_hops. (by this code and this code)

Best, regards.

Yep, you got it
On Sat, Sep 17, 2022 at 1:26 PM Koya Tango @.***> wrote:

@howardjohn https://github.com/howardjohn
Thank you for your reply!
Finally I found it! Thank you so much.
kubectl edit configmap istio -n istio-system
piVersion: v1
data:
mesh: |-
defaultConfig:
discoveryAddress: istiod.istio-system.svc:15012
gatewayTopology:
numTrustedProxies: 2
I am more familiar with istio. Thank you very much.
I note my understanding. Is the following understanding correct?

The numTrustedProxies stored in istio's ConfigMap is given to the
ingressgateway when the ingressgateway is built (by this code
https://github.com/istio/istio/blob/ec750d5d1e7127bb69feca899b60eb1d2071023e/pilot/pkg/networking/core/v1alpha3/gateway.go#L622),
so when the numTrustedProxies is updated, the ingressgateway must also be
restarted.
The ingressgateway specifies the location of trusted IPs in the
X-forwarded-for by passing numTrustedProxies to the envoy filter
xff_num_trusted_hops. (by this code
https://github.com/istio/istio/blob/f8baff38c9b4129c0a6a1b24e31881f90a2c11e6/pilot/pkg/xds/lds.go#L78
and this code
https://github.com/envoyproxy/envoy/blob/a06001ce26a3ebbcb4c861d4fd94fe7267a2ac07/source/common/http/utility.cc#L660
)
Best, regards.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/41024#issuecomment-1250135637, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXKIFMGCWKANAUEUYGTV6YSO7ANCNFSM6AAAAAAQOSVTPM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you very much!
It was interesting to learn more about istio.
I will close the issue now that it is resolved.
Best regards,

Hello community,
Sorry for a postmortem question, but i wonder if setting numTrustedProxies spec affects a use_remote_address parameter for http_connection_manager, since in the envoy doc it says use_remote_address should be set to true and we do set it to true in envoyfilter
Thank you!

Yes. For gateway use_remote_address is set to true


Adding missing maxCount factor in load-balancer-standard.md

Proposed change:
Adding --max-count as the parameter which will actually reflect the count
Supporting point:

For the proving the point: configure the nodepool with maxCount = 10, then you can see the following error when set --load-balancer-outbound-ports with intentional large number which will definitely make error:

I considered if I should name the argument as max-count instead of maxCount, but since max-surge is already being named as maxSurge, I will keep the naming convention same.

@asudbring
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Implement Sync and Send traits for all weak references.

Provide a wrapper around GWeakRef that can be safely transferred and
shared with other threads. Weak references containing types that are
Sync can be safely upgraded across different threads. In all other cases
this could potentially lead to thread safety issues. Introduce a dynamic
check that validates that upgrade operation is performed on the correct
thread.

Like SendCell but as weak reference? How would you ensure in your example that the object is not destroyed in the meantime, who would hold the reference? And why not use SendCell instead?
This seems to basically duplicate it and diverges from the GObject API. It should be equivalent to use a SendCell<WeakRef<T>>
Maybe WeakRef should only be Send/Sync if the contained type is?

How would you ensure in your example that the object is not destroyed in the meantime, who would hold the reference?

The point of using weak references is that the object can be destroyed in the
meantime. In this case upgrade method just returns None, in the same way other
weak pointers in Rust do.

And why not use SendCell instead?

Because SendCell has to be either unsafe or leak memory?

This seems to basically duplicate it and diverges from the GObject API.

It has two additional features: upgrades are thread-safe, and weak pointer can
be safely cloned. It also retains compatibility with GObject API in principle.
I didn't implement usual conversion routines because weak pointers aren't
generally used in public API, so I don't have any need for them.

Maybe WeakRef should only be Send/Sync if the contained type is?

IMHO the primary uses case are things that aren't Sync, like GtkWidgets where
you need to prepare data before updating widget. If widget is destroyed in the
meantime that is perfectly fine, you just don't update it. Not to mention that
there are only a handful of things that are Sync and are Objects, and for them
you may not need weak references in the first place.

Sorry if my comment seemed harsh, I wrote it in a hurry on the phone.
Your changes look useful, and the thing I missed why SendCell can't be used is that SendCell<WeakRef<T>> would leak/be unsafe because it would potentially be destroyed on another thread, but it actually is fine to destroy the WeakRef from another thread. Correct?

Yes, WeakRef can be safely destroyed in any thread, because it doesn't own the object referenced.

Yes, WeakRef can be safely destroyed in any thread, because it doesn't own the object referenced.

Yeah, agreed. And because WeakRef handling in GObject actually is thread-safe.

@GuillaumeGomez @EPashkin Any opinions? IMHO good to go

My expertise in this area is very close to nothing so if it seems good to you, then it's good for me. :)

Go for it then, if you like the new type for the error

Then let's go!

This makes usage of weak references quite annoying.
Whenever having a weak reference you now need to think whether you call downgrade() or downgrade_sync(). Both will always work, but one of them will panic if upgrade() is called from a different thread.
Previously sending a weak ref from downgrade() to another thread would simply be a compiler error if the type was not sync.
I think we should find another solution here. IMHO we should revert this PR and instead provide a SendWeakRef wrapper that solves this by behaving like SendCell but not panic in drop?
@tmiasko @GuillaumeGomez opinions?

If it requires more thoughts on user's side, then it's not good and it means the binding should be improved instead. I'm totally in favor of another solution.

It does things implicitly that lead to panics now and need users to think about it all the time when using the API.
My proposed solution would give a compiler error and users need to explicitly opt-in for the panic-behaviour if they want it.

I really prefer this.


Expansion doesn't work when all preceeding spaces are consumed by trigger pattern and there is a letter before those spaces

Last 2 examples don't work:
"p" -> "^{}"
" p" -> "^{}"
"         p" -> "^{}"
"()p" -> "()^{}"
"word p" -> "word p"
"word     p" -> "word     p"

Today I've tried using my snippet (from VS Code format) which accepts " p" and "p" as a trigger so when I type "x" and then " p", it will expand to "x^{}". But now, when I switched to LuaSnip, it doesn't work (even if there's only one trigger " p"). Am I missing something? Basically, small part of my snippets are "broken" with new snippet engine. I hope that I'm doing something wrong or there's a workaround. These are my #1 essential snippets - I can't work without them.
I've made a minimal init.vim config with plug manager:
let g:config_dir = '/tmp/issue'
let g:plug_dir = g:config_dir . '/autoload'
if empty(glob(g:plug_dir . '/plug.vim'))
  execute '!curl -fLo ' . g:plug_dir . '/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
  silent! execute 'source' . g:config_dir . '/init.vim'
  silent! PlugInstall
  qall
endif

call plug#begin(g:plug_dir . '/plugged')
  Plug 'L3MON4D3/LuaSnip', {'tag': 'v1.*'}
call plug#end()

lua << EOF
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
ls.add_snippets("all", {
  s({ name = "Superscript", trig = "%s*p", regTrig = true }, { t("^{"), i(1), t("}") })
})
EOF

" press <Tab> to expand or jump in a snippet. These can also be mapped separately
" via <Plug>luasnip-expand-snippet and <Plug>luasnip-jump-next.
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
" -1 for jumping backwards.
inoremap <silent> <S-Tab> <cmd>lua require("luasnip").jump(-1)<Cr>

snoremap <silent> <Tab> <cmd>lua require("luasnip").jump(1)<Cr>
snoremap <silent> <S-Tab> <cmd>lua require("luasnip").jump(-1)<Cr>

" For changing choices in choiceNodes (not strictly necessary for a basic setup).
imap <silent><expr> <C-E> luasnip#choice_active() ? '<Plug>luasnip-next-choice' : '<C-E>'
smap <silent><expr> <C-E> luasnip#choice_active() ? '<Plug>luasnip-next-choice' : '<C-E>'

After creating /tmp/issue/init.nvim (/tmp/issue is just for convenience):
cd /tmp/issue
nvim -u init.vim # To install plugins
nvim -u init.vim

P.S. Made LuaSnip alternative so that I don't have to include another snippet files (snippet format doesn't make any difference).

But now, when I switched to LuaSnip, it doesn't work (even if there's only one trigger " p"). Am I missing something?

Hm, it works for me so far (don't have that much experience with regTrig though)

Note that this window with the completion (wrongly inserting the %s into the buffer) isn't quite part of luasnip but is the cmp plugin. So if you're simply missing this window, you'll need something like that.
Just to make it sure, I have just checked out your config:

So maybe this is simply a matter of what you expect vs what is configured yet.

The snippet also works (as I'd expect it to, at least :D) for me.
Could you make a video of you using/trying to use that snippet, and highlight where something unexpected happens?

It specifically doesn't work, when there is some alphabet character before spaces.
https://user-images.githubusercontent.com/37143421/204900921-148fb0f2-dd02-4134-a85a-7db0e1c02026.mp4

Hm, ok I've got this behavior as well. I think this is because of the wordTrig key. Setting this to false the snippet works for me. Reading the description of that key

wordTrig: boolean, if true, the snippet is only expanded if the word
([%w_]+) before the cursor matches the trigger entirely.

I think I see why it is the way it is. Your snippet matches  p of the word p, luasnip then checks if the char before the match is in [%w_] (alphanumeric or underscore) or if it's the start of the line.
If so the snippet does not match since it does not match the whole word (including the %s at the beginning of the pattern produces some kind of weird edge case, at least that's how I see it).
So in effect, just setting wordTrig to false should fix this.
Even though this behavior is a bit weird, I'd not be in favor of changing something, as I think this is kinda hard to prevent (except maybe checking if the pattern starts with %s, but then cases where it starts with [n%s] wouldn't be covered, leading to inconsistent handling in such cases).
@L3MON4D3 btw, why are you using [%w_] and not something like [^%s] (matching everything except space characters)?

Ah, to exclude punctuation, so expanding after a . or ) should be fine, but directly after a word not.
_ because it's in \w from ecma-regex, so I think it's good to include here as well.

Oh, wow! It feels so good when it works (and the fact that it searches for any number of whitespaces is super convenient).

So in effect, just setting wordTrig to false should fix this.

Yes, that takes care of my problem. Now I gotta go and fix all the other similar snippets. Thank you so much!

One more related question: can I do something like this:
local reg_true_word_false = {
  regTrig = true,
  wordTrig = false,
}
s({
  name = "Superscript",
  trig = "%s*p",
  *reg_true_word_false,
}, fmt("^{{{}}}", { i(1) }))
-- Other snippets can use the same set of settings (reg_true_word_false) too.

Similar to array destructuring in Python or object destructuring in JS. I tried using table.unpack() but it says that .unpack() is nil. I also tried searching for something similar, but without any luck (I'm still new to Lua).
P.S. I just want my config to be as condensed as possible.

local rs = ls.extend_decorator.apply(s, { regTrig = true })

But prepending
local ls = require("luasnip")

fixes this. Isn't ls already a global variable?

Oh, no, just define it somewhere (don't wanna pollute global namespace unless necessary)

I can do you one better, look for extend_decorator in the DOC :D

This is really great. But still, is there some kind of destructor? Not every project have a handy thing like extend_decorator.

Right, I think just unpack should work.
Check this though, unpacking into function calls/expression is a bit involved

unpack is deprecated. table.unpack() doesn't work inside table, like JS ellipsis does inside an object. Alright, I'll ask this question on Stack Overflow later.

Oh neovim only ever uses lua5.1 (/luajit, mostly), I don't think we need to worry about deprecations for other versions of lua

Well, I'm just saying that because coc-lua told me so.

Oh, okay
If you want to get rid of those, version="LuaJIT" in the lsp-options for sumneko seems to work
No idea how to get that to coc-lua though :sweat_smile:

Don't worry, I have no intentions to remove such warnings. They are quite helpful, if you want to keep up with changes. I remember I got it with another language, after that I updated my code with substitutions of deprecated stuff.


ádded a friendler at some part of it

i meant a friendlier choice system

hold on dont use this one its bugged

dont merge it yet

Yup no problem, why did you used break ? I thin kthats why it doesn't work ?

no its because the character befor the ) has to be quoted  the new pull request i made fixes that

the break has to be put or else the command will constantly loop and will never move on

I've never used the "select" command, good to know thanks a lot !
But by your PR, we can't do a selection like "134", we have to restart the script for each component. With the previous way, we was able to select what we want in just one time.
What you think about it ?

ok il found a way around that

I've updated the readme to explain what are other scripts in this repo, did you noticed it ?

yep
On 4 April 2016 at 16:28, Meddy B<EMAIL_ADDRESS>wrote:

I've updated the readme to explain what are other scripts in this repo,
did you noticed it ?
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/o-be-one/git-deploy-linux/pull/3#issuecomment-205321582

--
Erik
--
This email and any attachments to it may be confidential and are intended
solely for the use of the individual to whom it is addressed. Any views or
opinions expressed are solely those of the student author and do not
necessarily represent those of the Stockholm International School. If you
are not the intended recipient of this email, you must neither take any
action based upon its contents, nor copy or show it to anyone.Please
forward this email to the school IT Office<EMAIL_ADDRESS>if you believe you
have received this email in error or if it contains inappropriate content.


Add license information

Hello!
I found this amazing project from https://hackaday.com/2024/12/19/where-this-xmas-cards-going-we-dont-need-batteries/
Could you please add information about the license of this repository — is it allowed to copy, change and use the code and PCB hardware files (if they will be added) in any purpose?
It would be great to see any popular open source license.

Added. Thanks!


💥 Breaking changes LuaJIT 5.2

Describe the bug
LuaJit 5.2 changed several methods, loadstring() doesn't have more support, and this breaks the hyper theme
in several lines.
So, when I open the neovim an error appears in vim.schedule (see the first screenshot)
Now the suggested method is load
See one article about that: loadstring
The unpack() method also are changed.
The suggested method is now table.unpack
To Reproduce
Steps to reproduce the behavior:

Open neovim
See error

Expected behavior
After these changes I believe, which this works correctly
Screenshots

Can confirm this bug. Current solution to get rid of this error is to simply disable projects in the config:
config = {
    project = {
        enable = false,
         -- rest of project config
    },
    -- rest of config
}

thanks for the help :)


Add CMAKE_STATIC_LIBRARY_PREFIX

This is needed on Linux (and other Unices) so it resolves to libv8_monolith.a.

Thank you @mganss !


Update _widths.css

The w-90-p selector was wrong ;)

@lowmess Hey, I needed to user this selector today and noticed it was wrong. Just sent this PR to fix it. Thanks for the awesome work on this project. Very helpful :)

lol wow. good catch. thanks! i'll publish a new release in a few minutes with this fix.

Hey @lowmess , could you please ping me whenever you launch the new release? I'll have to update my package.json file ;) Thanks again!

@rdgr just published v4.7.2 :)


New plugin name requirements

Hi @joleaf
Per our developer policies,
please ensure that your plugin's name does not include the word "Obsidian".
In addition, the plugin name should not include the word "Plugin", as that is unecessary duplication.
We have already modified the name of your plugin to "BPMN" in our records.
To maintain compliance, take the following actions:

Modify the manifest.json file in your plugin repository.
Generate a new release for your plugin to ensure users download the updated manifest.

If you have a idea for a different plugin name, you may also submit a pull request to the obsidianmd/obsidian-releases repository.
Thank you for your cooperation.
— the Obsidian team

Hi @joethei ,
it is fixed.


Reorganize existing protobuf files

We used to have different versions of the same protobuf files scattered across the database. I moved both of them into the same location and eliminated duplicates.
Should we remove some of these at some point though? They don't seem to be used anywhere.

Coverage increased (+0.01%) to 75.392% when pulling 33e057d5a25900305a8572384d766221a4b02a31 on tli2:tianyu-protobuf into bbcf739c0508550f55ab8242c9e83e579238bb67 on cmu-db:master.

I will merge this when the build passes.

Coverage decreased (-1.9%) to 74.034% when pulling fa484109160cf20c130a40981d76a15583378825 on tli2:tianyu-protobuf into 4e39dcfdddbc085269a8d3c63b5869e47c35615f on cmu-db:master.

Coverage increased (+0.02%) to 75.944% when pulling 0bc8ef7168e14517fe9ffb4511835ae2d270f256 on tli2:tianyu-protobuf into a97936dce0991577eebcda0d0bd0ed8859d9d82d on cmu-db:master.


windows terminal preview bold / cut-off fonts

Windows Terminal version (or Windows build number)
1.10.1933.0
Other Software
No response
Steps to reproduce
so in the latest (preview) version, the text is acting really funky. I have a feeling it has something to do with this:

Terminal will now render SGR 1 ("intensity") in glorious chonky bold (#10498) (#9201) (#10521) (thanks @skyline75489)

Expected Behavior
No response
Actual Behavior
it is kind of har to explain what is happening, so I made this image:
(it should be noted that I made sure that both versions were using the exact same settings.json file)

The standard version of wt is working fine, but hopefully this will not be an issue anymore when/if it is incorperated into the regular build at some point.
thanks

note also that I downgraded the wt preview to version 1.9.1445.0 and the issue went away, so its got to be something very recent that is causing this problem.

Yeah obviously this is caused by #10498, you can see that the "funky" version is rendered as bold, which is actually the expected behavior. What's not expected is the cuf-off. Can you share your settings.json here? Especially for the profile in the screenshot.

What's really weird is that the font should only be bold, but not wider. This is from my computor:

You can see both the text takes up exactly the same space horizontally. This is the meaning of "monospace", after all.

This is probably similar to the italics rendering issue. Bold text may overflow the clipping box we give it.

Ah. Do we have a solution? Or we just let users disable bold in the settings, after the setting is shipped.
获取 Outlook for iOShttps://aka.ms/o0ukef

发件人: Dustin L. Howett @.>
发送时间: Friday, July 16, 2021 9:41:30 AM
收件人: microsoft/terminal @.>
抄送: Chester Liu @.>; Mention @.>
主题: Re: [microsoft/terminal] windows terminal preview bold / cut-off fonts (#10678)
This is probably similar to the italics rendering issue. Bold text may overflow the clipping box we give it.
―
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/terminal/issues/10678#issuecomment-881114908, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABD6BL7E25HCX4STZHKERLDTX6E4VANCNFSM5AOTRZSA.

after updated to 1.9, the font looks not fine.
How fix this font?

Yeah obviously this is caused by #10498, you can see that the "funky" version is rendered as bold, which is actually the expected behavior. What's not expected is the cuf-off. Can you share your settings.json here? Especially for the profile in the screenshot.

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "actions":
    [
        {
            "command":
            {
                "action": "openSettings",
                "target": "settingsUI"
            },
            "keys": "ctrl+shift+,"
        },
        {
            "command":
            {
                "action": "commandPalette"
            },
            "keys": "ctrl+shift+p"
        },
        {
            "command": "find",
            "keys": "ctrl+shift+f"
        },
        {
            "command": "unbound",
            "name": "Change font size..."

So while you may get the edge of a character clipped off with italics, you could potentially lose multiple characters if you're rendering a long sequence of bold without setting individual character offsets. I suspect this wouldn't be an issue with GDI, because we specify the width for each character in the POLYTEXT struct, but I'm assuming the DX renderer doesn't work that way.

I've had a chance to test a few more of the fonts that I think are preinstalled on Windows, and these are the ones that have wider character spacing when bold: Lucida Console, MS Gothic, NSimSun, and SimSun-ExtB.
And here's a test case you can use to demo multiple characters being truncated:
printf "\e[1mThis is a long sequence of characters that's going to get truncated\e[0;7m Oh no! \e[m\n"

Note that we've completely lost two characters from the end of that sequence. This was using Lucida Console, but any of the fonts listed above should produce the same result.

it's just a wild guess, but could this have something to do with cleartype settings in windows 10?

it's just a wild guess, but could this have something to do with cleartype settings in windows 10?

Well when ClearType is enabled, you'll get the truncation at the end of a simple line of bold characters, while with Grayscale antialiasing you won't. But the test case I provided above has an attribute change after the run of bold, and that forces the truncation regardless of the antialiasing mode.
And even if you aren't seeing the truncation, the characters are still rendering in the wrong place regardless of the mode. So while it's not as obviously wrong if you don't use ClearType, it's still not correct.

just a sidenote, thank you for the fast responsiveness to the issue!
For now I basically just have to keep the app downgraded, so it's good to know that it will likely be addressed in v1.11 :-]

The ideal way to fix this would be by rendering the font cell-by-cell, and for that we are going to wait on @lhecker 's atlas rendering because doing cell-by-cell rendering now will be way too performance intensive.
(An alternative we considered would be to, upon setting the font, set the size of each cell according to the 'biggest' variation of the font - so probably the italic/bold variant - but this would result in a problem in the reverse direction, there'd be large spaces around the normal font. So we're going the cell-by-cell route)

Just to clarify: Cell-by-cell is "more correct" than what we have now because right now we batch an entire run of text that has the same attributes into a single piece for rendering; this causes the glyph width errors to accumulate as we move rightward across the screen. Rendering one glyph in one cell lets us cut off or choose to overflow the edges of the bold text while centering each glyph in its cell.
This will become somewhat better and somewhat worse with @lhecker's atlas renderer, because I suspect there is an invariant that a glyph is fully contained within its bounding box, and if we shrink the bounding box we'll simply cut off the edges of the glyph. Possibly bad, but in a different way than in this issue.
We may want to ship with bold=bold disabled for 1.10 given that we're adding a setting for it in #10576.

[…] I suspect there is an invariant that a glyph is fully contained within its bounding box, and if we shrink the bounding box we'll simply cut off the edges of the glyph.

That’s how I got it currently implemented as. But in this new rendering engine we can focus on getting that one initial measuring right, where we determine how large a character cell should be (in pixel) and we should be golden for at least all common cases. I personally suspect that there will always be a font out there that will cause trouble for us, but at least in the general case with almost-actually-monospace fonts it should work very well.
Further adjustments can be done by slightly scaling any offending glyphs – I’ve been told that the current renderer already does this, which should serve as a good template for any future rendering engines.

just a question out of curiosity, why exactly is this whole font display system being redone when it already seems to work perfectly fine in the first place?
(I assume there must be a good reason that I am just not aware of 😅)
... just the phrase comes to mind "if it's not broken don't fix it"

@hltdev8642 The current system is based on D2D/Direct2D and has certain unfixable (or hardly fixable) flaws. The new system is built with D3D/Direct3D instead and is significantly more energy efficient than the old one.
The current approach is fairly simple and draws text in "runs", where each run is a group of text with the same:

row number (each row or line in the terminal is drawn separately)
text attributes like bold/italic/underline
foreground/background color
text complexity (for instance: simple text is ASCII, complex text is CJK)

D2D has some clever internal optimizations which batches multiple draw calls together and sends them all at once to the GPU. For instance 120 by 30 characters of black and white text can be drawn within 250us GPU and 1ms CPU time.
But as you might already guess, no amount of "clever batching" or further optimization can alleviate the extra cost of splitting text into runs in the first place. For instance D2D can only draw text with 8 different colors at most at once. If you draw more than that it'll draw the frame in multiple passes on the GPU -- up to 450 passes, every single frame, in our 120x30 terminal. That way it already takess 4ms GPU time and 20ms CPU time, meaning we already can't keep up a stable 60 FPS. And it gets progressively worse the more characters you have on your screen, because it requires more passes. A full-screen terminal is 282x72 characters for me and requires 12ms GPU and 100ms CPU time per frame to draw (8 FPS).
The new renderer will require more work from us to implement things like ligatures, but it requires only 10us GPU / 3ms CPU time at 120x30 and 150us GPU / 11ms CPU time at 282x72, despite using coloring all characters and using complex text. The GPU usage is entirely independent of any factors and remains constant at a given screen size.
Finally the D3D approach will allow us to trivially implement fancy features like accessible cursors or rounded corners for text selections.

@lhecker , thank you that makes sense now :-) !!

Note that I have switched a particular font from TrueType to OpenType and it solves the italic font clipping issue for me

Okay so I know there's a lot of great stuff in this thread, but fundamentally this is the same root cause as #9381, so for janitorial purposes I'm duping this to that one, and cleaning up the titles. Thanks everyone!
/dup #9381


Android hdpi icon has some transparancy

Reference: https://x.com/1million2030/status/1841348400308003148

Changing status to Fixed after https://github.com/bithyve/bitcoin-keeper/pull/5261 was merged


samples.sha256 hasn't been updated in over a year

https://github.com/magicsword-io/LOLDrivers/blob/main/detections/hashes/samples.sha256 hasn't been updated in over a year despite other files in this directory having new hashes added.  This seems like an oversight or an automation not working correctly since it seems to me like this file is supposed to be all of the SHA256 hashes in any category (malicious, vulnerable, or otherwise a sample).
This same issue affects at least 6 other files in this directory (MD5, SHA1, and authentihash summation files)
Please close if this is intentional or I'm misunderstanding the purpose of these files.

Hey @ibell63
We dropped that naming convention in favor of dedicated hash files depending on the type of the drivers. So those files are actually old and aren't used anymore (will delete them).
Their replacements are in the form authentihash_samples*, samples_malicious.* and samples_vulnerable*.
Hope this clear things up

Thanks, I will use samples_malicious and samples_vulnerable from now on.


Dashboard connects to configured channel before confirmation

The client should only connect after the user has chosen a channel.
Currently, if the user starts in the dashboard, the currently configured channel will be connected to, and will start receiving messages. Only when the user selects a channel from the dashboard, should it be connected to.

f32b82243da56cb2f6b8be96a7581b65a5df407a


Add auto merge

@conda-forge-admin, please add bot automerge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/lazy-property-feedstock#2.


Importing SBML not working like it used to

Hi bioscrape team,
I have an SBML model from class a few weeks ago that I used to be able to import fine. I updated bioscrape today to get inference, and now two methods of importing sbml files is failing. I've tried:
bioscrape.sbmlutil.import_sbml(filename) and bioscrape.types.Model(sbml_filename = filename)
Both are giving me: SBML File (filename) cannot be read without errors.
I can attach the file or test out more ways of importing if needed.
Thanks!!

I have had this error earlier when the SBML filename was invalid or not present in the directory. Either that or the SBML file is empty somehow? Can you check if one of these is the case for you?

The filename is valid and is present in the directory. I am able to read it in with other methods like "xmltodict" and "xml.etree.ElementTree"

Hi,
When I try to save my Bioscrape model using:
"M.write_sbml_model("name.xml")"
I get an error saying one of the species is not found. Saving like this worked about a month ago when I saved an earlier version of my model.
Thanks!

@ayush9pandey do you think this bioscrape issue is related to the problems you just fixed in biocrnpyler?

I don't think so, I suspect this has something to do with latest commits to bioscrape? I haven't recreated the issue on my end yet.

Thanks to Liana, we tracked down this issue . The problem is with species names that are not allowed in SBML (such as those having colons, semicolons etc.). This is activated when such a species is added in a reaction.

Fixed with #50.
It should throw an error now saying that SBML does not allow names with colons, etc. @lianamerk  whenever you have a chance can you check if that is the case?


Roles

still need some work

Please mark as ready for review one you have made your changes.

Can you also explain why this is needed when this param types file exists.


Add margin-right and margin-left

Earlier:
Use of margin start and margin end which needed browser specific prefixes and it was not possible for IE.
Now:
Now have margin right and left so it works across all directions

@joshsylvester @mallik-svmx


Created vertical_order_traversal.cpp

Vertical order traversal of a binary tree

Provide full solution including main function and class defination

Let me commit a new code.
Vertical order traversal main function is not with me, since I wrote the code for Leetcode problem.
I will create a new code.


Rename aio-apps-action repo

It is unclear that this is a CI action, or a Github action, and NOT a runtime action.
Suggestions: aio-apps-gh-action, aio-apps-ci-cd, aio-apps-devops, ..?

OR something with workflow in it

I'm not sure if doing this will break existing usage in workflows, or github will just redirect. Need to experiment.


[Issue]: Using an eGPU on WSL partially working

Problem Description
I'm using an Asus Zenbook S16 that's equipped with a Ryzen AI 9 365, where I've connected a 7900 GRE through an eGPU setup (via USB4).
I've confirmed that I can run HIP applications via Windows normally (using the ROCM examples, and by disabling the iGPU), but when trying to run this via WSL2, I run into an odd issue.
Using rocm-examples as the testbed, if I try running any of the examples (e.g. hip_saxpy), I get the following error and message from the logs
:3:rocvirtual.cpp           :3056:<PHONE_NUMBER>d us:  ShaderName : _Z12saxpy_kernelfPKfPfj
:1:rocvirtual.cpp           :3103:<PHONE_NUMBER>d us:  Pcie atomics not enabled, hostcall not supported
:1:rocvirtual.cpp           :3465:<PHONE_NUMBER>d us:  AQL dispatch failed!
:4:command.cpp              :169 :<PHONE_NUMBER>d us:  Command 0x324b51d8 complete
:3:hip_module.cpp           :687 :<PHONE_NUMBER>d us:  hipLaunchKernel: Returned hipErrorIllegalState :

Do note that memory transfers work normally, but kernel execution is where the error occurs. What's funny is that if I run a kernel that's been loaded in via RTC (using hip_runtime_compilation from rocm-examples), it works!
:3:rocvirtual.cpp           :3056:<PHONE_NUMBER>d us:  ShaderName : saxpy_kernel
:4:rocvirtual.cpp           :905 :<PHONE_NUMBER>d us:  SWq=0x7f20902c0000, HWq=0x7f20902d0000, id=1, Dispatch Header = 0xb02 (type=2, barrier=1, acquire=1, release=1), setup=3, grid=[4096, 1, 1], workgroup=[128, 1, 1], private_seg_size=0, group_seg_size=0, kernel_obj=0x7f288fc08880, kernarg_address=0x7f2090580000, completion_signal=0x0, correlation_id=0, rptr=2, wptr=2
:3:hip_module.cpp           :463 :<PHONE_NUMBER>d us:  hipModuleLaunchKernel: Returned hipSuccess :

Any ideas on how to fix the above via WSL? I've listed my specs, and rocm version below.
Operating System
Windows 11 (WSL2: Ubuntu 24.04.1 LTS)
CPU
AMD Ryzen AI 9 365 w/ Radeon 880M
GPU
AMD Radeon RX 7900 GRE
ROCm Version
ROCm 6.3.0
ROCm Component
HIP, ROCm
Steps to Reproduce
Not sure if you would have the right setup to reproduce this, given the setup I'm using. For the USB4 egpu setup, I'm using an ADT-Link UT4G board which is based off the ASMedia ASM2464PDX chipset.
As for the code reproduction, I'm using rocm-examples, specifically any binary compiled under HIP-Basic.
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
WSL environment detected.
=====================
HSA System Attributes
=====================
Runtime Version:         1.1
Runtime Ext Version:     1.6
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:<PHONE_NUMBER>3709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE
System Endianness:       LITTLE
Mwaitx:                  DISABLED
DMAbuf Support:          YES

==========
HSA Agents
==========
*******
Agent 1
*******
  Name:                    AMD Ryzen AI 9 365 w/ Radeon 880M
  Uuid:                    CPU-XX
  Marketing Name:          AMD Ryzen AI 9 365 w/ Radeon 880M
  Vendor Name:             CPU
  Feature:                 None specified
  Profile:                 FULL_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        0(0x0)
  Queue Min Size:          0(0x0)
  Queue Max Size:          0(0x0)
  Queue Type:              MULTI
  Node:                    0
  Device Type:             CPU
  Cache Info:
    L1:                      49152(0xc000) KB
  Chip ID:                 0(0x0)
  Cacheline Size:          64(0x40)
  Internal Node ID:        0
  Compute Unit:            20
  SIMDs per CU:            0
  Shader Engines:          0
  Shader Arrs. per Eng.:   0
  Memory Properties:
  Features:                None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: FINE GRAINED
      Size:                    16378220(0xf9e96c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 2
      Segment:                 GLOBAL; FLAGS: EXTENDED FINE GRAINED
      Size:                    16378220(0xf9e96c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 3
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    16378220(0xf9e96c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
    Pool 4
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    16378220(0xf9e96c) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:4KB
      Alloc Alignment:         4KB
      Accessible by all:       TRUE
  ISA Info:
*******
Agent 2
*******
  Name:                    gfx1100
  Marketing Name:          AMD Radeon RX 7900 GRE
  Vendor Name:             AMD
  Feature:                 KERNEL_DISPATCH
  Profile:                 BASE_PROFILE
  Float Round Mode:        NEAR
  Max Queue Number:        128(0x80)
  Queue Min Size:          64(0x40)
  Queue Max Size:          131072(0x20000)
  Queue Type:              MULTI
  Node:                    1
  Device Type:             GPU
  Cache Info:
    L1:                      32(0x20) KB
    L2:                      6144(0x1800) KB
    L3:                      65536(0x10000) KB
  Chip ID:                 29772(0x744c)
  Cacheline Size:          64(0x40)
  Max Clock Freq. (MHz):   1927
  Internal Node ID:        1
  Compute Unit:            80
  SIMDs per CU:            2
  Shader Engines:          6
  Shader Arrs. per Eng.:   2
  Coherent Host Access:    FALSE
  Memory Properties:
  Features:                KERNEL_DISPATCH
  Fast F16 Operation:      TRUE
  Wavefront Size:          32(0x20)
  Workgroup Max Size:      1024(0x400)
  Workgroup Max Size per Dimension:
    x                        1024(0x400)
    y                        1024(0x400)
    z                        1024(0x400)
  Max Waves Per CU:        32(0x20)
  Max Work-item Per CU:    1024(0x400)
  Grid Max Size:<PHONE_NUMBER>(0xffffffff)
  Grid Max Size per Dimension:
    x<PHONE_NUMBER>(0xffffffff)
    y<PHONE_NUMBER>(0xffffffff)
    z<PHONE_NUMBER>(0xffffffff)
  Max fbarriers/Workgrp:   32
  Packet Processor uCode:: 232
  SDMA engine uCode::      21
  IOMMU Support::          None
  Pool Info:
    Pool 1
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED
      Size:                    16691368(0xfeb0a8) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:2048KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 2
      Segment:                 GLOBAL; FLAGS: EXTENDED FINE GRAINED
      Size:                    16691368(0xfeb0a8) KB
      Allocatable:             TRUE
      Alloc Granule:           4KB
      Alloc Recommended Granule:2048KB
      Alloc Alignment:         4KB
      Accessible by all:       FALSE
    Pool 3
      Segment:                 GROUP
      Size:                    64(0x40) KB
      Allocatable:             FALSE
      Alloc Granule:           0KB
      Alloc Recommended Granule:0KB
      Alloc Alignment:         0KB
      Accessible by all:       FALSE
  ISA Info:
    ISA 1
      Name:                    amdgcn-amd-amdhsa--gfx1100
      Machine Models:          HSA_MACHINE_MODEL_LARGE
      Profiles:                HSA_PROFILE_BASE
      Default Rounding Mode:   NEAR
      Default Rounding Mode:   NEAR
      Fast f16:                TRUE
      Workgroup Max Size:      1024(0x400)
      Workgroup Max Size per Dimension:
        x                        1024(0x400)
        y                        1024(0x400)
        z                        1024(0x400)
      Grid Max Size:<PHONE_NUMBER>(0xffffffff)
      Grid Max Size per Dimension:
        x<PHONE_NUMBER>(0xffffffff)
        y<PHONE_NUMBER>(0xffffffff)
        z<PHONE_NUMBER>(0xffffffff)
      FBarrier Max Size:       32
*** Done ***

Additional Information
No response

Hi @AJcodes. Internal ticket has been created to investigate your issue. Thanks!

Hi @AJcodes, can you try the supported configuration here? ROCm 6.2.3 + Adrenalin 24.12.1 + Ubuntu 22.04. Your eGPU seems to work correctly and is being picked up by hip and the driver so I suspect it is a setup issue with WSL. I tested with a standard dGPU setup and it works, unfortunately I don't have an eGPU setup to verify.

@zichguan-amd I've already tried it the supported configuration, and ran into the same issue unfortunately. I also decided to try an Ubuntu install and I ran into the same issue. I do wonder if it has to do with the iGPU, as I noticed that I ran into a different error if I ran the examples on Windows until I disabled it in the device manager

It may be a PCIE atomic problem. If you only intend to do ML workloads using PyTorch, try this instead: ROCm/pytorch-micro-benchmarking. PyTorch should not use PCIE atomics, but some HIP functions do need it.
Since you have native Linux, can you locate your GPU's pcie slot using lspci | grep VGA, example output:
2e:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] (rev c8)
and check the output of sudo lspci -kkvvv -s 2e:00.0 | grep -i atomic
You should have a similar output to the following, indicating that PCIE atomic is enabled,
AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
AtomicOpsCtl: ReqEn+

I do wonder if it has to do with the iGPU

You do need to disable the iGPU as ROCm does not support it, see https://rocm.docs.amd.com/projects/radeon/en/latest/docs/prerequisites.html#disable-igpu.

@zichguan-amd

@zichguan-amd Apologies for accidentally closing the issue.
I decided to make a fresh install of Ubuntu 22.04.5 LTS with ROCm 6.3.1, and I just confirmed that I'm running into the same error as I am in WSL2 (where saxpy throws the PCIe atomic error, but HIPRTC runs fine). I ran the command like you asked and got the following
AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
AtomicOpsCtl: ReqEn-

Unfortunately I have no way of disabling the iGPU via the BIOs, and not through Ubuntu either. I'm only able to disable it manually in Windows.
For context, I'm just preparing my environment for some HIP kernels that I need to write and optimise, and it seems like my only option is to work only in Windows; since both WSL2 and Ubuntu have the exact same error.

It's likely that PCIe atomics isn't supported over PCIe tunnelling (something I just heard from someone else who is running into similar issues), though I can't confirm this yet.
I do find it odd that I can run HIP kernels via Windows though (made sure of this by disabling the iGPU in device manager; even if it is enabled the 880M can't run HIP kernels due to bitcode issues), so I'll continue to investigate further

@AJcodes I'm not familiar with how HIP SDK handles atomics so I cannot tell why it works on HIP SDK but not WSL/Ubuntu. Based on your output your system is PCIe atomic capable (32bit+ 64bit+), but the request bit is disabled (ReqEn-). On native Ubuntu, can you check your PCIe capability configuration registers with sudo setpci -s <your-gpu-pcie-slot> 8c.b?

@zichguan-amd Just ran that line you provided, I get 00

Ok then can you try sudo setpci -s <your-gpu-pcie-slot> 8c.b=40 and recheck sudo lspci -kkvvv -s <your-gpu-pcie-slot> | grep -i atomic? If all's good, try rerun the rocm examples too.

@zichguan-amd Just did that, I now see
AtomicOpsCtl: ReqEn+

But when running the rocm examples, I'm still met with
:1:rocvirtual.cpp           :3103:<PHONE_NUMBER>d us:  Pcie atomics not enabled, hostcall not supported
:1:rocvirtual.cpp           :3465:<PHONE_NUMBER>d us:  AQL dispatch failed!

It might indeed be PCIe tunnelling over USB4 not supporting atomics, I'm not sure if there's any workaround for it so, please use HIP SDK for now.


[qt5-x11extras:x64-osx] build failure

Host Environment

OS: Mac OS Big Sur 11.4(20F71)
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install qt5-x11extras:x64-osx
Failure logs
-- Installing: /Users/linli/vcpkg/packages/qt5-x11extras_x64-osx/share/qt5-x11extras/copyright
-- Performing post-build validation
The folder /include is empty or not present. This indicates the library was not correctly installed.
Found 1 error(s). Please correct the portfile:
/Users/linli/vcpkg/ports/qt5-x11extras/portfile.cmake
-- Performing post-build validation done
Error: Building package qt5-x11extras:x64-osx failed with: POST_BUILD_CHECKS_FAILED
Please ensure you're using the latest portfiles with ./vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: qt5-x11extras:x64-osx
Vcpkg version: 2021-05-05-unknownhash

When I understand the Qt documentation correctly it is only supported on linux system: https://doc.qt.io/qt-5/qtx11extras-index.html

The folder /include is empty or not present. This indicates the library was not correctly installed.
cc @Neumann-A

In general, X11 might be usable on macOS, but Qt is tightly coupled with its regular macOS platform abstraction.
Looking at dependencies in vcpkg, most dependencies are scoped as qt5-x11extras (linux), but one is not:
qt-advanced-docking-system: qt5-x11extras (!windows)
Looking at user projects, I wonder if it would be better to make it an empty package on unsupported platforms, or at least fail early?

If qt5 x11extras is empty this is always an indication that required system libs for building it are missing from the qt5-base build!