Stylus support

Will it be supporting stylus? Looking forward for this feature.

Hi @yura415, thank you for the comment.
This extension already supports the stylus. It works regardless of language.
Or, did I mistake your wants?

Doesn't works with my setup then.

[Extension Host] Looking for parseable documents...
threadService.ts:222[Extension Host] vscode-icons is active!
threadService.ts:222[Extension Host] Spell and Grammar checker active...
threadService.ts:222[Extension Host] Default Settings
threadService.ts:222[Extension Host] Code Actons Registering for: markdown
threadService.ts:222[Extension Host] Code Actons Registering for: plaintext
threadService.ts:222[Extension Host] Found all parseable documents.
threadService.ts:222[Extension Host] Parsing documents and looking for CSS class definitions...
threadService.ts:222[Extension Host] Sumary:
threadService.ts:222[Extension Host] 2 parseable documents found
threadService.ts:222[Extension Host] 3223 CSS class definitions found
threadService.ts:222[Extension Host] 633 unique CSS class definitions found
threadService.ts:222[Extension Host] 0 failed attempts to parse. List of the documents:
threadService.ts:222[Extension Host]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/api/controllers/UserController.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
nativeKeymap.ts:315'KeyboardEvent.keyIdentifier' is deprecated and will be removed in M53, around September 2016. See https://www.chromestatus.com/features/5316065118650368 for more details.
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/api/controllers/AppController.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/.vscode/settings.json [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.controller.ts [plaintext]
threadService.ts:222[Extension Host] Extension "vscode-stylus" activated!
threadService.ts:222[Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/main.styl [plaintext]
threadService.ts:222 [Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/app/apps/apps.list.html [plaintext]
3threadService.ts:222 [Extension Host] Starting new check on: /Users/yura415/Work/tracktore/src/ui/main.styl [plaintext]

What additional info could I provide?

Those seem messages of HTML CSS Class Completion Extension and others. Those are not messages of this extension.
So, what happened? and did you send this issue?
Did not the Color Picker dialog open?
Please tell me details.

It doesn't shows the color boxes beside codes and this is all logs that I have.

Oh you mean this is a bug and I have to create a separate issue for this?

You should have said first that the Color Picker dialog box isn't shown, because we don't know your situation.
Anyway, more information is needed:

Please see: https://github.com/anseki/vscode-color/blob/master/.github/ISSUE_TEMPLATE.md
Is the "color boxe" you said the Color Picker dialog box?
Is the Color Picker dialog box shown when a file other than stylus is opened?

If you said about the small colored squares (e.g. the left side of #fdf6f8 in your code), you seem to have mistaken the "Color preview" for this Color Picker extension.
Those colored squares are "Color preview" that is a part of "syntax highlighting", it has nothing to do with this extension.
If you are using the language support for Stylus that includes syntax highlighting (e.g. vscode-stylus) and you found an issue, you should report it to the repository of that extension, not here.
This is repository of the Color Picker extension. Please see: https://github.com/anseki/vscode-color

@anseki You're right, I've mistaken color picker ext for color preview. I've been only looking for previews actually. Thanks for clarification.

😃


Add a Threat Model

This proposal is very open for debate and improvements, it is basically a fork from Node.js one (https://github.com/nodejs/node/pull/45223).
I suggest you to review Node.js one first if you are not familiar with Threat models at all.
The main goal of this Threat Model is to provide a better support for Security Researches and for us on the triage. This Threat model can be considered as the "playbook rules" for reporting vulnerabilities into the project.
Note: Only the Threat Model is in scope of this PR. The security.md has already existing elements that are going to change soon (see: https://github.com/expressjs/security-wg/issues/7), so please keep the focus on the target.
Context
Fix https://github.com/expressjs/security-wg/issues/3
Your feedback is more than appreciated: @bensternthal @ruddermann @ljharb @lirantal @mcollina @fraxken @expressjs/security-wg @expressjs/security-triage @expressjs/express-tc

I think this is a good starting point.

this looks great, just some small edit suggestions.  also, we should consider moving this to the .github repo, but this can be done later

I guess this is ready to be merged

I will merge this PR, the follow up can be found at https://github.com/expressjs/security-wg/issues/3#issuecomment-2036779536
and the Threat Model content at https://github.com/expressjs/security-wg/blob/main/tools/docs/ThreatModel.md#the-express-threat-model.
As we plan to do more iterations soon, we just decided in a previous TC meeting to move the initiative to the security wg until is completed.


Can't fetch inserted record

Hi , i can't fetch the record about the "ActiveCaloriesBurned" , tried checking permission and extending the time of the filter with no success
here is the code :
import { PermissionsAndroid, Text } from 'react-native';
import {
  initialize,
  requestPermission,
  readRecords,
  insertRecords,
  readRecord,
  getGrantedPermissions,
} from 'react-native-health-connect';

const HealthDataComponent = () => {
  useEffect(() => {
    readSampleData();
  }, []);

  return (
    <Text>
      This is a component that will read and insert health data from the Health app
    </Text>
  );
};

const requestWritePermission = async () => {
  try {
    const granted = await PermissionsAndroid.requestMultiple([
      PermissionsAndroid.PERMISSIONS.WRITE_ACTIVE_CALORIES_BURNED,
      PermissionsAndroid.PERMISSIONS.READ_ACTIVE_CALORIES_BURNED,
    ]);

    if (
      granted[PermissionsAndroid.PERMISSIONS.WRITE_ACTIVE_CALORIES_BURNED] ===
        PermissionsAndroid.RESULTS.GRANTED &&
      granted[PermissionsAndroid.PERMISSIONS.READ_ACTIVE_CALORIES_BURNED] ===
        PermissionsAndroid.RESULTS.GRANTED
    ) {
      // Both permissions granted, you can now call insertSampleData
      insertSampleData();
    } else {
      // Handle permission denied
    }
  } catch (err) {
console.warn(err);
  }
};

export const readSampleData = async () => {
  // Initialize the client
  const isInitialized = await initialize();

  // Request permissions
  const grantedPermissions = await requestPermission([
    { accessType: 'read', recordType: 'ActiveCaloriesBurned' },
    { accessType: 'read', recordType: 'HeartRate' },
    { accessType: 'read', recordType: 'Steps' },
  ]).then(() => {
    const readGrantedPermissions = () => {
      getGrantedPermissions().then((permissions) => {
        console.log('Granted permissions ', { permissions });
      });
    };
    readGrantedPermissions();
  });

  try {
    const result = await readRecords('ActiveCaloriesBurned', {
      timeRangeFilter: {
        operator: 'between',
        startTime: '2021-01-09T12:00:00.405Z',
        endTime: '2023-01-09T23:53:15.405Z',
      },
    });

    console.log('Retrieved records: ', JSON.stringify({ result }, null, 2));
  } catch (error) {
    console.error('Error reading records: ', error);
  }
};

const insertSampleData = () => {
  insertRecords([
    {
      recordType: 'ActiveCaloriesBurned',
      energy: { unit: 'kilocalories', value: 10000 },
      startTime: '2023-01-09T10:00:00.405Z',
      endTime: '2023-01-09T11:53:15.405Z',
    },
    {
      recordType: 'ActiveCaloriesBurned',
      energy: { unit: 'kilocalories', value: 15000 },
      startTime: '2023-01-09T12:00:00.405Z',
      endTime: '2023-01-09T23:53:15.405Z',
    },
  ]).then((ids) => {
    console.log('Records inserted ', { ids });
  });
};

export { HealthDataComponent, insertSampleData };

here is the console.log ()
 LOG  Records inserted  {"ids": ["1473e5bf-4b4e-4b6d-bbbe-d2e6c1b301c4", "eed57d89-da43-4dc1-a44c-5b152bb0fe44"]}
 LOG  Granted permissions  {"permissions": [{"accessType": "write", "recordType": "ActiveCaloriesBurned"}, {"accessType": "read", "recordType": "ActiveCaloriesBurned"}, {"accessType": "write", "recordType": "HeartRate"}, {"accessType": "read", "recordType": "HeartRate"}, {"accessType": "write", "recordType": "Steps"}, {"accessType": "read", "recordType": "Steps"}]}
 LOG  Retrieved records:  {
  "result": []
}

the methods are the ones taken from the documetation... so i am a little bit in a roadblock
What am i doing wrong  ?

Hi,
You cannot manage health permissions using PermissionsAndroid from react-native.  You need to define permissions in AndroidManifest.xml and use methods in this library to enable permissions.
Please follow this doc for more information:
https://matinzd.github.io/react-native-health-connect/docs/permissions
One more thing
You cannot access data for more than 30 days prior to your permission request. Read more about it here: https://issuetracker.google.com/u/2/issues/281942487
https://developer.android.com/health-and-fitness/guides/health-connect/common-workflows/read-data#read-restriction
30-day read restriction
Health Connect can read data for up to 30 days prior to when any permission was first granted.
However, if a user deletes your app, the permission history is lost. If the user reinstalls your app and grants permission again, your app can read data from Health Connect up to 30 days prior to that new date.

Hi , thanks for the fast reply
As you can see in console log read/write permission are enabled, also :

Please try accessing data for last 30 days and see if it returns anything.

Tryed with today data , it works
Thanks for your support and have a great day !


Is it possible to save multiple vmfb's that use the same weights (or large constant variables in general) without saving redundant copies of the weights.

Request description
I'm trying to use iree to lower this function.
https://github.com/huggingface/transformers/blob/main/src/transformers/models/llama/modeling_llama.py#L645
However, throughout the process of generating text, one of the optional inputs (past_key_values) sometimes needs to be None, and sometimes needs to have values.  My current solution is to have 2 different .vmfbs for both cases, but this is doubling the amount of memory that it takes to run the function.
Does a method already exist, or would it be worth it to add either:

a way to store weights in a way that both .vmfbs can access them without double loading them
a way to have optional inputs in an mlir/vmfb (this seems like a more difficult solution)
some other solution I haven't considered

Thanks!
What component(s) does this issue relate to?
MLIR, Compiler
Additional context
No response

a way to store weights in a way that both .vmfbs can access them without double loading them

Maybe use a stateful variable (e.g. https://github.com/openxla/iree/tree/main/samples/variables_and_state) for the weights and set that variable after initial program init, being careful to map the memory instead of copy it.

a way to have optional inputs in an mlir/vmfb (this seems like a more difficult solution)

A few ways to do this:

Define multiple functions on your module, one with the input and one without.
Pass another variable into your function (or use a sentinel value somewhere) that branches. You'd need need to populate the optional parameter with something, but the branch would decide whether to use it or not.

I'm not sure how many of those concepts are fully connected from PyTorch to IREE, but I'd definitely be interested in adding some small scale samples like the "variables and state" one I linked above as a reference for people with similar design questions.


Use core 2.23.1 on release-1.11 branch

Following our established procedure.
Note in particular that core artfacts are updated using the error-proof ./scripts/update-tiledb-version.py 2.23.1.

@ihnorton I believe we will need a 0.29.2 having core 2.23.1:
https://github.com/TileDB-Inc/TileDB-Py/blob/0.29.1/setup.py#L23

We are moving forward with core 2.24 and tiledbsoma 1.12


do not allow Groups to contain Segments

as proposed in #1026, which this PR partially replaces

I know we've discussed it several times, but it's not clear to me what the disadvantages are of allowing grouping of Segments. Does it break anything?
The use case I have in mind is where a stimulus is repeated several times, and each recording is in a separate Segment, but then there is some artefact during one of the segments, so we want to group the "good" segments. (A similar thing could of course be achieved using annotations.)


[Question] why not give chunkserver containers' "RestartPolicy" to "always"?

Code is ready， will be submit soon.

implemented by https://github.com/opencurve/curveadm/pull/194


Update README.md

Small improvements to README to explain how errors/default values work when returned from the action.
Remove additional "no-JS" example - not needed as basically the same as the normal example
Typography fixes

Description
Set this up in my Remix app today and it's working great so thanks 🙌 I did get a bit confused around what to return from the action though to support the form working with no JS and so I've tried to make it clearer how that works. So I've explained that you can return just the errors from the action or an object containing errors and optionally defaultValues. I also removed the "no-JS" example as from what I could see it was just the same as the other one, which I found confusing.
In addition I just made some small wording/typography tweaks.
I hope you feel it's an improvement, but if not feel free to close.

Thank you so much for this! Will be getting to it very soon!

Thank you for this @jonbretman


drivers: rtt: fix no return statement in rtt_init

Add missing return statement to rtt_init function.
Signed-off-by: Pavel Kral<EMAIL_ADDRESS>

Codecov Report

Merging #11023 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11023   +/-   ##
=======================================
  Coverage   53.22%   53.22%
=======================================
  Files         217      217
  Lines       26668    26668
  Branches     5914     5914
=======================================
  Hits        14193    14193
  Misses      10059    10059
  Partials     2416     2416

Continue to review full report at Codecov.

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


Clean up assets directory

We should go through our assets directory and remove any image and video files that are no longer in use.

@briri is this still relevant? where is the assets directory?

Cleaned this up as part of the Rails5 upgrade. The asset directories are app/assets/ and /public.


kvstoremesh CrashLoopBackOff

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I have enabled clustermesh and it works fine.
Then I have enabled new feature kvstoremesh.
Kvstoremesh can not start:
Cilium Version
1.15.2
Kernel Version
5.14.0-375.el9.x86_64
Kubernetes Version
Server Version: v1.26.4-3010+c7606e743ff1b0-dirty
Regression
No response
Sysdump
No response
Relevant log output
$ oc -n cilium logs clustermesh-apiserver-87684b5d5-zv87g -c kvstoremesh
level=info msg="  --cluster-id='1'" subsys=kvstoremesh
level=info msg="  --cluster-name='testing1'" subsys=kvstoremesh
level=info msg="  --clustermesh-config='/var/lib/cilium/clustermesh'" subsys=kvstoremesh
level=info msg="  --controller-group-metrics='all'" subsys=kvstoremesh
level=info msg="  --debug='false'" subsys=kvstoremesh
level=info msg="  --gops-port='9894'" subsys=kvstoremesh
level=info msg="  --kvstore='etcd'" subsys=kvstoremesh
level=info msg="  --kvstore-connectivity-timeout='2m0s'" subsys=kvstoremesh
level=info msg="  --kvstore-lease-ttl='15m0s'" subsys=kvstoremesh
level=info msg="  --kvstore-opt='etcd.maxInflight=10,etcd.config=/var/lib/cilium/etcd-config.yaml,etcd.qps=100'" subsys=kvstoremesh
level=info msg="  --kvstore-periodic-sync='5m0s'" subsys=kvstoremesh
level=info msg="  --max-connected-clusters='255'" subsys=kvstoremesh
level=info msg="  --pprof='false'" subsys=kvstoremesh
level=info msg="  --pprof-address='localhost'" subsys=kvstoremesh
level=info msg="  --pprof-port='6064'" subsys=kvstoremesh
level=info msg="  --prometheus-serve-addr=':9964'" subsys=kvstoremesh
level=info msg=Invoked duration="171.06µs" function="github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh.registerClusterInfoValidator (go/src/github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh/root.go:49)" subsys=hive
level=info msg=Invoked duration="93.435µs" function="pprof.glob..func1 (pkg/pprof/cell.go:50)" subsys=hive
level=info msg=Invoked duration="118.874µs" function="controller.Init (pkg/controller/cell.go:67)" subsys=hive
level=info msg=Invoked duration="89.315µs" function="gops.registerGopsHooks (pkg/gops/cell.go:38)" subsys=hive
level=info msg=Invoked duration="199.556µs" function="github.com/cilium/cilium/clustermesh-apiserver/metrics.registerMetricsManager (go/src/github.com/cilium/cilium/clustermesh-apiserver/metrics/metrics.go:56)" subsys=hive
level=info msg=Invoked duration="261.455µs" function="github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh.glob..func2 (go/src/github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh/cells.go:42)" subsys=hive
level=info msg=Starting subsys=hive
level=info msg="Start hook executed" duration="8.624µs" function="github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh.registerClusterInfoValidator.func1 (go/src/github.com/cilium/cilium/clustermesh-apiserver/kvstoremesh/root.go:51)" subsys=hive
level=info msg="Started gops server" address="<IP_ADDRESS>:9894" subsys=gops
level=error msg="Start hook failed" error="open /1: permission denied" function="gops.registerGopsHooks.func1 (pkg/gops/cell.go:43)" subsys=hive
level=info msg=Stopping subsys=hive
level=fatal msg="failed to start: open /1: permission denied" subsys=kvstoremesh

### Anything else?

_No response_

### Cilium Users Document

- [ ] Are you a user of Cilium? Please add yourself to the [Users doc](https://github.com/cilium/cilium/blob/main/USERS.md)

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

cc @giorio94

Hi @alexminder,
The issue seems to be caused by kvstoremesh running as a non-root user, hence not having the permissions to create files in / (or any other directory FWIW, and gops appears to require writing the PID files somewhere at the moment).
Have you configured anything specific concerning the podSecurityContext/securityContext of clustermesh-apiserver compontents, either directly or automatically via any mutating webhook? Could you share the output of kubectl get pod -n kube-system -l app.kubernetes.io/name=clustermesh-apiserver -o yaml please? I'm curious because the same issue should affect the clustermesh-apiserver pod as well.
I'm working on addressing this issue in the meanwhile, but a short-term fix should be explicitly configuring the kvstoremesh container to run as root.

I've opened https://github.com/cilium/cilium/pull/31539 (and marked it for backport to v1.15), which should address the issue. I've also opened https://github.com/cilium/cilium/pull/31540 as a follow-up to configure restrictive security contexts by default for the clustermesh-apiserver containers.

We are using OpenShift which guarded with SCC (Security Context Constraints). SCC prevents to run a container app with uid=0. For every cluster it is rundom generated UID range.

We are using OpenShift which guarded with SCC (Security Context Constraints). SCC prevents to run a container app with uid=0. For every cluster it is rundom generated UID range.

Yeah, that's what I suspected.
My guess is that it is affecting only the kvstoremesh container because its default security context is:
securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL

I could instead reproduce the issue on both the apiserver and kvstoremesh containers manually specifying a different runAsUser value as part of the respective security contexts. As a quick workaround, does kvstoremesh work dropping that security context?

As a quick workaround, does kvstoremesh work dropping that security context?

It does not work.

As a quick workaround, does kvstoremesh work dropping that security context?

It does not work.

Hmm, I'm confused what's the difference with respect to the apiserver container then, as the image is the same, and both start gops in the same way. What if you manually specify runAsUser: 0?

Backport in progress in https://github.com/cilium/cilium/pull/31879


MVP: Footer link fixes

Description

Some links on the footer aren't linked to actual routes.
For the MVP, we'll only need these pages on the navbar:

Home
About Us
Community

Tasks

[x] Add required routes to the footer links
[x] Comment out footer links that are not required for the MVP

Added social links to the footer

We should review the changes made so far on Saturday night. A lot has been changed but the link that is visible to the public on Vercel is the link that was given by Rizwan months ago. Is there a staging branch or you guys are viewing it locally?


Feature Request: Define path where pictures and .nfo is stored

What TMM version are you using?
N/A
release, pre-release, nightly, or directly from GitHub/branch?
N/A
What is the actual behaviour?
TMM stores images and nfo files in the very same directory as the movie file. This makes folders with many TV show episodes extremely full.
What is the expected behaviour?
The user can define whether these files are stored in a subdirectory, e.g. ".moviedata". This would make the folders much cleaner for people who also browse their movies/shows in their file manager.

we had this feature request before, but since tinyMediaManager is designed to work FOR/WITH Kodi (and other media centers) where the nfo needs to be in the same folder, we won't change that

OK, I understand that. But what about the images, are these also important for Kodi? (I don't use Kodi)

yes, Kodi loads and displays them when showing the movie/episode


Shared Nav Plan Decision Needed

So @vinniefalco we have two options for the shared nav header between the site and docs/other content repos.
Option 1 - Load JS/CSS remotely
This would work be having a blank/empty markup element <nav id="boost-shared-header"></nav> or something similar in the Antora UI templates.  Along with tags to load a bit of JS from our site.
This would then render the nav and allow for the user's browser to call back to the site to determine logged in status.  Should work even on remote sites if there was ever a need for fancy-boost-docs.com or whatever.
Pros

Quick updates of all docs when changes to nav are deployed (i.e. just browser cache time which we'll set low)

Cons

Makes the in browser payloads a bit bigger as there would be additional JS and duplicate Tailwind CSS being loaded on docs pages

Option 2 - Github Action driven
We create a Github Action that is called when changes to the nav are merged in which would create PRs on all docs repos to pull the changes into them.
Pros

Small payloads

Cons

Might be weeks before some repos merge the change
Requires close coordination of GH Actions, repository lists, etc.

Which way would you like us to head? I think Option 1 is the best but wanted to confirm before we went too far down the road.
Option 3 - Keep canonical copy of nav markup in antora-ui
This idea was suggested by Vinnie.
Option 4 - Reverse Vinnie
Same as Option 3, except we keep the canonical copy in THIS repo and populate it to antora-ui when it changes. This is somewhat simpler on our end to manage.

The thing I don't like about "auto-publish changes" is that now we have the same file in two different repositories. In my proposal the file would only exist in the site-docs repository, and it would get copied to an s3 bucket. Maybe there is a way that the antora-ui build process could retrieve the file from the source repo?

Lets just try it your way, the expedient way, and that will be better than nothing.

I understand the concern, but it's going to get copied in one direction or another or we have to code up some really weird (form a Django perspective) S3 powered template loader code.
We'll try it temp-site -> antora-ui and see how it goes as a first stab @gregnewman

Since this is implemented I'm closing this issue @frankwiles

I hope we didn't choose 2

We did not @vinniefalco


Support for testing

It would be great if you could use scalajs-vite to bundle and run tests. The basic approach is pretty straightforward: use the Test / fastLinkJS outputs as the bundler input and pass the output to Test / jsEnvInput.
One edge case here that is easily missed is that while tests might need to have access to both node_modules and other non-Scala.js sources, those non-Scala.js source might in turn need access to Compile / xLinkJs outputs. This means that the build context where tests are bundled should also include Compile Scala.js outputs.
For context: I am migrating a project from TS to Scala.js, and I'm reimplementing components piecemeal. I export those Scala.js components using JSExportTopLevel("SomeComponent", "someModule"), and I update the TS components that depend on them to import as: import { someComponent } from 'scalajs:someModule.js';. If I want to run Scala.js tests that include those TS components, I need to also have the Scala.js outputs available.

Aha, interesting. IIUC, there is more than one problem described here:

It would be great if you could use scalajs-vite to bundle and run tests. The basic approach is pretty straightforward: use the Test / fastLinkJS outputs as the bundler input and pass the output to Test / jsEnvInput.

I was playing around with this implementation here - https://github.com/ptrdom/scalajs-vite/tree/test-bundling. I think it covers the basic use cases, but I might be missing something. Would it be a good solution?

One edge case here that is easily missed is that while tests might need to have access to both node_modules and other non-Scala.js sources, those non-Scala.js source might in turn need access to Compile / xLinkJs outputs. This means that the build context where tests are bundled should also include Compile Scala.js outputs.

I assume that these exports need to be bundled, otherwise this would be outside of this project's scope. I think you are describing library bundling, this should be achievable now with custom Vite config. Would that work for you?

I was playing around with this implementation here - https://github.com/ptrdom/scalajs-vite/tree/test-bundling. I think it covers the basic use cases, but I might be missing something. Would it be a good solution?

I think that's what I have in mind, although I'm still not 100% on how the scoping works. Do you have separate target directories for Test and Compile?

I assume that these exports need to be bundled, otherwise this would be outside of this project's scope. I think you are describing library bundling, this should be achievable now with custom Vite config. Would that work for you?

Yes I'm thinking in the case of Scala.js exports being bundled, but this need not mean using vite in library mode (although it would be good to support that use case). Here are three cases in which a runnable (non-library) Scala.js project would need to support resolving imports from Scala.js:

Your application entrypoint is JavaScript. Example: I have a JS react app, and one or more components of it are in Scala.js. I have some App.jsx file that imports 'scalajs:ScalaJSComponent1.js' and 'scalajs:ScalaJSComponent2.js'. I expect vite to bundle App.jsx with Scala.js artifacts produced by fullLinkJS (which I expect to include ScalaJSComponent1.js and ScalaJSComponent2.js)
Your application entrypoint is Scala.js, but it depends on some non-Scala.js sources. These sources in turn depend on exports from Scala.js. Imagine, e.g., fullLinkJS produces main.js (runnable entrypoint), and utils.js (module generated by a call to JSExportTopLevel("someUtility", "utils")). main.js imports a JS module someJsModule.js, and someJsModule.js in turns imports 'scalajs:utils.js'. These imports all need to be resolvable for vite to generate a runnable bundle from main.js.
As a corollary to (2), now image you have a test in your Scala.js source that includes the dependency to someJsModule.js. For this test to run, the bundler is going to need access not only to the compiled test code and the JS sources, but also the compiled Scala.js application code, since theTest / fastLinkJS outputs will not necessarily include the utils.js export!

Your application entrypoint is JavaScript. Example: I have a JS react app, and one or more components of it are in Scala.js. I have some App.jsx file that imports 'scalajs:ScalaJSComponent1.js' and 'scalajs:ScalaJSComponent2.js'. I expect vite to bundle App.jsx with Scala.js artifacts produced by fullLinkJS (which I expect to include ScalaJSComponent1.js and ScalaJSComponent2.js)

So I think here you should have your Scala.js components exported as a library and that is that. scalajs-vite would only do the library bundling, if said Scala.js components depend on npm dependencies.

Your application entrypoint is Scala.js, but it depends on some non-Scala.js sources. These sources in turn depend on exports from Scala.js. Imagine, e.g., fullLinkJS produces main.js (runnable entrypoint), and utils.js (module generated by a call to JSExportTopLevel("someUtility", "utils")). main.js imports a JS module someJsModule.js, and someJsModule.js in turns imports 'scalajs:utils.js'. These imports all need to be resolvable for vite to generate a runnable bundle from main.js.

As a corollary to (2), now image you have a test in your Scala.js source that includes the dependency to someJsModule.js. For this test to run, the bundler is going to need access not only to the compiled test code and the JS sources, but also the compiled Scala.js application code, since theTest / fastLinkJS outputs will not necessarily include the utils.js export!

This is a highly custom workspace-like workflow that I think should be split up and not implemented directly by this project. In npm world you would likely have utils.js package, someJsModule.js package and main.js application that uses those packages. This is only missing library bundling and we can add support for that. Now the gluing of the workflow can be done outside of this project. Do you see this working for you?

In npm world you would likely have utils.js package, someJsModule.js package and main.js application that uses those packages.

utils.js isn't a package, it's just a script that's emitted by the Scala.js linker; similarly, someModule.js is just a javascript source file. The question is only whether the bundler can resolve import statements that reference them. I promise this has nothing to do with library bundling. When you run fullLinkJS or fastLinkJS, the linker will produce one or more files (depending on your linker configuration and what kind of JSExport annotations you include in your code). There is no reason why other non-Scala.js source files included in viteResourcesDirectory should not be able to import from them.
At any rate, I definitely understand if you don't want to support complex interop here, as it will definitely increase the complexity, but it's a requirement for me. I already have a working solution for it, so if you don't want to move in that direction, I can just keep working on my project. I just thought it would make sense to deduplicate our efforts.

But then if utils.js is not a standalone library, I do not see what is the problem. For example, how case 1 and 2, and even 3 with https://github.com/ptrdom/scalajs-vite/tree/test-bundling merged, cannot be made to work with current version of this project right now? It might need more than one Scala.js module to be emitted, but it should not need multiple sbt modules.
Main thing I am suggesting is to try and decompose your problem into smaller bits that would make smaller, reusable features, then determine what is within scope of this project. If you are not willing to proceed in this manner, then working on your own plugin will make most sense.
And you will need to have some patience with me, because I am not familiar with this particular workflow 🤷

Actually I just went back and tried something out and it looks like I had an incorrect assumption: the exported modules are included in the Test / xLinkJS outputs! I must have missed something when I tested this before. (It had looked to my like Test / xLinkJS didn't generate exports, in which case Compile / xLinkJS outputs would need to be included in the build directory when bundling tests to support case 3)
This being the case, you are correct that your approach should be able to handle all three cases.

Implemented with https://github.com/ptrdom/scalajs-vite/pull/89.


Missing torrents when cross seeding

Hello,
When doing cross seeding, you have multiple torrents with the same name. The exporter only exports infos for one, as the label is set to Name. I have tested and replaced it by Infohash_v1 and all torrents are exported correcly.
This is of course not good because you can't easily know who's who.
Would it be possible to have both the name and the hash, so we can have every torrents, without killing the cardinality ?
I believe having both is not a huge deal because these info don't change during the lifetime of the torrent, but maybe I'm wrong.
Thanks

This is something I have never encountered. I don't think adding the hash to the label for the qbittorrent_torrent_* metrics would be an issue for the cardinality. Let's add a new experimental feature for that.

You can add the hash label by setting the ENABLE_LABEL_WITH_HASH env to true

`panic: inconsistent label cardinality: expected 2 label values but got 3 in prometheus.Labels{"hash":"3a282xxxxxxx, "name":"ABCD", "tag":"cross-seed"}

goroutine 50 [running]:

github.com/prometheus/client_golang/prometheus.(*GaugeVec).With(...)

	/go/pkg/mod/github.com/prometheus/client_golang@v1.20.5/prometheus/gauge.go:250

qbit-exp/prometheus.Torrent(0xc000190090, 0xc000100eb0)

	/app/prometheus/prometheus.go:137 +0x2fff

qbit-exp/qbit.getData(0xc000100eb0, {{0x8c78ec, 0x15}, {0x8c016e, 0x3}, {0x8c0413, 0x4}, 0x0}, 0x1, 0xc0001027e0)

	/app/qbit/qbit.go:106 +0x4a5

created by qbit-exp/qbit.AllRequests in goroutine 33

	/app/qbit/qbit.go:223 +0x2fa

qbittorrent-exporter (version v1.5.0)`

It's not happy

It's not happy

Should be fixed with v1.5.1

It's better. It is now working with ENABLE_LABEL_WITH_HASH set to true, but not to false
panic: inconsistent label cardinality: expected 2 label values but got 3 in prometheus.Labels{"hash":"3a282eded2xxxxxxx", "name":"ABCDEF", "tag":"cross-seed"}

goroutine 28 [running]:

github.com/prometheus/client_golang/prometheus.(*GaugeVec).With(...)

	/go/pkg/mod/github.com/prometheus/client_golang@v1.20.5/prometheus/gauge.go:250

qbit-exp/prometheus.Torrent(0xc0001a2048, 0xc000212140)

	/app/prometheus/prometheus.go:137 +0x2fbf

qbit-exp/qbit.getData(0xc000212140, {{0x8c78ec, 0x15}, {0x8c016e, 0x3}, {0x8c0413, 0x4}, 0x0}, 0x1, 0xc000214460)

	/app/qbit/qbit.go:106 +0x4a5

created by qbit-exp/qbit.AllRequests in goroutine 25

	/app/qbit/qbit.go:223 +0x2fa

qbittorrent-exporter (version v1.5.1)

It's better. It is now working with ENABLE_LABEL_WITH_HASH set to true, but not to false

Should be fixed :sweat:

Seems ok now. I'll test it with true for the next few days.
I can confirm that for now I have now all my torrents listed.
Thank you very much.


fix #371 fescar support nacos registry and config

Ⅰ. Describe what this PR did
fescar support nacos registry and config
Ⅱ. Does this pull request fix one issue?
fixes #371 fescar support nacos registry and config
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #390 into develop will decrease coverage by 0.68%.
The diff coverage is 17.14%.

@@              Coverage Diff              @@
##             develop     #390      +/-   ##
=============================================
- Coverage       29.3%   28.62%   -0.69%
- Complexity       572      582      +10
=============================================
  Files            165      174       +9
  Lines           6589     6837     +248
  Branches         786      824      +38
=============================================
+ Hits            1931     1957      +26
- Misses          4454     4666     +212
- Partials         204      214      +10

Impacted Files
Coverage Δ
Complexity Δ

...scar/core/rpc/netty/AbstractRpcRemotingClient.java
22.98% <0%> (-1.05%)
5 <0> (ø)

...om/alibaba/fescar/config/ConfigurationFactory.java
0% <0%> (-66.67%)
0 <0> (-2)

...scar/core/rpc/netty/AbstractRpcRemotingServer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ar/discover/registry/NacosRegistryServiceImpl.java
0% <0%> (ø)
0 <0> (?)

...com/alibaba/fescar/core/rpc/netty/RmRpcClient.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ain/java/com/alibaba/fescar/config/ConfigType.java
0% <0%> (ø)
0 <0> (?)

...com/alibaba/fescar/core/rpc/netty/TmRpcClient.java
24.24% <0%> (-1.85%)
12 <0> (ø)

.../com/alibaba/fescar/config/NacosConfiguration.java
0% <0%> (ø)
0 <0> (?)

...m/alibaba/fescar/config/AbstractConfiguration.java
100% <100%> (ø)
16 <16> (?)

...a/com/alibaba/fescar/config/FileConfiguration.java
50% <28.57%> (-9.83%)
11 <0> (-15)

... and 14 more

Continue to review full report at Codecov.

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


envs set doesn't seem to work with .env files

Describe the bug
I can't get envs set to work with a .env file
❯ ../envs -v
envs version 1.1.5
❯ ../envs -d set --env dev -f .env.test
> Reading project config...
> Error on line 2 of your file
> invalid key=value pair

.env.test content
ABC=123
TEST_SOMETHING="true"

I've also tried without the quotes, without the underscore both of which also throw the same error
I
Expected behavior
I would expect this command to be able to process any valid .env file (including comments and blank lines) ideally

Please upgrade your CLI to at least v1.1.12 and try again.
If you are using brew, simply run: brew update && brew upgrade envsecrets/tap/envs


How to deploy a fine grained authorization model?

The application requirements

Offline first (browser storage ideally IndexedDB, synchronization, conflict detection/resolution)
Fine grained authorization system (user management)

Having organization that contains members & teams
A team have some access to company data (read, write, admin)
A user inside a team inherits it's right from the team but can be also overwritten
A instance is attached to a organization
The team rights for a instance is inherited from the company right and can be overwritten
(same for user)

There is a sample GraphQL schema:
type User
@model
{
    id: ID!
    firstName: String!
    lastName: String!
    avatarUrl: Url
}

type Team
@model
{
    id: ID!
    name: String!
}

union Entity = User | Team

type Organisation
@model
{
    id: ID!
    name: String!
}

enum OrganisationRoleEnum {
    NO_ACCESS
    READ_ACCESS
    WRITE_ACCESS
    ADMIN_ACCESS
}

type OrganisationRole
@model
@key(fields: ["entityID", "organisationID"])
{
    entityID: ID!
    entity: Entity! @connection(fields: ["entityID"])
    organisationID: ID!
    organisation: Organisation! @connection(fields: ["organisationID"])
    teamID: ID
    team: Team @connection(fields: ["teamID"])
    role: OrganisationRoleEnum
}

type ObjectTypeA
@model
{
    id: ID!
    name: String!
}

type ObjectTypeB
@model
{
    id: ID!
    name: String!
}

type ObjectTypeC
@model
{
    id: ID!
    name: String!
}

# Take in consideration that each object types has different configurations and relations
union Instance = ObjectTypeA | ObjectTypeB | ObjectTypeC

enum InstanceRoleEnum {
    NO_ACCESS
    READ_ACCESS
    WRITE_ACCESS
    ADMIN_ACCESS
}

type InstanceRole
@model
@key(fields: ["instanceID", "entityID"])
{
    instanceID: ID!
    instance: Instance! @connection(fields: ["instanceID"])
    entityID: ID!
    entity: Entity! @connection(fields: ["entityID"])
    organisationID: ID
    organisation: Organisation @connection(fields: ["organisationID"])
    role: InstanceRoleEnum
}

Investigations
From what I've seen in the web we have two worlds, the first one is Apollo Client and the second one is DataStorage.
Apollo Client comes with lot of issues, if you use the out of the box appsync client you are stick to Apollo 2.X and can't use react hook. If you migrates to Apollo 3.X to have hooks support you only takes the two links from appsync (HTTP & WebSocket) but you face to offline capabilities issues.
DataStorage is relatively new but really promissing. It comes with a new way to sync data with the appsync, use IndexedDB as local storage and have a really easy syntax to use.
In terms of backend deployment we have AWS CDK and Amplify CLI.
AWS CDK you can programmatically generates the cloudformation stuff.
Amplify CLI come with GraphQL transformations that take the job of generating the stuff for you. A good collection of directives but a very basic authorization system.
The two solution that I really like and would use for our team because it's easier to use would be DataStorage with Amplify CLI because once you setup your stuff you don't need to care about the needed stuff for deployment but I encounter some lack in terms of authorization.
How to deploy a fine grained authorization model?
From what I've seen I can use either a Lambda authorizer or a Pipeline resolver for doing the needed check for the authorization.
The use case is I need to check the access right for each items in a query list, for a desired mutation and provide the uacpdate to only the subscribers that have the right to see the object.
My question is how do I do that with Amplify CLI? can I use the actual @auth? can I write a custom one? how do I do for the subscriptions? and which of Lambda authorizer or pipeline resolver is the most optimized with appsync?

I do not know if it can help you but :
type Draft @model
@auth(rules: [
# Defaults to use the "owner" field.
{ allow: owner },
# Authorize the update mutation and both queries.
{ allow: owner, ownerField: "editors", operations: [update] },

]) {
id: ID!
title: String!
content: String
owner: String
editors: [String]!
}
Do you need that ? Editors (editors: [String]!) are the users who can access private objects.

Hi @Hideman85 - I think you're looking for the @auth directive: https://docs.amplify.aws/cli/graphql-transformer/directives#auth
And in particular around authorizing subscriptions, check it out here: https://docs.amplify.aws/cli/graphql-transformer/directives#authorizing-subscriptions
In addition, the way that these directives work, is that they get translated into resolvers, which you can learn on how to customize or overwrite here: https://docs.amplify.aws/cli/graphql-transformer/resolvers
LMK if this answers all your questions. Feel free to re-open this issue if this doesn't fully address your concern.

Whoua a directive @auth existe very nice... of course I made a long explanation just because I'm not able to read a doc.
To let you know at the best what you can do with the @auth is authenticate your user with cognito but not the fine grained user management.
@renebrandel I've also seen that we can override mapping templates (or even resolver if you also override the cloudformation template) but the question is how can I do it automatically/generated because of course firstly I don't really want to rewrite the DynamoDB stuff that has been generated nor copy paste my authorization stuff to all mapping templates because what would be the value to use Amplify CLI if I need to override everything myself.
Last point, it is completely useless to close that topic as quickly like you did just because you partially replied to my post, I just want to let you know that there is a lot of questions how to manage the case of multi tenant app but there is no reel response not guide or documentation.
So to conclude please take the time before replying because I took time to explain and provide a sample for my case that would also be useful to others.

Happy to re-open the issue. From the issue itself, it wasn't clear to me if you've had the chance to take a look at @auth. I think I misunderstood your question on this then.
I believe I missed the fact that you want to have the "enabled operations" also be dynamic? Am i correct?
If not, then these scenarios:

Having organization that contains members & teams
A team have some access to company data (read, write, admin)
A user inside a team inherits it's right from the team but can be also overwritten
A instance is attached to a organization
The team rights for a instance is inherited from the company right and can be overwritten
(same for user)

should be addressed by Dynamic Group Authorization and having the organizations be Cognito User Pool groups.

i Don’t think dynamic group auth works with the requirement for subscriptions

HI @renebrandel no problem then I can try to reformulate.
In my case we have kind of sensitive data and the authorization on that data is managed by the users itself. So let's take that case:

I'm a UserA member of the TeamA inside the OrganizationA
I start a new document and dependently of that document I would authorize:

my whole Team in Edit access (attach EDIT role to this instance and the team instance)
my Organization to have Read write.

For a second document I can decide something else:

disallow my Organization to see that document
my Team wouldn't have access too
but UserB from my Team will collaborate with me and have EDIT access

So at the end the authorization for a object is not static and can also evolve.
I've seen Cognito groups but I don't really think that could solve my issue due to the dynamic aspect.
Currently the roles are saved in DB because it's more convenient and to authorize a action I need to fetch multiple roles to determine is the user has access or not.
The good point of using a Table for that is that this table can also be sync in frontend for viewing the persons that have access to a document.
So from what I've seen for doing my check with AppSync I have two options either a custom Lambda Authorizer (that I should be able to parametrize by giving the action type Read/Edit and the Type) or generates Pipeline resolvers.
The best I think would be to have a custom directive like @autorize(level: READ) and inject the needed stuff into the current generation (because @auth "mainly" give the feature to authenticate a logged in user but in that case does not permit to authorize the action).
And the last point is also how to proceed with subscriptions because it can be a bit tricky for example:

You have already sync a ObjectA because you have Read access. Now the owner do the update to remove your access.
The consequences would be:

For all user that have still access to the document they should get the information that a user access has been removed
The user that just be denied should get the information remove from your store the ObjectA and attached roles
And of course that information should not be sent to other subscribers that don't have any access to that object

Let me know if this helps you to get my case and so why I'm stuck.

I think the best way is using pipeline resolver. I made a try to implement generic functions for my role checking (https://github.com/Hideman85/TestApp/tree/master/RoleCheckPipeline) the issue is how can I wrap current generated mapping templates inside a function in order to use them inside a pipeline?
Because this role checking is recurrent on my model I would prefer if this can also be generated with GraphQL transformer.

Okey I made some progress on this by starting creating a custom GraphQL transformer there is the detail on my experimental testing app: https://github.com/Hideman85/TestApp#investigations--tries
I have still the open questions about managing subscriptions and having efficient way to list items that the user has access to.

I don't understand how everything works together...
I made a lot of progress by making a custom GraphQL transformer for applying deeper transformations. I now able to build pipeline revolvers for having different pipeline functions doing role checking.
And now becomes the time to finally deploy my stuff:
CREATE_FAILED AWS::AppSync::Resolver The Pipeline resolver cannot have datasource.

Okey let's delete the datasource...
UPDATE_FAILED DeleteOrganisationResolver AWS::AppSync::Resolver Data source name must be provided when specifying SyncConfig on the resolver.

But if I understand well SyncConfig configure the conflict resolution and this is use by DataStore right?
The doc is completely unclear on that stuff and does not even mention the mutual exclusion.
Does any one has an understanding of how everything works together?
For an external point of view it's look like there is several teams working on different features but no communication (nor explanation/documentation) for having everything working together. I have to myself deep dive in the code of both amplify-cli and amplify-js doing tries with CloudFormation to get pieces of information. This is very frustrating and loss of time.

I don't understand how everything works together...
I made a lot of progress by making a custom GraphQL transformer for applying deeper transformations. I now able to build pipeline revolvers for having different pipeline functions doing role checking.
And now becomes the time to finally deploy my stuff:
CREATE_FAILED AWS::AppSync::Resolver The Pipeline resolver cannot have datasource.

Okey let's delete the datasource...
UPDATE_FAILED AWS::AppSync::Resolver Data source name must be provided when specifying SyncConfig on the resolver.

But if I understand well SyncConfig configure the conflict resolution and this is use by DataStore right?
The doc is completely unclear on that stuff and does not even mention the mutual exclusion.
Does any one has an understanding of how everything works together?
For an external point of view it's look like there is several teams working on different features but no communication (nor explanation/documentation) for having everything working together. I have to myself deep dive in the code of both amplify-cli and amplify-js doing tries with CloudFormation to get pieces of information. This is very frustrating and loss of time.

@Hideman85  Is that useful for you ?
https://www.youtube.com/watch?v=p0mfjz6wZng
and
https://github.com/aws-amplify/amplify-cli/issues/630

The issues I have is due to two missing features to enable "transitive models authorization".
Let's take an simple example of document sharing with the ability to the users to define who has access to the documents.
For the example let's says that the document that we split the document in parts that are saved separately so we have this modeling:
type Document @model {
  id: ID!
}
type DocumentPart @model {
  id: ID!
  documentID: ID!
}
type DocummentRight @model {
  documentID: ID!
  userID: ID!
  right: string
}

Now let's concentrate on the model DocumentPart, in order to use DataStore in frontend as data cache synchronized with the backend we have to write list & deltaSync queries + subscriptions for that model.

list & deltaSync queries, we need to return all the DocumentPart we have access to, so we need to join two tables and it is not an easy task with DynamoDB
subscriptions, currently the subscription authorization is done at the request to subscribe but we would need to have our resolver fired per event with the list of subscribed users and filter out the ones that shouldn't see this message (or even send them a different message)

The problem is that @auth has been thought for checking roles that has be stored on the object itself but generally it is saved separately.
If we add a second layer of complexity in the previous sample like the ability to users to create folders and share these folders of documents it become clear that @auth is not enough in these cases and we would have to manage this "transitive models authorization".

I don't understand your problem completely.
But I manage to authorize particular users (members) like that :
type Message
  @model(subscriptions: { level: public })
  @auth(
    rules: [
      {
        allow: owner
        ownerField: "members"
        operations: [create, update, delete, read]
      }
    ]
  ) {
  id: ID
  members: [String!]!
  conversation: Conversation! @connection(name: "ConversationMessages")
  username: String!
  content: String!
}

@Hideman85 I was having similar problems.  If your are creating an AWS::AppSync::Resolver ( "Kind": "PIPELINE" ), then you cannot include DataSourceName or SyncConfig. This makes sense, since the actual datasources come from the pipeline functions and not from the resolver itself. I do not know enough about it to speak about how these work with DataStore.

@Hideman85 I was having similar problems.  If your are creating an AWS::AppSync::Resolver ( "Kind": "PIPELINE" ), then you cannot include DataSourceName or SyncConfig. This makes sense, since the actual datasources come from the pipeline functions and not from the resolver itself. I do not know enough about it to speak about how these work with DataStore.


Styling for disabled checkboxes and radio buttons

I would like to submit a PR for this feature:

Tested with:
Chrome 45.0.2454.101 m
Internet Explorer 11.0.23
Firefox 40.0.3

Make a or and post with a JSBin for us to review :)

Thanks @kkirsche, I will ensure I do the the JSBin as well.

I am still not exactly a Git expert, please let me know if I did something wrong with the PR.  Thank you!

CC: @mdo

I just realised that this isn't really complete without adding an example of usage into the documentation. Just give me a day or to 2 to take a look at that.

I do like the look of this...nice

Thanks Patrick. The author of the custom forms should take the credit though, I just styled the disabled controls :blush:

@markau The disabled radio looks like its clickable bacause of the color and clickable looks like its disabled. Also fadeout the label text to make it perfect.

Hey @surjithctly, you make a good point about the element state colors being the opposite of what is intuitive. Something like this looks much better. Thanks. Originally, the element was #eee, however I found this too light (i.e. insufficient contrast) to clearly show the checked+disabled state, so I have gone with a darker color, which means the enabled state also needs to be darker. Here are the colors I have used in this updated demo. I am interested in further suggestions people may have regarding the colors.
I like your suggestion of fading the label color of a disabled control, that would really make the state clear! However, I am not sure this is possible; the enabled/disabled control is a child of the label and, AFAIK, it is not possible to style a parent based on the child's state.    i.e.:

    <input type="checkbox" checked="checked" disabled>

    Can't toggle this (checked disabled)

I am happy to be proven wrong! Perhaps there are new CSS selectors to help here.
Regarding your second point, I agree that this should also be applied to the default checkboxes/radios.  Thanks for bringing this to my attention; for some reason, I thought the defaults were still using the non-CSS elements - hence my attention on the custom forms. I will look at applying this to the defaults as well.

Just to elaborate: the colour difference between enabled and disabled is subtle, perhaps too much so. As I said above, for reasons of contrast I had to make both states darker, and I sought to not stray too far from the original brightness.

@markau The easiest way to style disabled label is to wrap it in a  and write something like this in CSS.
input[type="radio"]:disabled ~ span {
  color:#e2e2e2;
}

So that it will look like :

Ahh yes, I see!  Here's an updated demo.  I have added a class selector to that label, to ensure no ambiguity, do you think that's useful?

    <input type="checkbox" checked="checked" disabled>

    Can't toggle this (checked disabled)

I'll commit the change.
Thanks.

Perfect. one more thing I think useful.
cursor:not-allowed;
for label and indicator. What do you think?

Yes, that would be consistent with other form elements. Do you suggest that apply to just the checkbox/radio, or also the label (since it forms part of the hit box?)

Sure. it should be for both label and indicator. Same as in the default form.

OK here's the updated demo. Thanks, Surjith.
It is a shame the cursor:not-allowed; is applied separately to the element and the label, and not the entire hitbox (e.g. there is a gap between the element and label where the normal cursor is shown). This is a consequence of not being able to style the parent control (the form-group div) based on the child's state. (Without non-trivial changes to the html.)

yeah.. there's no way now. otherwise we have to use JS. or else CSS4 should release before BS4 :)

Fixed by #18771.

Hi @markau or @cvrebert or @patrickhlauke or @mdo,
Thanks for adding this featureI know this thread is quite old already but I had a question in regards to this issue.
How was the exporting of the svg images responsible for the custom checkboxes/radio buttons done? Back story to this is that my designer has created an svg of the checkbox she wants to export and replace as part of the $custom-checkbox-indicator-icon-checked hover upon exportation my checkboxes in a disabled checked state both look the same despite the fact I've used a background colour that has opacity in it (i.e. $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5);).
Appreciate the help.
Thanks.

trash


CUDA 11 Test: cupy_tests.fft_tests.test_fft.TestMultiGpu

FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_2_{n=None, norm=None, shape=(64,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_2_{n=None, norm=None, shape=(64,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_6_{n=None, norm='ortho', shape=(64,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_6_{n=None, norm='ortho', shape=(64,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_24_{n=64, norm=None, shape=(0,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_24_{n=64, norm=None, shape=(0,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_26_{n=64, norm=None, shape=(64,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_26_{n=64, norm=None, shape=(64,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_28_{n=64, norm='ortho', shape=(0,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_28_{n=64, norm='ortho', shape=(0,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_30_{n=64, norm='ortho', shape=(64,)}::test_fft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuFft_param_30_{n=64, norm='ortho', shape=(64,)}::test_ifft - AssertionError: Parameterized test failed.
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_0_{n=None, norm=None, shape=(64,)}::test_fft - AssertionError: Parameterized test f...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_0_{n=None, norm=None, shape=(64,)}::test_ifft - AssertionError: Parameterized test ...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_1_{n=None, norm=None, shape=(128,)}::test_fft - AssertionError: Parameterized test ...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_1_{n=None, norm=None, shape=(128,)}::test_ifft - AssertionError: Parameterized test...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_2_{n=None, norm='ortho', shape=(64,)}::test_fft - AssertionError: Parameterized tes...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_2_{n=None, norm='ortho', shape=(64,)}::test_ifft - AssertionError: Parameterized te...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_3_{n=None, norm='ortho', shape=(128,)}::test_fft - AssertionError: Parameterized te...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_3_{n=None, norm='ortho', shape=(128,)}::test_ifft - AssertionError: Parameterized t...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_4_{n=64, norm=None, shape=(64,)}::test_fft - AssertionError: Parameterized test fai...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_4_{n=64, norm=None, shape=(64,)}::test_ifft - AssertionError: Parameterized test fa...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_5_{n=64, norm=None, shape=(128,)}::test_fft - AssertionError: Parameterized test fa...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_5_{n=64, norm=None, shape=(128,)}::test_ifft - AssertionError: Parameterized test f...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_6_{n=64, norm='ortho', shape=(64,)}::test_fft - AssertionError: Parameterized test ...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_6_{n=64, norm='ortho', shape=(64,)}::test_ifft - AssertionError: Parameterized test...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_7_{n=64, norm='ortho', shape=(128,)}::test_fft - AssertionError: Parameterized test...
FAILED tests/cupy_tests/fft_tests/test_fft.py::TestMultiGpuPlanCtxManagerFft_param_7_{n=64, norm='ortho', shape=(128,)}::test_ifft - AssertionError: Parameterized tes...

Multi-gpu cuFFT failing with CUFFT_EXEC_FAILED for complex64.
cc/ @pentschev

We should suggest the cuFFT team to include CuPy's extensive FFT tests as part of their CI...It seems to me they keep breaking the behaviors/performance/precision/etc in every release...A better documentation is the minimal requirement.

I don't have access to any machine with CUDA 11 yet, but tend to think CUDA 11 messed up multi-GPU FFT. In one of the failing cases, the parameter is clearly supported in all previous versions:

batch = 1
nx = 128
fft type = CUFFT_C2C

See https://docs.nvidia.com/cuda/cufft/index.html#multiple-GPU-cufft-supported-functionality
If we don't get prompt replies from the cuFFT team, how about just skipping the tests and/or raising a warning if CUDA 11 + multi-GPU is in use?

I've been looking at this today and I noticed the failing tests are only those running on devices 1,0, those running on 0,1 all pass for me. I tried to hack the 7_CUDALibraries/simpleCUFFT_MGPU sample a bit to try multiple combinations of GPUs and I can't get it to fail based solely on that. Does anyone have an idea why it would only fail for devices 1,0? Is there something in CuPy that may make the device ordering relevant for this case here?

@pentschev That narrows down the search quite a bit! What you found reminds me a bug I discovered when working on the multi-GPU support:
https://github.com/cupy/cupy/blob/99a0214073f372263b28b49acabcaa55a290b6fc/cupy/cuda/cufft.pyx#L427-L431
I have a wild theory that they fixed the bug by requiring that when a multi-GPU plan is launched, the present device context must be the same as the first one on the list. So, we fails because when we launch a plan on 1, 0, we're still on device 0. Peter, could you check if it's the case?

My wild guess is wrong (I got a CUDA 11 env set up). Will try to look into that today or tomorrow. Could be that they updated how cudaXtDesc/cudaLibXtDesc is handled, which we manage ourselves.

With the tests added in #3766 I am able to further narrow it down. The condition to trigger the error is

batch = 1
C2C (complex64 to complex64; complex128 is fine)
GPU = 1, 0
Any legitimate nx (tried 64 & 128)

Will report back if I find out more.

@pentschev You need to try my test case above. It's easy to tweak the example code simpleCUFFT_MGPU.cu (change SIGNAL_SIZE to 122, which will be padded to 128, and then whichGPUs to  1, 0). It's a regression on the cuFFT side:
$ ./simpleCUFFT_MGPU

[simpleCUFFT_MGPU] is starting...

GPU Device 0: "GeForce RTX 2080 Ti" with compute capability 7.5
GPU Device 1: "GeForce RTX 2080 Ti" with compute capability 7.5
new size: 128

Running on GPUs
GPU Device 1: "GeForce RTX 2080 Ti" with compute capability 7.5
GPU Device 0: "GeForce RTX 2080 Ti" with compute capability 7.5
CUDA error at simpleCUFFT_MGPU.cu:194 code=6(CUFFT_EXEC_FAILED) "cufftXtExecDescriptorC2C(plan_input, d_signal, d_signal, CUFFT_FORWARD)"

cc: @anaruse

C2C (complex64 to complex64; Z2Z is fine)

Sorry, Z2Z is not fine. It's also buggy.

PR in #3775.

Sorry @leofang for the delay and thanks for checking everything further and filing #3775 . I've now realized I was running simpleCUFFT_MGPU against CUDA 10.2 runtime, that's why I couldn't reproduce the bug. I can now reproduce it just by changing whichGPUs in that sample to 1,0 and nothing else. I'll raise this issue with cuFFT developers.

Yeah! Glad to hear you can reproduce the bug, Peter. It's always a relief to know the problem is not on us 😂 By the way, this only happens with batch=1 (which is set in the simpleCUFFT_MGPU sample); for multi-batch FFT it seems fine. I suspect  putting gpus=[3,2,1,0] will also make it fail, but I need to first get access to a 4-GPU machine to test this. Maybe the cuFFT team have more resources than I do...

Yeah, I can also reproduce with 4 and 8 GPUs, using 3,2,1,0 and 7,6,5,4,3,2,1,0, respectively. The sample is really batch=1, but since it seems that this is not a problem for larger batches I think it's safe if we leave it at that, let me know if you think otherwise.

Yeah it's good!

For completeness here, this should be fixed by CUDA 11.2, as per https://github.com/cupy/cupy/pull/3775#pullrequestreview-467064724 .

Just an aside, I am testing multi-GPU D2Z, Z2D, etc, which are not yet supported in CuPy but I plan to submit a PR, and I think they're also buggy: the output of a single-GPU plan (correct) is different from that of a multi-GPU plan (wrong). A simple reproducer is:

batch = 4
nx = 16 (so input is (4, 16) and output is (4, 9))
gpu = 0, 1
FFT type: D2Z (float64 to complex128)

@pentschev Should I open a PR first for you to try locally? I can also push to a local branch.

@pentschev Should I open a PR first for you to try locally? I can also push to a local branch.

As long as it's reproducible, either one is fine by me.

For future reference: I was provided with a preview build of cuFFT 11.2 and was able to verify that the issue is indeed fixed in that version, the condition in https://github.com/cupy/cupy/pull/3775/files#diff-ccb51faf00a37e7d1236eefcdef3d78aaba921baeca21e7405169a4c43d9398bR169 should then be fine and no other action should be needed on CuPy's end. Thanks everyone!

Thank you for the update, @pentschev!!


Added imageUri to extra attributes

Summary
This small enhancement to the Nintendo Switch integration adds the cover art of the currently played game as an additional attribute to the binary sensor. This can be used to display the game's cover art on a dashboard.
Changes

Added a new cover image attribute to the sensor's extra state attributes.
The cover image attribute is populated with the URI of the game's cover art, retrieved from the imageUri field within the game presence data.
If no cover art is available, the attribute defaults to an empty string.

Thanks you :)


Missing operator delete/delete[] for some allocated objects

Hi.
Looks like there are few places in the Terminal code where I can suspect a memory leaks due to missing operator delete or operator delete[].
These allocation sites can be grouped into following:

raw operator new without operator delete like this https://github.com/Microsoft/Terminal/blob/master/src/cascadia/TerminalConnection/ConptyConnection.cpp#L191
allocation by operator new some global object or class member (https://github.com/Microsoft/Terminal/blob/master/src/cascadia/TerminalControl/TermControl.cpp#L281)
allocation by operator new some memory in a function and return it by raw pointer, which can leak then.

Here is my gist with quite a simple grep foroperator new calls - https://gist.github.com/dreamer-dead/c43248466fc4d445378b4dfba80d8d25
Is this an intentional behaviour or a bug that should be fixed?

I don't think that could be intentional.  Plus, we should probably use std::unique_ptr<T[]> or something similar regardless whether we want the allocated memory to be long-lived.

I don't believe that these are intentional at all. They might just be oversights.

The ConptyConnection one I'm not terribly worried about currently, since that's not actually compiled in right now.
The TermControl's Terminal should probably be a unique_ptr - that's DEFINITELY wrong.
many of the other ones in conhost are usually objects that don't change during the lifetime of the application, but that doesn't make them right. Other ones are just places of the code that haven't been modernized yet.

... Terminal should probably be a unique_ptr ...

Could this be germane to #745?

It's real possible. That makes a ton of sense. IDK why that was never caught during review

Just a note (even though this isn't compiled in) - this one is a false positive.
https://github.com/Microsoft/Terminal/blob/master/src/cascadia/TerminalConnection/ConptyConnection.cpp#L191
DeleteProcThreadAttributeList is called at the end of the function.    Even though it is "correct" it looks like this could still be cleaned up to be exception safe. (Also shouldn't this be a HeapAlloc instead of new?) (Looks like a low priority though,  based on DHowett-MSFT comment. )

@dlong11 are you sure that calling DeleteProcThreadAttributeList is enough to free the memory block?
My opinion is that if InitializeProcThreadAttributeList does not allocate memory, then DeleteProcThreadAttributeList should not free it. And even more, DeleteProcThreadAttributeList definitely can't free memory allocated by the operator new because it's a pure C function.
Looks like the Chromium authors think the same, see https://chromium.googlesource.com/chromium/src/+/master/base/win/startup_information.cc#81

@dreamer-dead I saw that "new" to and it was a red flag.

Also shouldn't this be a HeapAlloc instead of new?

@dlong11 are you sure that calling DeleteProcThreadAttributeList is enough to free the memory block?

You are indeed correct.  Sorry for the misinformation.


Improve Primer Materials

[ ] Remove unneeded rad2deg call when calculating the wind direction.
[ ] Show how to use .magnitude to strip units.

Shouldn't we kill the primer materials now that there is introduction to MetPy, Numpy, and Matplotlib notebooks?

Primer and exercises notebook can go. Should split and move NumPy/Matplotlib basics to their respective units.


Upgrade all packages to the newest

Adjust webpack mainFields: to ['main', 'module'] for supporting newest json5.
Upgrade webpack to newest by using env variable BUILD_VSCODE_NLS instead unknown command line parameter --vscode-nls
After this patch, the cmake-tools installer size are srhink a lot,
from 4MB -> 1MB

@lygstate, we are catching up with PRs now. This PR looks good but since it's not a small one and also I am not familiar with some of the infrastructure areas I would like to clone and test it locally. I see source code changes besides the version upgrades that are mentioned in the title. I understand the gnu/c 18 to 17 standard names. What about the others? Are there opened reports that would be fixed by this? If not, help us with some repro steps to exercise the changes done here.

@lygstate, we are catching up with PRs now. This PR looks good but since it's not a small one and also I am not familiar with some of the infrastructure areas I would like to clone and test it locally. I see source code changes besides the version upgrades that are mentioned in the title. I understand the gnu/c 18 to 17 standard names. What about the others? Are there opened reports that would be fixed by this? If not, help us with some repro steps to exercise the changes done here.

main issues comes from webpack/mocha/vscode-cpptools, we may upgrade one by one

No, it's ok, I'll merge this in and do more testing after the fact. If you have time, it would help if you apply the vsix that will be automatically built for this merge and do some testing on your side as well.

No, it's ok, I'll merge this in and do more testing after the fact. If you have time, it would help if you apply the vsix that will be automatically built for this merge and do some testing on your side as well.

I've already test locally, didn't found issue yet:) I am using it daily life

Wonderful, thank you.


Update Guacamole dependencies

What is being addressed
Update to latest dependencies to resolve some potential vulnerabilities as opened by #4231, #4182

/test-extended

@tamirkamara any chance in bumping Tomcat from 9.0.97 to 9.0.98 as well?
Few CVEs in 9.0.97 that are fixed in 9.0.98:
https://github.com/microsoft/AzureTRE/blob/fdf50f21d6fcd71b6e5dacd1a5baed480b979697/templates/workspace_services/guacamole/guacamole-server/docker/Dockerfile#L27-L29

@jonnyry already done :-)

@jonnyry already done :-)

Ah missed that, excellent!

/test-force-approve
failed latest run is unrelated to guacamole


Assigning String[] to Lookupeditor

Hi,
When i am trying to assigning string[] type values which is getting from api response to Lookupeditor. I am getting exception like "Type string[] is not assignable to type Lookupeditor".
Could you please give the solution for this.

HI @cvenkatr,
did you set the multiple attribute to true in your lookup editor? Moreover are you using the ".values" property?


Fix EC2 test image URLs

There appears to have been a rebasing issue with the tests in the previous EC2 test PR. I have regenerated the jobs file using the same configuration.

/lgtm


make it possible to load multiple backends

Currently the backends are very separate. SDL2 and Glop were not made to play together.
However, what if a person makes a backend for a particular device, how do we integrate that?
Currently we can't.
We need some way to do this, preferably without having to extend cepl. I think we could make the tick callback fire a list of callbacks in skitter.
We also need a way to error if 2 clashing backends are loaded. skitter currently has keyboard, mouse & gamepad sources, which the backends provide impls for. Maybe we note which backend takes it first so we can error if another tried to do the same

CEPL now can register multiple event listeners

yeah this is solved enough as far as I can tell


chore(hyperloglog): add go test cases and minor optimizations/bugfixes

[x] Gocase testing

@git-hulk @PragmaTwice this patch:

Does some minor optimization in command implemention
Fix the bug for Command impl
Gocase testings

Thanks @PokIsemaine for telling me the bug in cmd here


Possibility to write and edit without HTML Tags

it would be great if the Editor allows to edit and write without the HTML-Tags for Authors and Users who dont have a knowledge of HTML.

You can enable Markdown mode in the editor. It's a good mix for writing without html tags.

So I think that doesnt work (bug?) because when i enable markdown...nothing happens..
Von meinem iPhone gesendet

Am 14.09.2015 um 15:22 schrieb Florian Letsch<EMAIL_ADDRESS>You can enable Markdown mode in the editor. It's a good mix for writing without html tags.
—
Reply to this email directly or view it on GitHub.

when i will update pagekit, the following message appearse:
Von meinem iPhone gesendet

Am 14.09.2015 um 15:50 schrieb Nino Küenzi<EMAIL_ADDRESS>So I think that doesnt work (bug?) because when i enable markdown...nothing happens..
Von meinem iPhone gesendet

Am 14.09.2015 um 15:22 schrieb Florian Letsch<EMAIL_ADDRESS>You can enable Markdown mode in the editor. It's a good mix for writing without html tags.
—
Reply to this email directly or view it on GitHub.

The editor will look the same (except for the toolbar switching to support Markdown). No html tags will disappear. In the frontend however, the markdown from the editor will render as HTML. You can check by clicking the "Preview" tab in the editor.


ociodispplay,  ociolutimage and ocioconvert link errors

Hi in order to properly build  ociodispplay,  ociolutimage and ocioconvert, I to add OpenImageIO_Util because otherwise, I got a missing symbol error at link time. The missing symbol is
ZN18OpenImageIO_v2_3_58TypeDesc9TypeFloatE

$ c++filt _ZN18OpenImageIO_v2_3_58TypeDesc9TypeFloatE
OpenImageIO_v2_3_5::TypeDesc::TypeFloat

You can see that the symbol is undefined in libOpenImageIO
> nm -CS libOpenImageIO.so | grep "OpenImageIO_v2_3_5::TypeDesc::TypeFloat"
                 U OpenImageIO_v2_3_5::TypeDesc::TypeFloat

But it is defined in libOpenImageIO_util
nm -CS libOpenImageIO_Util.so | grep "OpenImageIO_v2_3_5::TypeDesc::TypeFloat"
00000000000b810c<PHONE_NUMBER>000008 R OpenImageIO_v2_3_5::TypeDesc::TypeFloat4
00000000000b80e4<PHONE_NUMBER>000008 R OpenImageIO_v2_3_5::TypeDesc::TypeFloat

Adding that library in the respective CMake allows me to link those executables.
Not sure if that is the right way to fix it or if there is another way those symbols should be exposed to the linker. Let me know if you are able to repo. Or if you think this is a real issue, I can submit a path for those CMakeLists + some changes in  FindOpenImageIO.cmake to be able to find that library.

This must be against OIIO master (which is a pre-release, though will be very beta soon).
In 2.3, we are cleanly separating the "utility" stuff (like TypeDesc) into libOpenImageIO_Util. Previously, those classes were actually replicated in libOpenImageIO and libOpenImageIO_Util, but that turned out to be causing other problems. We should never have repeated symbols in both libraries (the theory was that the util library was for apps that wanted to use the various OIIO helper classes but just didn't need OIIO itself -- all the image reading stuff, but it wasn't hard to get yourself into trouble this way).
I think this all works out easily if you use the exported OpenImageIOConfig.cmake that OIIO provides, rather than your own FindOpenImageIO.cmake module (unless you update that, and make it smart that it needs both libraries for 2.3, but only the main one for <= 2.2).

Hi @lgritz sorry I only come back to this now. But this was against a released 2.3 version of OIIO, but I will pull the latest and try again and see if that is still the case.

The merge of the pull request #1478 should also help.

Thanks @hodoulp  this is pretty much what I came up with, but I will pick your patch so It less maintenance work

Waiting for your feedback. Please close the issue if it unlocks you.

Hi,  with OCIO-2.0.2 and OIIO-<IP_ADDRESS> I still have that issue
[ 98%] Linking CXX executable alociolutimage
/opt/rh/devtoolset-6/root/usr/libexec/gcc/x86_64-redhat-linux/6.3.1/ld: CMakeFiles/ociolutimage.dir/main.cpp.o: undefined reference to symbol '_ZN18OpenImageIO_v2_4_010ParamValue11clear_valueEv'
/depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/lib64/libOpenImageIO_Util.so.2.4.0: error adding symbols: DSO missing from command line

applying your patch on top, the issue is fixed
The only thing I had to add to have all compiling is adding
${Half_INCLUDE_DIR} in src/libutils/oiiohelpers/CMakeLists.txt
@@ -23,6 +23,7 @@
 target_include_directories(oiiohelpers
     PUBLIC
         ${CMAKE_CURRENT_SOURCE_DIR}
+        ${Half_INCLUDE_DIR}
 )

otherwise,  oiiohelpers  was not compiling.
[ 98%] Building CXX object src/libutils/oiiohelpers/CMakeFiles/oiiohelpers.dir/oiiohelpers.cpp.o
cd /scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO-build/src/libutils/oiiohelpers && /opt/rh/devtoolset-6/root/bin/g++   -I/scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/src/libutils/oiiohelpers -I/scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/include/OpenColorIO/.. -I/scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/include/OpenColorIO -I/scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO-build/include/OpenColorIO -I/scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO-build/include/OpenColorIO/OpenColorIO -isystem /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include -isystem /scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/src/utils/..  "-Wno-deprecated-declarations" -O3 -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden    -DUSE_GCC -Wall -Wextra -Wswitch-enum -std=c++14 -o CMakeFiles/oiiohelpers.dir/oiiohelpers.cpp.o -c /scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/src/libutils/oiiohelpers/oiiohelpers.cpp
In file included from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/fmath.h:40:0,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/hash.h:31,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/strutil.h:24,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/typedesc.h:29,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/attrdelegate.h:13,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/paramlist.h:17,
                 from /depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/imageio.h:34,
                 from /scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/src/libutils/oiiohelpers/oiiohelpers.h:9,
                 from /scratch/federicon/git/rezExternalPackages/ALOpenColorIO/2/build/_not_python/ALOpenColorIO-prefix/src/ALOpenColorIO/src/libutils/oiiohelpers/oiiohelpers.cpp:8:
/depts/rnd/dev/OIIO_VFX2021/packages/OpenImageIO/<IP_ADDRESS>-dev/Qt_vfx-5.15/_not_python/include/OpenImageIO/Imath.h:21:35: fatal error: OpenEXR/ImathColor.h: No such file or directory
 #   include <OpenEXR/ImathColor.h>
                                   ^

Anyway, we can close this one. Thank you for your help.
Cheers
Fede


Add commit message checker in CI

As suggested in https://github.com/semantic-release/semantic-release repository, we need a git commit message checker to avoid release failure.


Perhaps make it listen to !roulette allin too


[#130188061] Fix aws-broker download URL

What
In https://github.com/alphagov/paas-rds-broker-boshrelease/pull/16 we
renamed the broker boshrelease from aws-broker to rds-broker. As part of
this we also renamed the github repo. This should not have been a
problem because Github automatically sets up redirects when you do
this. However, these redirects are a 301 Moved Permanently redirect,
and the bosh director only currently follows 302 redirects (see https://github.com/cloudfoundry/bosh/pull/1523 for
details)
How to review
It should be enough to verify that downloading from the new URL does not involve any 301 redirects, and that the resulting file has the correct SHA1 sum.
Who can review
Anyone but myself.

There's a 302, not a 301; sha1sum matches.


Would like to provide information on the version of abaqus that is supported.

Can the author provide the version of abaqus you are using, I am using abaqus version 2021 when compiling c++ it suggests that a lib file is missing, I guess this is caused by the update of abaqus version.

But the python version works fine

Hi WanQian1997,
The code was developed based on Abaqus 2019. Now I've made the updates in the C++ version for Abaqus 2023.  Checkout the main branch or abq2023. Details are given in README. Let me know if you still have problems.
Thanks,
Cam

Fixed by the commit b32ccc2

Thank you very much for your help, I'm not familiar with C++ but I managed to compile and run the programme with your guidance. I see that your update does not involve the program logic itself, so I assume that the current code works for all versions of abaqus. I added all the abaqus2021 lib files as additional dependencies inside visual studio and compiled and linked successfully. I successfully converted the odb file to vtu, thank you!
I found that when entering the odbfile parameter, if I don't enter the full path, but only a relative path to the current command line path, the program doesn't report an error, but doesn't output anything.

Good to know that you can compile now. The parsing rules are very rudimentary. At some point I will probably use some well fledged parsing libraries. But this works for now. I am closing this issue because it has been solved. You're welcome to ask any other questions.
Cam


Join Wahoo?

We are still relatively new in town, and just getting started, but we are more stable than the other options, namely OMF. I think some of these functions could be turned into a handful of Wahoo plugins or maybe some could be even make it to core. We are always accepting feature request and feedback. I would love if you could give Wahoo a look.
Regards :smile:

Hi @bucaran, thanks for your interest in my project, as we already discuss in #7 I'd prefer if this project stays here as its own. (I like being able to rely on a software individually instead of having part of a frameworky type of things).
Nonetheless as I understand bucaran/wahoo is also a package manager, and I will be glad to try and make fishline an installable theme for it.
What are you thought on this ?

Yo! Wahoo has a smaller core and it's fresher take on the whole "framework" for your shell kind of thing. Check out Wahoo and let me know if you would be interested in participating directly with us. Either way, a package for fishline would be very interesting.

Hi @bucaran,
Sorry for the time it take me to take a deeper view on Wahoo, just going through a lot of things @ work and I finally had time to work a little bit more on this project with a v2 coming soon.
Once released, I will take a deeper look on Wahoo and how to make fishline a package for it.

@0rax Howdy! Wahoo was deprecated in favor of Fisherman, so I think it's safe to close this now! :smile:


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-05-24)
⚠ BREAKING CHANGES

remove old changelog version

Features

remove old changelog version (48ec130)

Bug Fixes

ci pipeline (bbfb214)
release pipeline (f11e128)
release pipeline (cbba1b1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/emberist/mrburns/releases/tag/v1.0.0 :sunflower:


Get the zoom level of org chart

Hey!
Is it possible to get the zoom level of the org chart? I want a specific behavior if the zoom level is lower than x amount.

You can invoke the following method
chart.lastTransform()

it will return object in this structure:
{
  x: 0,
  y: 0,
  k: 1
}

Where k is a zoom level.
K ranges between these values (1 equals normal zoom level, <1 is zoom out, >1 zoom in)
[0.001, 20]

You can invoke the following method
chart.lastTransform()

it will return object in this structure:
{
  x: 0,
  y: 0,
  k: 1
}

Where k is a zoom level.
k ranges between these values (1 equals normal zoom level, <1 is zoom out, >1 zoom in)
[0.001, 20]

Thank you! Are you able to set the zoom level as well through this?

No, you can't directly do it
You can only set chart.initialZoom(0.4) initially.
In the runtime, there is a way to still manipulate zoom level
if you look into zoomIn and zoomOut implementation, you will be able to see that you can set relative zooming using this code
  const { svg, zoomBehavior } = chart.getChartState();
  svg.transition().call(zoomBehavior.scaleBy, 0.78);  // Current zooming parameter multiplied to passed number

If you combine this code with above method, I'd say you can achieve desired result


lint label properties of htmlbars

Currently the handlebars linter only lints for bare strings. Bare strings may be present under a label= property of HTMLbars. this should be linted as well.
The best solution i think is to add a rule to the the linter then activate it here.

https://github.com/rwjblue/ember-template-lint/issues/99

@tangollama I am looking into this one today

Here are the rules of using ember-template-lint: https://github.com/rwjblue/ember-template-lint/#rules

Didn't come further with this today. Changes need to be made to the Ember Template Lint project to accommodate the change.

@mdarmani are you still interested in this issue? If not, I'll move it back to Help Wanted.


Test vuetify Integration on develop branch

Hello, we will keep Bulma for now, maybe waiting for couple of months or so before trying again with Vuetify.


typo on  hand-controls

could be either  hand-controls or hand-controls="left" but probably missing some char

Thanks, will probably remove this folder though in favor of dmarcos' motion controls :)


Add Template workflows for Dystopian Wars

To add GitHub Actions workflows to your repository:

create this issue
add a new comment with the content below
replace [repo name] with your repository name in the format owner/repo, e.g. BSData/test.

/template-workflows-pr [repo name]

/template-workflows-pr BSData/dystopianwars


fluid elements themself does not get rendered

I adjusted a molecule and added f.image and a f.form.button to do a test.
these elements does not get rendered.
Did I miss something on installation ?
<f:layout name="default" /> <f:section name="Main"> <f:render partial="00-atoms/01-global/01-test.fluid" /> BUTTON : <f:form.button>Send Mail</f:form.button> IMAGE: <f:image src="https://dummyimage.com/600x400/000/fff" alt="alt text" /> </f:section>

Both f:image and f:form.* are specific to TYPO3 CMS and will not work in Fluid standalone - you would need to emulate these ViewHelpers, e.g. create an emulated f:image that outputs a plain <img> tag, and emulate <f:form.button> which outputs a simple <button> tag.
Since TYPO3 CMS ViewHelpers often require significant context such as TS and TYPO3 environment with constants etc. it is not possible to we PatternLab with a full TYPO3 context. Depending on which ViewHelpers you need to use you might need to emulate quite a few of the ViewHelpers.
Note also that many ViewHelpers aren't strictly necessary, e.g. <f:form.button> when used without a name does not modify the HMAC checksum and therefore can just as well be served with a raw <button> tag. And of course it is good practice to separate as much of your view logic as possible, from your repository etc. logic - meaning that if you design your templates to work with already processed variables, you have reduced necessity for ViewHelpers and can use static values in the model data JSON files instead.


Sidebar treeview menu opened and reclosed automatically

The issue was also reported in issue https://github.com/almasaeed2010/AdminLTE/issues/1053
The issue was fixed in PR https://github.com/almasaeed2010/AdminLTE/pull/729
However, I saw the (supposed unworking) code was reintroduced in 2.3.3 release.
I manually changed and the problematic behavior is corrected.
This is the exact duplicate of PR https://github.com/almasaeed2010/AdminLTE/pull/1001

A fix is being tested. Please see #1094
If the this doesn't fix it. Please let me know.
Thanks!

good afternoon
I have the latest version and still have the same problem, by clicking on the menu tree it opens and closes without reason

i have the same proble

Hi, I want to use this great repo, but with turbolinks for performances and I had the same problem as above.
After reading different issue raised in this repo, I finally found that:

if you apply what you can found here (issue 563) it attaches the listener twice because of double call of $.AdminLTE.pushMenu.activate() and $.AdminLTE.layout.activate() that ends on the result above. Then if you change view, turbolinks make quicker application of assets and remove one of these listener that ends on the perfect result.
if you remove the if (options.sidebarPushMenu) so you solve the issue of when you refresh the page, but then on a turbolinks load, it removes this single event and don't apply the prevent default so the button become a simple link to the same page.

It seems the issue happen for all collapsable buttons.
So I wonder if we can still make this work (so close for making this work for good). @almasaeed2010  any idea?

I didn't read all the doc of turbolinks, but I adapt the code to make this work for both sidebars (control and main):
var lte_ready = function () {
  var options;
  options = $.AdminLTE.options;
  if ($.turboAlreadyLoaded) {
    if (options.sidebarPushMenu) {
      $.AdminLTE.pushMenu.activate(options.sidebarToggleSelector);
    }
    if (options.enableControlSidebar) {
      $.AdminLTE.controlSidebar.activate();
    }
  }
  $.turboAlreadyLoaded = true;
  return $.AdminLTE.layout.activate();
};
document.addEventListener('turbolinks:load', lte_ready);

Hope it helps


[AutoRelease] t2-automation-2024-11-04-74277(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5666
Recording test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=971

@microsoft-github-policy-service agree company="Microsoft"

/check-enforcer override