Small question about heatmap-plot of the eigenvalue.

Dear developers,
Recently  i try to use the 'solver.calc_eigenvalues' to map the distributiuon of some satets after solving the model. Detials see below:
%%%
solver = pb.solver.lapack(model)
eigen=solver.calc_eigenvalues(map_probability_at=[XX,XX])
eigen.plot_heatmap()
%%%%
The output is beautiful. But I also want to change the x and y limition (in a larged view) as nomally done in the plt.plot, such as "ax.set_xlim(-0.2,0.2)".
In the Docs (https://docs.pybinding.site/en/stable/_api/pybinding.Eigenvalues.html?highlight=plot_heatmap#pybinding.Eigenvalues.plot_heatmap),  I cannot find the tag to change this?   Can u help me about this?

Hi Chenqiang
I'm not certain if you really want to use the map_probability_at-function. This function tries to select the state in the wavefunction (set of eigenvectors) that co insides with the selected position, and gives the probability of that state (eigenvector). You thus only see a selection of the wavefunction.
We are currently working on a new release. You can download the new release by first removing your old version of Pybinding with pip uninstall pybinding and then running pip install -i https://test.pypi.org/simple/ pybinding.
In the new version, you have the possibility to calculate the wavefunction and a lot of new interesting things.
Regarding your question: the plot you get is a kind of scatter plot with some interesting decorations. It just puts all the eigenvalues from 0 to 100 on a plot. I think this is not that interesting at all, but the functionality is there if you want to use it. I rather suggest using the spatial-LDOS. Now, you can calculate the wavefunction over an area and obtain an accurate approximation for this.
You can obtain the current axis in matplotlib with ax=plt.gca(). The rest works as expected.
Bellow an example of the new functionalities:
import pybinding as pb
import numpy as np
import matplotlib.pyplot as plt
from pybinding.repository.graphene import bilayer

def asymmetric_strain(c):
    @pb.site_position_modifier
    def displacement(x, y, z):
        ux = -c/2 * x**2 + c/3 * x + 0.1
        uy = -c*2 * x**2 + c/4 * x
        return x + ux, y + uy, z
    return displacement

model = pb.Model(bilayer(), pb.regular_polygon(num_sides=3, radius=1.1), asymmetric_strain(c=0.42))

solver = pb.solver.lapack(model)
eigen = solver.calc_eigenvalues(map_probability_at=[0,0])

fig, (ax1, ax2) = plt.subplots(2)
eigen.plot_heatmap(ax=ax2)
ax2.set_xlim([20, 100])
ax2.set_ylim([-5, 5])

wfc = solver.calc_wavefunction([0, 0], [0, .1])
sldos = wfc.spatial_ldos(np.linspace(-1, 1, 100), 0.05)
sldos.structure_map(0).plot(ax=ax1)

Best
Bert


Iso Components.. Is it possible to use it in Lab?

I was having my own Box and Flex Components.
Is it going to have problem with Iso Components?
I prefer to use the Iso Components in Lab too.
Thanks

We're working on exposing some of those primitive layout components in both apps, as well as offering an installable package from npm. If you've created your own Flex and Box components in Lab, they should work in Iso, but let us know if you run into any issues


Fix broken Netlify deploy

For some reason after migrating the example project to TypeScript in PR #71 Netlify started having issues with npm run docs:
7:46:23 AM: Now using node v12.19.1 (npm v6.14.8)
# ...snip...
7:46:43 AM: $ npm run docs
# ...snip...
7:47:24 AM: Loaded plugin /opt/build/repo/typedoc-plugin-external-module-name
7:47:24 AM: Using TypeScript 3.9.7 from /opt/build/repo/node_modules/typescript/lib
7:47:32 AM: Error: /opt/build/repo/example/fido-conformance.ts(12)
7:47:32 AM:  Cannot find module '@simplewebauthn/server/dist/metadata/metadataService' or its corresponding type declarations.
7:47:32 AM: Error: /opt/build/repo/example/index.ts(11)
7:47:32 AM:  Cannot find module 'dotenv' or its corresponding type declarations.
7:47:32 AM: npm ERR! code ELIFECYCLE
7:47:32 AM: npm ERR! errno 4
7:47:32 AM: npm ERR! simplewebauthn-monorepo@ docs: `npm run bootstrap && typedoc --tsconfig tsconfigdoc.json`
7:47:32 AM: npm ERR! Exit status 4
7:47:32 AM: npm ERR!
7:47:32 AM: npm ERR! Failed at the simplewebauthn-monorepo@ docs script.
7:47:32 AM: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
7:47:32 AM: npm ERR! A complete log of this run can be found in:
7:47:32 AM: npm ERR!     /opt/buildhome/.npm/_logs/2020-11-17T15_47_32_501Z-debug.log

https://app.netlify.com/sites/simplewebauthn/deploys/5fb3f00102e84400084e2ef4 (I probably only have access to this right now)
I tried recreating this issue locally but docs generate just fine. I need to investigate this further to find out why it complains about the missing type declarations.

Aha! I was able to replicate this locally!
Node: v12.19.1
Commands:
$> CI=true npm ci
$> CI=true npm run docs

Progress...

Docs are generating again. The fix was delivered in PR #74


Add issue templates

What's included?

Issue templates

Bug Report
Feature Request

Github Action for Java build

Notes
As selectable mod versions I checked the modpage on curseforge.

Really useful stuff, thanks ❤


Node Application with Hono Not Showing Expected 'Listening' Message

What version of Hono are you using?
3.11.2
What runtime/platform is your app running on?
Node v18.14.1 / macos
What steps can reproduce the bug?
Issue Description
When setting up a new Node application using Hono, I encountered an issue where the expected console message about the app listening on port 3000 is not displayed. The steps followed were:

Creating the app using bun create hono@latest.
Installing packages with bun install.
Running the app using bunx run dev.

According to the README file, there should be a message indicating that the app is listening on port 3000. However, the only output I receive is the path to the project folder and a blank screen.
Additional Information

Attempting the same process with npm (i.e., npm install and npm run dev) results in a blank screen, without any console output.
The issue persists even after verifying all installation steps and dependencies.

Request
I'm looking for guidance on why the expected 'listening' message isn't appearing and any steps I might be missing or need to correct. Also, any insights into why the npm approach leads to a blank screen would be greatly appreciated.
System Information

Node version: 18.14.1
Hono version: 3.11.2
Operating System: Ventura 13.2.1

Looking forward to any help or suggestions from the community. Thank you!
What is the expected behavior?
there should be a message indicating that the app is listening on port 3000
What do you see instead?
blank screen
Additional information
No response

Hi @bkyerv

According to the README file, there should be a message indicating that the app is listening on port 3000. However, the only output I receive is the path to the project folder and a blank screen.

Starter template does not print port numbers to keep it minimal. I wrote open http://localhost:3000 but that doesn't mean it will be shown.
If you want to print the port number, you can write your app like the followings:
Node.js:
const PORT = 3000

console.log(`listen on port${3000}`)

serve({
  fetch: app.fetch,
  port: PORT,
})

Bun:
const PORT = 3000

console.log(`listen on port${3000}`)

export default {
  fetch: app.fetch,
  port: PORT
}


Add 32/64 bit check to cmake and template calls

add check/defines for 32/64
add template parameters to pass types throughout
use defines to control template types and sample size

It is nice to have the int64_t again, thanks for the support. But I think we can utilize constexpr instead of define, does the following code looks good to you?
if constexpr(sizeof(void*) >= 8) {
    speed_test<int64_t>();
}
else {
    speed_test<int32_t>();
}

That would indeed work to cut out the need for a define in the CMakeList and code.  It might be worthwhile to also change speed_test() and have it take the sample size it only has one section where bitness is being checked/applied.
if constexpr(sizeof(void*) >= 8) {
    speed_test<int64_t>(536870912);
}
else {
    speed_test<int32_t>(268435456);
}

Done


Mistral workflow stuck in 'running'

Sometimes Mistral workflow got stuck in "running". This is a corner case, we are fixing it in Mistral upstream, when it happens, here's a way to unblock yourself.
Before you start, please update the bug with 1) your workflow 2) errors from /var/log/mistral.log.
How to un-stuck.

cancel st2 execution, most time this helps. st2 execution cancel <execution_id>
still running? Ok, there's a mistral task which got stuck. This is worse.
find out mistral workflow execution id. It's in workflow action output, under each task. tasks[0].workflow_execution_id
check to see mistral workflow has failed
mistral execution-list or mistral execution-get <mistral_workflow_execution_id>
figure out which task is stuck. mistral task-list - look for RUNNING, with corresponding mistral_workflow_execution_id. Make a note on task execution id.
Update mistral DB to force the task to ERROR.

    # look up the  credentials
    cat /etc/mistral/mistral.conf
    # connect to DB
     psql -d mistral -h localhost -U mistral -W <password>
    # find the task execution
    select * from executions_v2 where id='eca7d802-3089-45e6-a651-504e3b5f18c9'
    # force it to be "ERROR"
    update executions_v2 set state='ERROR' where id='eca7d802-3089-45e6-a651-504e3b5f18c9'

@dzimine Is there a mistral bug id we could track ? Thanks !!

@srimandaleeka01 Are you experiencing this issue in the latest v2.4?

@m4dcoder Yeah we are running into this issue. We are using v2.2.1 version of stack storm.

@srimandaleeka01 Please upgrade to v2.4.0. This issue was fixed awhile back but then there was a regression due to some refactoring. The regression has been fixed in 2.4. Please refer to this issue at https://github.com/StackStorm/st2/issues/3680.

Thanks @m4dcoder ! Appreciate the quick turn around .


Fixed link to iOS/tvOS install instructions

Changed link from old dev doc site to Full Stack iOS/tvOS instructions in the README.md.
Summary

The "what"; a concise description of each logical change
Another change

The "why", or other context.
Test plan
Issues

"THING-1234" or "Fixes #123"

Coverage remained the same at 98.153% when pulling 8715c47c4bc0d30d1266783ff72a4765fdcb6ad2 on jennjblack-patch-1 into 0e8a2c0cf92c489f3e79005a4632fd2d95b9cca9 on master.


How to Add Image On top of the other image

Description
How to Add Image On top of the other image
How to repeat issue and example
This is how i would like to achieve

Solution
Suggest a solution
Additional Information

React Native version<EMAIL_ADDRESS>Platform: [both]
Development Operating System: [ MacOS]
Dev tools: [ Xcode Version 10.0]

I think you can use zIndex


transitionIn for text and choice

Resolved by https://github.com/ember-theater/ember-theater/commit/56f37afc7e590db876f5047bd181de0107d6ffc9.


Fix: With admission-webhook, nsm-coredns assumes kubedns service IP is <IP_ADDRESS>

Description

Motivation and Context
https://github.com/networkservicemesh/networkservicemesh/issues/1639
How Has This Been Tested?

[X] Covered by existing integration testing
[ ] Added integration testing to cover
[X] Tested locally
[ ] Have not tested

Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

result of 'stress tests' (changes:  https://github.com/networkservicemesh/networkservicemesh/pull/1684/commits/b511620198c603f16c7df708fa3c09a83e74ba6e), ci result:
https://circleci.com/gh/networkservicemesh/networkservicemesh/105826?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-checks-link


CNF-14742: HCCO: copy KubeletConfigs to hosted-cluster

What this PR does / why we need it:
Adding capability for HCCO to copy KubeletConfig objects to the Hosted-Cluster in a ConfigMap.
This is needed for a day-2 operators like NUMA-Resources-Operator to function properly.
Implementation of enhancement: https://github.com/openshift/enhancements/blob/master/enhancements/hypershift/topology-aware-scheduling/topology-aware-scheduling.md

[x]  Implemetation
[x] Unit-tests
[x] E2e-tests

Which issue(s) this PR fixes
Fixes: CNF-14742
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[x] This change includes unit tests.

/hold
until we figure why https://github.com/openshift/hypershift/pull/4859 breaks nto

Hello @enxebre, is it ok to lift the hold now that https://github.com/openshift/hypershift/pull/4859 is in?

/retest

/retest

/retest

/retest

Folks, the new e2e tests are also running in the e2e-aws-4-17
It doesn't make much sense because the new logic does not reside on 4.17 branch.
I tried to skip the test, hopefully I did it right.

/reteat

/retest

/retest

/test e2e-aws

/retest

/hold until we figure why #4859 breaks nto

/hold cancel #4859 got merged

/approve

/lgtm


Images from tva1.sinaimg.cn are 403 now

All the images from tva1.sinaimg.cn can't be accessed now. Set the referer header as https://weibo.com/ can restore the images back, but this issue needs to be addressed later for public access.
Refer to this link: https://www.v2ex.com/t/904989

Fixed in this commit https://github.com/kexiZeroing/kexiZeroing.github.io/commit/34542cdf6fcfc4e4c0d2b205a2c4140946015193

Run the script file-op.js in this repo to iterate all the posts to find image URLs that use tva1.sinaimg.cn.
Use the Node http module to download these images to disk.
Upload these images to GitHub by PicGo.
Replace https://tva1.sinaimg.cn/large/ with https://raw.githubusercontent.com/kexiZeroing/blog-images/main/ in the source code, and done!


Replacement rich progress bar

feat(ci): download_data progress bar resuscitation in colour

Thanks Griff, will look this afternoon :)

will merge if the ci works with this as it removes wget (again)


version: bump to 4.1.0

Bump the version from 4.0.55 to 4.1.0 and add the changelog entry.

Test-PR for automated version bumps.


Possible to run without being in a git repo?

I'd just like to convert a markdown+tex file without being in git repo. Is this possible? Currently I get this error:
Not in a git repository, please enable --nocdn
fatal: not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
  File "/opt/anaconda3/lib/python3.7/site-packages/readme2tex/render.py", line 290, in render
    giturl = check_output(['git', 'remote', '-v']).strip().decode('utf-8').splitlines()[0]
  File "/opt/anaconda3/lib/python3.7/subprocess.py", line 395, in check_output
    **kwargs).stdout
  File "/opt/anaconda3/lib/python3.7/subprocess.py", line 487, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', 'remote', '-v']' returned non-zero exit status 128.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/opt/anaconda3/lib/python3.7/site-packages/readme2tex/__main__.py", line 160, in <module>
    args.bustcache)
  File "/opt/anaconda3/lib/python3.7/site-packages/readme2tex/render.py", line 296, in render
    raise Exception("Please specify your github --username and --project.")
Exception: Please specify your github --username and --project.

What to you want to convert it to? This repo is specially made for converting a markdown file containing tex into a markdown file that can be displayed in github

Basically I would love all the same functionality but not requiring the README.tex.md to be in a directory with .git repo. So, it would still generated a README.md and svg/ folder of math equations. These could be viewed or processed with something other than github.

I'll try to remove the dependency on Git if I have time for it. Doesn't look like a small task, since most of the code is really heavily focused on being used with Git.

I have proposed a PR for this issue. https://github.com/leegao/readme2tex/pull/42


Possible to have multiple, independent scpi session?

Is it possible to have multiple clients connected to a STM32 where each client has his own scpi session?
In my case all clients get an error message if one client sends a wrong command

It is not supported in the library itself, but you can have multiple scpi_t contexts. Each context has different input buffer, but they can share status nad commands.
Real implementation depends on the usage, connection types, number of sessions, dynamic memory allocation, etc.

So I assume I have to use a scpi_t context for each session and I have to run SCPI_Init for each context?

It should be good start. You can share almost everything except input buffer, which you intentionally need separate for each session. You also can't share error_queue_data because of the way, how SCPI_Init works.
New client connection heavily depend on you communication scheme. E.g. if you are using TCP, then when you "accept" the connection, then it is the new session.
I don't know if SCPI was ever meant to be used by multiple masters at the same time. There are lot of global and local states which mix together. So in general, it will produce more problems outside this library - locking resources, ...

Thank you @j123b567
Multiple SCPI sessions over network / TCP are working just fine. Two connections over USB don't seem to work which is understandable.


React-pure-render integration

Does this library work with react-pure-render?
I've tried:
import shouldPureComponentUpdate from 'react-pure-render/function';
export default class App extends React.Component {
    shouldComponentUpdate = shouldPureComponentUpdate;

instead of:
freezer.on('update', () => this.forceUpdate());

But it didn't trigger an update.

I think the forceUpdate() call should be in the top most App component.
react-pure-render should be used for dumb components in the leaves of the component tree.
Smart and Dumb Components — Medium

OK, so I assume it's useless then because of how freezer works. Thanks for the advice.

@Tjorriemorrie there is no problem using freezer and react-pure-render together. Your freezer store should be read by your top component (as @leesei recommends ) and its data is passed down through its children props. Only this top component should use the forceUpdate snippet to make your app reactive.
All the children should receive the data from their props and they can be pure components, getting the benefit of using react-pure-render.

I've updated my comment.
@arqex do you think my commit is useful for freezer-todomvc?
I can create PR after changing dependency to react-pure-render.


Inactivate if slots

Set inactive slots in if plugin to inactive to avoid processing them

looks like this was already done by Lasse


E2E tests?

Test coverage is pretty good but we probably need some e2e test that directly interacts with the CLI in a sandboxed environment.

Done!


terraform destroy fails on stopped lxc container

Actual behaviour
When running terraform destroy on newly created lxc container which are not running, it fails
When the lxc container is running, terraform destroy shuts it down, and destroys the components
myuser@mynode tf-folder % terraform destroy
proxmox_lxc.basic: Refreshing state... [id=pve/lxc/101]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the
following symbols:
  - destroy

Terraform will perform the following actions:

  # proxmox_lxc.basic will be destroyed
  - resource "proxmox_lxc" "basic" {

(... shortened ...)

proxmox_lxc.basic: Destroying... [id=pve/lxc/101]
╷
│ Error: 500 CT 101 not running
│
│
╵

Expected behaviour
The terraform provider should remove the resource, also when it is not running.
Steps to reproduce
Deploy the following with terraform apply, and after the successful provisioning, run terraform destroy
resource "proxmox_lxc" "basic" {
  target_node = "pve"
  hostname    = "tf-destroy-test"
  # ostemplate   = "local:vztmpl/alpine-3.18-default_20230607_amd64.tar.xz"
  # ostemplate   = "local:vztmpl/debian-11-standard_11.7-1_amd64.tar.zst"
  ostemplate   = "local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst"
  password     = "ultrasafe-password"
  unprivileged = true

  rootfs {
    storage = "local-zfs"
    size    = "8G"
  }

  network {
    name   = "eth0"
    bridge = "vmbr0"
    ip     = "dhcp"
  }
}

My used provider.tf
terraform {
  required_providers {
    proxmox = {
      source  = "telmate/proxmox"
      version = "2.9.14"
    }
  }
}

Same here. Using provider version 2.9.14 and Proxmox version 8.0.3.


Does ClairS-TO support the basecalling results from dorado moel<EMAIL_ADDRESS>"?

Hi there,
I see the latest version for dorado is<EMAIL_ADDRESS>Does ClairS-TO support the basecalling results from dorado moel<EMAIL_ADDRESS>"?
Best,
Keren

Hi @kerenzhou062,
Thanks for your interest on ClairS-TO. As for your<EMAIL_ADDRESS>data input, you can use the r1041_e82_400bps_sup_v420 model or the r1041_e82_400bps_hac_g657 model to have a try.
Regards,
Lei


✨ sequin context select

#44  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @RTLS and the rest of your teammates on  Graphite


72 crashing files

Hi rui314,
I have been fuzzing your compiler and discovered a few crashers to submit.
Reproducer cmdline:
8cc -c $reproducer
In the tarball I have provided a gdblog for each reproducer.  I'm not sure that there are not duplicates in this set, but I got this distilled from 1000
The version I am using is from commit 11dd5a567b63995bda235d46e5aea5a3e615b845
System: AMD64 Ubuntu 14.04
Found using the fuzzer American Fuzzy Lop ( http://lcamtuf.coredump.cx/afl/ )
Regards,
-Jodie

Tarball here:
https://www.dropbox.com/s/s7u539kvdflpwde/8cc_crashers_20150304.tgz?dl=0

In the future its probably easiest to fuzz using https://embed.cs.utah.edu/csmith/.
The C test case reducer http://embed.cs.utah.edu/creduce/ can then turn the failing tests into a few lines automatically.
There is no shortage of crashes, Its possible to find many simply by running the gcc test suite. I think the limiting factor is programmer time, not bugs at the moment.

@andrewchambers  I don't mean to discount the usefulness of csmith here, as I will certainly look into using it in parallel to afl-fuzz, but one of the benefits of afl-fuzz is that it will find bugs by generating crashers that are not otherwise valid programs.   :)

Of course, but I don't really see why anyone cares about crashes in programs that a person would not manually write by hand.

The compiler is unprivileged.
You should audit source code you download from the internet if it is not trusted.
If you do not audit the source code, it would be easier to just put malware in the source code than to exploit the compiler itself. The next logical step after compiling a program is running it anyway.

One more note - miscompilation bugs are generally the most valuable for a compiler. If code is accepted by a compiler, but the code produces an incorrect result, this is a serious issue. Crashes can be detected by the end user far more easily.
Csmith actively finds miscompilation if you compare output to other compilers. Crash bugs are important, though less important.
Don't be discouraged though, keep fuzzing :), just keep these points in mind.

From my perspective I assume that it may be possible for an error in a user-generated file to generate one of these crashes, and for those people I'm sure they'd rather have a useful error message than a segfault.  My focus for this fuzzing wasn't related to security. After all, it's a compiler.
I caught this on HN, and I sometimes when I catch these projects I try to do some fuzzing for them. Big projects get a lot of effort and manpower, but the small projects don't get a lot of feedback.  So I try to pitch in. It's maybe 10 minutes work I've spent to generate these.

That is true, I imagine many of these are caused by some underlying bug or code smell anyway. It may take a while before we can fix them all haha.


Integration with Git Webhooks

I know right now Karavan doesn't pull from git, but I know that is a planned feature. Once that is implemented it would be nice to have webhook integration such that git would tell the deployment about the update and trigger a pipeline run even if I am not in the UI to watch it.

Depends on https://github.com/apache/camel-karavan/issues/647

I think we better use camel-git instead of webhooks
https://camel.apache.org/components/3.20.x/git-component.html

The benefit of using git webhooks is you can subscribe to the events from github: https://docs.github.com/en/webhooks-and-events/webhooks/about-webhooks
This means you don't have to poll for changes all the time, and instead react to an event.

karavan is not tight to github ;-)
if karavan service in unavailable we loose event

I was hoping it would be a service that runs in openshift and triggers the karavan pipeline when an event happens. So I don't have to log in just to press the button in karavan or openshfit. Come to think of it, the pipeline is probably where the hook should be set up. As part of the karavan UI, I'm fine with having to hit a button to refresh or "pull" changes that might have been made to the repository after I last pushed.


type explicitly added

Maybe now JSON will work in production

@Ishwarendra apparently using the type JSON gives error


Adding the University of Illinois/NCSA License

This PR should add the University of Illinois/NCSA License into the set of licenses on choosealicense.com. Its a license that combines part of the MIT and BSD-3 Clause licenses and used in projects like Clang and LLVM (and many of my own projects).
License Requirements:

SPDX Identifier: NCSA
Inclusion in both OSI Approved License List and GNU's list of GPL Compatible licenses
Github Search returns 13K results (some duplicated repos)

Question about the metadata though, for limitations does trademark refer to only prohibiting the use of trademarks associated with the project or is it supposed to cover limitations on usage of developer and organization names as well?
If it doesn't is that a limitation worth noting as its is a major condition of not only this license but also other BSD-3 Clause-like licenses?

@narendasan thanks for submitting this license. All of the fill-in fields make it kind of a pain. 😅
I know I said to follow the SPDX record's formatting, but I think they're wrong about how the "Developed by" list is formatted, just filed an issue at https://github.com/spdx/license-list/issues/9
I welcome other feedback on what's the right thing to do on this for now, and also on the URL element of the same list, as noted at https://github.com/github/choosealicense.com/pull/497#discussion_r107978668

Should I change the formatting back to what OSI had?

Yes, for the "Developed by" list.
Also, I think it makes sense to replace [email] with [project_url] even if github.com doesn't support auto-filling it. An email address just isn't what others using the license do, and I'd hate to start/spread another idiosyncratic way of deploying this license.
After those changes I'll leave open a few days before merging in case others have feedback.

Also because for BSD 3-Clause, this license, licenses for projects like curl as well as many open source licenses customized by companies make explicit limitations on endorsement, would it be worth having a non-endorsement tag in the set of limitations? It's a main differentiator from a license like MIT. TLDRLegal throws non-endorsement and trademark limitations into a single use trademark tag so that is another option.

@narendasan probably not. If anything, I'd consider removing the trademark-use limitation tag. Licenses that don't say anything about trademark probably shouldn't be assumed to give permission to use trademarks or anyone's endorsement. For a good talk on this, see https://archive.fosdem.org/2016/schedule/event/trademark_not_implied/ (previously mentioned at https://github.com/github/choosealicense.com/pull/392#issuecomment-209554190).


How to handle plugins that add their own dependencies?

I am trying to apply a community-plugin that automatically adds its own dependency, and of course I am getting an error from the org.example.dependency-analysis-project plugin that versions must be declared in the platform project. Apart from modifying the plugin code itself, what would be the best approach to handle a situation like this?
I was thinking that maybe in addition to showing the error message, the plugin could also remove any dependencies that were added with a version, and then the user would have to make sure that the same dependency is defined in the platform and added in the build script. But so far I don't have any luck implementing this. Do you have any suggestions on how to resolve this issue?
Thanks.
Peter

Hi @mqware. It's a good idea to remove dependencies that were added by another plugin to have full control over them in your build. You can do that through the withDependencies hook, which this project already uses to check the ordering of dependencies (although I might change that check, see #14). withDependencies is called right before dependency resolution starts. It operates on a Set<Dependency> which you are allowed to modify. For example, the following would remove all dependencies called guice from all scopes:
configurations.all {
    withDependencies {
        this.removeAll { it.name == "guice" }
    }
}

Official documentation of the feature: https://docs.gradle.org/current/userguide/resolution_rules.html#changing_configuration_dependencies_prior_to_resolution

Hi @jjohannes. Thanks, sounds like I was on the right track then, I just need to figure out how to actually implement it. (Which is the hard part :-) I was trying to do something similar in the org.example.dependency-analysis-project plugin, because I wanted to detect dependencies with versions, and remove them dynamically. But when I do that I get a java.util.ConcurrentModificationException.
// Check that dependencies are always declared without version.
configurations.all {
    if (configurationPrefixesToSkip.any { name.startsWith(it) }) {
        return@all
    }

    val configuration = this
    withDependencies {
        forEach { dependency ->
            if (dependency is ExternalModuleDependency && !dependency.version.isNullOrEmpty()) {
                this.remove(dependency)
                ...

I quickly tried to remove a dependency in the org.example.dependency-analysis plugin, and that appears to work. So, it seems to me that maybe the code of the two plugins should be swapped. The org.example.dependency-analysis plugin should do the version checking and remove anything with a version, and the org.example.dependency-analysis-project plugin should check and report any dependencies that aren't defined in alphabetical order. Neither of them should throw an exception though. Removing a dependency will eventually cause a failure later, which can be resolved by adding the dependency to the build script and to the platform, and like you said, not being in alphabetical order is not that critical to cause a failure. What do you think?
Thanks,
Peter

While I am still not sure why this.remove() throws an exception, this.removeAll { } seems to work. But it is still not working well, because if I try to remove all dependencies (that are defined with a version) in the org.example.dependency-analysis plugin, then it will complain about the platform project having dependencies with a version. If I try the remove in the org.example.dependency-analysis-project plugin, then the alphabetical order check will complain. So, it looks like the order of checks will need to be changed.

In the current setup, I think conceptually org.example.dependency-analysis-project would be the right place to do the removal. This plugin is meant for "normal Java projects" (projects that are NOT platform). While org.example.dependency-analysis is  used everywhere for the order check. If we move this check into a task – I'll take some time soon to check how to do that best (#14) – then org.example.dependency-analysis will no longer have a withDependencies block. Instead it'll register a task. Then you most likely won't have the problem anymore.
In the current setup: You now have a very sensitive order of the things done in withDependencies:

remove dependencies without version

but not for platform projects (!)

do the ordering check

I may have to think about this a bit more, but it might be better to only have one withDependencies block in your plugins so that you fully control the order. One option is to move everything into the withDependencies in org.example.dependency-analysis and make things conditional. The code runs after Gradle's general configuration phase, so you can check what kind of project you are dealing with using plugins.hasPlugin. For example something like this:
org.example.dependency-analysis-project.gradle.kts
configurations.all {
    withDependencies {
        if (plugins.hasPlugin("java")) { // only 'normal' Java projects, not platforms
            // remove dependencies with versions
        }
        // do checks on the remaining dependencies
    }
}

I am not sure if this is the most elegant solution though. When I look at #14 I'll give this some more thoughts and provide an update here.


Backports 0.15 pr26

this should be the final backporting pr for 0.15, there are likely a couple of 0.16 backports that should be included in dash 0.14.1 for stability / general bug fixing reasons

tests pass locally soo... ¯\(ツ)/¯

resolved all comments, tests passing locally, can squash some commits/remove the initial & reverts on utACK

Didn't do a full review yet, but I noticed that https://github.com/dashpay/dash/pull/3096/commits/6478562b3d4254c73aa973d24bc70fb4b42babbe is included. I backported the same PR, but based on #3101 to avoid the nasty merge conflicts. @Pasta what do you think about removing this specific backport from this PR and instead use my version (which I'll submit in a few minutes)?

I like the #3101 way too (need to revert both 6478562 and a 8a216cc in this case). This should probably help with future backports too.

Pls see https://github.com/UdjinM6/dash/commit/0f96089d969fe803e8cf89101f620d574d325c9a (note, this is after reverting 6478562 and 8a216cc, the later has an additional issue as it turned out).

dropped those two commits and cherry-picked Udjin's fix

dropped the original + revert commits


Multiple terragrunt requests.., how to destroy

Hey I have terragrunt code to create 3 buckets and give the name in the hcl file as a parameter. I change it and run it again. How does the code recignuze which bucket to destroy ???

I am not exactly sure what the desired behavior is from the question, but this is a basic feature of terraform in how it tracks state.
Read our blog post on terraform state for more info.

Closing this as the original question has been answered. If there are any follow ups, please open a new ticket with updated context. Thanks!


when to use --add vs --set should be clearer + examples in help text

Is your feature request related to a problem? Please describe.

Our team was frustrated trying to understand when to use --add and when to use --set, and what the correct syntax was. The error messages were also not helpful when trying to parse what was wrong.
From Chase Wilson, we got this explanation: Ok, so add is to add a new property or object. meaning if it already exists, that's not what to use and should use set as it states in the help. When using the update, the description property is at the root of the object so you can just use the following syntax to update this. az ml dataset update -n testdataset -w myworkspace -v 1 -set description="Test an update"
Describe the solution you'd like

2 things would be great:

The error message tries to relate directly to the command attempted - if it should have been --set instead of --add, something to indicate that (I realize this may be technically challenging, so more hoping for any amount of improvement to help user unblock). Even just examples of correct usage passed back in the error message would be great.
The --set and --add help descriptions to better describe when to use which, what it looks like if the property is at the root of the object, and have an example of correct usage with a real example.

Describe alternatives you've considered

To be fair, once I had the explanation from Chase, the help text made sense fine. But for a user that isn't educated, the help text could be more descriptive regarding "root of object" vs "child property" and give more realistic examples. For example, if you try to modify tags, I think you would need to do --set tags.tagName = "tagValue", but a user may think that can "add a new tag" by doing --add tags.tagName = "tagValue" since they are "adding a new tag" but tags is already a property. This is where I see the confusion
Additional context

This is a full screenshot of the data example we were looking at:

this was an unsuccessful attempt to set description:

route to CXP team

@lebaro-msft @yonzhan This is created by internal Microsoft personal, i think we do not need CXP Attension label?

Is there any update here? I can connect internally to someone as well?

@lebaro-msft please connect with me if this issue is still relevant.


Fix fizzBuzz function

There is currently a method called fizzBuzz() that lives in /lib/fizzBuzz.js.
It is incomplete and needs to be fixed!
Acceptance Criteria:

Running yarn test fizzBuzz results in tests passing.
You have written a skeleton method for someone else to work on.
You have written tests surrounding your skeleton method.
Running yarn lint does not print any errors to the console!
Optional: write one or two more tests surrounding the method you are solving to account for potential edge cases.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request! A pull request will most likely be denied if it does not contain a skeleton method for someone else to work on! For more information, please read the Contributing Guide.
Thank you so much for your contribution!

I'll tackle this!

Cool deal- thanks @nicolaslwilson


Fix FxCop warning in Natvis.cs

For some reason the previous CodeAnalysis run didn't report the XmlResolver issue in natvis.cs, even though the issue was in both spots. This fixes the issue there also.
I also updated the comment in LaunchOptions.cs, as when I was copy/pasting the code, I realized that the comment wasn't accurate.

@caslan please take a look.

LGTM


[Draft] FutureLayerData type for async magicgui

Description
This is just a draft implementation of the idea I floated on zulip that @jni seemed to like: that magicgui widgets that want to call asynchronous functions (like @thread_worker) can return a concurrent.futures.Future that can be used to add data to the viewer.   Note, this PR includes a slight variant to #2577 for the sake of example:
basic idea:
@magicgui
def my_func(...) -> FutureImageData:  # edit: even better:  Future[ImageData]
    # make future
    future = concurrent.futures.Future()

    # set the future result at the end of the long running function
    @thread_worker(connect={'returned': future.set_result})
    def compute(...):
        return data

    compute()  # start the thread
    return future  # return the future

depending on people's appetite for magic, we could also just recognize that a napari thread_worker is being used, and handle the Future ourself:
@magicgui
def my_func(...) -> Worker[ImageData]:

    @thread_worker
    def compute(...):
        return data

    return compute()

# and then napari would do the work of hooking up the
# "add data to viewer" callback to the worker.returned signal

thoughts & criticisms welcome :)

Very interesting ideas here @tlambert03. It might take me a little to fully wrap my mind around it though

depending on people's appetite for magic, we could also just recognize that a napari thread_worker is being used, and handle the Future ourself:

I do like this - do I understand correctly that this approach means we wouldn't need the additional FutureImageData type, which I'm not so sure about. But I guess this might limit us to the thread_worker use case. Are there more general futures that people could use now without thread_worker that would be missed? What is someone wants something multiprocess?
I also keep on wondering what can be achieved using dask here, and is there is a way to configure it so that the dask computations are being run in different threads/ processes, but we're just passing around arrays, but maybe i am being naive.

I do like this - do I understand correctly that this approach means we wouldn't need the additional FutureImageData type

correct: if a function indicates via the return annotation that it is going to return an instance of _qt.qthreading.WorkerBase (which is what you get when you call a function decorated with @thread_worker), then we have all the information we need to do all the "on-finished" callback connections ourselves.

But I guess this might limit us to the thread_worker use case. Are there more general futures that people could use now without thread_worker that would be missed? What if someone wants something multiprocess?

exactly right.  concurrent.futures.Future is the more general API that encapsulates an object that "is going to have a result at some point in the future".  It has a small and well-defined interface (running(), done(), result(), add_done_callback()).  So it doesn't tie anyone down to using our threading mechanism.  If they give us a Future, we know what to do with it.

I also keep on wondering what can be achieved using dask here, and is there is a way to configure it so that the dask computations are being run in different threads/ processes, but we're just passing around arrays, but maybe i am being naive.

This part has more to do with how the user writing the asynchronous function/task actually implements it.  But I believe that dask's Future is just an extension of the standard library API, so I think that by supporting concurrent.futures, we would also be able to handle objects returned by dask.delayed.
The main point here is that the first proposal here Future[ImageData] doesn't care how you implement the asynchronous call, it just expects you to return a standard object representing the result of that call.  Whereas Worker[ImageData] says "ok I see you're using our napari thread_worker ... say no more"

This part has more to do with how the user writing the asynchronous function/task actually implements it. But I believe that dask's Future is just an extension of the standard library API, so I think that by supporting concurrent.futures, we would also be able to handle objects returned by dask.delayed.

I think if we had a really nice, compelling example of this use case that could make me more inclined to support the general futures API. For example in this case, could someone actually then just use dask.array.from_delayed and then we wouldn't need the Futures API?

The main point here is that the first proposal here Future[ImageData] doesn't care how you implement the asynchronous call, it just expects you to return a standard object representing the result of that call. Whereas Worker[ImageData] says "ok I see you're using our napari thread_worker ... say no more"

Yup this is the crux. It seems like starting the thread_worker feels a little easier/ safer given that that is already part of the API, and we might need more time/ examples to really understand the Future[ImageData].
But that being said Future[ImageData] >>> FutureImageData (which I didn't really like as it seemed quite brittle), so maybe we could support both Future[ImageData] and Worker[ImageData], but i'm still not sure

For example in this case, could someone actually then just use dask.array.from_delayed and then we wouldn't need the Futures API?

With dask, they wouldn't need to import or instantiate Future directly as I did here (because dask does that for them)... but they would still need to annotate their magicgui function as -> Future[ImageData] ... so we know what to expect

It seems like starting the thread_worker feels a little easier/ safer given that that is already part of the API, and we might need more time/ examples to really understand the Future[ImageData].

perhaps. But for our purposes, all it means to accept a Future is that the returned object should provide an add_done_callback, which we use here, and a result() method... which we use here

Future[ImageData] >>> FutureImageData

I agree ... should have led with that 😂  FutureImageData was pretty much just a type alias for the former anyway.

hot damn... I just changed the example from FutureImageData to Future[ImageData] and it just worked.  love that.

hot damn... I just changed the example from FutureImageData to Future[ImageData] and it just worked. love that.

Awesome! Really curious what @GenevieveBuckley and @jni think about all this. I'm excited

(a) I really like this, and I actually like the Future API a bit better, for the main reason that Talley outlined — it allows people to have their own multithreading model.
(b) I wonder if someday we'll want to be even more magical where we make a Future/thread worker even if users don't opt in. But that can come later.

a very simple dask example could look like this:
def _slow_function(nz):
    time.sleep(2)
    return da.random.random((512, 512, nz))

@magicgui
def widget(nz: int = 1000) -> Future[ImageData]:
    client = Client()
    return client.submit(_slow_function, nz)

it's almost working.  I can retrieve the result and everything, but still running into a SIGABORT issue when I try to add the result to the viewer (with some strange QTimer stuff that seems to come out of nowhere):

WARNING: QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
WARNING: Cannot make QOpenGLContext current in a different thread
[1]    98010 abort      python examples/mgui_dask_delayed.py
/Users/talley/miniconda3/envs/napdev/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 24 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d

Very unstructured thoughts:
:+1: to this:

I think if we had a really nice, compelling example of this use case that could make me more inclined to support the general futures API.

I got a little excited too soon because I thought it might help us with the live napari demo. We often have this hacky zeros layer that happens to match what we know the size of the real image frames will be when they start arriving and we stack them together. That was the first situation I thought of about expect something from the future (but it's not the kind of future you talk about here). So this probably isn't a solution for that.
I like the dask example you've started, Talley.

@tlambert03 is this ready for review? Let us know :-)

oh!  indeed it is!  hadn't checked to see if tests are passing.
So, just FYI: what I did here was essentially just skip the tests here for everything but python 3.9.   the standard library Future object wasn't subscriptable until python 3.9, so you can't do Future[type], which makes all this hard.  I think we can get this in, earlier python users will get an error from the standard library itself, and if we have enough demand, we can try to make a backport (but then people would have to import Future from napari instead... so that seems less likely)


Implementing API Gateways with Ocelot (New section for the Microservices eBook)

Summary
New section - Implementing API Gateways with Ocelot
Includes a new .md plus new images and the references to that .md

Please, merge this PR when possible as it's already been reviewed and updated based on comments. 👍

@CESARDELATORRE I haven't finished reviewing, but one quick repeated comment: The ``` tags need to be fixed per Maira and my earlier comments. Most of those are using the incorrect language and that causes very bad formatting.
In the meantime, I'll continue reviewing.

I've reviewed all comments from Maira and updated accordingly.
Please, review and merge when possible.


Create a protocol for bipartite entanglement.

We need a protocol to apply to nodes in the network, so that they send out Bell states and swap entanglement where needed to create a shared GHZ state.

[] How do we decide which nodes should do what part?
[] Need to be able to choose error model parameters.
[] Need to be able to extract information from the simulation.

I'm going to start by looking at the code for the EntangleNodes protocol (which is very similar to what we want but it makes some assumptions about how the network is setup.)

Now works without noise or delays as of closing #14.


Set Required Reviewers on Pull Request

Related issue: #1060
Please make sure the code is following contribution guidelines in CONTRIBUTING.md

[x] : This PR has a corresponding issue open in the Repository.
[ ] : Approach is signed off on the issue.

az repos pr create
Added 2 new parameters --required-reviewers and --optional-reviewers. I kept the original reviewers parameter which still adds optional reviewers.
az repos pr reviewers add
Added a new parameter --required that can make the list of reviewers being added required or optional.

Implementation wasn't too complicated since the azure-devops library already had support for the is_required field on the IdentityRefWithVote class.

hold on it broke

@v-anvashist, @V-hmusukula, any chance this PR can be reviewed and merged, please? I would also really welcome the fact that you can set the reviewer as Required.

HI @luk355  I can see some conflicts in this PR.

I will take another look and fix the conflicts

I had to modify the implementation a little to fit with within the 20 branching limit from pylint.
The checks have passed and it's now ready for review!


eventalign silently does not work when the input bam file is not indexed

Just discovered this independently on nanopolish phase-reads and nanopolish call-methylation. Both fail silently and give empty output.

Ok, I will fix. Thanks for pointing this out.

Fixed in 694ae0c


SIL: Avoid dereferencing sentinel nodes in ilist_iterators

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

The behaviour of ilist has changed in LLVM.  It is no longer permissible to
dereference the end() value.  Add a check to ensure that we do not
accidentally dereference the iterator.

@swift-ci please test

CC @dexonsmith @jckarter @gottesmm
Duncan, mind having a glance at this wrt the iterator dereferencing behavior?  I believe that Joe is the owner for SIL.

@swift-ci please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - cefb060cfeb68c3d3c343dfb01d67b04c481fd7d
Test requested by - @compnerd

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - cefb060cfeb68c3d3c343dfb01d67b04c481fd7d
Test requested by - @compnerd

@swift-ci please test

@swift-ci please test

This looks much nicer now!


android support

will u please add android cmake support ?
i try to do this  ,but faild.
u can test with android studio, with
simulator.

Hi, we already have an issue for this, please use that one instead #47
I might try to get it working with Android Studio, but I don't know the first thing about Android development so it would probably be quite messy if I attempted to do it. PRs always welcome.


how to Implement Playback Speed option enable.

Can be possible to use YouTubePlayerBridge class??

It's not supported by the web player on mobile.

how it is possible ??
On Thu, Jun 11, 2020 at 1:22 PM Pierfrancesco Soffritti <
<EMAIL_ADDRESS>wrote:

It's not supported by the web player on mobile.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PierfrancescoSoffritti/android-youtube-player/issues/583#issuecomment-642477559,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALR3PPR3PTX7PMKJOM3TKUDRWCENLANCNFSM4N3FB3EQ
.

--
Burhan Arif
Android Developer
*Mob:*9340311301,7898786485


Breakage related to where Self: Sized bounds on trait associated types and methods

Rust appears to allow trait items (so far, types and methods, in the future possibly also constants) to be excluded from trait objects by applying Self: Sized bounds like so:
pub trait Example {
    type Item where Self: Sized;

    fn method(&self) -> Self::Item where Self: Sized;
}

As far as I can tell, it is not required to repeat where Self: Sized on the items of trait implementations, so the breakage has to come from attempts to call or use the defined functionality, rather than being immediately caused by a definition lacking a where Self: Sized bound.
SemVer hazards:

[x] Adding where Self: Sized is generally a major breaking change for trait methods.
[ ] Is removing where Self: Sized a major breaking change for trait methods? If so, how?
[ ] Is adding or removing where Self: Sized a major breaking change for trait associated types by itself, meaning without a simultaneous where Self: Sized bound change on a trait method as well? If so, how?

Adding where Self: Sized to a trait method is breaking
pub trait Example {
    // If you uncomment the bound below:
    fn method(&mut self) -> Option<i64> // where Self: Sized;
}

fn demo(value: &mut dyn Example) {
    // then you get the following error on the next line:
    value.method();
    // error: the `method` method cannot be invoked on a trait object
    //   --> src/lib.rs:20:11
    //    |
    // 2  |     fn method(&mut self) -> Option<i64> where Self: Sized;
    //    |                                                     ----- this has a `Sized` requirement
    // ...
    // 20 |     value.method();
    //    |           ^^^^^^
}

playground
Caveat: if the method is made non-callable from outside its own crate (i.e. the trait is partially-sealed as described in this post), then this is not a major breaking change since no external crate could have called the method and been broken by its signature change.
This is  currently not expressible in a Trustfall query, so it cannot be linted without further work on the query schema.

cc @ehuss this might be of interest — it appears to be a new set of SemVer hazards that might bear mentioning in the cargo reference's SemVer section.

Thanks for the ping! Just to clarify, is this just a variant of trait-object-safety? That section explicitly says "adding an item", but could be extended to be "adding, or changing an existing item to be non-object-safe"?
Also, one of the todo items in https://github.com/rust-lang/cargo/issues/8736 is to clarify what changes are allowed to a trait item. The old RFC just said no "non-trivial" changes, but didn't define what "trivial" meant. I think adding or removing trait bounds would by default be non-trivial, though I can see where there could be some subtle exceptions.

Just to clarify, is this just a variant of trait-object-safety?

I don't believe so. Even with the Self: Sized bound on trait Example's method, the trait itself remains object safe.
In other words, the following code compiles just fine: playground
pub trait Example {
    fn method(&mut self) -> Option<i64> where Self: Sized;
}

fn demo(value: &mut dyn Example) {}

Any other trait items that do not require Self: Sized would continue to be usable, so this could be extended to a realistic, non-trivial example as well.

As requested.  These examples don't change object safety but are still breaking changes.
Example 1: Removing Self: Sized from an associated type is a breaking change.
// Now that you can omit `where Self: Sized` associated types from `dyn Trait`,
// it is a breaking change to remove `Self: Sized` from associated types of
// object-safe traits
pub trait Trait {
    type Assoc where Self: Sized;
}

// If the `Self: Sized` bound on `Assoc` is removed, this must change to be
// `dyn Trait<Assoc = SomeConcreteType>`
pub fn example(_: &dyn Trait) {}

Example 2: removing Self: Sized from self: Self receiver methods is a breaking change.
pub trait Trait {
    fn consume(self) where Self: Sized;
    fn other(&self) {}
}

// Check that it's object safe
pub fn example(_: &dyn Trait) {}

// How do you implement `Trait` for non-sized types?
impl Trait for str {
    // We can't just omit the method (yet)...
    // https://github.com/rust-lang/rfcs/issues/2829

    // This errors because you can't pass unsized types by value...
    // fn consume(self) {}

    // This errors becuase trivial bounds isn't implemented yet...
    // https://github.com/rust-lang/rust/issues/48214
    // fn consume(self) where Self: Sized {}

    // But this workaround for trivial bounds works
    // (you still can't call the method)
    fn consume(self) where for<'a> Self: Sized {}
}

// But if you remove `where Self: Sized` from the trait, you will break the
// implementation because it is "no longer as general" as the trait.
//
// N.b. the reference says that a "receiver type of `Self` (i.e. `self`)
// implies [`where Self: Sized`]", but as this examples demonstrates, that is
// not true.  There is some other special carve-out that leaves traits that
// have methods with `self` receivers object safe.
//
// https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety
//
// I.e. also comment out `impl Trait for str` and the `&dyn Trait` will still
// compile.

Amazing, thank you! A few follow-up questions to make sure I understand all the nuances and can implement the lints accurately:

Example 1 shows breakage from removing the bound from an associated type. Is adding the bound to an associated type also breaking in some way?
In Example 1, is the requirement to explicitly use dyn Trait<Assoc = SomeConcreteType> instead of just dyn Trait coming from a linguistic necessity, or from a shortcoming of existing tooling? As you know, Rust's SemVer rules say that breakage from tooling shortcomings are not major. Inference failures that require explicitly specifying types are specifically called out in the API evolution RFC as breaking but non-major, and I'd like to figure out if this one might be in that same bucket too.
In Example 2, the breakage you showed depend on the trait being implemented in a downstream crate. Does that mean that if the trait were sealed, removing the Self: Sized bound would not be breaking? I.e. should the lint be "removed trait method bound" or "removed trait method bound on non-sealed trait"?
While following the links in the excellent example 2 code, I came across this recently-merged change that's slated for Rust 1.80. Am I understanding correctly that as of that merged PR, any kind of where bound on trait methods excludes the method from the dyn-callable portion of the trait? In other words, I believe the new rule is "if the trait method uses where, you can't call it on dyn Trait."

If you add the bound, the associated type is no longer defined for unsized implementors, and that is a breaking change.
// Uncomment the two `Self: Sized` lines and `main` will break

trait Trait {
    type Assoc: Default
    where
        //Self: Sized,
    ;
}

impl Trait for str {
    type Assoc = ()
    where
        // This workaround is needed for associated types too...
        //for<'a> Self: Sized,
    ;
}

fn main() {
    // ...but the workaround doesn't make the associated type usable
    let _ = <<str as Trait>::Assoc>::default();
}

It's linguistic necessity, both due to the reasoning here and the fact that things like method ABI and return types differ between erased base types with different associated types.

Example 2 breaks all unsized implementors, local or downstream.  If the trait is sealed and all implementations were for Sized types, I don't think the example matters.  If there were implementations for unsized types, they must have also removed those.  That's a breaking change on its own, but perhaps you detect that independently.

It's definitely not "all where clauses opt the method out of being dyn-dispatchable".  It looks closer to "where TypeInvolvingSelf: NonAutoTrait make a method non-object safe".   (The PR author would be a better person to ask about the precise rules.) So now a where bound involving Self in that way on a method is like having a generic type parameter or using Self in a non-receiver argument or in return position -- your trait is not object safe unless you opt the method out of dyn-dispatch by also adding where Self: Sized.
Note that this is more targeted than merely mentioning Self.  where clauses on associated types are unaffected, for example.  It also doesn't apply to lifetime bounds.  Or auto-trait bounds.  (Again, you should ask the PR author for the precise details.)  Example:
#![deny(where_clauses_object_safety)]
use core::fmt::Debug;

trait Trait {
    type Assoc;

    // These are object safe (before and after the PR)
    fn foo_1(&self) where Self: Send;
    fn foo_2(&self) where Self::Assoc: Debug;
    fn foo_3<'a>(&self, _: &'a str) where Self: 'a;

    // This is no longer object safe after the PR
    // fn bar(&self) where Self: Debug;

    // You can still opt it out of `dyn`-dispatch with `Self: Sized`
    // so that the trait as a whole is object safe
    fn bar(&self) where Self: Debug + Sized;
}

fn example(_: &dyn Trait<Assoc = ()>) {}

(I'm also assuming the PR matches the lint, since the PR is not in the Playground Beta or Nightly apparently.)


Add flake8 to buildpack.

This should improve our code quality both now and in the future.

Will replace with a rebased branch where we're using a 120chr limit.


Hydrate is not a function

Hi
I have a few observations whilst building a new React SSR application.
I get an error (in the client's browser console) as shown below, when the app is started. Interestingly, the page still loads successfully. But I am not wanting to just ignore this browser console error (in case we need to address this)
Uncaught TypeError: n.createRoot(...).hydrate is not a function

Here is my understanding of render vs hydrate
Render provides a way for the app to render a React element into the DOM and return a reference to the component.
Hydrate is essentially the same as render. However, hydrate is used to hydrate a container whose HTML contents were rendered by React's ReactDOMServer.
The original code in the src/index.js file (which the create-react-app command generated) is as follows
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

Interestingly the above original code works even when we have already implemented all of the other SSR conversions (server/index.js and rollup.config.js etc.) and are starting the server using wasmedge command (as apposed to npm).
Please note, that there is no error in the browser console with the above code (root.render).
We of course change the root.render to root.hydrate in our documentation so I went ahead and did that. The root.hydrate generates the above error. I then also tried importing and using ReactDOMServer instead of just ReactDOM but the error still persists.
Do you have any ideas about solving this error.
Thanks so much
Tim

Do you have this error when you do regular React SSR without wasmedge?

Yes, interestingly if I run the exact same source code via npm start which is served on localhost:3000 the same "root.hydrate is not a function" error appears in the browser's console.

Also the same error exists when I use ReactDOMServer instead of just ReactDOM i.e.
import ReactDOMServer from 'react-dom/client';
const root = ReactDOMServer.createRoot(document.getElementById('root'));
root.hydrate(
// snip ...

Thankfully for now root.render works just fine for regular SSR

As well as with WasmEdge SSR.

Since this occurs with regular SSR, perhaps you could ask in stackoverflow or official React forums?

Yes, interestingly if I run the exact same source code via npm start which is served on localhost:3000 the same "root.hydrate is not a function" error appears in the browser's console.

Also the same error exists when I use ReactDOMServer instead of just ReactDOM i.e.

import ReactDOMServer from 'react-dom/client';

const root = ReactDOMServer.createRoot(document.getElementById('root'));

root.hydrate(

// snip ...

Link to question for our convenience

https://stackoverflow.com/questions/72253995/why-do-reactdomserver-and-reactdom-give-the-root-hydrate-is-not-a-function-err

Please find a solution to this issue; as per a response via the above stackoverflow link.
In summary hydrate has been replaced with hydrateRoot in React 18.
hydrateRoot(container, element[, options])

The code for this SSR example was altered as per the following code block.
// Before
import ReactDOM from 'react-dom/client';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.hydrate(
  <React.StrictMode>
   <App />
 </React.StrictMode>
);

// After
import { hydrateRoot } from 'react-dom/client';
const container = document.getElementById('root');
const root = hydrateRoot(container, <App />);

After implementing this slightly different syntax the error was resolved.
There is also official documentation for hydrateRoot


Browser version - browser console has lots of logging and errors

Many errors are shown in the browser console, but I won't make separate issues for each.
I'm not able to reproduce today, but previously I would see a lot of ....... skipping type messages in the browser.
It would be nice to resolve the errors and reduce or eliminate the logging, many times we ask our users to investigate the browser console for errors when troubleshooting problems, and reducing all of this will help us find and resolve issues for our customers more quickly.

Thanks! We use Debug as our debug logging mechanism, you can see them by enabling localStorage.debug=* The console errors you see are real errors. We'll work on this. Thanks!

i believe that most of these have been resolved. i'll close this one. if you find specific errors in the latest code, can you open one for each class of error log you are seeing?


Feat/generic data types

fix #36

Can you merge 01-02-03 in a single page please?

Payment request #56021C has been processed and payment is complete. See you around on OnlyDust.


Geserver Error : New version of same DB publish to existing target name

the scneario where new version of same  fusion database can be published to already published target point is allowed and works, however we show " already in use " error, which can be turned into a warning.


Eye toggle used incorrectly

Describe the bug

In the login form when the user click on the eye button the password should be seen. The current scenario does the exact opposite.
This creates a sense of confusion for the users.
Additional context
Kindly assign this issue to me.
Have you read the Code of Conduct?
yes

it is as expected


[RFC] Enhancement of Multi-Tenancy Capabilities in ML-Commons

RFC: Enhancement of Multi-Tenancy in ML-Commons Plugin
1. Introduction
This RFC details the proposed low-level design for enhancing multi-tenancy in the ML-Commons plugin, aimed at providing robust, scalable, and secure management of machine learning models for each tenant within a highly distributed environment.
2. High-Level Context
The proposed enhancements to the ML-Commons plugin are designed to support the evolving requirements of cloud architectures transitioning towards serverless models. This RFC aligns with the trend of enhancing cloud-native plugins to facilitate sophisticated multi-tenancy capabilities.
Strategic Benefits of Multi-Tenancy:

Cost Efficiency: Multi-tenancy allows for resource consolidation across multiple tenants, reducing costs through economies of scale.
Reduced Management Overhead: Administrative tasks are centralized, significantly reducing management overhead and enhancing operational efficiency.
Scalability and Flexibility: ML-Commons support can be distributed as an application-based microservice, enhancing scalability and flexibility.

On a high level, ML-Common support can be distributed as an application based micro service.

3. Purpose
The necessity for this enhancement arises from the growing demand for platform capabilities that can support multiple tenants simultaneously without compromising on performance, security, or scalability. In this context, a "tenant" refers to an individual customer or distinct operational unit, each with its own secure data and configurations. Allowing multiple tenants to coexist on the same application installation effectively means we can manage separate customers or business units independently yet within a single shared environment. Effective multi-tenancy will enable our infrastructure to:

Securely Segregate Tenant Data: Ensure that each tenant's data is completely isolated from others, thereby protecting customer information and adhering to data privacy regulations.
Efficiently Allocate and Manage Computational Resources: Dynamically distribute system resources among tenants based on demand, ensuring optimal performance and cost efficiency.
Scale Operations Dynamically: Adjust resource allocation and service capacity in real-time as tenant demands change, thus supporting fluctuating workloads without affecting the quality of service.

This approach not only maximizes resource utilization but also enhances operational flexibility, making it possible to cater to a broad spectrum of customer needs efficiently.
3. Design Considerations

Data Isolation: Guarantee strict separation and security of each tenant's data.
Efficient Resource Management: Optimize resource use across multiple tenants to ensure scalability and performance.
Seamless Integration: Ensure smooth integration with existing data processing frameworks.
Codebase Stability: Minimize changes to the existing codebase to simplify maintenance.
Backward Compatibility: Maintain compatibility with existing installations to ensure a smooth transition.

4. Out of Scope
The following elements are considered out of the scope of this proposal:

Connectivity to specific data stores.
Authentication services.
Gateway services for request routing.
Remote metadata storage management.

5. Proposed Architecture and Solutions
5.1. Resource Separation Between Tenants
Each tenant will be identified uniquely within the system using a customer-specific ID (tenant_id). This ID will be pivotal in clustering resources such as models, agents, and connectors, ensuring that each tenant's assets are managed independently.
5.2. Data Storage Models
Silo Model (Index per Tenant):

Description: Each tenant's data is stored in separate indices, named by appending the tenant identifier to a base index name.
Pros: Ensures excellent data isolation, enhances security, and improves performance by reducing query load.
Cons: Increases the complexity of managing a large number of indices, complicates cross-tenant queries, and may lead to higher operational costs.

Pool Model (Unified Index with Tenant Identifiers): (Recommended)

Description: A single index stores all tenant data, with documents tagged with tenant identifiers.
Pros: Simplifies index management, enhances scalability, and reduces overhead.
Cons: May cause performance variability and complicate the enforcement of stringent security measures.

5.3. Remote Data Storage
ml-commons plugin makes use of index .plugins-ml-model   to store ml model related metadata. With multi-tenancy plugin metadata information across different tenants will be persisted in a common data store. We will also implement a basic DAO layer to connect with any kind of remote data storage layer. Details in this RFC
5.4. API Design and Interaction
REST Layer:

Tenant IDs will be included in API requests, within URL parameters, to ensure proper routing and handling without exposing tenant details externally.
To further abstract tenant identification from users, tenant IDs will primarily be passed via HTTP headers, managed internally by the system.

POST /_plugins/_ml/models/_register?tenant_id=app-12345
{
    "name": "openAI-gpt-3.5-turbo",
    "function_name": "remote",
    "description": "test model",
    "connector_id": "a1eMb4kBJ1eYAeTMAljY"
}

Transport Layer:

The transport layer will handle tenant IDs explicitly within API requests to ensure secure and isolated internal communication between services. Example API payload:

{
  "name": "openAI-gpt-3.5-turbo",
  "function_name": "remote",
  "model_group_id": "1jriBYsBq7EKuKzZX131",
  "description": "test model",
  "connector_id": "a1eMb4kBJ1eYAeTMAljY",
  "tenant_id": "<Example application id>"
 }

5.5. Multi-tenancy use case identifier
We need to send this tenant_id in both layers (Rest and Transport). For multi-tenancy, this field should be mandatory and for regular opensearch this field needs to be optional. To distinguish that, we can open a setting field: plugins.ml_commons.independent_node which will be true for Multi-tenancy and false for Opensearch. Depending on this field we will mark tenant_id as mandatory/optional. We need this check for every transport and rest layer action.
6. API Support and Functionality
The following API functionalities will be supported:

CRUD operations for connectors.
Management of remote models.
Task management APIs.

7. BWC & Impact to current Single cluster use case
7.1 Enhanced Flexibility with Backward Compatibility
The introduction of multi-tenancy capabilities is designed to be fully backward compatible, ensuring that existing single-cluster setups can be upgraded without disruption. This seamless integration is facilitated by the plugins.ml_commons.independent_node setting, which distinguishes between single-tenant and multi-tenant environments. This approach ensures that all current functionalities remain intact while providing the option to leverage advanced multi-tenancy features.
7.2 Adaptive Access Control for Multi-Tenant Environments
In multi-tenant configurations, traditional model access controls are temporarily disabled to pave the way for a more robust, service-based authentication and authorization mechanism tailored for complex multi-tenant dynamics. This transitional phase is crucial for developing a secure, scalable multi-tenant architecture that can support diverse and dynamic tenant requirements without compromising security.
7.3 Utilizing Tenant ID in Single Tenant Clusters
For single tenant environments, the tenant_id parameter offers an innovative way to segment and manage resources on a project-by-project basis, even within a single tenant framework. This capability allows customers to organize and isolate resources effectively, providing an added layer of flexibility and control. Customers manage the tenant_id themselves, which enhances their ability to customize the setup according to their specific operational needs.
8. System Settings and Configuration
The system will use a mix of static and dynamic settings to manage operational policies and thresholds, ensuring that each tenant's environment is optimized for performance and security while maintaining the flexibility to adjust to specific needs.
9. Conclusion
This RFC proposes a strategic enhancement to the ML-Commons plugin to support robust multi-tenancy. Feedback on this proposal is encouraged to refine the approach and ensure the successful implementation of multi-tenancy in the ML-Commons ecosystem.

@dhrubo-os thanks for the RFC. It absolutely makes sense for auxiliary plugins to explore multi-tenancy pathways.
The proposal seems to be specific to ML Commons but I believe this is a common problem for other plugins. Do you have thoughts on solving it generically ?
For example, plugins like Alerting, Anomaly Detection, Flow Framework, SQL-Spark would have similar use-cases.

During the meeting we have discussed if it would make sense to change ml-commons from plugin to extension [1] since it gives more freedom regarding the deployment / scalability / implementation aspects. Alternatively, there is a general discussion regarding multi-tenancy support by OpenSearch Core [2], please feel free to contribute.
[1] https://github.com/opensearch-project/opensearch-sdk-java
[2] https://github.com/opensearch-project/OpenSearch/issues/13516

This looks like a very valid use case of the generic multi-tenancy support in OpenSearch we are discussing (as reta mentioned)!

To distinguish that, we can open a setting field: plugins.ml_commons.independent_node which will be true for Multi-tenancy and false for Opensearch. Depending on this field we will mark tenant_id as mandatory/optional. We need this check for every transport and rest layer action.

This can be done as simply adding a rule-based tenancy labeller. We have a draft PR for a similar use case to attach the tenancy label based on the authenticated user: https://github.com/opensearch-project/OpenSearch/pull/13374/files#diff-b4d03a88895891abd177d233d20dec21a8c87ec97b7042d158afeb9729f7b300 . Please take a look at the Meta issue mentioned by reta and also this draft PR to provide any feedback!

During the meeting we have discussed if it would make sense to change ml-commons from plugin to extension [1] since it gives more freedom regarding the deployment / scalability / implementation aspects.

@dbwiddis Do you have any input here?

During the meeting we have discussed if it would make sense to change ml-commons from plugin to extension [1] since it gives more freedom regarding the deployment / scalability / implementation aspects.

That's a potential end game, yes!   However, the extensions sdk is not in a mature enough state to make that transition right now.   We did get as far with extensions as identifying NamedRoutes and integrating with the security framework's token generation to pass around authenticated user information, so there's definitely some application of the work we previously did on extensions here.
More generally, I think this is part of an overall long term plan to separate data from code and logically separate things where we can continue to use them in a cluster environment while simultaneously enabling a faster/easier transition of data manipulation (compute, memory, storage, etc.) to other environments, both ones we can think of now and ones that may not yet exist...


Don't build metadata lineage with MSSQL Server when queries contain square brackets.

Affected module
Ingestion(metadata, lineage)
Describe the bug
The view definition contains queries like from [database].[schema].[table] in square brackets. Such requests are not processed by the parser and no connections are built. If we remove the square brackets in the query, then the lineage appear.
To Reproduce
This problem occurs when ingesting metadata from MSSQL Server. Specify a [schema] or [table] in the view definition in square brackets and you won't get the lineage.
Expected behavior
Perhaps for some reason the method in /ingestion/src/metadata/ingestion/lineage/parser.py insensitive_match does not work
Version:

OS: debian 11
Python version: 3.10
OpenMetadata version: 1.3.4
OpenMetadata Ingestion package version: openmetadata-ingestion[docker]==1.3.4

I got debug information:
Method Clean_table.schema.raw_name, r"[(.*)]", r"\1"
returns "db].[schema.table".
You need to fix regexp.

Hello @Uzifly this issue is fixed within the sqlfluff repo with this PR
Closing this issue. Thanks


Numbering can destory the link

When I take a link to a heading and after the number of the heading is changed, the link will be destroyed

same question

Hi @onlyafly! I found this plug-in through the Obsidian community page, looking for a way to number headings. And it's really great - thank you for creating and sharing it!
Unfortunately, this breaking of refrences to headings is a bit of a headache to me, and the only reason from refraining to fully embrace and utilize this plugin. Is there any chance you could have a look into this?
First glance at the forums seems that it's really not as straight forward as I hoped, especially across files.
The Persistent Links-plugin seems to hook into this a bit, maybe? But that's only for cut&paste.
A workaround for now: Use link to blocks instead of headings in the reference. Not ideal, because keeping the naming up-to-date is a manual task, but maybe it helps someone.

Thanks @Glokta0, I wish there was a way to fix this, but I'm not currently sure how.

Closing as duplicate of #26


Create devcontainer.json

Fixes #

THANK YOU JESUS CHRIST SON OF LIVING GOD

https://inx.lv/mgMh

The LORD is my shepherd; I shall not want.
He maketh me to lie down in green pastures: he leadeth me beside the still waters.
He restoreth my soul: he leadeth me in the paths of righteousness for his name's sake.
Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me; thy rod and thy staff they comfort me.

Surely goodness and mercy shall follow me all the days of my life: and I will dwell in the house of the LORD for ever.


Enum values for datafactory/factories/pipelines is missing values

Found as a result of #999
Bicep only knows about two values Container and Execution, but there are many more. Template reference knows about it, and the relevant info seems to be here:
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json#L1406

We will investigate for 0.4 and then decide if we can fix it now or need to punt until after 0.4

I believe this one has since been fixed - can no longer repro.


fix #97 - failing uint on windows x86

I can't reproduce or understand this error - do you have an idea?
source\mir\combinatorics\package.d(129,27): Error: safe function 'mir.combinatorics.__unittestL122_2' cannot call system function 'mir.combinatorics.binomial!(BigInt, int).binomial'

PR fixes the other two errors in #97, even though I think that we should use ulong for the max_states by default ...

I can't reproduce or understand this error - do you have an idea?

Yes, on 32 bit systems bigint uses assembler version.

Yes, on 32 bit systems bigint uses assembler version. So just remove @safe for unittest

Wow. Thanks!
(rebased with master)


Fix Door Remove Cancell

Fixes /cancel removedoor bugging arenas.

again can you explain what you are attempting to do here? I'm not quite following

/z cancel removedoor glitches the full arena doors.
The problem here is that they are not reloaded when enabling or reload, glitching arenas.

@realmaster42 I made some changes, tell me if that looks similar to what you were trying to do

Yup.

i would send it to you if it worked 100% still some zombie spawning problems


Request for some changes to label and links so that the visibility of the dense graphs can be improved

@codeout , if possible, can you please help me with implementing the following:

[x] 1. When hovering over a link, increase the size of the label (interface)
[x] 2. When hovering over a link, bring the label to the foreground (so that links are not on top of them)
[ ] 3. When hovering over a link, make a filled background for the label (if there are any links going under that label, it will not mess up the view)
[x] 4. hover over label (I tried .path-label:hover and others, but did not work)
[x] 5. If we can make all other labels invisible(except the one attached to the link/label) when hovering over a particular link (maybe a little farfetched??)

I'd think that I'm almost done implementing your requests.
Please see my demo at http://inet-henge.herokuapp.com/issue09.html
inet-henge implemented here is the new version that hasn't been released yet. I will publish it soon after I write some documents as it breaks backward compatibilities.
Anyway, you can use inet-henge as below once the new version is released.
1. When hovering over a link, increase the size of the label (interface)
You don't need anything special, just use CSS.
/* default text size */
.link text {
    font-size: 5px;
}

/* hovered text size */
.link text.hover tspan {
    font-size: 7px;
}

2. When hovering over a link, bring the label to the foreground (so that links are not on top of them)
In the new version, this is the default behavior.
3. When hovering over a link, make a filled background for the label (if there are any links going under that label, it will not mess up the view)
It's very complicated as SVG specification doesn't have a "background" attribute so we have to add extra rectangles as backgrounds behind link labels and move them to follow foreground labels. This requires big changes in inet-henge's internal, but it's difficult so far.
4. hover over label (I tried .path-label:hover and others, but did not work)
Should work in the new version.
5. If we can make all other labels invisible(except the one attached to the link/label) when hovering over a particular link (maybe a little farfetched??)
You can do this by adding some js code just before diagram.init() like below:
  diagram.on('rendered', () => {
    d3.selectAll('line').on('mouseover', function (d) {
      // Hide all labels
      d3.selectAll('.link text').style('visibility', 'hidden');

      // Show hovered labels
      d3.selectAll(`.link text.${d.path_id()}`).style('visibility', 'visible');
    }).on('mouseout', function (d) {
      if (currentScale() > 1.5) {
        // Show all labels
        d3.selectAll('.link text').style('visibility', 'visible');
      } else {
        // Hide hovered labels
        d3.selectAll(`.link text.${d.path_id()}`).style('visibility', 'hidden');
      }
    });

    // You can also change label position, which is, how far it is from the node along the link line
    d3.selectAll('.link textPath tspan').attr('x', '40');
    d3.selectAll('.link textPath.reverse tspan').attr('x', '-40');
  });

  function currentScale() {
    return d3.transform(diagram.svg.attr('transform')).scale[0];
  }

You can find full source code here:

http://inet-henge.herokuapp.com/issue09.html
http://inet-henge.herokuapp.com/css/issue09.css


Inital Plan: Materials research

Put down all the MS in computer science related programme research here

[ ] Abroad
[ ] India

Literature Research

[ ] Any other github repos talk on this
[ ]  Can it be part of awesome repos?

Put down all the MS in computer science related programme research here
* [ ]  Abroad

* [ ]  India

Online MS in Computer Sciences
India

IISC
IITM
IIT Guwahti
BITS

Abroad

Georgia Tech
UIUC
UT Austin Texas
Stanford

Literature Research
* [ ]  Any other github repos talk on this

* [ ]   Can it be part of awesome repos?

Different git repos talk on its individual ones, nothing in general.


Output function cannot calculate gradient

Hello,
I tried to run the Navier-Stokes example in Jupyter Notebook as shown in the tutorial. However, I found an issue that if the output function needs to calculate the gradient, the code gets an error said that the output of the neural networks doesn't require gradient. It is weird since the model can train but when I validate or test the model I will get this error message. The Hydra approach works fine. Do you have any idea why that happened?
Thanks!

For someone who might have the same issue, in Hydra configuration file, the inference_mode was set to false, but the default settings in lightning.Trainer is True. So you need to set inference_mode=false when you use Jupyter Notebook and define the trainer like trainer = pl.Trainer(inference_mode=false)


feat(Photos): use resized photo in popup

This uses the Google Image Proxy to display a resized version of the photo,
instead of the original Full-HD version.
It also adds style settings that will crop the image, if it is not in the desired aspect ratio
(300x200).

Sorry for the late response. I only recently started contributing to this Repository and I missed that open PullRequest.
Thanks for your contribution. I think it is valuable specially when viewing the map on low mobile data connection. Then the image popup is loading faster.


Create oddorevennumber.py

this file give odd or even
Checklist:

[ ] I have read and followed the contribution guidelines.
[ ] I have read and followed the how to open a pull request guide.
[ ] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

do not add random files

I apologize if it didn’t meet your expectations. My intention was to contribute positively to the project. Could you please remove the spam label? bcz it will affect on my future pull requests......

please remove it i have done a huge mistake

contributing a random file to an established project is the definition of spam, I will not remove the label

I understand your perspective on my contribution. I appreciate any guidance on how I can better align with the project’s goals in future submissions.

You should bother to learn what the project is about, and check if there are issues you can solve

I appreciate your advice and will take the time to better understand the project and identify relevant issues I can help with. I value your guidance and hope to contribute meaningfully in the future.

please kindly remove my spam label it can effect my gsoc and hackeroberfeat jounery

i will make make sure that i don't do this mistake from next time

stop asking, it will result in moderation actions. You made a PR against Hacktoberfest values, the spam label is part of the rules of Hacktoberfest.

We will not be removing the label, as this pull request is blatant spam. It does not follow our contributing guidelines in the slightest, and makes no meaningful contribution to the codebase or community.
If you continue to create noise on this PR, we will remove you from the organisation entirely.


Refactor slots to be named

Intro
Right now our slots are unnamed for slots. This is a no-no cause it leaves room for confusion.
Deliverable

Update all the  components to be named.

Documentation

https://docs.astro.build/en/core-concepts/astro-components/#named-slots

PR #62


Fix for issue #2112 related to checking password with stored password…

Closes #2112
Step1)
Into class AbstractUsernamePasswordAuthenticationHandler add new method (reason is that only this abstract class has passwordEncoder)
public boolean matches(final CharSequence rawPassword,final String password){
    return this.passwordEncoder.matches(rawPassword,password);
}

Step2)
Modify QueryDatabaseAuthenticationHandler particular if statement to
if (!this.matches(password, dbPassword)) {
                throw new FailedLoginException("Password does not match value on record.");
            }

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Robert Ohajda seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

You'll also need to add tests that confirm this behavior please.

This looks good to me, other than a few formatting/minor issues. Final question: do you want to port this change to master as well, or would you rather someone else does that?

i am ok to port it once you are ok with changes.

in order to port - should i use same issue or create new?

Use the same issue please, and thanks!

thanks, i will work on port now to master branch


⚠ Bofrost.es has degraded performance

In c73c959, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1538 ms

Resolved: Bofrost.es performance has improved in 9528732 after 6 minutes.


TextField select not disabled when within a disabled fieldset

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When a TextField select is within a disabled fieldset element, it is not disabled.
Expected Behavior 🤔
Similar to html input and select elements within a disabled fieldset, a TextField select should be disabled.
Steps to Reproduce 🕹
See here: https://codesandbox.io/s/material-demo-forked-kuv33?file=/demo.tsx
Steps:

Put a TextField within a fieldset element.
Set disabled on the fieldset element.

Context 🔦
I want to disable many inputs within a fieldset by applying disable to the fieldset rather than passing props to each causing many re-renders.   With forms having large numbers of inputs, disabling on the fieldset level is more performant.
Your Environment 🌎
Chrome

See also https://github.com/mui-org/material-ui/issues/24765 which is about hover affects on disabled TextFields.
If using the native select within the component won't work, perhaps Material-ui could make a Fieldset component that can be used with input controls to hide hover affects and disable behavior??
And do it via css (instead of passing props or using context which would cause re-renders).


Remove sections with information about datastores

Type of change

[ ] New sample
[ ] New feature
[ ] Bug fix
[x] Documentation

Summary
This PR removes sections in the README related to datastores, since this sample uses a Google Sheet as an external datastore instead of the Slack datastore.
Requirements

[x] I’ve checked my submission against the Samples Checklist to ensure it complies with all standards
[x] I have ensured the changes I am contributing align with existing patterns and have tested and linted my code
[x] I've read and agree to the Code of Conduct

@misscoded Ah I was unsure! Maybe there's a middle ground to explore? Perhaps we remove it from the Project Structure section but keep the informative section in the body?
If that sounds alright, I am also open to adding a line about this sample using Google Sheets as an alternative. But am also fine closing this PR altogether!

Since all have been formatted like this, I'd prefer to close this and leave it as is for the time being. We can revisit once we do the pivot on the whole samples narrative!

Makes sense and sounds like a plan!


I can not capture the Listener error, when the connection to the websocket fails

I have a connection to websocket, I tried it in different ways and I did not succeed.
I tried it with catch, catch error, try catch and with none of these ways I succeeded
I attach the reference image!

Closing because it is most likely not relevant any longer. @rjperaza Please check and either re-open or create a new issue if necessary.


Make custom region distort with panorama

My goal is similar to #1223, but I think my question is different enough for it to be its own issue.
I'm attempting to make a circular region that displays on the panorama when the user hovers over it. The region should be distorted such that it appears to be on the surface of the objects in the panorama. I have the necessary data about my panorama to compute the normal surface (a depth map), so I can determine how the region should be distorted when facing it directly. I also know how to set the CSS so that it appears distorted. However, as the view of the panorama changes (pitch and yaw), the distortion of the region changes. I put together this diagram with Google Maps to show what I mean, but I believe this is universal for projecting a panorama to a 2d view (the region's also a square, not circle, but I think the concept is the same):

In theory, I could write a function called whenever the pitch and yaw changes, and somehow compute the new distortion based on that pitch and yaw. However, I was wondering if I could just make the region distort the same as the panorama's distortion, essentially using pannellum to do this computation for me. If that's not possible, any tips on how to compute the distortion based on pitch and yaw would be really helpful, as I think the math is a bit beyond me.
And thanks for creating and sharing this amazing library, it's been invaluable for my project!

The "distortion" is just a pinhole camera projection.

essentially using pannellum to do this computation for me

This is done using WebGL, so it can't use anything with CSS. It can only project the panorama itself.
If you're using equirectangular images, you could load the image yourself and a pre-rendered overlay, selectively draw them to a <canvas>, and configure Pannellum similar to what's described in https://github.com/mpetroff/pannellum/issues/743#issuecomment-501481934.