Quiz me step1

This functionality allows users to quiz themselves on all the questions displayed on the current page view and takes into account if you're looking at "all", "mine", or "other" for that specific qset.
If there are no questions in your view then the qset button is disabled.
This PR also gets rid of the Quiz-Me buttons that currently appear next to each question. We felt that having the Quiz-All and individual Quiz-Me was redundant since people can anyway test themselves on individual questions by just going to the specific question page.
The next step in updating this feature is to have a final screen in the quiz-all modal that tells users how well they did on that specific quiz. This would involve keeping track of their success on each question.
 These additional features will be added in future PRs .

For Testing:
https://mighty-citadel-8094.herokuapp.com

Looks great, Katherine! Other than a few minor stylistic adjustments, I believe that this looks ready to be merged.

Nice work, this is a big code change with lots and lots of moving parts!

I notice that if I close the quiz modal before finishing the quiz, then click on Quiz All again, it actually 'resumes' where it left off. That's kinda neat, although I'm not sure it's what I'd expect as a user. Let's keep it that way and get PO feedback for the next iteration.

Small stuff, then it's a go!


Improve exception messages

This message is not helpful
https://github.com/neurogears/onix-refactor/blob/481a9150953d1893c916aebb1b0dda721362d527/OpenEphys.Onix/OpenEphys.Onix/ContextHelper.cs#L17
because it results in this inscrutable text presented to the end user:
"The selected device is not a 33 device."
For example. What was "selected"? What is a 33 device?

I am not sure if this should be a subset of this or its own issue, but a version of this exception appears when a np1.0e headstage is plugged and configured and no probe is found (which is common given the flex connector). That message at the very least should be more concise.

@jonnew This is why I didn't get rid of the DeviceID enum. If we were to pass as argument here the enum value instead of the number, we could get it's name directly from there using Enum.GetName.
Unfortunately this also means you are then stuck with maintaining a global register of names to device IDs in the core library, which may or may not be what we want (for this release would be fine anyway since it will be a mono-library anyway).
Another alternative is to pass in the type and assume there is a standard constant ID always with the same name that is accessed dynamically to get the device ID.

@jonnew @aacuevas I noticed these functions in clroni: https://github.com/open-ephys/liboni/blob/dababf06f10449e4de0ce2c67176081d4f24342b/api/clroni/clroni/onix.cs#L110
Would it make sense to expose these as static methods so that we ask the driver itself to do the string conversion? At least that way we wouldn't have to maintain our own copy of the mapping from ID to name.

@jonnew @aacuevas In the end decided to refactor context access to use types in the PR above. We can discuss pros and cons at our next meeting but after trying a number of different approaches I think this is the most reasonable compromise right now.


Great work! And some questions about tokenization

Hi, this work is very interesting and I am trying to incorporate the sub-graph vocabulary construction into my work. Here I am wondering about the specific mechanism of the algorithm dealing with the shared-edge circles. In my test, some sub-graphs (e.g., cccc, ccccc) will cause the error especially when you turn the sub-mol back to the smiles and then turn to mol again (chem_utils.py line 35-36). Is there any method to avoid this error? Thanks!

For re-implementation:
Example of error molecule:
CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc(N+[O-])cc3)c(CBr)c2c1=O
Vocab:
{"kekulize": false}
CCNC(=O)c1ccccc1	11	1741
CCNC(=O)OC(C)(C)C	10	4925
FC(F)(F)c1ccccc1	10	4233
c1ccc2ncccc2c1	10	3689
CCNCc1ccccc1	10	1972
COC(=O)c1ccccc1	10	1631
O=COCc1ccccc1	10	1606
FC(F)c1ccccc1	9	8522
c1ccc2[nH]ccc2c1	9	2864
c1ccc2nccc2c1	9	2388
NC(=O)c1ccccc1	9	1957
O=SHc1ccccc1	9	1761
FCOc1ccccc1	9	1605
FCc1ccccc1	8	12824
O=Cc1ccccc1	8	10698
COc1ccccc1	8	9141
ccc1ccccc1	8	4480
OCc1ccccc1	8	3301
N#Cc1ccccc1	8	2366
NCc1ccccc1	8	2197
CCc1ccccc1	8	1671
Cc1ccccc1	7	54766
Fc1ccccc1	7	11954
Clc1ccccc1	7	9896
CC(C)(C)OC=O	7	9214
Oc1ccccc1	7	6332
Nc1ccccc1	7	4814
Cc1ccccn1	7	1799
c1ccccc1	6	110036
c1ccncc1	6	5950
c1cncnc1	6	9161
c1ccncc1	6	5950
C1CNCCN1	6	3215
CCNC(C)=O	6	2500
CCOC(C)=O	6	1731
CCNCC	5	9318
ccccn	5	8898
c1cnnc1	5	6157
CCNC=O	5	5299
c1cscn1	5	4087
CCOC=O	5	3642
c1ccsc1	5	3426
c1cncn1	5	3415
CCCC=O	5	2276
c1cnoc1	5	2246
CCCCC	5	2215
ccccc	5	1983
CCC(=O)O	5	1782
cccc	4	398713
CCCC	4	22127
CCNC	4	18245
CC(C)C	4	17269
cccn	4	16517
CCCO	4	8103
CC(N)=O	4	6875
CCC=O	4	5783
ccnc	4	5341
cncn	4	4532
CC(=O)O	4	4277
CC(C)O	4	4011
FC(F)F	4	3326
NCC=O	4	3117
COC=O	4	2988
CSH=O	4	2750
C[Si]C	4	2400
CCCN	4	2370
CCN	3	108106
CCC	3	83520
CCO	3	34808
ccn	3	27601
O=CO	3	23122
O=S=O	3	9809
NC=O	3	7443
FCF	3	6907
CC=O	3	5834
O=[N+][O-]	3	5649
C[Si]	3	3954
ncn	3	3772
ccc	3	2952
CNC	3	2085
cc	2	916776
CC	2	411601
cn	2	84537
CO	2	70939
CN	2	20533
O=S	2	20124
CF	2	10561
[N+][O-]	2	5661
C=O	2	5036
C#N	2	2145
B	1	1411
Br	1	10267
C	1	1721387
Cl	1	27754
F	1	55578
I	1	3891
N	1	232938
O	1	260224
P	1	486
S	1	27025

Hi, I got this error from RDKit when creating molecule object from the given SMILES:
>>> from rdkit import Chem
>>> Chem.MolFromSmiles('CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc(N+[O-])cc3)c(CBr)c2c1=O')
[16:39:54] SMILES Parse Error: syntax error while parsing: CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc(N+[O-])cc3)c(CBr)c2c1=O
[16:39:54] SMILES Parse Error: Failed parsing SMILES 'CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc(N+[O-])cc3)c(CBr)c2c1=O' for input: 'CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc(N+[O-])cc3)c(CBr)c2c1=O'

It seems that the SMILES is illegal and RDKit fails to parse it.

Sorry, I didn't notice that GitHub automatically transforms the (=O) to a link. You can run:
from mol_bpe import Tokenizer
from rdkit import Chem

Chem.MolFromSmiles('CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc([N+](=O)[O-])cc3)c(CBr)c2c1=O')
tokenizer = Tokenizer("vocab_100.txt")

tokenizer("CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc([N+](=O)[O-])cc3)c(CBr)c2c1=O")

And my error here is:
AttributeError                            Traceback (most recent call last)
<ipython-input-5-4ebf426e8a59> in <module>
      5 tokenizer = Tokenizer("/data/chenxingran/retrosynthesis/src/megan/data/uspto_50k/vocab_100.txt")
      6
----> 7 tokenizer("CC(C)S(=O)c1cn(Cc2c(F)cccc2F)c2sc(-c3ccc([N+](=O)[O-])cc3)c(CBr)c2c1=O")

/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/mol_bpe.py in __call__(self, mol)
    251
    252     def __call__(self, mol):
--> 253         return self.tokenize(mol)
    254
    255     def __len__(self):

/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/mol_bpe.py in tokenize(self, mol)
    224                     ad_mat[i][j] = ad_mat[j][i] = 1
    225         group_idxs = [x[1] for x in res]
--> 226         return Molecule(smiles, group_idxs, self.kekulize)
    227
    228     def idx_to_subgraph(self, idx):

/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/molecule.py in __init__(self, smiles, groups, kekulize)
     79             subgraph_mol = get_submol(rdkit_mol, group, kekulize)
     80             subgraph_smi = mol2smi(subgraph_mol)
---> 81             atom_mapping = get_submol_atom_map(rdkit_mol, subgraph_mol, group, kekulize)
...
---> 38     for atom in submol.GetAtoms():
     39         if atom.GetSymbol() == 'N' and (atom.GetExplicitValence() == 3 and atom.GetFormalCharge() == 1) or atom.GetExplicitValence() < 3:
     40             atom.SetNumRadicalElectrons(0)

AttributeError: 'NoneType' object has no attribute 'GetAtoms'

It seems that the RDKit found some sub-graphs of the molecule to be invalid.

I see. This is because in unkekulized form each atom is assigned a label indicating whether it is in an aromatic system (lower case atom symbols in the SMILES), and fragments containing only parts of the aromatic systems like cccc is actually illegal SMILES. If replacing aromatic bonds with alternating single/double bonds is acceptable in your situation, the easiest way to fix this error is to set kekulize=True when constructing the vocabulary.
I am also working on other ways to fix this bug for better supporting of unkekulized molecule representation.

Hi, I have fixed this bug in the latest commit e2977a1e38ff6559a93de5c0409e3607e2f0d563. You can pull the updates and have a try~

Perfect! It does work.
When I utilize the unkekulized version to test the tokenization yesterday, I found another issue. Can u give a try for the following example utilizing the same vocabulary? Thanks!
C[C@@H](c1cccc(C(C)(C)O[SiH2]C(C)(C)C)n1)N(CCc1ccccc1)C(=O)OC(C)(C)C

The error I got here is
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/mol_bpe.py", line 226, in tokenize
    return Molecule(smiles, group_idxs, self.kekulize)
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/molecule.py", line 80, in __init__
    subgraph_smi = mol2smi(subgraph_mol)
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/utils/chem_utils.py", line 15, in mol2smi
    return Chem.MolToSmiles(mol)
Boost.Python.ArgumentError: Python argument types in
    rdkit.Chem.rdmolfiles.MolToSmiles(NoneType)
did not match C++ signature:
    MolToSmiles(RDKit::ROMol mol, bool isomericSmiles=True, bool kekuleSmiles=False, int rootedAtAtom=-1, bool canonical=True, bool allBondsExplicit=False, bool allHsExplicit=False, bool doRandom=False)

It seems that the tokenizer here treats Si itself as a subgraph, while rdkit seems not to be able to deal with such a case.

Perfect! It does work.
When I utilize the unkekulized version to test the tokenization yesterday, I found another issue. Can u give a try for the following example utilizing the same vocabulary? Thanks!
C[C@@H](c1cccc(C(C)(C)O[SiH2]C(C)(C)C)n1)N(CCc1ccccc1)C(=O)OC(C)(C)C

The error I got here is
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/mol_bpe.py", line 226, in tokenize
    return Molecule(smiles, group_idxs, self.kekulize)
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/molecule.py", line 80, in __init__
    subgraph_smi = mol2smi(subgraph_mol)
  File "/data/chenxingran/retrosynthesis/src/megan/PS-VAE/ps/utils/chem_utils.py", line 15, in mol2smi
    return Chem.MolToSmiles(mol)
Boost.Python.ArgumentError: Python argument types in
    rdkit.Chem.rdmolfiles.MolToSmiles(NoneType)
did not match C++ signature:
    MolToSmiles(RDKit::ROMol mol, bool isomericSmiles=True, bool kekuleSmiles=False, int rootedAtAtom=-1, bool canonical=True, bool allBondsExplicit=False, bool allHsExplicit=False, bool doRandom=False)

It seems that the tokenizer here treats Si itself as a subgraph, while rdkit seems not to be able to deal with such a case.

Hi~ I've added the support for Si atoms in the latest commit d5c09d695b044ecc8fda67b096164fb0663e940c. It seems that the SMILES of a single Si atom should be [Si] instead of Si, which is different from other atoms. Therefore I added a special branch for Si in the get_submol function.

Thanks for the update!


Roll Flutter Engine from ea1d0d28e26f to 830ab2f5f22f (4 revisions)

https://github.com/flutter/engine/compare/ea1d0d28e26f...830ab2f5f22f
2023-09-08<EMAIL_ADDRESS>Roll ANGLE from 99d39241ad4d to e60556f75b68 (1 revision) (flutter/engine#45569)
2023-09-08<EMAIL_ADDRESS>[Impeller] Aiks image filters; allow setting effect transforms after FilterContents instantiation. (flutter/engine#45530)
2023-09-08<EMAIL_ADDRESS>Roll Skia from ce3ec572ae77 to ece9f3a15b08 (1 revision) (flutter/engine#45568)
2023-09-08<EMAIL_ADDRESS>Roll Skia from fb4faa8646f8 to ce3ec572ae77 (1 revision) (flutter/engine#45567)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Add integration tests for consented token enabled scenarios

Purpose

Add test cases to test the JWT access token behavior, user info endpoint behavior, and refresh token behavior when the CONSENTED_TOKEN column is added to the IDN_OAUTH2_ACCESS_TOKEN.
Add test cases to test https://github.com/wso2/product-is/issues/13652

Related PR(s)

https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/1870

** Note
Merge after https://github.com/wso2/product-is/pull/14192

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2653854414

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2653854414
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2654717947

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2654717947
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2655437332

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2662837483

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2662837483
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2664875393

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2664875393
Status: success

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2717131571

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2717131571
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/2718353312

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/2718353312
Status: success


Use z3 version 4.9.0

There is a new release of z3 out today.
It doesn't seem to get picked up by the build.
It has some npm version dependencies as well that have changed.
With this release we should be able to remove some of the no-build tags.

Let me look into it

Note, this may be blocking at the moment
https://github.com/Z3Prover/z3/pull/6139

So we roll back to 4.8.7 until notified?

I actually don't think that it is a good idea to automate updating z3. A broken / incompatible version can break our code. For any dependency including z3-solver, we would need to test if a newer version is compatible with our codebase before upgrading it.

The update is simple as well. Running yarn install <package_name> locally / in codespaces (not through github workflows) will update package.json and yarn.lock accordingly, which will be later picked up by github actions.

I just enforced z3-solver 4.8.17 on main. Ping me when the update is ready and I'll test and update manually.

4.9.1 is out now, npmjs should be updated soon. Let's see if this one works.

4.9.1 merged to main now. I added an ignore-errors flag to the code snippet
(simplify (_char 100000000))

per your request.


fix(nextjs): Support apiKey, jwtKey and frontendApi as runtime values

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/backend-core
[ ] @clerk/clerk-sdk-node
[ ] @clerk/edge
[ ] @clerk/shared
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Adds support for passing jwtKey, apiKey and frontendApi as runtime values in clerk/nextjs

Closing this one as we don't need to merge yet (hotfix branch, will cherry-pick the required fix)


jQuery type definitions are automatically included

TypeScript Version:  2.7.2

Search Terms: types,jquery,implicit,import
Code
test.ts
$("body").html("Hello");

tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "module": "es6",
    "moduleResolution": "node",

    "sourceMap": true,
    "noEmit": true,
    "typeRoots": [],
    "types": [],

    "allowSyntheticDefaultImports": true,
    "allowUnusedLabels": true,
    "strictNullChecks": true
  },
  "compileOnSave": false,
  "typeAcquisition": {
    "enable": false,
  },
  "include": [
    "app/assets/javascripts"
  ]

Expected behavior:
$ and jQuery should be undefined.
I expect to have to import $:
import $ from "jquery";

Actual behavior:
The TypeScript compiler magically knows what $ and jQuery are without importing the types.
I don't want these types to be imported implicitly, that's why I'm setting types and typesRoots. But somehow the compiler does know what they are.
I've tried disabling this behavior in all kinds of ways, but I can't seem to fix it.
My package.json (I've removed a few irrelevant dependencies):
{
  "private": true,
  "dependencies": {
    "@rails/webpacker": "^3.2.2",
    "jquery": "^2.2.4",
    "jquery-ui": "^1.12.1",
    "jquery-ujs": "^1.2.2",
  },
  "devDependencies": {
    "@types/jquery": "^2.0.48",
    "@types/jqueryui": "^1.12.2",
    "ts-loader": "^3.5.0",
    "typescript": "^2.7.2",
    "webpack": "^3.11.0",
    "webpack-dev-server": "^2.11.1"
  }
}

I'm using the latest Visual Studio Code. My .vscode/settings.json instructs to use the bundled TypeScript version: { "typescript.tsdk": "node_modules/typescript/lib" }

Is this a VS Code issue? If you run the compiler from the command line, does it compile successfully?
tsc -p tsconfig.json

This is a TypeScript compiler issue.
It is compiling successfully but I want the compiler to fail if I don't do the proper jQuery import. The code shouldn't magically assume that jQuery is defined, I want it to be explicitly imported (like the other libraries I'm using).

I have typeRoots set to an empty array
I have types set to an empty array
I'm not importing from "jquery" anywhere

To my knowledge the compiler shouldn't be able to resolve jQuery or $.
Eventually I want to remove jQuery from my project, so I would like to keep track where jQuery is being used.

I've created a small test application. It seems if I import jQuery in file A.ts, then it is also automatically available in file B.ts. Is that normal behavior?

@Zyphrax it's not a compiler problem, it's the way the types in jquery.d.ts are currently declared. The jquery typings include:
declare const jQuery: JQueryStatic;
declare const $: JQueryStatic;

These tell the TypeScript compiler that $ and jQuery are global variables. Once jquery.d.ts is included in the project's dependency graph, every file will 'see' $ and jQuery as globals.
It looks like jquery.d.ts is written the old way and needs some updating - it should export its types and values, instead of declaring them. But then that might break other people's code. I'm not a jquery user so I'm not sure what the best way forward is. But hopefully this at least sheds light on the problem you are seeing.
Looks like other people are also wanting to know how to do this: #12473.

Ideally it'd be written as a module and use export as namespace $; export as namespace jQuery; to make it available as a global in global contexts. But there's an issue: for real, jquery always patches itself onto the global scope. Like, unless you have a special build of jquery that's removed the global patching behavior, once it's run once, there will be a global $ and a global jQuery.

Ah I see, thank you. I'm a bit confused though why you would ever want a global to apply to all .ts files. When I import something in file X, I expect it to only affect the file I'm importing it in. Someone adding a class in the project could potentially change the way the rest of the project works, that sounds a bit scary.

Yep, and it's not a recommended way to build a package, for sure, but that's actually how jQuery works.

Would it perhaps be possible to have a compiler option to limit the scope of these globals? Or would that be a lot of work.
For now I might have a look at this: https://www.npmjs.com/package/jquery-ts

It looks like (?) that package will still put the jQuery stuff in the globals, looking at it's source - it just doesn't report that in its type definitions. I'd personally not trust it, since if you accidentally include two conflicting jQuery versions, nothing will complain (when it probably should, since one will overwrite the other). The optimal solution is a custom jQuery build with exports/globals excluded and a modified definition file to remove the global declarations, I just don't know how feasible that'd be for you.


Nebula and OPNsense issues

I'm having issues getting OPNsense and nebula to play together nicely
OPNsense VM itself can ping each nebula host fine, but clients on that OPNsense network can't. I have tried to set a gateway and route manually, to no avail. These routes already seem to be there anyway.
I also can't get the unsafe_routes thing to work either. The OPNsense cert has the subnet added when I made the cert, and all the other clients have the route configured to go via the OPNsense router's nebula IP. Can't ping anything
Router nebula config
# This is the nebula example configuration file. You must edit, at a minimum, the static_host_map, lighthouse, and firewall sections
# Some options in this file are HUPable, including the pki section. (A HUP will reload credentials from disk without affecting existing tunnels)

# PKI defines the location of credentials for this node. Each of these can also be inlined by using the yaml ": |" syntax.
pki:
  # The CAs that are accepted by this node. Must contain one or more certificates created by 'nebula-cert ca'
  ca: ca.crt
  cert: cert.pem
  key: key.pem
  #blocklist is a list of certificate fingerprints that we will refuse to talk to
  #blocklist:
  #  - c99d4e650533b92061b09918e838a5a0a6aaee21eed1d12fd937682865936c72

# The static host map defines a set of hosts with fixed IP addresses on the internet (or any network).
# A host can have multiple fixed IP addresses defined here, and nebula will try each when establishing a tunnel.
# The syntax is:
#   "{nebula ip}": ["{routable ip/dns name}:{routable port}"]
# Example, if your lighthouse has the nebula IP of <IP_ADDRESS> and has the real ip address of <IP_ADDRESS> and runs on port 4242:
static_host_map:
  "<IP_ADDRESS>": ["nebula.swagnet.cf:4242"]

lighthouse:
  # am_lighthouse is used to enable lighthouse functionality for a node. This should ONLY be true on nodes
  # you have configured to be lighthouses in your network
  am_lighthouse: false
  # serve_dns optionally starts a dns listener that responds to various queries and can even be
  # delegated to for resolution
  #serve_dns: false
  #dns:
    # The DNS host defines the IP to bind the dns listener to. This also allows binding to the nebula node IP.
    #host: <IP_ADDRESS>
    #port: 53
  # interval is the number of seconds between updates from this node to a lighthouse.
  # during updates, a node sends information about its current IP addresses to each node.
  interval: 60
  # hosts is a list of lighthouse hosts this node should report to and query from
  # IMPORTANT: THIS SHOULD BE EMPTY ON LIGHTHOUSE NODES
  # IMPORTANT2: THIS SHOULD BE LIGHTHOUSES' NEBULA IPs, NOT LIGHTHOUSES' REAL ROUTABLE IPs
  hosts:
    - "<IP_ADDRESS>"

  # remote_allow_list allows you to control ip ranges that this node will
  # consider when handshaking to another node. By default, any remote IPs are
  # allowed. You can provide CIDRs here with `true` to allow and `false` to
  # deny. The most specific CIDR rule applies to each remote. If all rules are
  # "allow", the default will be "deny", and vice-versa. If both "allow" and
  # "deny" rules are present, then you MUST set a rule for "<IP_ADDRESS>/0" as the
  # default.
  #remote_allow_list:
    # Example to block IPs from this subnet from being used for remote IPs.
    #"<IP_ADDRESS>/12": false

    # A more complicated example, allow public IPs but only private IPs from a specific subnet
    #"<IP_ADDRESS>/0": true
    #"<IP_ADDRESS>/8": false
    #"<IP_ADDRESS>/24": true

  # local_allow_list allows you to filter which local IP addresses we advertise
  # to the lighthouses. This uses the same logic as `remote_allow_list`, but
  # additionally, you can specify an `interfaces` map of regular expressions
  # to match against interface names. The regexp must match the entire name.
  # All interface rules must be either true or false (and the default will be
  # the inverse). CIDR rules are matched after interface name rules.
  # Default is all local IP addresses.
  #local_allow_list:
    # Example to block tun0 and all docker interfaces.
    #interfaces:
      #tun0: false
      #'docker.*': false
    # Example to only advertise this subnet to the lighthouse.
    #"<IP_ADDRESS>/8": true

# Port Nebula will be listening on. The default here is 4242. For a lighthouse node, the port should be defined,
# however using port 0 will dynamically assign a port and is recommended for roaming nodes.
listen:
  # To listen on both any ipv4 and ipv6 use "[::]"
  host: "[::]"
  port: 4242
  # Sets the max number of packets to pull from the kernel for each syscall (under systems that support recvmmsg)
  # default is 64, does not support reload
  #batch: 64
  # Configure socket buffers for the udp side (outside), leave unset to use the system defaults. Values will be doubled by the kernel
  # Default is net.core.rmem_default and net.core.wmem_default (/proc/sys/net/core/rmem_default and /proc/sys/net/core/rmem_default)
  # Maximum is limited by memory in the system, SO_RCVBUFFORCE and SO_SNDBUFFORCE is used to avoid having to raise the system wide
  # max, net.core.rmem_max and net.core.wmem_max
  #read_buffer: 10485760
  #write_buffer: 10485760

# EXPERIMENTAL: This option is currently only supported on linux and may
# change in future minor releases.
#
# Routines is the number of thread pairs to run that consume from the tun and UDP queues.
# Currently, this defaults to 1 which means we have 1 tun queue reader and 1
# UDP queue reader. Setting this above one will set IFF_MULTI_QUEUE on the tun
# device and SO_REUSEPORT on the UDP socket to allow multiple queues.
#routines: 1

punchy:
  # Continues to punch inbound/outbound at a regular interval to avoid expiration of firewall nat mappings
  punch: true

  # respond means that a node you are trying to reach will connect back out to you if your hole punching fails
  # this is extremely useful if one node is behind a difficult nat, such as a symmetric NAT
  # Default is false
  respond: true

  # delays a punch response for misbehaving NATs, default is 1 second, respond must be true to take effect
  #delay: 1s

# Cipher allows you to choose between the available ciphers for your network. Options are chachapoly or aes
# IMPORTANT: this value must be identical on ALL NODES/LIGHTHOUSES. We do not/will not support use of different ciphers simultaneously!
cipher: chachapoly

# Local range is used to define a hint about the local network range, which speeds up discovering the fastest
# path to a network adjacent nebula node.
#local_range: "<IP_ADDRESS>/24"

# sshd can expose informational and administrative functions via ssh this is a
#sshd:
  # Toggles the feature
  #enabled: true
  # Host and port to listen on, port 22 is not allowed for your safety
  #listen: <IP_ADDRESS>:2222
  # A file containing the ssh host private key to use
  # A decent way to generate one: ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N "" < /dev/null
  #host_key: ./ssh_host_ed25519_key
  # A file containing a list of authorized public keys
  #authorized_users:
    #- user: steeeeve
      # keys can be an array of strings or single string
      #keys:
        #- "ssh public key string"

# Configure the private interface. Note: addr is baked into the nebula certificate
tun:
  # When tun is disabled, a lighthouse can be started without a local tun interface (and therefore without root)
  disabled: false
  # Name of the device
  dev: tun1
  # Toggles forwarding of local broadcast packets, the address of which depends on the ip/mask encoded in pki.cert
  drop_local_broadcast: false
  # Toggles forwarding of multicast packets
  drop_multicast: false
  # Sets the transmit queue length, if you notice lots of transmit drops on the tun it may help to raise this number. Default is 500
  tx_queue: 500
  # Default MTU for every packet, safe setting is (and the default) 1300 for internet based traffic
  mtu: 1300
  # Route based MTU overrides, you have known vpn ip paths that can support larger MTUs you can increase/decrease them here
  routes:
    #- mtu: 8800
    #  route: <IP_ADDRESS>/16
  # Unsafe routes allows you to route traffic over nebula to non-nebula nodes
  # Unsafe routes should be avoided unless you have hosts/services that cannot run nebula
  # NOTE: The nebula certificate of the "via" node *MUST* have the "route" defined as a subnet in its certificate
  #unsafe_routes:
  #  - route: <IP_ADDRESS>/24
      via: <IP_ADDRESS>
    #- route: <IP_ADDRESS>/24
    #  via: <IP_ADDRESS>
    #  mtu: 1300 #mtu will default to tun mtu if this option is not sepcified

# TODO
# Configure logging level
logging:
  # panic, fatal, error, warning, info, or debug. Default is info
  level: info
  # json or text formats currently available. Default is text
  format: text
  # Disable timestamp logging. useful when output is redirected to logging system that already adds timestamps. Default is false
  #disable_timestamp: true
  # timestamp format is specified in Go time format, see:
  #     https://golang.org/pkg/time/#pkg-constants
  # default when `format: json`: "2006-01-02T15:04:05Z07:00" (RFC3339)
  # default when `format: text`:
  #     when TTY attached: seconds since beginning of execution
  #     otherwise: "2006-01-02T15:04:05Z07:00" (RFC3339)
  # As an example, to log as RFC3339 with millisecond precision, set to:
  #timestamp_format: "2006-01-02T15:04:05.000Z07:00"

#stats:
  #type: graphite
  #prefix: nebula
  #protocol: tcp
  #host: <IP_ADDRESS>:9999
  #interval: 10s

  #type: prometheus
  #listen: <IP_ADDRESS>:8080
  #path: /metrics
  #namespace: prometheusns
  #subsystem: nebula
  #interval: 10s

  # enables counter metrics for meta packets
  #   e.g.: `messages.tx.handshake`
  # NOTE: `message.{tx,rx}.recv_error` is always emitted
  #message_metrics: false

  # enables detailed counter metrics for lighthouse packets
  #   e.g.: `lighthouse.rx.HostQuery`
  #lighthouse_metrics: false

# Handshake Manger Settings
#handshakes:
  # Handshakes are sent to all known addresses at each interval with a linear backoff,
  # Wait try_interval after the 1st attempt, 2 * try_interval after the 2nd, etc, until the handshake is older than timeout
  # A 100ms interval with the default 10 retries will give a handshake 5.5 seconds to resolve before timing out
  #try_interval: 100ms
  #retries: 20
  # trigger_buffer is the size of the buffer channel for quickly sending handshakes
  # after receiving the response for lighthouse queries
  #trigger_buffer: 64

# Nebula security group configuration
firewall:
  conntrack:
    tcp_timeout: 12m
    udp_timeout: 3m
    default_timeout: 10m
    max_connections: 100000

  # The firewall is default deny. There is no way to write a deny rule.
  # Rules are comprised of a protocol, port, and one or more of host, group, or CIDR
  # Logical evaluation is roughly: port AND proto AND (ca_sha OR ca_name) AND (host OR group OR groups OR cidr)
  # - port: Takes `0` or `any` as any, a single number `80`, a range `200-901`, or `fragment` to match second and further fragments of fragmented packets (since there is no port available).
  #   code: same as port but makes more sense when talking about ICMP, TODO: this is not currently implemented in a way that works, use `any`
  #   proto: `any`, `tcp`, `udp`, or `icmp`
  #   host: `any` or a literal hostname, ie `test-host`
  #   group: `any` or a literal group name, ie `default-group`
  #   groups: Same as group but accepts a list of values. Multiple values are AND'd together and a certificate would have to contain all groups to pass
  #   cidr: a CIDR, `<IP_ADDRESS>/0` is any.
  #   ca_name: An issuing CA name
  #   ca_sha: An issuing CA shasum

  outbound:
    # Allow all outbound traffic from this node
    - port: any
      proto: any
      host: any

  inbound:
    # Allow icmp between any nebula hosts
    - port: any
      proto: any
      host: any

I've experienced the same with OPNsense, except in two separate scenarios occurring at the same time:

WAN to LAN needing UDP static port mapping as described in the "punching through" post from mrhase0815, which helps with those issues.

LAN1 to LAN2 when a single OPNsense site has multiple layer 3 networks defined using separate network ports on the router. This requires the same UDP static port mapping as described for the WAN solution, but from LAN1 to LAN2 and LAN2 to LAN1 (or additional LANs if there are more than two)

Local VMs or physical machines on the same LAN or multiple LANs on a single OPNsense site, where some machines can ping the lighthouse and hosts outside of the network and some cannot, or machines will randomly be able to do so but with no apparent pattern. This is solved by setting port: 0 in the Nebula config, which allows the client machines to choose a random UDP port instead of always assigning to 4242. My theory here is that OPNsense has a limit of how many local network IPs can be static mapped using 4242 for NAT traversal. Using a dynamic port (or choosing alternate ports for each local machine) may resolve these intermittent connectivity issues.

Nebula 1.6.0 is released with a Relay feature, to cover cases like a Symmetric NAT.
https://github.com/slackhq/nebula/pull/678
Check out the example config to see how to configure a Nebula node to act as a relay, and how to configure other nodes to identify which Relay can be used by peers for access.
Take a look at https://github.com/slackhq/nebula/issues/33#issuecomment-1180569297 for more info on how to configure it.

@em-winterschon

This is solved by setting port: 0 in the Nebula config, which allows the client machines to choose a random UDP port instead of always assigning to 4242. My theory here is that OPNsense has a limit of how many local network IPs can be static mapped using 4242 for NAT traversal.

I've been having really odd connection issues where some hosts could not reach the external lighthouses. Opnsense's firewall logs showed the traffic was moving fine but a good chunk of my hosts were not getting replies from the lighthouse. They would connect fine if I setting it to a port other than 4242.


Fixes overly-aggressive auto-collapse for "Collapse to Definitions"

Fix for #1259. Updates autoCollapse to only automatically collapse Function Blocks (excluding arrow-function bodies) to be more consistent with languages such as C#.

Hi @rbuckton, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

:+1:


What is the C# equivalent of the C++ align.process() class call?

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win (10)

Platform
PC

SDK Version
2.25.0

Language
C#

Issue Description
I am creating a C# version of the rs-dnn example solution provided by Intel RealSense.
In rs-dnn, there are a few lines that align the frames of the color stream:
rs2::align align_to(RS2_STREAM_COLOR);
// Wait for the next set of frames
auto data = pipe.wait_for_frames();
// Make sure the frames are spatially aligned
data = align_to.process(data);
I was wondering, what is the C# equivalent to this? Do I have to process each frame in a custom processing block or is there an easier way to apply the alignment to my frames?

I hope that the link below will be of help to you.
https://github.com/IntelRealSense/librealsense/issues/4719

@MartyG-RealSense That was what I needed. Thanks for the help, I appreciate it!


Slides not ready after initializing swiper after destroying it

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 6.3.0 and higher

Platform/Target and Browser Versions: Independent of platform/browser

What you did
Initializing the swiper, it works fine. The new a11y options for the slides can be set and they are shown in the DOM.
After destroying the swiper and initializing it again, everything works fine, except the a11y options for the slides. Looking deeper into the code, the array swiper.slides is empty in src/components/a11y/a11y.js:
    // Slide
    if (params.itemRoleDescriptionMessage) {
      swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);
    }
    swiper.a11y.addElRole($(swiper.slides), 'group');
    swiper.slides.each((slideEl) => {
      const $slideEl = $(slideEl);
      swiper.a11y.addElLabel($slideEl, `${$slideEl.index() + 1} / ${swiper.slides.length}`);
    });

This only happens after destroying the swiper using swiper.destroy() and initializing it again with swiper=newSwiper(...) with the same parameters without page reload. All a11y parameters work fine, only the ones for the slides are not applied because the slides are not there. It takes some milliseconds (works with tested timeout of 10 ms for
swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);

).
Do you have an idea why this happens? Or even better an idea how to fix it?

Would be good to see live demo on codepen, codesandbox, etc.

Sorry for my late answer. I tried to reproduce the issue in codesandbox, but the problem does not show up there. So the issue is most likely to be found in our code ...
Please feel free to close this issue :)

Thanks for getting back. If you can replicate issue in isolated env, you can create a new one then


Small pytorch notebook bug fix

This (a) fixes a small variable slipup (should be using 2 different models) and (b) fixes the readme link so that GitHub knows its actually a link

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @ryanthompson591


Extra search info

When searching for substr, dropdown shows:
routine abs in file Class Cool
the "in file" doesn't help the users, and the spacing and font rendering seems weird.
I recommend something like
routine abs in class Cool

with abs highlighted and class Cool highlighted, and no extra space before "in", lowercase class (to make it look more like the actual class declaration)

Not sure if this is on master, or only part of the pull request under consideration; not clear which version is running on raku-new

the "in file" may have made sense for the language pages, but even then, say "in " is sufficient.

new-raku is built from another repo: https://github.com/finanalyst/raku-documentation-site-dev
This was where I built the website when I was developing it, and it also contains the older site code.

doc-website and  raku-documentation-site-dev should be exactly the same except that the more dropdown contains a link to Collection-examples.

I agree 'title of page' is a far better idea

About the spacing: this is to differentiate between the 'value' found when filtering using the chars in the search bar, and the extra information available about that particular element.
While what @coke says in first comment is reasonable for a simple method, try say in the bar. Now you will get a category 'Heading' and a title about the difference between 'say,put, print', which I think is useful. But the info section is less interesting, other than it tells you which source file it is in.
The different information can be found in Website/plugins/ogdenwebb/add-search.raku. It is obviously possible to have different info strings for different categories.
Suggestion?

The search shouldn't be returning a heading of "method say in file x" and also a method of "method say in file x" (they differ right now only in how the file name is formatted).
Most of the headings are duplicative here. I'd also move the headings section to the end, as in my experience, I'm more likely to be looking up something by name (so I want 'methods' ahead of headings in that case, e.g.)
For the ones that remain after that cleanup, I'd wrap the heading in quotes, so something like:
section "Atomic operations on Scalar" on type Scalar

About the highlighting after a cursor down. Plain autocomplete does the highlighting of the menu. Our version is souped up, so the menu-item has been lost.
About putting the extra item info into the search bar: I cannot see how to do that.
Removal of duplicates. This is doable. It may take some time.
Moving Header / Glossary to the end. Will do.

Started working on this.

More consistent with suggestions of @coke
Use of ':' char to differentiate between an entry and information about entry
Looking to see if the auto-focus with cursor motion can be fixed.

Added my comments to https://github.com/Raku/doc-website/pull/66, I think they are highly related to this issue.

If there's work to be done on Extended Search, let's open a separate ticket for that (For initial release, we can consider hiding the extended search)

+1 hiding extended search to begin with

The search bar now highlights the drop-down menu, but
a) hovering over a menu item, and moving a cursor over the menu item interact poorly
b) moving down the menu causing the highlight is not the best styling
c) when the cursor moves to the bottom of a large menu, and the menu is not visible in the window, the menu does not scroll up.
These are all soluble with CSS. The relevant files are in Website/plugins/search-bar.
It would be good if someone could have a look and fix these as I am not so good at styling.

@2colours Marton could you look at new-raku.finanalyst.org to see whether there are more issues than the three just mentioned above?

added #96 to improve search bar a bit

@finanalyst sorry - yes, I can still produce inconsistencies just by moving the mouse up and down, sometimes hovering the categories. Also, the selected entry still isn't scrolled into view.

@2colours a) not sure quite what you mean by 'inconsistencies'.
b) moving the cursor with the up/down keys will move the selected element off the bottom of the menu. I have tried very hard to find a solution to this.
This search bar functionality is very complex because it starts with a UI jQuery  plugin (catcomplete), and then adds all sorts of extras. The problem is compounded because the catcomplete plugin creates two ul lists, one in the div below the search bar input tag, and another at the bottom of the page. The one in menu div contains what is seen in the menu, and the one at the bottom of the page contains the filtered items (I think). But I am not entirely sure. The two lists seem to be synchronised by element id's. I think the problems we face arise out of the synchronisation.
Essentially, we have a sorted array of hashes that is added to the top of a js template. The js template then filters the array according to characters in the search bar.
I think we should replace the search bar with a bespoke js function, rather than relying on a highly leveraged jQuery plugin.

closing this issue as complete. Other search  improvements are tracked elsewhere


Update and improved root.html

Summary

Ticket Link

Related Pull Requests

Has server changes (please link here)
Has redux changes (please link here)
Has mobile changes (please link here)

Screenshots

Hello @HemantL04,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla

Hello @HemantL04,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

check-cla

/check-cla

Hi @HemantL04, thanks for your contribution! Can you help share more information about your changes, or help link to a ticket you worked off of?

@HemantL04 Thanks for the pull request! We appreciate your contribution, but these changes aren't applicable at this time. If you are looking for good ways to contribute to hacktoberfest, see https://mattermost.com/hacktoberfest/ to get started.
If you did work from an open GitHub issue, let us know and I'll reopen this pull request for reviews. Thank you!


FYI: missed link in this question !

Hi @ckken
Please take a look at examples/global-css.
Thank you
Originally posted by @Atinux in https://github.com/nuxt/nuxt.js/issues/22#issuecomment-263527604

This question is available on Nuxt community (#c10492)

Here you are mate ;)  https://github.com/nuxt/nuxt.js/tree/dev/examples/global-css


[Bug] Firebase 12.1.0 Gradle Build Failure

Description
After importing firebase to empty project and tried to make build. On Platform 34 and 35.
Its giving
Execution failed for task ':launcher:processReleaseResources'.

A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction
Android resource linking failed
ERROR:: AAPT: aapt2.exe E 07-06 10:56:20 16568 23564 LoadedArsc.cpp:96] RES_TABLE_TYPE_TYPE entry offsets overlap actual entry data.
aapt2.exe E 07-06 10:56:20 16568 23564 ApkAssets.cpp:149] Failed to load resources table in APK 'C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar'.
error: failed to load include path C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar.

Reproducing the issue

Import firebase plugin
Try to make build
Grade will fail

Firebase Unity SDK Version
12.1.0
Unity editor version
2021.3.39f1
Installation Method
.unitypackage
Problematic Firebase Component(s)
Analytics
Other Firebase Component(s) in use
Crashlytics
Additional SDKs you are using
None
Targeted Platform(s)
Android
Unity editor platform
Windows
Scripting Runtime
IL2CPP
Release Distribution Type
Pre-built SDK from https://firebase.google.com/download/unity, Open-source from this repo
Relevant Log Output
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.7.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

Environment Variables:
SHIM_MCCOMPAT = 0x810000001
PROCESSOR_ARCHITECTURE = AMD64
AMPLITUDE_API_KEY_YELLOWBUCKET_DEV = 48835b4d1f5e342aefe5f016324d296a
BURST_ANDROID_MIN_API_LEVEL = 22
DriverData = C:\Windows\System32\Drivers\DriverData
USERDOMAIN = BYOD-AKROSH
CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files
COMPUTERNAME = BYOD-AKROSH
DEBUG_ENV_VAR = UnityHub
LOGONSERVER = \\BYOD-AKROSH
AMPLITUDE_TOKEN_GREENBUCKET_PROD = ZpUcbAdZXJYzNSoHsAWtL_s_JppwWid9
PUBLIC = C:\Users\Public
ProgramData = C:\ProgramData
SESSIONNAME = Console
AMPLITUDE_TOKEN_YELLOWBUCKET_PROD = UYDQtPOw83dIfVy3SrW5oMyo7ru4PRkV
NVIDIAWHITELISTED = 0x01
ALLUSERSPROFILE = C:\ProgramData
SystemRoot = C:\WINDOWS
windir = C:\WINDOWS
AMPLITUDE_API_KEY_REDBUCKET_DEV = 46b8b46515e7632fc42a504b72e05fd0
ProgramFiles(x86) = C:\Program Files (x86)
ProgramW6432 = C:\Program Files
OS = Windows_NT
ANDROID_NDK_ROOT = C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 165 Stepping 2, GenuineIntel
HOMEPATH = \Users\TVDMUMAT792
FPS_BROWSER_USER_PROFILE_STRING = Default
EFC_20100 = 1
AMPLITUDE_TOKEN_REDBUCKET_DEV = U4PSN7S7PuYVRODivvdcFwbu8R6IHGqa
CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_6280_BAQSZSNGINIYVLCH
PROCESSOR_LEVEL = 6
JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8
CommonProgramFiles = C:\Program Files\Common Files
JAVA_HOME = C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
USERDOMAIN_ROAMINGPROFILE = BYOD-AKROSH
TEMP = C:\Users\TVDMUM~1\AppData\Local\Temp
ProgramFiles = C:\Program Files
CommonProgramW6432 = C:\Program Files\Common Files
AMPLITUDE_TOKEN_YELLOWBUCKET_DEV = wKi8foVigDditGFvmZewRFWsEbX9Y0YO
AMPLITUDE_API_KEY_GREENBUCKET_DEV = 3ded2a762163603391a425f688f990c8
AMPLITUDE_API_KEY_REDBUCKET_PROD = ca12bb461ea96f9bdf5df4ded7d52994
HOMEDRIVE = C:
AMPLITUDE_API_KEY_STAGING = 83ee04fccc67e4fcc7dd527c4c6f1e21
USERNAME = TVDMUMAT792
OneDrive = C:\Users\TVDMUMAT792\OneDrive
AMPLITUDE_API_KEY_YELLOWBUCKET_PROD = e03a9bbe92dc38a88cdb068d24c65b46
PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
AMPLITUDE_TOKEN_REDBUCKET_PROD = jTIgKs5KTZOjiqEEVdZFbgo_VRhABduL
NUMBER_OF_PROCESSORS = 8
AMPLITUDE_TOKEN_GREENBUCKET_DEV = 84H2gMm_FJzhr3mBaX1lM1JVukmCM7d9
AMPLITUDE_DEPLOYMENT_KEY_RED_BUCKET_DEV = client-wbjHYrmeSR87GmWOE7LDpf7sUySOIKHm
AMPLITUDE_API_KEY_GREENBUCKET_PROD = c86fea37a9e1d3f0878b96e15b111c7c
ComSpec = C:\WINDOWS\system32\cmd.exe
ORIGINAL_XDG_CURRENT_DESKTOP = undefined
PROCESSOR_REVISION = a502
AMPLITUDE_DEPLOYMENT_KEY_RED_BUCKET_PROD = client-zH8Y7OK1i331EKuG77C6UxN8ygcM6LzS
TMP = C:\Users\TVDMUM~1\AppData\Local\Temp
SystemDrive = C:
AMPLITUDE_API_KEY = 28f3cae0b33b8b3702120c9ed1a935aa
FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer
SENTRY_ACCESS_TOKEN = 3df78d9e53f8456aa90fbae044ce1a6261421ab1d0014674bc2e933477289017
APPDATA = C:\Users\TVDMUMAT792\AppData\Roaming
Path = C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\TVDMUMAT792\AppData\Local\Microsoft\WindowsApps;C:\Users\TVDMUMAT792\AppData\Local\Programs\Git\cmd
PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
LOCALAPPDATA = C:\Users\TVDMUMAT792\AppData\Local
USERPROFILE = C:\Users\TVDMUMAT792
WOOTRIC_CLIENT_TOKEN = NPS-aa8be4c3

stderr[
ERROR:: D8: com.android.tools.r8.kotlin.H

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':launcher:processReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction
   > Android resource linking failed
     ERROR:: AAPT: aapt2.exe E 07-06 10:56:20 16568 23564 LoadedArsc.cpp:96] RES_TABLE_TYPE_TYPE entry offsets overlap actual entry data.
     aapt2.exe E 07-06 10:56:20 16568 23564 ApkAssets.cpp:149] Failed to load resources table in APK 'C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar'.
     error: failed to load include path C:\Program Files\Unity\Hub\Editor\2021.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-35\android.jar.

If using CocoaPods for Apple platforms, the project's Podfile.lock
No response

Same here.

Hi folks, according to the Firebase Android release notes, Firebase Unity version 12.1.0 now includes a new version of the Firebase Android SDK (Firebase Analytics version 22.0.0) which have breaking changes:

Breaking change: Changed the required minimum compileSdkVersion to be 34 or higher
Breaking change: Updated minSdkVersion to API level 21 or higher.

According to the Unity forum, only Unity editor version 2023 have support for compileSdkVersion 34.
In this case, I believe this is more of a compatibility issue which would be resolved once Unity Editor version 2023.3+ is used. That said, I'll go ahead and close this thread.

Just to clarify, you can use older versions of Unity with the latest Firebase SDK.  You just need to update your Android tools, to have installed API level 34 or higher.  In your Unity player settings for Android, this is the "Target API level" setting, which usually defaults to highest installed, so just installing the API level at 34 or 35 would likely be enough to fix the issue.

Just to clarify, you can use older versions of Unity with the latest Firebase SDK. You just need to update your Android tools, to have installed API level 34 or higher. In your Unity player settings for Android, this is the "Target API level" setting, which usually defaults to highest installed, so just installing the API level at 34 or 35 would likely be enough to fix the issue.

Hi @a-maurice ,
Tried your way in Unity 2021.3 but its not working. Set minSdkVersion  to 22 and "Target API level" highest Installed, which is 35.
I will with 2023 @argzdev .

Unity 2022.3.37f1
Min API - 24
Max API - 34
Firebase 12.1.1 [Analytics, Auth, Remote Config, Database, Firestore, Storage]
Admob 9.1.1
Play Games 0.11.01
In app review 1.8.2
Gradle [Unity Default, 6.7.1, 6.9.4, 8.9]

Error
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2022.3.37f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2022.3.37f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-7.2.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
Please help.

Just to clarify, you can use older versions of Unity with the latest Firebase SDK. You just need to update your Android tools, to have installed API level 34 or higher. In your Unity player settings for Android, this is the "Target API level" setting, which usually defaults to highest installed, so just installing the API level at 34 or 35 would likely be enough to fix the issue.

that right  i use unity2017 which max is support 29，but i can export google project    in andoird  studio，targetsdkversion set 34

agp up 8.4.2 can solve problem
etc：   com.android.tools.build:gradle -> 8.4.2
file:gradle-wrapper.properties : distributionUrl -> gradle-8.6-bin.zip

Found a better solution. Add settingTemplate.gradle using this link and it works perfectly
https://discussions.unity.com/t/unity-2021-3-and-android-build-failure-when-using-android-legacy-libraries-and-target-api-34/952277


Add eslint

Add eslint using same config from Data Layer Helper

I actually went out of scope and added this is a pr that hasn't been merged yet #43 but it's better to have it separate so I'll just get rid of it in that one


implementation of the circular link list

Description
The program will implement the circular link list with operation like insert, check empty, delete, count, search, display the circular link list etc.
I will provide proper description about the circular link list as well as the comments in the code.
gssoc'22
please assign this to me.
Domain
Data Structure
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

I would like to work on this issue under GSSOC'22. Can you assign this to me?

I would like to work on this issue under GSSOC'22. Can you assign this to me?

I have already been assigned this issue.

/assign


Fix invalid if condition in Github Actions

The value of an if: entry is already an expression block, so usage of ${{ }} is not necessary, except in one rare case (https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/using-conditions-to-control-job-execution).
However, it is easy to accidentally create an invalid condition:
${{ matrix.java-build-tool }} == 'maven' will always evaluate to true, due to a quirk of how nested expression context are evaluated.
Correct is either

${{ matrix.java-build-tool  == 'maven' }}
matrix.java-build-tool == 'maven'

I've choosen to use the latter as it is simpler.
I've also cleaned up unnecessary use of ${{ }} in other if blocks.

Thanks @leonard84 for the fix and the explanation.
Much appreciated!


Remove dependence of stack build on git

Someone recently filed an issue on the k frontend repository who appears to be trying to get a kframework package into the main package manager of FreeBSD. I think we should try to encourage this since it will help K become more widely used.
 However, we have dependencies on two github repos in our stack.yaml.
If it doesn't prove to be a substantial amount of work, I think we should try and determine how easily we can replace those dependencies with dependencies on code in hackage, either by upstreaming the code changes we made, creating new packages for repos in hackage, inlining the code into the main repo, or some combination thereof. This will be necessary if we are ever going to get distro-maintained kframework packages.

We need to remove two dependences in order to do this:

SQLite logs
kore-prof should be rewritten to not depend on the external packages

We need to wait for co-log (at least) to be properly released for GHC 9.

We need to remove two dependences in order to do this:

SQLite logs
kore-prof should be rewritten to not depend on the external packages

We need to wait for co-log (at least) to be properly released for GHC 9.

@treeowl please take a look at removing the code which depends on https://github.com/ttuegel/pipes-sqlite-simple.git. I think there's a --sqlite or something option which enables a database of logs to be outputted.


New package "winston-raven-sentry"

For anyone that needs a newer maintained version: https://github.com/niftylettuce/winston-raven-sentry

Mentioned packaged doesn't seem to be maintained either.

That's because I built https://cabinjs.com instead.


[Question] Datapoint "ps" - "ID of currently set preset" can be used, but switch back to -1 after a second

I can't fiond a way to ask WLED, which preset is currently activ.
If I switch it, the ioBroker datapoint "ps" show my selected integer for a second, but then switch to -1. And I havent't found any other datapoint to see the current preset number.
WLED: 0.15.0-b2 (build 2404100)
Adapter:  0.7.2
Node.js:v20.17.0
NPM:10.8.2

@Haifeif
good morning,
I tested it actually with WLED 0.15.0-b6
Adapter 0.7.3
The Issue isn't shown by me.
Datapoint PS is the same as in the Web Interface of WLED and change only when I switch to another PS or if I change the color, brightness, effect manually so that it is no longer equal to the saved preset.
Perhaps you delete the Object of your WLED from object tree and rejoin it to IOBROKER Adapter.
best regards
Harald

thank you @HaggardFFM, can you please validate @Haifeif can be solved by new version or potential the firmware which was used ?


fix: remove anchor tag by markdown plugins.

Hi, I am the maintainer of Vite.js docs-cn. I found that the new Chinese translation of Pinia here these days. Nice job and shout out for @KimYangOfCat's great effort ❤
I've noticed that there're still {#xxx} anchor tag remaining on h1~h6 titles. It is not a bug, it's a feature. we provide this mechanism in Vite's Chinese docs and Vuejs Chinese docs, and it's a general solution for anchor normalization.
I'm here to help, and we just need two markdown-it plugins, as I submitted in this PR.
These two plugins is also used in the following repo:
Vite Chinese docs:

https://github.com/vitejs/docs-cn/tree/main/.vitepress/render-perma-link/indes.js
https://github.com/vitejs/docs-cn/tree/main/.vitepress/markdown-it-custom-anchor/index.js

Vue.js Chinese docs:

https://github.com/vuejs-translations/docs-zh-cn/blob/main/.vitepress/headerMdPlugin.ts

Also, we can close #1732 after merging.

@ShenQingchuan  thanks for your PR, I am troubled by this problem when I translated the chinese docs.I had suspected it was a bug, but when I found out that the vue Chinese documentation was normal, I knew I must have configured something wrong, but I have no time to keep looking into it.
thanks again!


Add alphafold test tool

Add alphafold_test tool for v2.3.2 development. The test label should hide it from public users right?
<tool file="/mnt/galaxy/local_tools/alphafold/alphafold.xml" labels="test"/>

yes, the test label will hide it. This is failing lint. Check for a duplicate key of 'alphafold_test'

Thanks @cat-bro I've removed the duplicate

the alphafold_db context variable will needs to be added to docker run extra args for that entry

Sorry, I think I was half-asleep on this one


fix amend test

cd cita-executor/

cargo test -p core-executor

Retain get functionality temporatry , then refacor amend process later and add option label #[test]


How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: http://www.stoff.pl
Publisher: Sebastian Stoff
Package Name: Orbitron
Description: Satellite tracking system for radio amateur and observing purposes.
Package Version: 3.71
Installer URL: http://www.stoff.pl/orbitron/files/orbitron.exe

Replaced by #111362.

Re-opening since Gpredict got blocked on Zip Binary.

@stephengillie Any chance you could prepare a PR for Orbitron? :-) Thanks!

/cc @Exorcism0666

#114617


Update intro.md

Change the title to: Hello, Git!

This change needs to be applied to the first slide on the deck.


TST: Make understandable assertion messages

I think making assertion messages more understandable helps users who is starting contribution / using pandas as their dependencies. I'm considering examples like power assert, but more focuses what's differences are.
If it worth to be discussed, I'll prepare more examples to fix the specifications.
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}, index=['a', 'b'])
df2 = pd.DataFrame({'A': [1, 2], 'B': [3, 5]}, index=['a', 'c'])

assert_frame_equal(df1, df2)
# AssertionError: DataFrames are not equal
# [values]: [[1 3] [2 4]] != [[1 3] [2 5]]
# [index values] ['a', 'b'] != ['a', 'c']
# [columns]: equal

idx1 = pd.Index([1, 2], name='x')
idx2 = pd.Index([1, 2], name='y')
assert_index_equal(idx1, idx2)
# AssertionError: Index are not equal
# [values]: equal
# [names]: 'x' != 'y'

First target should be:

assert_frame_equal
assert_series_equal
assert_index_equal

Maybe just list differences?
# AssertionError: Index are not equal
# Differences found:
# Index:
# [names]: 'x' != 'y'

so that if there are multiple issues,  one might see
# AssertionError: Index are not equal
# Differences found:
# Index:
# [index names]: 'x' != 'y'
# [index values] ['a', 'b'] != ['a', 'c']
# Values:
# [[1 3] [2 4]] != [[1 3] [2 5]]

so that an assertion could do a full DataFrame comparison before deciding to assert, rather than asserting on the first diff found (which can mean many iterations when there are multiple problems)

I think there are 2 approaches, and now I feel option 2 is preferable.

Use current assertion function internally, and output detail when it fails.

This should not increase testing time so much.
# renaming current ``assert_frame_equal`` to ``_assert_frame_equal``
def assert_frame_equal(...):
    try:
        _assert_frame_equal(...)
    except AssertionError:
        output_detailed_differences()

Output more understandable errors in each assertion steps (not output whole difference)

This is like what numpy does.

Agreed that option 2 is better. Option 1 is a path to madness.

agreed, a slightly more informative assert_*_equal would be good

Let me summarize the idea based on option 2 comparing to the numpy behavior.
import numpy as np
import pandas as pd
import pandas.util.testing as pdt
import numpy.testing.utils as npt

Index
Currently, pandas always shows the same assertion like below:
pdt.assert_index_equal(pd.Index([1, 2, 3]), pd.Index([1, 2, 3, 4]))
# AssertionError: [index] left [int64 Int64Index([1, 2, 3], dtype='int64')], right [Int64Index([1, 2, 3, 4], dtype='int64') int64]

Changing assertion message to indicate what the difference is based on following 3 points like numpy does.

Shape (size)
Values
Metadata (name, freq etc. pandas unique)

# numpy
npt.assert_array_equal(np.array([1, 2, 3]), np.array([1, 2, 3, 4]))
# AssertionError:
# Arrays are not equal
#
# (shapes (3L,), (4L,) mismatch)
#  x: array([1, 2, 3])
#  y: array([1, 2, 3, 4])

# size
npt.assert_array_equal(np.array([1, 3, 2]), np.array([1, 2, 3]))
# AssertionError:
# Arrays are not equal
#
# (mismatch 66.6666666667%)
#  x: array([1, 3, 2])
#  y: array([1, 2, 3])

Series
Messages are different based on the category as below, but it is not enough clear.

Shape (size): AssertionError: Length of two iterators not the same: 3 != 4.
Index (same as above)
Values: AssertionError: expected 4.00000 but got 3.00000, with decimal 5.
Metadata (name): AssertionError: attr is not equal [name]: None != 'x'

DataFrame
Messages are different based on the category as below, but it is not enough clear.

Shape (size): AssertionError: Length of two iterators not the same: 3 != 4.
Index (same as above)
Column (same as above)
Values: AssertionError: expected 4.00000 but got 3.00000, with decimal 5.

Preferable message format

Short description what part is different
[left] and [right] comparison based on the subcategory

for example:
assert_index_equal(Index([1, 3, 2]), Index([1, 2, 3]))
# AssertionError:
# Index values are not equal
#
# (mismatch 66.6666666667%)
#  [left]: Index([1, 3, 2])
#  [right]: Index([1, 2, 3])

assert_index_equal(Index([1, 2, 3], name='x'), Index([1, 2, 3]))
# AssertionError:
# Index metadata are not equal
#
# metadata "name"" are not equal
#  [left]: 'x'
#  [right]: None


use labeled targets for break statements

break in a select in a for terminates the current case of the
select, but does not terminate the for loop. The worker queue
implementations for opening indexes/fields/views all suffered
from the same issue here.
Also fix a <= 0 on a uint value.
All hail staticcheck.

Could you also update .circleci/config.yml to use golangci-lint 1.20.0?


Chart height inconsistencies & labels not appearing

I have multiple views where I swap out the chart data to show different periods of the same data. For the most part, this works fine, but I have run into two issues. First, the height of bar charts is sometimes halved. The only thing changing here is the chart data.
Normal height:

Halved height:

As can also be seen in the images, the X labels do not appear. They only seem to appear when the graph is not halved, and if the selected data was the initially selected one.
Here is some relevant code. period is attached to a @State variable and changed by a picker.

One thing to try would be adding .id() modifier to the view.

.id(chartData.id)

// OR

.id(UUID())

That did it! Thanks a ton.


Automate all processes via a .exe file

Automatically installs the dependencies, sets the environment variables and creates a user with a database locally in the pc.  Make sure you change your database engine in settings.py Databases ={
'default':{
'ENGINE': 'django.db.backends.mysql',

.


devServer naming change proposal for 1.4.1

Currently, you can launch a devServer without actually having a devServer... with httpServer : false
Which does not make much sense
Ideas combined:
fuse.dev
// everything included
fuse.dev({ port : 4444 })

// just socket (for hmr)
fuse.dev({ socket : true, server : false, port : 4444 })

// just http server
fuse.dev({ socket : false, port : 4444 })

// or like this
fuse.dev({ server : true, socket : false, port : 4444 })

fuse.development
How about fuse.development
fuse.playground
// everything included
fuse.playground({ port : 4444 })

// just socket (for hmr)
fuse.playground({ socket : true, server : false, port : 4444 })

// just http server
fuse.playground({ socket : false, port : 4444 })

// or like this
fuse.playground({ server : true, socket : false, port : 4444 })

:+1 to dev for standard convention
I think if only socket true is passed in, server should default to false, example: fuse.dev({ socket: true })

Thumbs up for fuse.dev

Thumbs up for fuse.development

Thumbs up for fuse.playground

fuse.dev it is ;-)


Bootstrap basic docs

We have readthedocs (http://fiasko-bro.readthedocs.io/), but it's empty now. We need basic docs structure: how to install/use, basic usage for django projects, errors description with wrong code samples, roadmap, etc.
In this issue we want basic docs structure with first content, it doesn't has to be full.

I'm on it


Multi-platform docker image build

Hi!
Currently the Docker image only supports linux/amd64 arch.
This pull request adds multi-platform support for the platforms that Home Assistant currently supports:

linux/386
linux/amd64
linux/arm/v6
linux/arm/v7
linux/arm64/v8

Tested generating an image on a separate github repo and running it on my RPI4. Validated that the image runs well now, but I have not tested the RTSPtoWeb functionality itself.

Awesome, thank you for doing this.
Does this change the output names of the build images?
Do you have an output of the workflow build log? I am curious to check it out, but did not see it on the github fork.

Not an expert either, but I believe the outcome is the main difference
between both approaches and they tackle two different needs.
In my approach only one Docker image is generated with all the platforms,
allowing for easier distribution. Because of this, the name of the image
and tag is not changed from the current ones. Building for the different
platforms is done in parallel, but in the same runner.
With the matrix approach you'd get one image per platform. This of course
generates smaller images, but each user needs to pull the specific tag for
their platform, making distribution a bit harder. Building for the
different platforms is done in parallel, I think in different runners.
Both approaches I believe should work together. Most of the users first
download the multi platform build and might then switch to the platform
specific image if want to have a smaller image.
I implemented only the first one as it is the one I know how to implement
and it’s the less “disruptive”. I can try implementing also the matrix
approach, but can’t promise anything 😅
Also, I deleted and cleaned the packages and releases on my repo to avoid
confusion (and OCD 😂). I'll re run them tomorrow and share the outcome
with you.
On Mon, 21 Feb 2022 at 04:38 Allen Porter @.***> wrote:

@.**** commented on this pull request.
In .github/workflows/publish-docker.yml
https://github.com/deepch/RTSPtoWeb/pull/105#discussion_r810756223:

@@ -36,6 +42,7 @@ jobs:
uses: @.***
with:
context: .

     platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8

I sometimes see folks do this with strategy and matrix. Does that have
any advantages like running in parallel compared to doing this way? I am
not familiar with the build-push-action details.
—
Reply to this email directly, view it on GitHub
https://github.com/deepch/RTSPtoWeb/pull/105#pullrequestreview-888170817,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP4BOKSN2OEFBK4H2Q27M3U4GXT3ANCNFSM5O5LM4AQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Cheers @danieldabate 👍🏼

I'm releasing 2.2.0 to rebuild images with your improvements here: https://github.com/deepch/RTSPtoWeb/actions/runs/1877288860

Awesome!! Thanks!


Incase adding Pagination.js

Please contain everyting within a single PR. Also while I welcome additions to the lib, I don't need it to be renamed and changed fundamentally, introducing breaking changes unnecessarily.
Closed

Just credit me, I don't want to do it with a pull request right now.


⚠ Jellyfin has degraded performance

In 31192bb, Jellyfin (https://jellyfin.underthere.xyz) experienced degraded performance:

HTTP code: 200
Response time: 19492 ms

Resolved: Jellyfin performance has improved in ccd5e6f after .


Customer company name uniqueness issue for B2C application

Due to the reuse of company for customers, customer 'names' must be unique.  This is not a reasonable expectation for business selling direct to consumers as customers.   The unique key for a company should be relaxed or changed.  The only unique part for a 'customer' should be the email address.

That's a good point and I agree with you. It would take some thoughts to alter the email field without disrupting current databases (and maybe making it unique only for customers?) but I don't think it is a necessary measure, what do you think @SchrodingersGat ?

I can't see why email would not be unique for suppliers/manufacturers as well as customers.  For reference QuickBooks requires all customers/vendors to have a unique email address (you can have the same email as a vendor and a customer however).   Ideally the customers/suppliers are in separate tables and are separate objects with their own logic.

@amishHammer The current implementation does not enforce email as a required field for company instances (regardless if customer or supplier) so adding uniqueness requirement could break the migration process because companies with "blank" email value will clash (it definitely happens for us, suppliers/manufacturers don't have any email address set).
Not many people buy directly from manufacturers/suppliers, using email. For customers, it would make a bit more sense to enforce email address as point of contact is necessary for selling product. But again, adding a database constraint will break existing users setups.
My proposal is to remove uniqueness requirement on the company name field and leave the email requirement loose in first place. If you really need to have the email uniqueness feature, we may be able to add it as an InvenTree setting, but not as a strict built-in requirement.

@eeintech I would strongly disagree with the assessment that purchasing is not done via email. Lots of people buy from their supply chain using purchase orders, which these days are typically emailed rather than faxed.  In most places a purchase order like this is considered a legally binding contract if it is accepted by the vendor.  At some point it would be great to see a send purchase order function in the PO section that formats the PO as a PDF and emails it to the supplier. Back to the QuickBooks reference, this functionality is fairly core to the way purchase orders work in that and most other applications that issue purchase orders.
SQL92 states that a NULL value in a unique key can exist multiple times, NULLs are not considered as part of the uniqueness check.  This may also be true in other dialects, SQLite and MySQL both act as SQL92 states.  Based on this is should be fine to add a unique key to email without breaking the DB as long as the empty emails are NULL and not empty strings.  This could be enforced with a 2 step migration, step one make empty strings NULL, step 2 add the unique key.

Sure, I don't disagree with you, I was not trying to make a case against or for one implementation or the other but rather differentiating the process for validating supplier vs customers, to refer to your original post. Anyhow, I agree and the InvenTree "company" model can stay generic for this use-case.
I have to double check for the NULL step migration you proposed, in my case it still threw migration errors. However, I'll leave it up-to @SchrodingersGat to decide if he want to enforce email as unique (InvenTree is not QuickBooks).

While I agree that this is not QB I'm just using it as an example of a product that has this feature.  At the end of the day InvenTree is the most promising solution to my problem and I'd love to be able to get this hooked up to Opencart for inventory management.
In my limited customer base (~600) I have maybe a dozen customers with name conflicts, and this issue is the next hurdle in my implementation. I've been waiting for sales orders for a while so I can do this integration.

@amishHammer I succeeded to migrate my database and add uniqueness constraint to email field, empty value is still allowed and saved as Null. My only concern left is for "real" duplicates (not empty string) in the email field, the migration may fail in this case. I'll give it a shot soon and update the PR if needed. You're welcome to give it a try but make sure to backup your database beforehand.

As I feared, when the database contains duplicate Company emails, adding the unique=True will make the migration fail...
As mentioned in this StackOverflow post, there is no non-intrusive way to do so as the constraint will apply to the complete table.

Hey @amishHammer I am happy to relax the uniqueness requirement here. However I do not fully understand the requirement. Can you please provide an example where you would be selling to multiple customers that have the same "name"?

I think this request is about people names (eg. customers) which can easily be the same.
Therefore, removing the uniqueness on name would clear this, and potentially adding validation on email address.
Example:

John Smith<EMAIL_ADDRESS>John Smith<EMAIL_ADDRESS>
@amishHammer Correct me if I'm wrong.

Yeah, that makes sense then.

Would it make sense to to have a way to hold multiple contact info per company?

Not a bad idea I think, were you thinking multiple email addresses or full contact information? Any how it would require an extra DB table to store the multiple contacts but it's doable.

I would think full contact info.

@SchrodingersGat @eeintech's explanation is correct in this example I'm trying to hook up an e-commerce platform that sells direct to the consumer to InvenTree,  in this example I have lots of customers that have the same name.
As for multiple contacts per company that is also a useful feature however it does not negate the need to have multiple company objects for customers with the same name.

@lookme2 I just realized InvenTree already has a Contact model but it does seem to be put into action yet, something to add on our TODO list.

As for multiple contacts per company that is also a useful feature however it does not negate the need to have multiple company objects for customers with the same name.

@amishHammer That is covered by #1043

@eeintech wish I could help out with some of that.  I know some python but not enough to really contribute.  Sorry.

@eeintech wish I could help out with some of that. I know some python but not enough to really contribute. Sorry.

Ha, no problem. I was only mentioning this as I stumbled upon the model, here is the commit for reference: https://github.com/inventree/InvenTree/commit/feff4f0ddd9b1ecb5907bc679b53ca50fc4ad706
Don't see more done in that direction yet... Would need to add views and template forms to link contacts to a company, shouldn't be too difficult, I can take a look soon :smile:

What's the best way to pull that PR into my WC to test it?

@amishHammer I would do this (assuming you have git installed):
$ git remote add eeintech https://github.com/eeintech/InvenTree.git
$ git fetch eeintech
$ git checkout -b unique_email_company
$ git pull eeintech unique_email_company

and then run the server.

@amishHammer what is the ecommerce platform you're trying to integrate with? If you're willing, and if your integration is useful for other users, it would be great to be able to work the integration into InvenTree!

And as it was just merged into master, you only need to follow those instructions: https://inventree.readthedocs.io/en/latest/start/update/

Just tried this out and its working thanks!  Last issue with customer syncing is an encoding issue but that's probably fairly simple.  @SchrodingersGat I'm working on integrating OpenCart with InvenTree, I'd also like to eventually integrate QBO but that is a much longer road map.

Last issue with customer syncing is an encoding issue

What do you mean?

I'm working on integrating OpenCart with InvenTree, I'd also like to eventually integrate QBO but that is a much longer road map.

I am very interested in hearing how you go with this.
Let me know if you need any help getting into the nuts and bolts of InvenTree. And if you get something working, and are willing to contribute it back to the main project, that would be very much appreciated.

Last issue with customer syncing is an encoding issue

What do you mean?

It's a problem with my script that pulls the customers from one DB and adds them to InvenTree.  Probably a utf8 encoding issue or encoding header issue on my end.

I'm working on integrating OpenCart with InvenTree, I'd also like to eventually integrate QBO but that is a much longer road map.

I am very interested in hearing how you go with this.
Let me know if you need any help getting into the nuts and bolts of InvenTree. And if you get something working, and are willing to contribute it back to the main project, that would be very much appreciated.

I have the core started that will allow a pluggable architecture (calling them extensions to not conflict with the existing plugins system) with these external applications, it will allow for any kind of integration directly into InvenTree with no core code modification.  (Unless new hook/data points are required to be added to the framework).
WIP is here: https://github.com/amishHammer/InvenTree/tree/plugin_system


Gem Still Getting Maintained?

Hi is this library still getting maintained and are the associated dependencies still getting maintained as well? Also is this library rails 4.2 compatible ?

Hello,
the library isn't really maintained anymore. The associated "rufus-" dependencies are not maintained anymore.
I never used the library with Rails. It's only a Ruby library, Rails or not, it doesn't matter.
I will flag the library as "dead" or simply "unmaintained".


Crunchyroll URL change is breaking extractor identification (i believe)

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Australia
Provide a description that is worded well enough to be understood
I believe the issue is that crunchyroll has recently changed the url from https://beta.crunchyroll.com to just https://www.crunchyroll.com. I have no idea if this is the only issue but that's what the error log looks like to me, and I know it used to work with the former link type.
I've tried to just manually change the url to https://beta.crunchyroll.com instead but that site doesn't exist anymore.
If the only change is the url I can't see why this would be a huge endeavor to fix. The website visually looks the exact same but of course that's not necessarily the whole story.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.crunchyroll.com/watch/GQJUGJ2K5/a-new-family-member']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 2022-06-30-git-03b2ed9a50-full_build-www.gyan.dev (setts), ffprobe 2022-06-30-git-03b2ed9a50-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] [generic] Extracting URL: https://www.crunchyroll.com/watch/GQJUGJ2K5/a-new-family-member
[generic] a-new-family-member: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] a-new-family-member: Extracting information
[debug] Looking for Brightcove embeds
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.crunchyroll.com/watch/GQJUGJ2K5/a-new-family-member
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1477, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1553, in __extract_info
  File "yt_dlp\extractor\common.py", line 672, in extract
  File "yt_dlp\extractor\generic.py", line 3062, in _real_extract
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.crunchyroll.com/watch/GQJUGJ2K5/a-new-family-member

@Grub4K @tejing1

Looks like beta isn't beta anymore. It should be a simple enough fix.

Ugh. It looks like a spoke too soon. I'm getting cloudflare blocking on the main api accesses...

Not fixed for me (with the latest version of the extractor):
$ yt-dlp -Fvv https://www.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt
[debug] Command-line config: ['-Fvv', 'https://www.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] API
[debug] Python 3.10.8 (CPython 64bit) - Linux-6.0.2-arch1-1-x86_64-with-glibc2.36 (glibc 2.36)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.12.0, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] [crunchyroll] Extracting URL: https://www.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt
[crunchyroll] 0: Downloading webpage
ERROR: [crunchyroll] 0: Received a beta page from non-beta url when not logged in.; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 672, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/crunchyroll.py", line 429, in _real_extract
    return self._redirect_to_beta(webpage, CrunchyrollBetaIE.ie_key(), video_id)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/crunchyroll.py", line 95, in _redirect_to_beta
    raise ExtractorError('Received a beta page from non-beta url when not logged in.')

$ yt-dlp -Fvv https://beta.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt
[debug] Command-line config: ['-Fvv', 'https://beta.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] API
[debug] Python 3.10.8 (CPython 64bit) - Linux-6.0.2-arch1-1-x86_64-with-glibc2.36 (glibc 2.36)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.12.0, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] [crunchyroll:beta] Extracting URL: https://beta.crunchyroll.com/fr/watch/G9DUEDNG0/being-prepared-to-be-hurt
[crunchyroll:beta] Retrieving main page
[crunchyroll:beta] Authenticating with grant_type=client_id
[crunchyroll:beta] Retrieving signed policy
[crunchyroll:beta] being-prepared-to-be-hurt: Retrieving episode metadata
ERROR: [crunchyroll:beta] G9DUEDNG0: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 672, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/crunchyroll.py", line 816, in _real_extract
    episode_response = self._download_json(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1032, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 996, in download_handle
    res = self._download_webpage_handle(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 866, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 823, in _request_webpage
    raise ExtractorError(errmsg, cause=err)

  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 805, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3682, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Hence why the issue is OPEN!

I've installed the changes in #5294. And it did work for some episodes but sometimes I'm getting error "Remote end closed connection without response". Is this related to this issue?

@pukkandan If you need a premium account to test please feel free to reply!


Fix: Border radius not respected while animating

Context
Adding a border radius to shapes was not being respected on the output.
https://user-images.githubusercontent.com/41136059/117073438-be4b6600-ace6-11eb-8df0-c0d5f6c69b21.mp4
This PR should fix this issue.

Summary

Added will-change: transform to the mask's CSS.

Relevant Technical Choices
From the MDN Docs
https://developer.mozilla.org/en-US/docs/Web/CSS/will-change

will-change is intended to be used as a last resort, in order to try to deal with existing performance problems. It should not be used to anticipate performance problems.

Originally I had will-change: transform on the .mask style, but I didn't want it applied to every mask, just shapes, which were the only elements I could find which had this issue. So I went with the change to shape/output to minimize the usage of will-change per recommendations.

To-do
NA

User-facing changes

Now adding a border radius and animation to any element should retain its border radius.
https://user-images.githubusercontent.com/41136059/117075408-9c9fae00-ace9-11eb-8962-87df9cf6183a.mp4
Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Add a square shape element to the canvas
Add a border radius > 1, either all the same or different
Add any animation to the shape.
Click Preview or update a published story and view the updated story
The animated element should retain the border radius.

UAT

[x] UAT should use the same steps as above.

Reviews
Does this PR have a security-related impact?
no

Does this PR change what data or activity we track or use?
no

Does this PR have a legal-related impact?
no

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #7356

Interesting bug. I can't easily reproduce this on a simple AMP story animations demo page, so it must be particular to our usage.


[Question] DDSU666 integration

Hello
Do you plan on adding the configuration for the DDSU device? As far as I know is very similar but for one phase only.
Nevertheless good job adding the current integration.
Thank you

Hi,
I'm planing, but currently i havn't enoght time.
And i can't test modbus address mapping.
The plan, move addressis to sensor.py --> SENSOR_DESCRIPTION tuple, this is meaning can configure any modbus meter in future

I can try to help and add the addresses of DDSU666. Can you provide me some kind of guidelines where I should I add that information in your code? You already have the documentation of the device in the docs folder btw


[Feature Request] - Autocomplete Plugin

May i suggest an auto complete plugin?  💯

Steps to reproduce
Which browser?

What is expected?
What is actually happening?

Reproduction Link

https://github.com/marcosmoura/vue-material/pull/644

Duplicate of #644.


Use Classnames library to clean up some dynamic classes

using the classnames library is a good approach to cleaning up some of the complex dynamic classnames attached to our common components.
removing top level package-lock.json since it shouldn't be used for anything

using the classnames library is a good approach to cleaning up some of the complex dynamic classnames attached to our common components.
removing top level package-lock.json since it shouldn't be used for anything

Hey Sir, you got some conflicts


Getting ERROR (SSHKit::Command::Failed): docker exit status: 256 on kamal setup

When I do kamal setup, I get ERROR (SSHKit::Command::Failed): docker exit status: 256.
Here is the full error message
ERROR (SSHKit::Command::Failed): docker exit status: 256
docker stdout: Nothing written
docker stderr: ERROR: failed to initialize builder kamal-local-docker-container (kamal-local-docker-container0): permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.46/containers/buildx_buildkit_kamal-local-docker-container0/json": dial unix /var/run/docker.sock: connect: permission denied

I have also tried manually adding the $USER to the docker group but the error still persists.

Do you have your local docker up and running?

Thanks! This solved the issue!


Add support for SDC constraint propagation through clock primitives

SDC information should be imported into Yosys from XDC and attached to the right entities.
Next the information should propagate across PLL, BUF, MCMM primitives.
Finally, the SDC information should be exported from Yosys in form of an SDC file.

Initial support for Natural, Buffer and Clock Divider propagation has been implemented in PRs #27 and #37.


Run Collapse after login using Task Scheduler

All commits are done, only need to test on packaged apps because of the added library TaskScheduler that interacts with COM
<checklist will be made when I'm free>
Need feedbacks on the stuff, especially the toggle names

PR got the approbal, merging~


show proper UB when making a too large allocation request

Fixes https://github.com/rust-lang/miri/issues/3679

@bors r+

:pushpin: Commit 90970e31999466f06d45b4842ddc2392edcf1a32 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 90970e31999466f06d45b4842ddc2392edcf1a32 with merge 28aa08e0344c4e9d08d4658e93d5d9fa9d32f3fa...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 28aa08e0344c4e9d08d4658e93d5d9fa9d32f3fa to master...