[OpenFASoC] write_cdl issue

The temp_sensor in OpenFASoC has LVS issue after the update of write_cdl.
Link to OpenFASoC:  (https://github.com/idea-fasoc/OpenFASOC)
The power nets in cdl file are unconnected.

I also checked the 6_final.v file and found that the power nets disappeared when using the latest version of the OpenROAD compared with the older version. I think maybe this could be a reason causing the error in cdl file?

Please package a test case

@maliberty Thanks for taking a look. This issue has been dragging for 2 weeks now :/
initially we made a script  to fix the write_cdl command errors (I think it was the orders of the pins that was messed up. Then just before running LVS using netgen we would run cdl_parser.py on the .cdl generated by OR as follows:
netgen_lvs: $(RESULTS_DIR)/6_final.gds
	python util/cdl_parser.py -i $(RESULTS_DIR)/6_final.cdl -s $(PLATFORM_DIR)/cdl/sky130_fd_sc_hd.spice -l $(OBJECTS_DIR)/merged_spacing.lef -o $(DESIGN_NAME).spice
	$(COMMON_VERIF_DIR)/run_lvspex.sh $(RESULTS_DIR)/6_final.gds $(DESIGN_NAME) $(REPORTS_DIR)/6_final_lvs.rpt

link to Makefile.
See attached tempsense.tar.gz.
I think based on what I have checked (2weeks ago) I think there is an issue with the power/wells pins on the second voltage domains. You can check in the tar ball:

Flow scripts based on ORFS: /tempsense/generators/temp-sense-gen/flow
lvs report from netgen:  /tempsense/generators/temp-sense-gen/flow/reports/sky130hd/tempsense/6_final_lvs.rpt
verilog / cdl /def files: /tempsense/generators/temp-sense-gen/flow/results/sky130hd/tempsense

Please let me know if you have any questions and thanks again!

What is CDL_FILE set to?  I don't see anything setting it in your tgz.

I also see many warnings like:
[WARNING ODB-0286] Terminal VNB of CDL master sky130_fd_sc_hd__a2111o_1 not found in LEF.
which suggests cdl/lef mismatches.

What is CDL_FILE set to? I don't see anything setting it in your tgz.
export CDL_FILE                 = ../blocks/$(PLATFORM)/cdl/sky130_fd_sc_hd_merged.cdl
it is in the config.mk in /tempsense/generators/temp-sense-gen/flow/design/sky130hd/tempsense

[WARNING ODB-0286] Terminal VNB of CDL master sky130_fd_sc_hd__a2111o_1 not found in LEF.

Then it is probably a source file issue. @shuolai please double check the LEF/CDL files versus the one in latest of open_pdk. If it is still there please file an issue.

@maliberty Why do we need the LEF to write the cdl. I think verilog and cdl primitives should be the one to be used?

The database is loaded from LEF/DEF in every step after the first.
On Fri, Oct 1, 2021 at 8:31 PM Mehdi Saligane @.***>
wrote:

@maliberty https://github.com/maliberty Why do we need the LEF to write
the cdl. I think verilog and cdl primitives should be the one to be used?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/The-OpenROAD-Project/OpenROAD/issues/1146#issuecomment-932673882,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFZ5KVDO7VJ6OJGCOPGDJDUEZ4JJANCNFSM5FDTQZ6Q
.
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.

The database is loaded from LEF/DEF in every step after the first.
Sure but we could use 6_final.v file which is the one we would eventually use if wanted to the a verilog to lvs cdl conversion. Right?

6_final.v is just generated from the DEF file (there is only read_def in final_report.tcl).  You won't get any extra info there.

@msaligane is this still relevant?

@maliberty Yes, this is still an issue. I have tried using the same LEF but still seeing weird results during LVS. Have you been able to validate the write_cdl  update in any of the other pdks we have?
I have asked @erictaur and @wenbodd to take a look but I did not hear back from them yet.

@msaligane if you have an updated test with a LEF I can take a look.  I don't know what "weird results" mean.

@maliberty That would be really helpful. Weird results in LVS means that the VNB and VPB are named as unrecognized net in the 2nd voltage domain of the sensor.
@erictaur do you mind sharing the latest details since you have met with @wenbodd ?
Have you modified the LEF as discussed ?
The issue is packaged above. I will try to go over this again on Monday afternoon.

@msaligane in the packaged test case the lef & cdl did not align.  Until that is addressed I don't have anything to look at.

@maliberty Actually if you look at the LEF files in the tar  I attached. VNB / VPB are there in the CDL and LEF files.
sky130_fd_sc_hd__a2111o_1   this cell is not used in the design at all.

Here is a master you are using (it's the same):
[WARNING ODB-0286] Terminal VPB of CDL master sky130_fd_sc_hd__inv_1 not found in LEF.
In the CDL:
.SUBCKT sky130_fd_sc_hd__inv_1 A VGND VNB VPB VPWR Y
but in the LEF:
MACRO sky130_fd_sc_hd__inv_1
PIN A
PIN Y
PIN VGND
PIN VPWR
END sky130_fd_sc_hd__inv_1
So the CDL & LEF mismatch as OR reports.  There is no way for OR to know what to write for VNB & VPB since they aren't in the LEF (or DEF).  It's a data problem not a tool problem.

In the LEF in openlane I do see the bulk pins.  I think ORFS needs a refresh.

There are two types of LEF, magic.lef and .lef
The magic.lef is the one which has VPB/VNB defined in it. The original version .lef did not have those pins ( I do not understand why there is a need to define those pins in an inverter - I might be missing something).
@minghungumich Do you think you could update to the LEFs straight out of open_pdks. I think right now, we are using the one ORFS/platforms.

@mithro @RTimothyEdwards can you explain why hd and hs versions of this cell have different handling of bulk pins?  hd doesn't have them while hs does.

@maliberty - I assume because different developers created the libraries?

@maliberty :  I checked and the differences in the handling of the pins goes back to the original SkyWater files, so I second Tim Ansell's opinion.

It sounds like it might make more sense to use the generated .magic.lef files?

@mithro :  No, there is no information about the location of pins other than what's in the original files, so the same issue ends up in all formats of all files no matter what tool generated or modified them.  So the pins will be in different places in the different standard cell libraries unless somebody modifies them all specifically to make them mutually compatible.

I thought the issue is that the bulk pins exist in the hd cell's .lef files but not in the hs cell's .lef files?
@maliberty said above;

hd doesn't have them while hs does.

In the .magic.lef they are present in both.

I think adding those pins in cells that do not have explicit well connection on them is confusing and creates a bunch of issues. However, if we want to add them for some reason, then we should have consistency since we get a lot lvs issues.

I discussed bulk pins with @louiic who recommends we have them in cdl & lef (it is required at lower nodes so it is best to have a single methodology to support).

@mithro :  If pins are not present in all files, then somebody is not using the approved set of files from the open_pdks installation.  In the open_pdks libraries, all cell views declare all four power pins.  There are still differences between the libraries as to how the pins are positioned, which what what I thought was the issue here.
@msaligane :  On the contrary, it is necessary to define the explicit well connections for the LEF to represent the correct connectivity.  All of the other file types (CDL, GDS, verilog, etc.) declare 4 power pins for every cell.  If the LEF file does not also include four power pins, then various tools start complaining about it.

@msaligane :  Also, if you're using netgen for LVS, then why not just compare the extracted layout against the verilog?

I discussed bulk pins with @louiic who recommends we have them in cdl & lef (it is required at lower nodes so it is best to have a single methodology to support).
I think it has to do with the LEF verison (IE 58 here)

@msaligane : On the contrary, it is necessary to define the explicit well connections for the LEF to represent the correct connectivity. All of the other file types (CDL, GDS, verilog, etc.) declare 4 power pins for every cell. If the LEF file does not also include four power pins, then various tools start complaining about it.
Sounds good, so maybe let's go with this plan. I am happy with either. Who can update the files? maybe in the precompiled version of open_pdks?

@msaligane :  Yes, I think the origin of the whole problem was that the LEF files we got from SkyWater were < version 5.7, which is the spec version that introduced the nwell/pwell masterslice layers and allowed them to connect to pins.  So with the earlier version of the LEF spec, they did all sorts of bizarre things like putting the VPB and VNB pins on metal layers where they don't actually exist.  I ended up getting magic to pull the relevant information about pin use/direction/shape out of the LEF file, discarding everything else, then regenerating the LEF from scratch, which helps make all the files for all the standard cell libraries look reasonably similar.

The ORFS versions don't have the bulk pins so it sounds like it is time for an update.

Does OL use the .magic.lef or the .lef today?

@maliberty I think we can update the platform to magic.lef which I think it is what is used by OL.
@RTimothyEdwards makes sense! One issue though is that for teaching classes next semester, we use commercial tools and the file have multiple issues when they are used related to  VPB/VNB.

@msaligane :  (1) Note that "use the open_pdks installation" is not the same as "use the magic.lef".  The files in the skywater-pdk repository were made prior to a number of updates and fixes in magic's LEF generation.  For the most part, all the LEF files in the skywater-pdk repository are wrong in some way, whether they come from the original sources or from magic.  (2) For the same reason, the LEF files produced by the open_pdks installation have gone through a number of bug fixes, and as long as the commercial tools understand LEF format 5.7, they should no longer cause issues.

@mithro can we upstream these fixes to skywater-pdk?

@maliberty - Yes but there is no timeline for that happening. Soe for now you should use the output produced by open_pdks.

BTW -- I'm pretty sure this is what OpenLane is using.

I am syncing ORFS to OL's open_pdk sky130hd LEFs (tech & stdcell) in https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/243

The above is merged - @shuolai  @msaligane can we close this?

@maliberty we need to test it first. I don't think @minghungumich  got to it yet. I will try to run this in the next 2 days.

@msaligane
Can you please update the status?
If resolved mean close this issue.

@alibillalhammoud @Wen-Tian-Pineapple
Can you guys double-check this? I think it is resolved now.

Hi everybody!
I still have the same issue with unconnected instances in cdl. Even in "gcd" test example for sky130hd.
And also in my custom technology. Pins in LEF files correspond to Verilog.
It looks like the problem cells are only instances that were inserted in verilog during optimization (input*, output*, rebuffer* instance names).

I ran sky130/gcd and I see:
Xinput1 req_msg[0] VSS VSS VDD VDD net1 sky130_fd_sc_hd__clkbuf_1
which looks to match
.SUBCKT sky130_fd_sc_hd__clkbuf_1 A VGND VNB VPB VPWR X
what is the issue?

@maliberty, when the issue was fixed?
I have the following in cdl using ORFS locally installed in June 8, 2023:
Xinput1 req_msg[0] _unconnected_0 _unconnected_1 _unconnected_2

_unconnected_3 net1 sky130_fd_sc_hd__clkbuf_1

I just used the head of master but there haven't been any changes in quite a while.  I'm guessing something is wrong upstream.  How are you running this?

From flow dir.
Uncomment DESIGN_CONFIG=./designs/sky130hd/gcd/config.mk in Makefile.
Then first run "make", then "make lvs".

I got the same using docker installation.

@maliberty
Yes, this helped! Thank you!
But I still have LVS failed for sky130hd "gcd" testcase with the following error:
ERROR: In ./platforms/sky130hd/lvs/sky130hd.lylvs: Pin count mismatch between circuit definition and circuit call: 6 expected, got 7 in <my_long_path>/objects/sky130hd/gcd/base/6_final_concat.cdl, line 11726 in Netlist::read

Would you paste the line from the error?

I get a totally different error
ERROR: In ./platforms/sky130hd/lvs/sky130hd.lylvs: Expected a real number here: normal are .. in /workspaces/mliberty/w8/OpenROAD-flow-scripts/flow/objects/sky130hd/gcd/base/6_final_concat.cdl, line 577 in Netlist::read

I'm not sure what to make of it as I don't work on the lvs tool and it looks legal.

Would you paste the line from the error?

XI1 VGND VNB VPB VPWR net59 LO / sky130_fd_sc_hd__conb_1
This is the instance from subckt sky130_fd_sc_hd__macro_sparecell
Error says that this instance contains 7 pins connection. It seems that it treats backslash as pin.
The subckt subckt sky130_fd_sc_hd__macro_sparecell is the only one that contains backslashes in instances.
I deleted backslashes, re-run LVS and got further errors:
ERROR: In ./platforms/sky130hd/lvs/sky130hd.lylvs: Can't find a value for a R, C or L device in /proj/eda/fpi2_digital_flow/dev/stolbikov/work/ORFS/TEST_ORFS/gcd_local/run_2/objects/sky130hd/gcd/base/6_final_concat.cdl, line 5460 in Netlist::read
Need somebody to fix all CDL inconsistences...

@maliberty Matt, can you explain me how openroad knows the pins order during write_cdl command?
In my technology in resulted 6_final.cdl I'm getting (for invertor, as an example):
X_192_ net1 net2 VDD VSS INV
Why it placed power pins in the end in order "VDD VSS"?
In LEF MACRO for invertor I have the following pins order "A Z gnd vdd".
In 6_final.v Verilog power pins are absent.
But in sky130hd I see that write_cdl can put power pins between signal pins. How he knows?

The write_cdl command has a -masters argument which takes in the component CDL files. write_cdl will match the pin order found in the input files. If the component is not found in the input files, ERROR ODB-287 is thrown.
I noticed from the code that it doesn't look like it checks for mismatches where the CDL has more pins than the LEF. That might be a good check to add.

Apparently we allow such https://github.com/The-OpenROAD-Project/OpenROAD/blob/f413f8405db24165e2db0efad5dba4548d85fe7e/src/odb/src/cdl/cdl.cpp#L165

The error I see from klayout is due to "topography=normal" in the skywater provided CDL.   I tried removing those locally and then I run into
.SUBCKT sky130_fd_sc_hd__conb_1 VGND VNB VPB VPWR HI LO
*.PININFO VGND:I VNB:I VPB:I VPWR:I HI:O LO:O
rI12 VGND LO short
rI11 HI VPWR short
.ENDS sky130_fd_sc_hd__conb_1

which gives "ERROR: Can't find a value for a R, C or L device".   That seems a reasonable error.  I don't see how people can use this CDL.
@RTimothyEdwards any ideas?

This is approaching three years old and I don't see a clear action to take.


Fix observations column ordering

Updates displayed observations to have the same order as the CSV.
Fixes #69

For testing when running locally Chrome keeps having CORS issues (even though we run the flask CORS in dev mode).
Safari seems to work every time so that's what I'm using for local testing now.
I also setup an iNaturalist user john4866 with a single observation for testing the fetch logic quickly.


VIdeo recording in firefox is lagging

I am recording screen + webcam. When I am recording in firefox, and if go to new tab and stays still without doing anyting, the recorded video is lagging. But if do some activity or even move the mouse, it is recording, otherwise it is lagging. If I go to any other window, it is recording perfectly.
The problem only appears when I am recording from firefox and I go to new tab and stays still. If I am recording from chrome, there is no issue.

I'm facing the same issue while recording video in firefox. Does anybody have a solution?


Clean up dependencies in pyproject.toml

[ ] closes #12
[ ] Tests added and passed if fixing a bug or adding a new feature
[ ] All code checks from pre-commit passed
[ ] Added an entry in the CHANGELOG.md file

We have to keep all packages that are required for running test and building the docs as optional = true in [tool.poetry.dependencies] because otherwise they cannot be installed via e.g. pip install .[docs]. CI uses a lot of this pip install with extras, also readthedocs does this based on current config.
The only way to get rid of all the extra deps defines as optional in the main group would be have them in the dev dependencies but then only use poetry in CI and for readthedocs. I do not want to change that now, but here is some info on how to use poetry for CI, also with caching. Maybe also this info helps.


initial_textedits

Made little grammar changes.

Please accept as it's the end of hacktoberfest.
Thank you.

Thank you for your updates. Please continue to level-up your skills. This is a good first pull request. The second and laters should contribute more. Maybe you could take hacktoberfest as chance to learn some coding? Maybe, writing documentation for programs would also be a good starter task.


Comments on types are stripped

Describe the bug
Comments are stripped due to unknown reasons, against expectation.
Input code
// FILE bad.ts:

/* istanbul ignore next */
type Z = number;
x = 1;

// FILE good.ts
/* istanbul ignore next */
x = 1;

Config
{
  "jsc": {
    "transform": {}
  },
  "swcrc": true
}

Playground link
https://play.swc.rs/?version=1.2.117&code=H4sIAAAAAAAAAzXMOwrAIBBF0d5VvFoCklqykXQahjigY4hjPruPTdpz4ToLbhok9gzepZ4EoUdhnXEO%2Bh6EFQukl0inx7AuWy2FRKGJGzILTbiDbmkA4Y8h1otwBeGWzDMWszcfPlBa620AAAA%3D&config=H4sIAAAAAAAAA6tWys3My0yrVLJKS8wpTtVRyipOVrKqVipILCpOLQKxiivzShIrlKyUSioLUouTizILSpRqa2sBrzFAMDkAAAA%3D
Expected behavior
bad.ts should emit:
/* istanbul ignore next */
x = 1;

but does emit:
x = 1;

dropping the istanbul comment
Version
1.2.117
Additional context
No response

Seems like the comment is on type alias and the type node is removed.

@kwonoj Any thoughts? Do you think we should preserve the comment on type nodes?

In my opinion this is somewhat undefined behavior, there's no clear expectation.
i.e tsc stiprs comment out

while babel preserves it. If we're aiming for babel's model probably better to mimic babel's behavior but even in that case I'd consider this is improvement, not a bug.

TS has a compiler flag, removeComments, to  control the behavior

I think removal of comment is expected, because the comment is on type definition.

@cdaringe That doesn't apply for this case, what @kdy1 says is correct. Even if you set removeComments: false, tsc strips comments along with type definition: https://www.typescriptlang.org/play?removeComments=false#code/PQKgBAlgzgLghgOwEYFcA2kDmCD2AnAUzAQIA8YwRgAoGATwAciAtMAXmJQFskC8BuamgIVS7MAEZ+QA
Locally verified it as well.
My take is still same, I'd consider this as improvement if we want to support.

It's worth mentioning that currently the behavior is not 1:1, take a look at @kwonoj's example but with a newline: https://www.typescriptlang.org/play?&removeComments=false#code/PQKgBAlgzgLghgOwEYFcA2kDmCD2AnAUzAQIA8YwRgAoamATwAciAtMAXmJQFskC8A3NTQEKpDmACMAoA
This emits the comment as expected.

Yes, that's known - while issue is different, this comments explains it:
https://github.com/microsoft/TypeScript/issues/26079#issuecomment-409294656

Comments at the beginning of a line followed by a new line are considered "unattached", and these are preserved,

While SWC doesn't do strictly distinguish comment attachment in this case.
But also, if desire is let comment directive to work for given statement for this specific case, since actual line's already strippted not sure what those comment supposed to do here.

Just to provide a visual to @kwonoj 's comment. Please see this TS Playground.
let y  =  3;

/* istanbul ignore next */

type Z = number;
let x = 1;

is compiled into:
"use strict";
let y = 3;
let x = 1;

The comment above the type statement is stripped.

Has anyone found a workaround for this? Is there a setting on .swcrc config or .tsconfig that can prevent /* instabul ignore next*/ type comments from being stripped?
We're trying to migrate from ts-jest to @swc/jest and we have 100% coverage requirement... 🙏  Any help much appreciated.

@dpchamps wrote a jest plugin that tests for the comment, calls into this swc/jest, then reinjects the comment before handing off jest. it's imperfect, but gets us most of the way there

@dpchamps wrote a jest plugin that tests for the comment, calls into this swc/jest, then reinjects the comment before handing off jest. it's imperfect, but gets us most of the way there

Can you link me to the plugin? 🙏

@joshyudeep the project is unfortunately closed source. However, the idea is easily communicated:
const wrapTransformer = (swcOptions) => {
  const swcTransformer = createSwcTransformer(swcOptions);
  return {
    ...swcTransformer,
    process: (src, filename, jestOptions) => {
      const result = swcTransformer.process(src, filename, jestOptions);

      /**
        * search the contents of the file for a file-level istanbul-ignore
        * e.g. `istanbul ignore file`
        * if found, append the ignore text to the bottom of the file
        **/
      if(containsFileLevelIstanbulDirective(src, result)){
           return appendIstanbulIgnoreFile(result)
      }

     return result;
    },
  };
};

module.exports = {
  createTransformer: wrapTransformer
}

Basically just a heuristic based on the observation that this bug only impacts comments attached to type nodes.
Assuming that/* istanbul ignore <token> */ should never precede types, and if they do can always be moved to the appropriate position so that they're not stripped without an impact to coverage. Therefore, the only ignore valid comments that can be stripped are file-level directives. In which case, we can put them at the bottom of the file after the transformation.

Special handling of istanbul ignore is out of scope while preserving comments is in the scope of the project.
I think handling tool-specific comments is a hack and I'll reject such patches.

Special handling of istanbul ignore is out of scope while preserving comments is in the scope of the project. I think handling tool-specific comments is a hack and I'll reject such patches.

Thanks for the quick response. I think as long as comments can be preserved then there's a workaround for this type of situation.

@kdy1 yep thats fair. It's a total hack, but this will help you @joshyudeep in the interim

@kdy1 yep thats fair. It's a total hack, but this will help you @joshyudeep in the interim

Thanks for the suggestion..  Looks like .swcrc compiler strips all kinds of comments during transformation.

@kdy1 I'm assuming there's currently not a config option as a workaround for this (disabling removing of comments). Do you have a rough estimate as to when this functionality would be worked on / released? Trying to see whether it'd be worth the time to come up with my own custom solution in the interim.
Thanks! Also, much appreciate all that you (swc contributors) have put into this project, our test suites are running 5x faster with @swc/jest.

I'd suggest to go with workaround. We'll eventually have this but there's no promised timeline or eta to provide.

@joshyudeep, sorry my explanation probably wasn't clear 😅 :
This case only practically affects comments that are dropped when they precede types and import statements. Types and import statements don't impact coverage, therefore/* istanbul ignore <token> */ comments shouldn't ever precede a type or an import statement (afaik). If they are, they can be adjusted to precede the particular code block you're actually trying to omit from coverage.
That leaves you with one remaining case: file-level istanbul directives. That's what this workaround solves.

Comments are only dropped when they precede types and import statements.

@dpchamps thanks for the follow up -- I don't think I completely follow cause I don't think the above assumption is true. Check out this playground where all comments are stripped out except the last comment that's at the EOF.

@joshyudeep

Is there something I'm missing?

note the negative look ahead :)
also, compiler settings matter

Comments are not removed. Those are simply not printed because the node which the comments are for is not printed as it's removed.

Also, I don't have any estimate and I don't think I will work on this.

@kdy1 , yes -- it's clear to me why the comments are not emitting from the final output. Which I'll summarize here. Please correct me if I'm wrong:

Preserving comments is not part of the ECMA spec, they don't get AST nodes
SWC associates comments with ast nodes in order to preserve them through the compilation process
In the event where the AST node is dropped during compilation, the comment is also dropped.

I actually have some interest in working on a holistic solution for this. Would you be open to a patch? I have some PTO coming up, and am already pretty familiar with the SWC codebase.

I'm open to patch, but please add a flag to enable moving of comments.
I think preserving comments of dropped nodes is counter-intuitive

@joshyudeep I realized that my partial pseudo-code demonstrating the workaround may have been confusing. Here's a working example: https://github.com/dpchamps/swc-jest-wrapper-example

@joshyudeep I realized that my partial pseudo-code demonstrating the workaround may have been confusing. Here's a working example: https://github.com/dpchamps/swc-jest-wrapper-example
Feel free to play around with it, lmk if it works for you.

Thanks for the example. much appreciated. I found that these uses of istanbul ignore next are failing as well 😢;
Here's the config for the example below
// istanbul ignore next
export const badIstanbul = (test) => {
  const { value, ...pixelParams } = test;
  console.log('fail');
};

/* istanbul ignore next: UI-5137 */
export const downloadDocument = (): void => {
  console.log('fail');
};

@joshyudeep Those examples work fine. See coverage:

However, it might be a bit off topic to go back and forth in this thread with specific examples.

However, it might be a bit off topic to go back and forth in this thread with specific examples.

@dpchamps good point -- I've created a separate issue in the example repo you posted. 🙏 👍
https://github.com/dpchamps/swc-jest-wrapper-example/issues/1#issue-1082833066

Comments are not removed. Those are simply not printed because the node which the comments are for is not printed as it's removed.

@kdy1 just wanted to double check that this is intended functionality. @swc/jest defaults to exporting to module type: commonjs so for the following chunk of code, all of the comments outside of function declarations are removed. But when you export with module type: 'es6' the comments remain. Is that in line with your quoted comment above?
cc: @dpchamps @kwonoj
Original source code
/* istanbul ignore file */

export const badIstanbul = () => {
    return 1;
};

// istanbul ignore next
export const downloadDocument = () => {
    return 2;
};

/* istanbul ignore next */
export const downloadDocumentTwo = () => {
    /* istanbul ignore next */
    return 3;
};

commonjs conversion playground link
"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.downloadDocumentTwo = exports.downloadDocument = exports.badIstanbul = void 0;
var badIstanbul = function() {
    return 1;
};
exports.badIstanbul = badIstanbul;
var downloadDocument = function() {
    return 2;
};
exports.downloadDocument = downloadDocument;
var downloadDocumentTwo = function() {
    /* istanbul ignore next */ return 3;
};
exports.downloadDocumentTwo = downloadDocumentTwo;

ESM conversion (type: 'es6') playground link
/* istanbul ignore file */ export var badIstanbul = function() {
    return 1;
};
// istanbul ignore next
export var downloadDocument = function() {
    return 2;
};
/* istanbul ignore next */ export var downloadDocumentTwo = function() {
    /* istanbul ignore next */ return 3;
};

Yeah I think so

would it be possible to just capture comments as a list of CommentLine nodes as babel does it?

@longlho No

is that a technical limitation or resourcing limitation?

What's resourcing limitation?

It's technical,

To be clear I'm not specifically asking for emitting/preserving comment nodes, but rather parsing them into AST so plugins can use them for static analysis/directives.

It's not possible and I'll reject PRs doing so

Can you elaborate? I'm reading through the thread and wasn't able to see the technical limitations other than lack of spec

Adding a field for comment to all node is simply not acceptable.

hmm no that's not what I meant. I meant like https://astexplorer.net/#/gist/5523e56fe73439101ec0d38e43734dd7/9d2d9e5dea8587085ada67d1a731785783eb7cd4 where comments is a field on File node that has a list of CommentLines

It will make writing transforms much harder, so it's no anyway.

Can you explain that point? Assuming comment transformation/emit is still unsupported what's the complexity in just parsing?

I mean lifetime will be headachr if comments are stored in Module type.

Can you clarify that? That's how babel does it so there is 1 reference implementation.
I think the bottom line is that comments need to be captured so the decision is whether you wanna attach to a node the same way TS does it or just combining all of them and store it at a top level like babel.
The former has a lot of complexity and the latter seems like a good stepping stone. Right now your AST is also technically a private API so there's no compatibility SLA here. Therefore I'm not sure what "lifetime" means here.

Would be amazing to have comments in AST tree. I'm working on swc-to-babel, and want to use it in  🐊Putout linter, and if some file in source tree has comments, they need to be preserved 🤷♂. Someone put comments there for a reason.
Here is example of Babel:
{
  "type": "File",
  "start": 0,
  "end": 29,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 3,
      "column": 1
    }
  },
  "errors": [],
  "program": {
    "type": "Program",
    "start": 0,
    "end": 29,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 3,
        "column": 1
      }
    },
    "sourceType": "module",
    "interpreter": null,
    "body": [
      {
        "type": "FunctionDeclaration",
        "start": 9,
        "end": 29,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 18,
          "end": 23,
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 14
            },
            "identifierName": "world"
          },
          "name": "world"
        },
        "generator": false,
        "async": false,
        "params": [],
        "body": {
          "type": "BlockStatement",
          "start": 26,
          "end": 29,
          "loc": {
            "start": {
              "line": 2,
              "column": 17
            },
            "end": {
              "line": 3,
              "column": 1
            }
          },
          "body": [],
          "directives": []
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " hello",
            "start": 0,
            "end": 8,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 1,
                "column": 8
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " hello",
      "start": 0,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    }
  ]
}

And swc:
{
  "type": "Module",
  "span": {
    "start": 0,
    "end": 25,
    "ctxt": 0
  },
  "body": [
    {
      "type": "FunctionDeclaration",
      "identifier": {
        "type": "Identifier",
        "span": {
          "start": 9,
          "end": 14,
          "ctxt": 0
        },
        "value": "world",
        "optional": false
      },
      "declare": false,
      "params": [],
      "decorators": [],
      "span": {
        "start": 0,
        "end": 25,
        "ctxt": 0
      },
      "body": {
        "type": "BlockStatement",
        "span": {
          "start": 17,
          "end": 25,
          "ctxt": 0
        },
        "stmts": []
      },
      "generator": false,
      "async": false,
      "typeParameters": null,
      "returnType": null
    }
  ],
  "interpreter": null
}

Almost everything can be converted, but where should I get comments from 🤷♂?

@coderaiser
swc to babel already exists.
See https://github.com/swc-project/swc/tree/bfada04b338a70323eb205ee147a2157d328ad46/crates/swc_estree_compat

Currently there's no js api to get comment

swc to babel already exists.
See https://github.com/swc-project/swc/tree/bfada04b338a70323eb205ee147a2157d328ad46/crates/swc_estree_compat

Nice :)! How can I use it from js?

Currently there's no js api to get comments

OK, but is it possible to use it from @swc/core, for example, with a method parseSync:
const {parseSync} = require('@swc/core');
const ast = parseSync(`const hello = 'world'`);
const babelAst = swcToBabel(ast);

Or even:
const {parseSync, swcToBabel} = require('@swc/core');
const ast = parseSync(`const hello = 'world'`, {
    babel: true,
});

swc to babel already exists.
See https://github.com/swc-project/swc/tree/bfada04b338a70323eb205ee147a2157d328ad46/crates/swc_estree_compat

Why does it called swc_estree_compat? Is it related to Babel AST or ESTree AST or both :)?
The thing is they are quite different and that's why estree-to-babel exist.

It can emit acorn ast/babel ast

It can emit acorn ast/babel ast

That’s awesome :)!
Could you please show me an example of

✅parsing source to SWC AST;
✅converting SWC AST to acorn and Babel;


Switch order of parameters for CompileError constructor

I've been hitting a problem in a rollup (v0.50) + buble (v0.16) workflow: Error messages from buble are replaced with something more cryptic:
TypeError: Cannot read property 'magicString' of undefined
    at new CompileError (/.../node_modules/buble/dist/buble.umd.js:1131:29)

As it turns out, rollup is calling the CompileError constructor on its own, to decorate Errors coming from rollup plugins. But it calls the constructor with only message as its first argument, triggering the aforementioned TypeError:

I feel that the easiest workaround is to patch buble's CompileError constructor to be more alike the Error constructor.

Ugh. This seems like a larger failure of design. But the fix seems reasonable for now — thanks


do not deploy dashboard resources if dashboards are disabled

If custom dashboards is not enabled (external_services.custom_dashboards.enabled) do not expect the MonitoringDashboards CRD to exist and do not deploy any monitoring dashboard resources.
fixes: https://github.com/kiali/kiali/issues/3285

There are a few things you can do to test this PR.
First,  try to install Kiali two times - once with the external_services.custom_dashboards.enabled setting in the Kiali CR set to true and once with it set to false. Kiali should install both times. The second time (with false) there should be no custom dashboard resources (i.e. this returns no results: kubectl get monitoringdashboards.monitoring.kiali.io --all-namespaces).
Second, simply remove the Monitoring Dashboards CRD (via kubectl delete crd monitoringdashboards.monitoring.kiali.io) and do the same 2 tests above (once with the external_services.custom_dashboards.enabled setting in the Kiali CR set to true and once with it set to false). Kiali should install both times - the operator should not blow up.

Not tested

Let me add something to our molecule tests. This should be easy for me to add. I'll put it as a second commit to this PR and ask you to review again. Stay tuned...

@jotak new molecule test to show the disable working.


Locale installation task fails if "locales" package not installed

Sample error:
TASK [Common : Enable ja_JP locale] *********************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "/etc/locale.gen and /var/lib/locales/supported.d/local are missing. Is the package \"locales\" installed?"}

PLAY RECAP **********************************************************************************************
localhost                  : ok=20   changed=12   unreachable=0    failed=1

What OS / architecture?

I think that was on an arm32/raspbian system but I wouldn't expect it to be specific to that

The closest I could get to that platform was an aarch64/Debian system, which already had locales 2.28-10 installed.
Of the 4 Distributions that have the locale stuff in the common file, only CentOS uses localedef, which is installed from glibc-common (which is already in the build package list). RHEL, Ubuntu and Debian use the locales_gen ansible module, which, as the error suggests, uses the locales package.
For ease, I'll add a task that installs the locales package before all the locales tasks- as they're not architecture specific, the install task shouldn't have to be either.

https://ci.adoptopenjdk.net/job/QEMUPlaybookCheck/77/
https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/834/
If the above runs work, I'll PR 👍


Enable gotestfmt for i386 tests

@stv0g I believe we can close this out
https://github.com/pion/.goassets/blob/master/.github/workflows/test-i386.reusable.yml#L49

Nice, thanks @stephanrotolante !
Feel free to close things also! If something isn't completely done we can always re-open the issue


Holding down keys on Mac makes IME character entry appear. This is bad for game controls like WASD.

Perhaps IME text entry mode needs to be toggled on and off somehow instead of always being available.

It seems let () = msg_send![this, interpretKeyEvents: array]; should be prevented when text input is not desired. But does that have any negative consequences?
Additionally some other libraries seem to use inputContext handleEvent instead. Why?

Fixed by https://github.com/kettle11/kapp/commit/f0c6f2915c61a4a3db13b0dde25685378b7399e2
start_text_input and end_text_input functions are added to Application to support entering and exiting text input mode. By default text input is off.


rollup distributed .es2015.js

Hi this is a followup of #83
If you import inferno and use in your project
import Inferno from 'inferno';
import InfernoDOM from 'inferno-dom';

and then try to rollup that all together in a script
rollup({
  'entry': 'main.js',
  'plugins': [
    npm({ 'jsnext': true, 'main': true }),
    commonjs(),
    babel({
      'babelrc': false,
      'presets': ['es2015-rollup']
    }),
  ]
})
.then(function(bundle){
  return bundle.write({
    'banner': '/* Bundle */',
    'dest': 'dist/scripts/bundle.js',
    'format': 'iife',
    'moduleName': 'test',
    'indent': false,
    'sourceMap': false
  });
})
.catch(function(error){
  console.log(error);
});

This will produce an script that is babeled twice. Because the distributed .es2015.js have been "partly" babeled to es5. For example inferno-dom/dist/inferno-dom.es2015.js has babelHelpers.typeof.
I tried to build inferno without the babel plugin, but I suppose because of the spread operator.
IMO, the jsnext:main should either point to the original src files. Or build in a way that they can be used with rollup again.
I changed the inferno/config/rollup.config.js to remove the original babel plugin and add one that only does stage-0 transformation.
if (es6){
	plugins.shift(); // removes current babel plugin from plugins
	plugins.unshift(babel({
		'babelrc': false,
		'presets': ['stage-0']
	}));
}

building npm run build:es6 with my change, gives .es2015.js files without the babelhelper stuff. And works if you rollup your code.

The problem with pointing to the src files is that anyone building without all of the presets/plugins inferno uses will need to add them. There is no good solution to this problem at this time (like Babel-dependencies) that I'm aware of, but I'd love to be wrong.

@tejacques these should be simple devDependencies, no? Nobody expects to run npm scripts without having run npm install.

I understand that you don't want to ship all the src files. My solution is to build the es2015.js files a bit differently (i.e. only 'presets': ['stage-0'] ), then it is possible to roll them up again .

@barneycarroll I don't think it's that simple. Firstly devDependencies only come along for the ride if you install with npm install <package> --dev, second, I don't know if webpack/rollup respect the recursive .babelrcs of included dependencies. If they do -- that part is ok, but you still won't get the babel plugins included with a vanilla npm install <package>

@tejacques right, I get you, the bit rollup leaves out is how to unify compilation targets. Reading this part of the README from a plugin that aims to resolve some of the practical issues in babel + rollup, they seem to come to the disappointing but fairly reasonable conclusion that procedural babel dependency analysis through a tree of dependencies is non-trivial (maybe impossible). So, basically, you're right, I was being very naive — the jsnext:main solution doesn't work because of its static analysis.

@thisconnect I also ran into this issue. The current solution is to exclude node_modules from the babel plugin, like this:
rollup({
  'entry': 'main.js',
  'plugins': [
    npm({ 'jsnext': true, 'main': true }),
    commonjs(),
    babel({
      'babelrc': false,
      'presets': ['es2015-rollup'],
      'exclude': 'node_modules/**'
    }),
  ]
})
.then(function(bundle){
  return bundle.write({
    'banner': '/* Bundle */',
    'dest': 'dist/scripts/bundle.js',
    'format': 'iife',
    'moduleName': 'test',
    'indent': false,
    'sourceMap': false
  });
})
.catch(function(error){
  console.log(error);
});

https://github.com/rollup/rollup-plugin-babel#external-dependencies
This should work correctly. The only downside is that the babelHelpers will be included multiple times.

The duplicate helpers could be solved (on some combination of babel+bundlers side) by turning the helper definitions into:
import babelHelper_whatever from 'babel/helpers/whatever';

Then a bundler would be able to dedupe them easily. As far as I can tell, this is the only issue with prebuilding libraries that are included, so hopefully a solution similar to the above can be implemented.

@tejacques Yes, I agree that the babel helpers should be written as ES6 modules, rather than inserting raw code like it currently does:
https://github.com/babel/babel/blob/99a224efd9ddd1e779910701d4368d88e284a8a1/packages/babel-helpers/src/helpers.js
But that's outside the scope of both Rollup and Inferno.

@Pauan sure you could exclude node_modules, but what is the point of distributing the es2015 files?
I claim the current es2015 in inferno are useless.
@tejacques why would you add the helpers to the es2015 dist in the first place? and then fix the duplicated helpers?
I only propose that the es2015 build/dist is as little transpiled to es5 as possible.

I propose 2 changes

only  transpile as little as needed
inferno should have a dist/inverno*.es2015.js ideally built without babel, but that errors during the built npm run build:es6, so you need at least stage-0 (maybe stage-1 would do as well), Doing this will result in a useable es2015 built.

if the src files had an entry point like this: https://github.com/trueadm/inferno/blob/master/packages/inferno/src/index.js
and jsnext:main of inferno-src would point to this entry point, then it should be possible to use inferno-src as dependecy and import from 'inferno-src'

@thisconnect I personally agree with you that the jsnext:main should point to ES6 code, not pre-compiled ES5 code.
However, there have been discussions about this by other people (including the author of Rollup):
https://github.com/rollup/rollup/wiki/jsnext:main
https://github.com/jsforum/jsforum/issues/5
https://github.com/rollup/rollup/issues/106
From what I understand, the biggest issue is that Node.js does not natively support all of ES6 (it only supports certain ES6 features).
Therefore, if somebody is writing Node.js code, and they download a package from NPM, and use Rollup / Webpack on it, it may not work. Instead, it is necessary to use Babel to first transpile it to code that Node.js understands.
Not everybody will want to download and use Babel just to use a library that they downloaded from NPM. So the approach Rollup takes is to put more of a burden on library creators, but less of a burden on library users.
That's why the current suggestion is that jsnext:main should point to code which has been pre-transpiled, so that it is usable without needing consumers to use Babel.
Personally, I think jsnext:main should point to raw ES6 code, but I am not the one that you need to convince: you should post on the jsforum issue that I linked to.

Why do you it's our problem? We provide ES2015 code, that's all. Is Babeling twice (i.e. second time) user issue to prevent of Babeling it, isn't it? Isn't it what Babel or Rollup users have to discuss? What did I miss?
I don't use Rollup yet, but I prefer to use Babel's ignore option for ES2015 modules.

@kuraga I think there are two separate issues being discussed:

How to solve the problem of Inferno being "double-babelified". This is a configuration issue in Rollup, and it is not Inferno's problem.

Whether Inferno should distribute "raw" ES6 code, rather than pre-compiled ES5 code. This is also not Inferno's problem, because Inferno is correctly following the jsnext:main standard. If anybody disagrees with the standard, they should post on the jsforum issue.

In short: both issues are not Inferno's problem.

The Rollup include and exclude options are essentially the same as Babel's only and ignore options.

Offtopic: Sorry for closing / reopening... Something wrong in phones mobile github app

thanks @Pauan the jsforum link was quite enlightening. My misconception was that jsnext:main should point to a not transpiled es6/7 file.


Testing plantTrait prototypes as concept.

Playing around with idea of plant traits being prototypes.

About the PR

Current mutation system requires all of the 'fun' featues to be hard coded. This is just my experiment on how they could be expressed with *.yml files.
Current version does not solve the issue of expressing the traits on the growing plant, only the product or 'fruit'.
Why / Balance

Reduce the amount of hardcoded content that can be expressed in *.yml's declerative manner instead and reduce the barrier for entry to other contributors less familiar with C#
Technical details

new server prototype 'plantTrait' that contains components declerations and possibly meta data about  whether the trait is expressed on plant, product or both.
Due to dynamic nature of the amount of prototypes the totalbits constant in mutation randomization cannot be const int
Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

I've been planning on doing something similar too, if you'd like any assistance I'd be happy ti work on this with you.

If @Partmedia gives the concept it's blessing, I would love to get aid in this. But If there is objections to this 'idea' I don't want to pull anyone waste their time on this.

Current things to solve/ponder:

Logic to add / remove components on plants (not the product) when it gains/losses mutations.
Allow parameter ranges for the component variables, example re-implementing bioluminecence.
Conflict resolution between traits that have overlapping components.
Migrate/Add more stuff to plant traits.

The problem is that the plant is currently not an entity by itself, and the tray itself holds many components that the plant should. If the plant was an independent entity, it'd be trivial to add components to it and removing them wouldn't be an issue

Being prototypes, some complex mutations could also have specific mutation functions bound to them

Thank you for checking in with your idea. I appreciate you giving me the opportunity to give my two cents :)
In general, I support encoding more fun plant things like traits which add components to be runtime-definable, for all the reasons that you stated. I would also be in favor of defining all "flip a bit and add a few components" type traits for these traits you've identified.
However, I do want to point out that this type of "one-bit flip and add some components" mutation only represents a small fraction of the types of mutations available.
Obviously, the current way that total bits are summed together is not ideal, but this could be turned into a compile-time computation via a source generator. Of course there are some advantages to compile-time static type checking. And I wonder whether or not it's possible to move all of the current functionality into yaml without doubling C# line count :p

Obviously, the current way that total bits are summed together is not ideal, but this could be turned into a compile-time computation via a source generator. Of course there are some advantages to compile-time static type checking. And I wonder whether or not it's possible to move all of the current functionality into yaml without doubling C# line count :p

While I'm not sure how it'd work for more complex traits, in the case of ones that are a simple bool, couldn't we build a dictionary of traits and their assigned bits based on a yml file, and then calculate the updated amount of total bits at runtime?

Unless we want to have something closer to DNA sequencing of plant traits where one trait can subvert some other etc. (and if that is the case then, Lets go all the way!) the code/idea in this draft assumes the 'trait' is boolean value but the implementation of that is delegated to the component list in yml file instead of hard coding it.
But if there is interest in overhauling the whole mutation and cross breeding system that would require quite a lot of documentation to be kept coherent.
With current systems, turning all of the mutation into yml, would practically just mean seed prototypes with less values and overriding all in cross breeding or none at all.
...that might not be bad idea. (except with some corner cases but those can be solved)

Perhaps you should coordinate with the author of #20602 and discuss how to proceed.

Do we actually want to have something closer to DNA sequencing of plant traits where one trait can subvert some other etc. (and if that is the case then, Lets go all the way!)? The code/idea in this draft assumes the 'trait' is boolean value but the implementation of that is delegated to the component list in yml file instead of hard coding it.

sounds like dominant alleles :trollface:
each trait is a 2 bit number, basically 2 alleles, and the recessive behaviour is shown physically when the trait is 0, and the dominant behaviour when 1-3 as the dominant alleles are expressed in the gene :nerd_face:

This'd likely be dramatically easier if you first rewrote the plants themselves to be entities.

yes any plant genetics and stuff should be done after plant ecs gaming

Closing due to inactivity and this not being the preferred solution


Fix #14

calculate number of chunks based on real data length.

Hi @dvzubarev
Many thanks for contributing. We are obliged by law to have a signed scanned copy of a Contributor License Agreement (CLA) to be able to accept pull requests to the official ArangoDB repository - even for such small changes.
We use an Apache 2 CLA for ArangoDB and its companion projects, which can be found here: https://www.arangodb.com/documents/cla.pdf
Just fill in the form, sign and send a scanned copy over to<EMAIL_ADDRESS>Thank you

Hi, I have sent signed copy from<EMAIL_ADDRESS>

Hi @dvzubarev
Unfortunately, we did not receive any signed CLA. May you try again and send your signed CLA to<EMAIL_ADDRESS>Best,

It was merged as part of 832c1149320a77b0bceb20636bd38608c8c5e4fc


Client Authentication Failed

Describe the issue
Unable to connect to retrieve the bmw vehicles.
Receive this error message:
site-packages/bimmer_connected/api/utils.py", line 89, in handle_httpstatuserror
raise _ex_to_raise(_err_message) from ex
bimmer_connected.models.MyBMWAuthError: HTTPStatusError: invalid_client - Client authentication failed (e.g., login failure, unknown client, no client authentication included or unsupported authentication method)
Expected behavior
Yesterday it was able to retrieve the bmw information.
Which Home Assistant version are you using?
None
What was the last working version of Home Assistant Core?
No response
What is your region?
North America
MyBMW website

[X] I can still successfully login to the BMW MyBMW website and the car status is available there.
[X] I have MyBMW enabled for my vehicle.

Number of cars

[X] I have 2 or more cars linked to the MyBMW account.
[ ] I have a Mini vehicle linked to my account.
[ ] I have a Toyota Supra vehicle linked to my account.

Output of bimmer_connected fingerprint
MyBMWAuthError due to HTTPStatusError: invalid_client - Client authentication failed (e.g., login failure, unknown client, no client authentication included or unsupported authentication method)
MyBMWAuthError: HTTPStatusError: invalid_client - Client authentication failed (e.g., login failure, unknown client, no client authentication included or unsupported authentication method)

Anything in the logs that might be useful for us?
No response
Additional information
No response

Same here. Have had no issues until now. 2024 M440i here

Whats your location (US/rest of world)?

Whats your location (US/rest of world)?

US

Also having this issue

Quick update I posted at https://github.com/home-assistant/core/issues/128598

I was only able to confirm that currently authentication to North America is not possible. Rest of world still seems fine.
Unfortunately, I won't have the chance to look into it until next week (traveling).

Another update from https://github.com/home-assistant/core/issues/128598

BMW have started using hCaptcha to protect their logins. Even if it doesn't show during login in the app, a captcha check is done in the background.
It seems that when no valid captcha token is preset, the login will be denied.
From a very quick check I have no immediate idea how to solve this (except using external captcha solver services with cost money).


[RFC] Update cookie banner

@Borda do we have a PL cookies policy? Or we could just not point to anywhere


Add HTTP status code to ErrorDetails

I wanted to look into an error I got in my lumeod but apparently API server didn't respond with JSON and so the error message isn't super useful. This most likely means that it was an internal server error, but we don't actually know since we don't currently store the status code in case of response deserialization errors.
With this change, the status code is added to the error we log, if the error happened after receiving a response.

Hold on with review, I found a better way to implement this.


IOS - Recording and listening for keyword at the same time

Using the provided PorcupineManager for ios, I am unable to record audio, using AVAudioRecorder, and listen for keywords at the same time (calling the startListening function in PorcupineManager. Is there a workaround for this?

whats your use case?
you probably should change PorcupineManger to both record and pass audio to the engine. But the alternative should work as well.
Can't provide more help without understanding context and/or seeing some code ...

Thanks for the info. And the issue you are seeing is that the Porcupine is not detecting, correct?
I don't have a 100% answer why if that is the case but I suspect that the recorder and manager are forcing microphone to record in two incompatible configurations.
What I meant by changing the porcupine manager is to record audio in it within the callback here https://github.com/Picovoice/Porcupine/blob/5d49042396aa280ef1d64bc1fa5b177b26820b30/binding/ios/PorcupineManager.swift#L84
if you want to feed audio to porcupine it needs to be in raw format without any compression etc. take a look at the header file pv_porcupine.h to learn more about the required format.

I see, that makes a lot of sense. Porcupine does not detect if I start recording after I start porcupine listening, and porcupine does detect if I start listening after I start recording. In both cases, the recordings are silent. As for the required format, are these the only parameters I need to keep in mind: "sample rate equal to 'pv_sample_rate()' and be 16-bit

linearly-encoded. Furthermore, porcupine operates on single channel audio".

Yes. Those are the only parameters. I suspect this is because of how the audio nodes are set up. I believe what you are trying to do is achievable. Since this seems to be an issue out of the scope of the engine I am going to close this issue. If you find a solution feel free to submit a PR for an additional iOS demo. I am sure the community will appreciate.


fix(vertical-nav): v2 vertical nav accessibility

#3575
Signed-off-by: Andrei Constantin<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] If applicable, have a visual design approval

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] clarity.design website / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #3575
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

The gemini tests were blocked for some time. Now we have the reason.
Screenshots cherrypicked from master are not compatible with V1 and back. There are minor differences in characters antialiasing probably, that trigger these false positives.
Andrei, please update the failing ref images and commit them with this issue.
Thanks!

Fixed via https://github.com/vmware/clarity/commit/57fddbbf514ca050daebd0f9dc4946dafe6f30d3


barclock: add settings using ClockFace

Builds on this PR
Settings for showing date, loading widgets, and font

Whoops, Vector font is too large on the Bangle.js 2. converted it to draft for now.

Thanks!


chore: use dpdm-fast to make lint faster

Description
I want to switch from dpdm to a faster dpdm-fast, as their CLI capabilities are completely identical. The latter has improved performance by 10-25 times after Rust reconstruction
How to test
dpdm-fast has been used in multiple projects in my company

CI is incorrect, I will check after meals or after completing exercise today

Thank you for taking the time to share your project!
I think you should have also mentioned your blog article to give a bit more context to the reviewers of similar PR on other repositories.
I tested it locally, and it worked fine inside a docker container. So, the CI failure is related to some specific incompatibility with the GitHub CI image.

Another thing I noticed is that the speed test results were similar to using the original dpdm lib because MiniSearch has only 52 files at this moment.

dpdm
dpdm-fast

Although the speed is not a differential at this moment, I'm willing to merge this change because I see value in improving the overall performance of projects.

Thank you for your recognition! The reason why I did not share my blog is that I am afraid that people will think that I am intentionally promoting my personal blog, and the other reason is that this is a Chinese blog. At the same time, I also admire your carefulness, which has better tested the actual speed of dpdm in this project.

The reason for the CI error is that the architecture does not support the corresponding container. I will update a version tomorrow for compatibility

Ah, you got it right when you changed the CI to run npm ci --ignore-scripts && cd node_modules/dpdm-fast && npm run postinstall && cd ... The workflow passed:
https://github.com/felladrin/MiniSearch/actions/runs/11370361595/job/31630238200
You can leave it like that!
The --ignore-scripts is there to prevent it from compiling llama.cpp (which is built by node-llama-cpp package).

Yes~I know, but I think this is a bit intrusive into the user's code. I have decided to modify the dpdm-fast library and use node as a relay.


feat(hvcs): add hvcs_domain config option

While Gitlab already has an env var that should provide the vanity URL, this supports a generic 'hvcs_domain' parameter that makes the hostname configurable for both GHE and Gitlab.
This will also use the configured hostname (from either source) in the changelog links
Fixes: #277

Functionally, this seems to work, however, unsure about a couple things:

Having some trouble testing this properly (see failing tests); once I sort that out, I can add more tests for the Github case, as well as add tests for the changelog generation.
Not sure if this should still be in all caps, since it's not a constant? And should this be in an __init__() or similar function for the Github / Gitlab classes and then change it to self.BASE_URL or similar?
I'm assuming it's better to call Github.domain() vs directly referencing Github.BASE_URL from outside the class, right?

We would also want to verify that the vanity URL is always used for the PR links and so on, though I think it should be. Let me know if there are other places that URLs should follow the configured ones as well.

I'm thinking that it's likely not as performant to call these methods that call config.get() so frequently or use these static methods? would appreciate some guidance on how best to structure this it if you've got any ideas. @relekang @danth


Is TVer slow downloading due to yt-dlp or is it on their side?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally 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 2023.02.17 (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 known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
Japan
Provide a description that is worded well enough to be understood
I've noticed recently that after updating to the most recent yt-dlp version (2023.02.17) TVer downloads have become way slower to the point of taking me over 6 hours to download a file I used to get within an hour or so. Makes me wonder if TVer has changed stuff up so yt-dlp takes way longer to download videos or is it just me. I've also tried plenty of GUI's and didn't made any change in speed (not that I expected to).
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', 'test:tver']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (zip)
[debug] Python 3.10.6 (CPython x86_64 64bit) - Linux-6.0.12-76060006-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, pyxattr-0.7.2, secretstorage-3.3.1, sqlite3-2.6.0, websockets-9.1
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.02.17, Current version: 2023.01.06
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/download/2023.02.17/_update_spec
Current Build Hash 446d77c224738bb5bc8e8711014b5df3ca096997eaeeb61f7d8c10c425658255
Updating to version 2023.02.17 ...
ERROR: Unable to write to /usr/local/bin/yt-dlp; Try running as administrator
[TestURL] Extracting URL: test:tver
[TestURL] Test URL: https://tver.jp/episodes/ep83nf3w4p
[TVer] Creating session
[TVer] Extracting URL: https://tver.jp/episodes/ep83nf3w4p
[TVer] ep83nf3w4p: Downloading JSON metadata
WARNING: [TVer] Unable to download JSON metadata: HTTP Error 404: Not Found
[TVer] ep83nf3w4p: Downloading JSON metadata
[brightcove:new] Extracting URL: http://players.brightcove.net/4394098883001/default_default/index.html?videoId=ref:3363_3362_33252#__youtubedl_smuggle=%7B%22geo_countries%22%3A+%5B%22JP%22%5D%7D
[debug] Using fake IP <IP_ADDRESS> (JP) as X-Forwarded-For
[brightcove:new] ref:3363_3362_33252: Downloading JSON metadata
[debug] Saving brightcove.4394098883001_default to cache
[brightcove:new] ref:3363_3362_33252: Downloading JSON metadata
ERROR: [brightcove:new] None: The policy key provided does not permit this account or video, or the requested resource is inactive.
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/brightcove.py", line 925, in _real_extract
    raise ExtractorError(message, expected=True)

You are on older version
The log shows that you don't have access to the video, not that the download is slow as you report

You are on older version

The log shows that you don't have access to the video, not that the download is slow as you report

Funny enough Tartube claimed to have updated yt-dlp so at first I thought it actually did so until you just pointed out I was still on the January version. With that being said it seems to stern from my VPN servers rather than yt-dlp itself as one of them is disliked by TVer and the other has gone down speed wise. Will check tomorrow again to see if anything got better.

With that being said it seems to stern from my VPN servers rather than yt-dlp itself as one of them is disliked by TVer and the other has gone down speed wise. Will check tomorrow again to see if anything got better.

[x]  I've checked that all provided URLs are playable in a browser with the same IP and same login details

Check if it's throttled on browser with same VPN

Check if it's throttled on browser with same VPN

It seems my VPN's Japanese servers aren't working too well, couldn't even get into a video as TVer often timed out. I did made a test with a YouTube video without a VPN and sure enough downloaded pretty fast.

Just a quick update: I waited until today and the TVer download itself is still slow. However I noticed that using Video DownloadHelper and extracting the m3u8 manifests will result in faster downloads, although you'll need to put video and audio together through a video editing software. It does seem like something changed in TVer itself streaming wise or something.

However I noticed that using Video DownloadHelper and extracting the m3u8 manifests will result in faster downloads

Can reopen if you provide verbose logs from both, demonstrating the speed difference


点击模板时，增加覆盖提示

https://www.iviewui.com/view-ui-plus/component/view/modal

https://github.com/nihaojob/vue-fabric-editor/commit/74f1d0494121b5370788a39207e915af07092a2d


unit test of client package

What type of PR is this?
test

What this PR does / why we need it (English/Chinese):
Add unit test for client package
为client包增加单元测试

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Ranking elections

general ranking election class that verifies profile
plurality
tests for plurality, all elections have verify profile tests so no need to test general ranking

We're done with this PR after the final election file cleanup!


module 'cupy.cuda' has no attribute 'cudnn'

Hello,
I just installed in a virtual environment chainer an cupy  for using a neural network. I've been having this warning output:
ambiente/lib/python3.8/site-packages/chainer/backends/cuda.py:146: UserWarning: cuDNN is not enabled.
Please reinstall CuPy after you install cudnn
(see https://docs-cupy.chainer.org/en/stable/install.html#install-cudnn).
  warnings.warn(

Even if the warn says that Cudnn is not enabled, I can use the GPU for inference (nvidia-smi shows and up in vram usage when executed the script).
How can  I get rid of this warnning?
Environment:
Ubuntu 20.04
python 3.8.5
chainer==7.7.0
cupy-cuda110==8.3.0

note: I change this in chainer/backends/cuda.py since this problem is a bit old and there has been a reformating in the newe chainer version. (problem was that cupy.util couldn't be improted.
comment lines 69,114,115,

    # from cupy.util import PerformanceWarning as _PerformanceWarning  # NOQA

    ...

    # Dummy class for ignoring cupy.util.PerformanceWarning in setup.cfg.
    # class _PerformanceWarning(Warning):
    #    pass

Merging to #8601


Add from_result function

Hi! I was going to make my own Either library but I noticed you already made one, so I decided to offer this feature to yours instead.

Hey thanks!


Image sync

Summary
Brings image synchronisation to the catchall operations of fedcloud.
Uses atrope for managing images at the sites by generating the configuration for every VO that's avaialable at the AppDB

Related issue :

Closing and opening again from the right repo :(


StringSlice trims leading and tailing spaces

My urfave/cli version is
v2.23.7
Checklist

[x] Are you running the latest v2 release? The list of releases is here.
[ ] Did you check the manual for your release? The v2 manual is here <-- This link is broken.
[x] Did you perform a search about this problem? Here's the GitHub guide about searching.

Dependency Management

My project is using go modules.

Describe the bug
I expect cli.StringSliceFlag to accept leading and tailing spaces, similar to the behavior of cli.StringFlag.
To reproduce
The following program (see Go Playground) shows that cli.StringSlice trims leading and tailing spaces in flag values.
package main

import (
	"fmt"
	"log"

	"github.com/urfave/cli/v2"
)

const expected = " <- spaces -> "

func main() {
	app := cli.App{
		Flags: []cli.Flag{
			&cli.StringFlag{Name: "string"},
			&cli.StringSliceFlag{Name: "slice"},
		},
		Action: func(ctx *cli.Context) error {
			s1, s2 := ctx.String("string"), ctx.StringSlice("slice")

			if len(s2) == 1 && s1 == s2[0] {
				return nil
			}

			_, err := fmt.Fprintf(ctx.App.Writer, "%q != %q", ctx.String("string"), ctx.StringSlice("slice")[0])
			return err
		},
	}

	if err := app.Run([]string{"", "--string", expected, "--slice", expected}); err != nil {
		log.Fatalf("app run: %s", err)
	}
}

Observed behavior
The value was trimmed of leading and tailing spaces.
Expected behavior
The value should be unchanged.
Additional context
Discovered while passing a regexp string as a flag value (^ ).
Want to fix this yourself?


The naming conflict with clearfix still seems to be present.  Lets just rename it!

Renamed .clearfix() mixin to .clearfixEx()  in order to fix issues with naming conflicts with.clearfix classes in the less (v1.1.4) parser when using node.js (v0.5.8) for windows.

What naming conflict? All there is is clearfix...


Traversing tree?

Are there any examples of how to traverse an tree?
I am trying to change the color of a tree node when it is clicked.
Or is there an easier built in way to do this?
-VM

Does anyone have an answer for this?

I also have a similar requirement. I am able to traverse from parent to child. But is there a way to traverse other way also? I mean find the parent of the child nodes

You'd use standard recursion to traverse the tree.  I made an example for issue #205 which might be helpful.
http://plnkr.co/edit/SBLjHW76yL3yfiDJYe0K?p=catalogue

Thanks you for the example.  Many tree widgets have built in method to traverse the tree.  Was just curious thats all.  I will use recursion.  Thanks!


Property Schema Now Causing Warning

This is probably more of a question, than an issue. However, did the correct way to use propertyschema change recently on master (aka upcoming 0.10/1.0)? I now get a UserWarning, see below:
schema = {
    "users": {
            "type": "dict",
            "required": True,
            "propertyschema": {
                "type": "string"
            }
      }
}

v = Validator(schema)
v.validate({"users": {"test_user": "user_information"}})

cerberus/cerberus.py:594: UserWarning: Normalizing keys of users: test_user already exists, its value is replaced.

Not sure if this is an issue or if there is a change in behavior that I need to adopt.

nope, i'd say it's an issue. unfortunately i can't look into it this week.
but my guess is, that before this iteration all items in result where key and value are identical should be dropped.

Had some free time this morning, decided to give it a go. See #224.


fix : correctly set headers when creating PSR response

this fixes a bug with the headers not being set, Message::withHeaders returns an new object and does not set the underlying headers.

fixes https://github.com/openswoole/openswoole/issues/39


Please publish a patch release

There are changes on master that I would love to be able to use in a release. Please consider publishing, thank you! :+1:

Just gonna point out here, that a couple of us recently got commit rights, but we don't have the ability to publish a release cc @tgriesser 😉

@ErisDS Have you been able to contact @tgriesser to get publish rights?

I've published 0.10.3, see https://github.com/tgriesser/bookshelf/releases.


CSI Driver documentation needs to be fixed

I installed the CSI. This is the list of points I have:

You need to mention the installation of docker as it is needed for image creation (make build-image)
yum install docker
systemctl start docker

Maybe you can provide a full image instead?

3x the same cd
cd $GOPATH/src/github.com/IBM/ibm-spectrum-scale-csi-driver

You dont write the full path to spectrum-scale-driver.conf
Set the variable CSI_SCALE_PATH before mentioning spectrum-scale-driver.conf

You dont write on which node the CSI should be deployed. As it needs kubectl it would be a worker node.

Fix relative path in your create.sh script
[root@worker01 deploy]# ./create.sh
error: the path "deploy/csi-attacher-rbac.yaml" does not exist

Why do I need to encode the admin and password in the spectrum-scale-driver.conf ? Can you encode it automatically in your python script?
Also you should add information how to decode it with base64 (for example: echo guipass | base64) if you cannot encode it with python script.

In spectrum-scale-driver.conf I need to set mount path for the filesystem. Cant you determine it ? I specified the fs in conf file already.

Mount path of the primary filesystem.
scalehostpath = /mnt/gpfs0

Add information on how to determine spectrumscaleplugin in  spectrum-scale-driver.conf.
It can be get from the command below, but this information is missing in the github documentation.
podman images | grep spectrum-scale

Maybe you can discover it in your python script ?

Use newer versions for these images as the versions used in the conf file are already over 1 year old:
provisioner = quay.io/k8scsi/csi-provisioner:v1.0.0
attacher =  quay.io/k8scsi/csi-attacher:v1.0.0
driverregistrar = quay.io/k8scsi/csi-node-driver-registrar:v1.0.1

Dynamic Provisioning Example
The files are called
podfileset.yaml
pvcfileset.yaml
NOT podfset.yaml pvcfset.yaml as in the documentation

In spectrum-scale-driver.conf I had to set if I have Openshift. Cant you determine it ?

Specify true if this is an openshift deployment
openshiftdeployment = true

For remote cluster, provide a way to install it automatically, without editing yaml files. Also, setting remoteFS/remoteCluster in primary section does not seem to be required as the primary FS must be a local one.

Have you tested with newer version of attacher and provisioner?

Have you tested with newer version of attacher and provisioner?

Yes, I tried them once; they seemed to work properly but I did not test their full functionality.

#1 - Addressed by giving pre-req - https://github.com/IBM/ibm-spectrum-scale-csi-driver/tree/devel#building-the-docker-image
#2, #3, #4, #5, #6 are no longer valid as the CSI driver has switched to multi-stage docker build for building of images and operator based install for deployment of the driver.
#7 - We need to give scaleHostpath in operator configuration. Idea is to be able to give even a subdirectory or a parent directory of the filesystem mount point here depending on how much of filesystem you want to expose in the container. In 1.0 release only the FS mount point is supported but in future releases there is consideration on supporting subdirectories.
#8 - Driver images are available from quay.io and are given in CR files of the operator- https://github.com/IBM/ibm-spectrum-scale-csi-operator
#9 - Will take this up in next release
#10 - no more valid. Please refer to IBM knowledge center for instructions - https://www.ibm.com/support/knowledgecenter/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_using.html
#11 - no longer valid. There are now common install steps for openshift and kubernetes - https://www.ibm.com/support/knowledgecenter/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_install_usingops.html
#12 - Please check IBM knowledge center on remote cluster configuration- https://www.ibm.com/support/knowledgecenter/STXKQY_5.0.4/com.ibm.spectrum.scale.csi.v5r04.doc/bl1csi_config_csi_remotemount_final.html
Primary FS can also be a remotely mounted FS. Check the demo videos here-
How to dynamically provision a lightweight volume on a remotely mounted filesystem
https://youtu.be/xcpk6UbM1ps
How to dynamically provision a fileset based volume on a remotely mounted filesystem
https://youtu.be/jFKwUi6PXGI
How to configure remotely mounted Spectrum Scale filesystem as a primary filesystem for persistent storage
https://youtu.be/wKodQwugXWk

Only point 9 seems to be a valid request at this time, opened a separate issue for the same- https://github.com/IBM/ibm-spectrum-scale-csi-operator/issues/113
Closing this issue as other points have been answered.


Disable rate approximations on counter reset

@drcapulet

@achow this was already fixed in #230, we just need to deploy it.

Closing out.


Feature request: Set Wallpaper

I want to be able to set the computer wallpaper when using Dialog for enrollment.
First use case is to be able to set a wallpaper to control the "blur" to an company branding color,
and when done set a company wallpaper.
And for easy implementation main screen should work just fine, just set and read current wallpaper.
I know about for example desktoppr but that's one extra app...
Thanks!

Maybe use this ? It works well
https://github.com/scriptingosx/desktoppr

Yes but as I wrote, one more extra app to deploy at enrollment...

I can't tell if the request is to set a wallpaper while Dialog is running (which seems in scope) or to set the wallpaper for a user's environment (which would seem to be out of scope).
If the latter, my approach is to lay the picture and configuration files down before the first user logs in
https://macadmin.fraserhess.com/2023/10/07/deploying-a-default-wallpaper-in-macos-sonoma/

If you deliver assets via a package you can set the current users wallpaper using the JXA bridge before you run dialog.

using an image or colour (hue or solid) instead of the blur layer is a reasonable request and in scope for the kind of thing swiftDialog does. Setting wallpaper is not in scope though and as mentioned by others, there are better ways to do that.
I appreciate wanting to reduce the number of tools you need to deploy but this isn't the type of thing this particular tool is designed for.

And if I figure out a way to implement and make a pull request? Still out of scope?

still out of scope. if you want to set desktop wallpaper, that's thats desktoppr is for.
swiftDialog is for user notifications and interaction, not general purpose system configuration. many other tools use swiftdialog in their system configuration workflows but swiftialog's purpose is more general than that.

Alright, but I was almost done with some POC...

just so I'm clear, I have no intention of adding "set wallpaper" functionality to swiftdialog. It's not that type of utility.
Just because something is possible, doesn't mean it should be added in to an app. swiftDialog is not an onboarding app. people use it for onboarding but that's not the only use case. You may as well ask to have wallpaper be added in to munki or jamf setup manager.
tldr - setting wallpaper isn't happening.

I was just me trying out things, never mind, I somewhat also agree more or less.


Convert player to server

Use a new architecture, where the server contacts the player
Need to have a handshake between server and player, ideas:

player needs to ensure it is reachable from outside (when server is located on another network);
player contact server as client;
player displays his address and authentication information (maybe as a QR code) to be sent to server to configure player.

The server contacts the player each time a status request is issued by a client. (with cached response to avoid spamming the player).
Find a way for the player to be aware of the playlist.

player needs to ensure it is reachable from outside (when server is located on another network);

Maybe use uPnP.

Find a way for the player to be aware of the playlist.

This could be easily done through WebSockets, but it is way too painful to use with Django. Meanwhile, the player can still poll the server (so it would have a mixed client/server behavior).

Using websockets on the player makes this feature a bit less needy.

Websockets makes this feature not needed anymore (see #40).


Update auto_gpt git repo

It will redirect, but better to have the correct URL.

Thank you. It has been integrated in today latest release!


Fix: Model's hidden attributes not logging

Add ability to log changes of hidden attributes on model

Going to keep the hidden attributes hidden by default. I don't want stuff like passwords to end up accidentally in the activity log.

In your case, i cant get changes of hidden attibutes anyway.
In my case - i can hide the "password" attribute in $logAttributesToIgnore.
My case is more flexable, it seems to me. :)


Testing restrictedAdmin

Need more thorough testing on the new restrictedAdmin role.

Make sure it has restricted access to local cluster
Make sure it has all the same permission as global admin on downstream clusters.

reopen this issue. New issues are tracked internally.

@jiaqiluo Let's close in favor of the other opened issues. If tehre are more issues, please open them as a separate issue.


Number and special keyboards don't scale to screen size

See screenshots.

This might be the same thing that was making the regular keyboard too big on some devices?

I'm not seeing any problem on emulated devices of different screen size here. What's that thing covering the bottom row in your screenshots? Perhaps it's unexpectedly taking away some screen real estate? What sort of device are you using?

It comes standard on my phone (Samsung Galaxy A20). The down arrow closes the keyboard and the icon in the lower left opens the dialog to switch keyboards. I have no idea how to be rid of it, but it doesn't cover any part of 8vim's base keyboard.

I found the solution (here, if anyone else has this issue), but it means disabling the "switch keyboard" button, which I like having handy.
The editor-mode you sceencapped is still too big:

Also there seems to be no way to return to the circular main keyboard if I go to the symbols and numbers sub-keyboards? I don't seem to have a return key.

my phone (Samsung Galaxy A20)

Okay, according to https://en.wikipedia.org/wiki/Samsung_Galaxy_A20 that's "6.4 inch [...]  720x1560". I set up an emulated device with those measurements and I see the same as your screenshots. The bottom row of the number pad is completely missing (e.g., there's no 0).
Removing ButtonKeypadView.onMeasure() seems to fix it, see #187 for more screenshots.

Thank you so much!

I can confirm this is an issue on my phone. Notably affects the Number-Pad and the Navigator-Menu. Both times an entire row is missing.

I am trying to learn kotlin and jetpack compose. I am hoping if i am able to move the UI to a more programmatically manipulable codebase, I would be able to solve this issue properly.


Add amazon.co.jp

amazon.co.jp also services prime music, so extend the patterns for Amazon to include it.

Thanks!


Poor vertical alignment of vertico options

What did you expect to happen?
When shown a list of tabulated options in the minibuffer, each column is properly aligned.
What actually happened?
Length of any column propagate to the next one. I understand you maybe don't want the worst case to compromise the rest and also don't want to truncate the name of the option, but the current algorithm fails in ways that are avoidable and unaesthetic to the point that no pretension of tabulation at all would have been preferable.

Short of widening the first column to fit the longest entry or truncating the first column, I see two alternatives here:

avoid tabulation altogether
avoid propagating displacements more than which is strictly necessary (this will mainly improve the alignment of the documentation column -the last one-).

Describe your attempts to resolve the issue
No response
Steps to reproduce

Open emacs
Press C-h v dict

System Information
https://pastebin.com/udw0q8ck

I think this is all managed by marginalia so maybe there's not much to be done downstream. If that's so please feel free to close the issue.

This is indeed a known upstream marginalia issue, unfortunately.

I've been tracking this with upstream in https://github.com/minad/marginalia/issues/95 and @minad has submitted a change that fixes the issue for all mine (and probably anyone's) practical purposes. Maybe you want to check it and update.

Well I spoke too soon it seems, apparently it's worse for large screens so the fix was reverted. I'm studying the code to see if I can figure out a sensible trade off.

@memeplex Do you have a wide or ultra-wide display? I do sometimes get issues with Marginalia. It helped me a bit increasing marginalia-margin-threshold to 350. But I still do get the columns misaligned.

I move back and forth from my MacBook screen to an external 28" 16:9 screen on a daily basis, so adjusting marginalia-margin-threshold is out of question. Anyway I'm afraid that won't be enough, there is a long discussion in https://github.com/minad/marginalia/issues/95.

@iyefrat The Marginalia alignment issue has been properly fixed. Please take a look if it works in the context of Doom.

Ah, cool. I've been waiting for changes relating to that to settle a bit before taking it out for a spin.

Ah, cool. I've been waiting for changes relating to that to settle a bit
before taking it out for a spin.

Haha, that's wise. There has been quite a bit of fallout due to these
changes and me messing up some things. But it was well worth it -
Marginalia looks much better now.

This issue was solved a while back with the following vertico module bump, thanks for bringing it to our attention!


Add option to display the genre of the current playback

How do you see the genre of a song within Spotify?

I'd change this to be disabled by default since for me, and probably most people having the info be 4 lines is a bit much. Also should probably change the description to say that it's the artist's genres, not the song specifically.

I changed it to disabled by default and edited the description

Thank you for your contribution.


High level of noise on depth images

Required Info

Camera Model
D400 (D435, D415)

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16

Kernel Version (Linux Only)
4.15.0-36.39~16.04.1-generic 4.15.18

Platform
PC

SDK Version
2.16.4

Language
C

We made a switch for our application from ASUS Xtion sensors to the Realsense D400 series, using two D415 and one D435 camera for creating 3D models of persons.
After having massive problems with oversmooth models, we tested the depth accuracy and noise behaviour of the D400 vs the Xtion. Compared to the realtively steady depth images of the Xtion, the D400s output extremely noisy images.
We followed the depth Best Known Methods for Tuning Intel RealSense Depth Cameras guide to no avail, using the high accuracy preset with minor modifications on depth table, RSM and census. But even in a stationary setting (which we do not have in our application), post processing was not able to reduce the noise level to anything remotely close to what the Xtion can provide.
Do you have any suggestions on:

how to reduce noise on the depth images without applying temporal filters?
how to increase the density without getting interpolation  from fg to bg on large jumps?

Thanks!

ASUS Xtion and RealSense 400 Series do not use the same type of sensing.  Xtion (which I believe was based on PrimeSense technology that Kinect 1 used) is a structured light camera.  The RealSense 400 Series uses Stereo type imaging, with a left and right IR imager.  So it is difficult to make direct technical comparisons between results on the Kinect / Xtion and those gained from the D415 / D435.
Also, if the subject that you are scanning is not moving around too fast, it may be advisable to replace the D435 with a third D415.  It is good practice to use all of the same type of camera in a multiple camera setup instead of mixing D415s and D435s.  Also, the D415 has less RMS error (depth noise) over distance.
If you have fluorescent lights such as ceiling strip-lights in the location that you are scanning in, this may also have a detrimental impact on the depth image.  This disruption can be reduced by running the cameras at an FPS closer to the operating frequency of the particular fluorescent lights in that location.  For some people it is 30 FPS, and for others it is 60 FPS.

Thanks for the quick reply.
I understand that there is no direct comparison possible, but after reconstructing (with using gaussian noise prior during integration of frames) there is a huge difference. The Xtion models show very fine detail, where the D400 models tend to be oversmooth with fine details lost. Apparently I am not the only one having this issue:
https://3dscanexpert.com/3d-scan-sensor-shootout-realsense-d415-vs-sr300-vs-orbbec-astra-s/

if the subject that you are scanning is not moving around too fast, it may be advisable to replace the D435 with a third D415

It is not, however we do not need super detailed reconstruction of the area the D435 covers, but its FOV is very beneficial to us.

If you have fluorescent lights such as ceiling strip-lights in the location that you are scanning in, this may also have a detrimental impact on the depth image.

Can you tell us what exactly the effect of fluorescent lights is? Does the stereo matching work worse than with natural light? Or is it more that the depth gets jittery?

The heated gas inside fluorescent lights causes the light to flicker at a frequency that is hard to see with the human eye and gets picked up on by the camera.
Depth images can also get disrupted if the camera is placed too close to a strong light source such as a ceiling bulb light, manifesting a large white area on the image.
Larger FOVs can be set up by positioning cameras so that their fields of view overlap.  This can also provide more comprehensive depth data.  The more cameras you have, the less blind-spots there are (less holes in the data) and the advantage of having data redundancy (more than one camera capturing the same area).
The 400 Series cameras have the advantage of working better in strong light, whereas in other camera models, strong light usually makes the image worse.
https://communities.intel.com/message/567632#567632


Cannot select migrated subscription

After subscription migration to new tenant, I had an issue that I was not able to select new subscription in PowerShell. Select-AzSubscription was not throwing any errors, but it did not switch context. It was always staying on another subscription. Login went fine, and Get-AzSubscription was listing both old and newly migrated subscription, just switching context did not work. What helped was Clear-AzContext
Might be good to add this piece of information to the page?
Screenshot of weird behaviour of Select-AzSubscription, it just does not switch context.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 38b544a2-f2c6-4531-6847-3176aef96b30
Version Independent ID: ad41fb5d-2de1-7316-4f11-50db6c4e96ce
Content: Change the key vault tenant ID after a subscription move - Azure Key Vault
Content Source: articles/key-vault/general/subscription-move-fix.md
Service: key-vault
Sub-service: general
GitHub Login: @amitbapat
Microsoft Alias: ambapat

@iricigor Thank you for catching this. We will review this and will check with the author on how best to integrate this piece of information within the document .

@amitbapat Could you please help review the above and see how best the suggested information can be incorporated in the current document ?

The error that customer is reporting has nothing to do with Key Vault. It's not even the key vault command. Please redirect this to ARM team.
Sent from Outlookhttp://aka.ms/weboutlook

From: ShashiShailaj-MSFT<EMAIL_ADDRESS>Sent: Monday, July 13, 2020 8:25 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Amit Bapat<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Cannot select migrated subscription (#58708)
Assigned #58708https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F58708&data=02|01|amit.bapat%40microsoft.com|ccf376bbac1e4d3e516108d82740f61d|72f988bf86f141af91ab2d7cd011db47|1|0|637302507243707219&sdata=t6U2dN3Y2wMfr0qypOA3R8SNXsiOwJm%2BEoFpZ7uT27s%3D&reserved=0 to @amitbapathttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Famitbapat&data=02|01|amit.bapat%40microsoft.com|ccf376bbac1e4d3e516108d82740f61d|72f988bf86f141af91ab2d7cd011db47|1|0|637302507243707219&sdata=hI8%2BcgV6ehsmcfeLZ6AOY6CiNCCkZqqRFYf0mT0DGw4%3D&reserved=0.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F58708%23event-3540070031&data=02|01|amit.bapat%40microsoft.com|ccf376bbac1e4d3e516108d82740f61d|72f988bf86f141af91ab2d7cd011db47|1|0|637302507243717208&sdata=Yp8AEtlxdRyP%2FKOgEbAhTu0t6aozb%2F1puhgzrLvVlYA%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEO763CNZIVHXDLWMFGUNETR3MROHANCNFSM4OVO5GZA&data=02|01|amit.bapat%40microsoft.com|ccf376bbac1e4d3e516108d82740f61d|72f988bf86f141af91ab2d7cd011db47|1|0|637302507243717208&sdata=NGLWD%2BF9cWGeLY9ZMTz2Ycph5NbP7X8cgg5wjZyyT%2FI%3D&reserved=0.

Hi, I did not report an issue with command. Command is working as expected.
I reported an issue with documentation page that is impacting the guide how to fix issues with key vault after migration to another tenant.

Hi @iricigor I apologize for the late followup here. This document was deprecated and we have added a new set of documents related to moving key vault. The new document contains the clear context command in the PowerShell section.
Here is the link: https://docs.microsoft.com/en-us/azure/key-vault/general/move-subscription
The references to the old documentation have been removed. As a result, I will proceed to archive this issue.

#please-close


set fixed top with topOffset

when page already has a fixed header, sticky will overlap with the header just setting top to 0. Therefor, top of sticky should be set dynamic value with topOffset?

I'm not sure this is necessary -- adding the height other fixed elements to the top property of the style argument would achieve the same effect without side effects

@dbarbalato
Do you mean like this?
({style}) => {
            if (style['top'] != undefined) {
                style['top'] += 60
            }
            return sticky content
}

If yes, this does not work always properly. Changing the state should only be done via "setState", which is not accessible from this function. React produces this warning when the box is sticky and you change the DOM by some other event than scrolling:

Warning: div was passed a style object that has previously been mutated. Mutating style is deprecated. Consider cloning it beforehand. Check the render of Sticky. Previous style: {position: "fixed", top: 60, left: 377.5, width: 845.5, transform: "translateZ(0)"}. Mutated style: {position: "fixed", top: 120, left: 377.5, width: 845.5, transform: "translateZ(0)"}.

The proposed fix looks good to me.

Oh, seems like my += was a bad idea. When I just always set it to a fixed value react does not complain.

First time use this library, could you please define what 'Raf' is in Container.js?

Hey @chenpeng1102 thanks for the contribution! Since this has been open for a few months without any movement, I'm going to close it out. I'm not quite sure what issue it solves, but I'm happy to discuss it further and reopen!

Plus one for a solution. I can NOT use sticky because I have a fixed navbar which will overlap