Escape key canceling comments is conflicting with closing the emoji menu

I'm talking about this code :
https://github.com/sindresorhus/refined-github/blob/master/source/features/add-keyboard-shortcuts-to-comment-fields.js#L42-L50
The problem is that when you type a : after a  , GitHub opens the emoji menus, and the most obvious way to close it is with the esc key, but the esc key will close the comment. In some cases (but not all), you get a confirmation window, so you actually don't lose what you've typed. In some cases you don't. This makes this feature actually really painful.
This problem happens a lot when you write comments using languages that require a   before :, like French.

In the esc handler there’s a line specifically to avoid this, select.exists. Probably the selector needs to be updated.

I just hit this issue. Wrote some internal review on a PR and lost everything because I tried to close this emoji view. Started to rewrite everything, almost finished it and again.. this time I wanted to write an @ but this brought up the mentioning menu... and I automatically pressed escape and lost everything again.
Sadly I've disabled the extension and won't enable again until this is fixed. This issue costed me around 45 minutes today.

I understand the issue but I don't know how to reproduce this.
There's an explicit check to avoid closing the comment if it's not empty and a separate confirmation in add-confirmation-to-comment-cancellation
Can you tell me where this happens?

@bfred-it It happens on pull requests when you add a comment to some code line.

I get the confirmation:

The problem is not not that you get or don't get the confirmation modal, but that the esc key should close the emoji/people selector menu, not try to close the PR.
If I find a case where the confirmation screen is not asked, I'll add info, but for me, the main part is that "esc" should just close the menu.

@bfred-it

I thought this issue was just me screwing up somehow!
/me honestly wishes that the : menu didn't pop up at all, if they want an emoji then will actually put in a unicode emoji...
And chance for an option to disable the popup menu too?

Hm, I like the emoji menu (even if I admit it's annoying more often than not, but half of the time I'm using an emoji, I don't know its name). And as far as I can tell, refined github is about improving the default UI, more than adding more UI choices to the user, but my opinion on the matter is really limited.
@levrik ah, yes, that's it :) I bet the difference between your gif and @bfred-it 's is "comment in the "Files Changed" page" vs "comment in the Commits page"

@OvermindDL1 (you can probably add a custom display: none on the emoji menu https://github.com/sindresorhus/refined-github/pull/1193)

@ewjoachim Would that also fix the tab-completion because that has a habit of breaking code I'm typing in when :'s are around (which is the main reason I want it dead)...

@levrik thanks for the gif. Do you see any errors in the console? Regardless of this issue, you should get a confirmation. Did you disable any features?

@bfred-it I have the following things disabled:
monospace-textareas
reactions-avatars

What happens if you type something and then click the "Cancel" button? If you don't get the "confirm?" question, can you open an issue?

@bfred-it I use both Firefox and Chrome routinely, always on linux though, same issue with both, hitting esc closes both the : annoying popup menu as well as also killing the comment box entirely, there is no confirm question.

@bfred-it I've opened #1310


[WIP] Pod Specification

Implements PodSpecification allowing multiple tasks to run within the same container.

[ ] Refactor the StateStore for Pods, instead of Tasks

[x] CuratorStateStore
[ ] StateStoreCache

[x] Refactor Steps for Pods
[ ] Update tests in compliance with the refactor
[ ] Refactor PlacementContraints to work at Pod level instead of Task level

Abandoning this work in favor of a new design.


SQLParseException[Cannot convert input string: "Y-m-dTH:i:s" to biginteger]

CrateDB version: 4.5.0
Environment description: Single Crate.io 4.5.0 node installed from here running on Debian 9 x64
Problem description:
Prior to upgrading to 4.5.0 we used to ingest data using COPY table_name FROM 'file:///....'  with timestamp column values saved in .json files in format Y-m-dTH:i:s (date T time) - this worked just fine in Crate.io 3.2.8.
In Crate.io 4.5.0 COPY table_name FROM 'file:///.... works fine, however an attempt to SELECT... results in error:
SQLParseException[Cannot convert input string: "Y-m-dTH:i:s" to biginteger]

Steps to reproduce:

In Crate.io 4.5.0 create table as below:

CREATE TABLE test_table (
    "id" string primary key,
    "name" string,
    "timestamp" timestamp
 );

Save file /tmp/record.json with data:

{"id":1,"name":"foo","timestamp":"2021-04-13T12:24:00"}

Run SQL:

COPY test_table FROM 'file:///tmp/record.json' WITH ( overwrite_duplicates = true )

This will complete OK and table will show 1 Records

Run SQL:
SELECT *  FROM test_table

Expected result: data from test_table is returned
Actual result: an error is produced: SQLParseException[Cannot convert input string: "2021-04-13T12:24:00" to biginteger]

COPY isn't doing data sanitization see https://github.com/crate/crate/issues/10186 and the documented behavior:

CrateDB does not check if the column’s data types match the types from the import file. It does not cast the types but will always import the data as in the source file. Furthermore CrateDB will only check for primary key duplicates but not for other Column Constraints like NOT NULL

So what happens is that the timestamp is imported literally as text instead of as timestamp, this then blows up at select time.
That this worked in 3.2.8 was kinda by accident - because some parts were more lenient, but I think even back then it would have been possible that it breaks with certain queries. Or you at least paid for implicit conversations at runtime, making queries slower than they should be.
You could instead use the insert-json sub-command from cr8 to import the data. The ingest speed should be similar if you're only importing from a single file and it correctly converts the data to match the schema.

Thanks for clarification. If I wanted to keep using COPY table_name FROM 'file:///.... can you let me know what is correct notation for timestamp value in JSON files?

If I wanted to keep using COPY table_name FROM 'file:///.... can you let me know what is correct notation for timestamp value in JSON files?

Number of milliseconds since 1970-01-01T00:00:00Z
In crash you can check with:
cr> select '2021-04-13T12:24:00'::timestamp as ts;
+---------------+
|            ts |
+---------------+
|<PHONE_NUMBER>000 |
+---------------+
SELECT 1 row in set (0.004 sec)

All clear, closing this Issue now.


Cleanup and update NMake Makefiles.

ARM and ARM64 Makefiles had dependencies for X86 specific headers
Some dependencies were mentioned more than once for same object file
Use only $(TOP) as NMake doesn't change directories while building, $(SRCDIR) was redundant
Sort the dependencies and separate dependencies for test binaries.

Did you make a script to do this or did you do it manually?

Did you make a script to do this or did you do it manually?

I made an executable, I will make another PR/commit when I have integrated it to CI...

I see. Or, if you want you can just make a GitHub gist and paste the code there.

https://gist.github.com/mtl1979/83d0691c0c2a03154ffbea473a85a6c3

@mtl1979 This needs a rebase

@mtl1979
Please provide a simple example of using depcheck.cpp to check NMake dependencies.

@mtl1979 Please provide a simple example of using depcheck.cpp to check NMake dependencies.

I run it from root of the repository using for example win32\depcheck.exe win32\Makefile.msc . ...
Running the check on Makefiles one by one is easier for a human than running nmake -f win32\Makefile.msc depcheck which will check all three Makefiles in batch, as it will be harder to track which one of the three Makefiles has missing or extra dependencies... When it detects an error, the log should be read from bottom to top to see which line has the error. It will use prefix File: when it starts reading a new line. It will currently only check direct dependencies. I've whitelisted some known indirect dependencies until there is enough to warrant checking all the dependencies, not just the source file.

depcheck.exe will not print current Makefile and object file when it encounters either missing or unnecessary dependency.


KubeJS error with forge on 1.16.5

I've got this error at loading:
Error :
[08:52:48] [ERR  ] Error occurred while handling event 'tags.items': TypeError: Cannot find function getObjectIds in object items:forge:ores/copper. (server_scripts:unify.js#205)

It seems that getObjectIds does not exist in the TagWrapper class: https://mods.latvian.dev/books/kubejs/page/tageventjs

Minecraft version: 1.16.5
Forge : v36.2.34
KubeJS: 1605.3.19-build.299
UnifyTags: 5ceb46aa5b13aaf44b974fdbfd7b7f477b5750f5

i can confirm, i have it on my private server/pack as seen in this log

The official wiki is very outdated and is missing a large number of functions in it. Here's your function right here:
https://github.com/KubeJS-Mods/KubeJS/blob/08a786a8cb6bd70e7f9e8d6ae30009821a45a6c5/common/src/main/java/dev/latvian/mods/kubejs/server/TagEventJS.java#L196=
It seems like they renamed it from getAllItemIds to getObjectIds and that's where this problem lies. I'll attempt to call whichever function is available.


Reduce number of browsers we run in e2e tests

Yesterday we were discussing the value of reducing the length of time our e2e tests take.  Doing so requires us to use fewer browsers in CI.
Here I'm using:

Firefox (desktop)
Chrome (desktop + mobile)
Webkit (mobile)
Edge (desktop)

The inclusion of Edge adds some degree of additional UI checks for a Chromium-based browser that has differences to Chrome.
Removing desktop Webkit (no one uses it, sorry Apple, much as I love you!), and Chromium vs. Chrome is not really helping us get more coverage.

12:26 down to 9:40, 3 mins saved.


can’t import/restore Stripe collection

For https://client.scalar.com/: When I import the Stripe OpenAPI document it says Import successful, but there’s no collection added and no error in the console.
In the branch I’m working, maybe that’s outdated:
I tried to import the Stripe OpenAPI document and it worked, but after reload I’ve had a black screen and a console error.
https://github.com/stripe/openapi/blob/master/openapi/spec3.yaml

I loaded it with https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.yaml and no issues. Is that the url you were using 😉

Yep! Recorded on client.scalar.com:
https://github.com/user-attachments/assets/93a40bf2-174d-4ace-955c-7a6a774419d9

Ah, it does work! But I can reproduce it with an invalid URL (missing the h):
https://raw.githubusercontent.com/stripe/openapi/refs/heads/master/openapi/spec3.yaml
It doesn’t work (which is expected), but the toast says Import successful.


add dependency-reduced-pom.xml, which is a maven shader thing

e.g., this thing: http://stackoverflow.com/questions/22904573/what-is-the-purpose-of-dependency-reduced-pom-xml-generated-by-the-shade-plugin

Thanks!


The assignment operator should not have the responsibility of flow control

The problem
Question: Does the proposed operator control flow?
Answer: Yes!
Exceptions are meant for handling unexpected situations that a function cannot control, such as missing dependencies, network errors, .... An assignment operator should not be responsible for controlling the flow of exceptions—that’s what structures like try-catch are designed for. Mixing assignment with flow control can blur the lines between different responsibilities in the code, leading to confusing and error-prone practices.
In the proposal, when you write ...
const [err, foo] ?= bar()

... and an exception occurs in bar() (or in any dependency of bar()), the operator is capturing that exception, acting like a hidden try-catch. This means the operator is controlling the flow of the program, which is not the purpose of an assignment operator. This can lead to unclear code and bad practices by making exceptions less explicit and harder to manage.
By embedding exception handling directly into an assignment operator, the proposal risks confusing the role of assignment versus flow control, potentially leading to less readable and maintainable code.
If the problem raised is with flow control in try-catch, then the proposal should be to improve flow control using new control structures, not assignment operators.
Detailed comparison
Here's how the steps compare between a traditional try-catch block and the proposed ?= operator:
Traditional try-catch Block

Start capturing exceptions: The try block begins, which prepares the program to catch any exceptions that may be thrown within its scope.
Execute code: The program executes the code inside the try block.
Stop capturing exceptions: The try block ends, and control is handed to the catch block if an exception occurs.
Exception handling:

Yes: If an exception occurs, it is passed to the catch block, where it can be handled explicitly.
No: If no exception occurs, the program skips the catch block and continues with the next line after the try-catch.

Continue program flow: The program continues executing normally after the try-catch.

Proposed ?= Operator

Prepare memory zone: Allocate memory to store either the result or an error.
Operator starts capturing exceptions: The ?= operator prepares to intercept any exceptions that may occur during the execution of the function.
Execute code: The function is executed.
Operator stops capturing exceptions: The operator ends its interception.
Exception handling:

Yes: If an exception occurs, the operator stores the exception in the prepared memory zone.
No: If no exception occurs, the operator stores the function's result in the memory zone.

Continue program flow: The program continues executing after the operation, with the memory zone now containing either the result or the exception.

Key Differences

Explicit vs. Implicit Control: In the traditional method, control flow is explicit and visible in the code. The try-catch block clearly shows where exceptions are handled. In the proposed method, the control flow is implicit within the operator, which could make it harder to understand at a glance how exceptions are being handled.

Flexibility: The traditional try-catch allows for more complex and fine-grained control over how different types of exceptions are handled. Breaking the rule of language, the proposed operator simplifies error handling but at the cost of flexibility and clarity.

Code Readability: The traditional method maintains clear separation between normal code execution and error handling. The proposed operator blurs this line, potentially making the code less readable and maintainable.

What can you do?
You can imagine many ECMA-compliant variants and you might end up concluding that the current try-catch is the best one.
// 1. inline solution

try let result = await fetch(...) catch err
try result = await fetch(...) catch err
try result = await fetch(...)
let result = await fetch(..) catch err

// ...

// 2. catch like switch-case
try:
// ...
catch err:
 // ...
finally:  // (or finally; / break; to finish...)
// ...

// 3. catch for any ECMA blocks (anonymous,, functions, cases, classes, if, ...)

{   ....   } catch (err) {   } finally {   ...   }

function foo() {  } catch (err) {  } finally {   ...   }

if (...) {   } catch {   } finally {   ...   }

class Person { ..... } catch (err) { ... } finally {   ...   } // if something happens inside the class

Every operator control flows in a way or another.
??= controls flow.
||= controls flow.
Even a simple = controls flow.
They are assignment operators and depending on what they assigned the code flow WILL change.

@arthurfiorette not to condone the behavior here, but i fwiw don't see any compelling argument for assignment having to do with anything, and an inline expression-based solution seems like the only viable approach to me personally.

@arthurfiorette
There seems to be a misunderstanding of my intent. I have taken the time to help you based on my three decades of experience in this field. It is true that I do not gain anything from it. It is about responsibility.
/* Saving a value in RAM is not the same as telling the processor which is the next instruction to execute. */

I am not proposing inline solutions as a panacea. For me at this point the language is fine and my proposal essay is not necessary and has nothing to do with your proposal.
I was illustrating that the current try-catch is necessary and sufficient, that the other ideas lead to more complex problems that are difficult to deal with, and how the current language can be used to handle exceptions explicitly and clearly.
My main argument is that introducing an operator that handles exceptions implicitly in the context of an assignment is not advisable because it mixes responsibilities in a confusing way.
As for the statement that "every assignment changes the flow of the program," I agree that any operation can affect the flow (after the assignment), but there is a big difference between a change in the state of variables and explicit control of the program flow in an imperative programming:
In my opinion, in the opinion of an expert committee, and in the rules that guide the development of programming languages, assignment operators should not be responsible for exception handling, as this blurs the clear separation of responsibilities that is critical in designing maintainable code.
I welcome the discussion and the opportunity to share different perspectives, but I think it is important to remain clear on the purpose of each language construct.


[Windows] Issues with Running URDF Tutorial of  the Building a Visual Robot Model with URDF from Scratch tutorial on Windows

I have been following the Building a Visual Robot Model with URDF from Scratch tutorial using ROS 2 on Windows. I encountered an issue when executing the command to launch the display.launch.py file in the One Shape section:
ros2 launch urdf_tutorial display.launch.py model:=urdf/01-myfirst.urdf

The terminal returned a file not found error: [WinError 2] The system cannot find the file specified. even though the 01-myfirst.urdf file exists in the urdf directory within the urdf_tutorial package. I attempted the command modification suggested in the tutorial to work regardless of the current working directory, but it returned an unrecognized argument error.
ros2: error: unrecognized arguments: --share urdf_tutorial`/urdf/01-myfirst.urdf

I would like to know if this tutorial is supported on Windows and if there are additional steps required to run it successfully on this platform. Any help or guidance would be greatly appreciated.
Thank you!

It may be that this tutorial needs to be updated to take advantage of file-content substitution, which was added late in the iron release cycle: https://github.com/ros2/launch/pull/708

Hi, @mjcarroll,
If possible, I would greatly appreciate your assistance in updating the tutorial to address these Windows-specific challenges. Additionally, if there are any suggestions or temporary workarounds I could try in the meantime, I would be grateful for your guidance.
Thank you for your time and dedication to maintaining the ROS documentation. Your efforts greatly aid learners like myself in navigating and utilizing ROS more effectively.
Looking forward to your response.
Best regards,
Yucheng Song

@clalancette is it possible ros2/launch#708 needs a backport? 🧇

@clalancette is it possible ros2/launch#708 needs a backport? 🧇

Well, we already backported it to iron a while ago.  We never did backport it to humble, though I don't think that is what this issue is asking for (since it was filed against iron).
That said, in the meantime we actually have removed the problematic portion of this documentation.  In particular, urdf_tutorial now depends on urdf_launch, which has some of this functionality built-in.  So it is possible that nothing more needs to be done here, and that can be used directly.
@songyuc Can you give this another try on Windows?

Please give me more time to conduct testing.


Great docs! How do you use length() for Arrays such as stepLists?

I'm trying to make it so that I can skip an entire job if there are no steps sent to that job. I want to check that the step list is empty, which I assume length is the best way to do it? Based on the doc it sounds like it should be able to count an array, but I get an error when I try to use length() on the steplist.
Using the condition:
condition: gt(length(${{ parameters.validateParallelSteps }}), 0)

Unable to convert from Array to String. Value: Array
This is going to be used as a pipeline template hence the parameters syntax.
I am using
parameters:
  - name: validateParallelSteps
    type: stepList
    default: []
(...)
    - job: PR_Parallel
      condition: gt(length(${{ parameters.validateParallelSteps }}), 0)
      steps:

And the referencing template I am testing with does not include this parameter in it which should default it to []
Basically it doesn't seem like length() is working, or other things on a step list even though errors indicate it is treating it like an array, but not really.

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

ID: 77c58a78-a567-e99a-9eb7-62dddd1b90b6
Version Independent ID: 680a79bc-11de-39fc-43e3-e07dc762db18
Content: Expressions - Azure Pipelines
Content Source: docs/pipelines/process/expressions.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

@raboley Thank you for the feedback.
Please see if using join as mentioned here fixes the issue.
Otherwise, please use Report a problem or Suggest a feature in the Azure DevOps community to solicit feedback on this from the product team.
For additional support options, see:

Azure DevOps support
Azure DevOps on StackOverflow

The solution to the above is to move the length expression inside the curly braces:
condition: gt(${{length(parameters.validateParallelSteps)}}, 0)

Ty! I figured it out eventually but forgot about this thread, hope it is able to help someone in the future!

@raboley - Hope this helps you, 2 years later 😄
The solution to the above is to move the length expression inside the curly braces:
condition: gt(${{length(parameters.validateParallelSteps)}}, 0)

Wow, I was struggling with this only today and you just posted yesterday. Thank you so much for sharing!!

I just googled this again today so I can see how poorly it sticks in my head. Thanks again @Davesmall28  😆

Thanks for the solution. If you want to skip few steps rather than the whole job, you can do the following:
        - ${{ if gt(length(parameters.some_param), 0) }}:
          - step1: ...
          - step2: ...
          - template: tpl.yaml
            parameters: {}

Or for some variables:
  variables:
    - group: My mandatory group
    - ${{ if gt(length(parameters.some_param), 0) }}:
      - group: My optional group
      - name: another_var
        value: my_value


Revert "Improve disjunction selection"

Despite the PR testing passing, there is a failure on linux on one of the bots.
Reverts apple/swift#9059

@swift-ci Please smoke test and merge

I did not want to wait.

@aschwaighofer Thanks, I should have just done the same.


Add Python 3.12 to automated test matrix

Fixes #457

📚 Documentation preview 📚: https://earthaccess--571.org.readthedocs.build/en/571/

Not sure about the build failure.

Too bad we needed to set up those messy pins :(
I'm especially curious about pyproj, as the included proj database can be materially different in different versions. Would we be able to avoid these "dynamic" pins if we drop support for Python 3.8?

Yes, I believe dropping support for Python 3.8 would do the trick, but do we want to drop support prior to its EOL, which is Oct 2024 (see https://devguide.python.org/versions/)?

Since members of our ecosystem (Numpy + Pyproj) are doing it already, I think it makes sense for us to follow suit. Numpy dropped support for 3.8 over a year ago. Here's their policy:

All minor versions of Python released 42 months prior, and at minimum the two latest minor versions are supported. Python support is only dropped in a major/minor version, and never on a patch release.

Should I set min versions of numpy and pyproj to be the min versions that support Python 3.12? That is, do we want users using Python 3.9-3.11 to also get the min versions of numpy and pyproj that only support >=3.12, or is that too restrictive for dependency resolution?
More specifically, do we want these (regardless of Python version, user gets only what works for Python >=3.12):
numpy = { version = ">=1.26.0", optional = true }
pyproj = ">=3.6.1"

or these (looser for Python <3.12)?
numpy = { version = ">=1.26.0", optional = true, python = ">=3.12" }
pyproj = [
  { version = ">=3.5.0", python = "<3.12" },
  { version = ">=3.6.1", python = ">=3.12" }
]

cc: @betolink, @jhkennedy

I've pinned numpy (optional) and pyproj to their versions that are compatible with Python 3.12. This means that those using Python <3.12 also get those 3.12-compatible versions. Do we want to loosen the pin to allow for earlier versions of numpy and pyproj for those using Python <3.12?

Do we want to loosen the pin to allow for earlier versions of numpy and pyproj for those using Python <3.12?

I think so. I think we should make our pins as loose as we can given our dependency policy (for now, safe to assume SPEC0, I think?) to maximize compatibility with users' environments.
We should probably include a pinning policy in our dependency policy :)

Do we want to loosen the pin to allow for earlier versions of numpy and pyproj for those using Python <3.12?

I think so. I think we should make our pins as loose as we can given our dependency policy (for now, safe to assume SPEC0, I think?) to maximize compatibility with users' environments.

Thanks for confirming. I suspected as much. I'll adjust accordingly.

@mfisher87, I loosened the numpy and pyproj versions for Python <3.12. I believe this should be good to go now.
I set pyproj to its previous pin, but added a new min version for Python >=3.12. For numpy, there was no existing pin, so I added a min version for Python >=3.12 (the version that numpy added support for 3.12), and a min version 2 versions earlier for Python <3.12.

@mfisher87, as you requested, so this appears at the top of your queue :-)


Modal can't be opened a second time after closing with X in IE11

Describe the bug
If a modal is closed with the close() method of the modal, it cannot be opened anymore in IE11. Debugging showed that the fadeDone method is not called in IE11 and therefore the openChange output event is not triggered. It works in all other tested browsers.
How to reproduce
The bug can be reproduced on the Documentation website:
https://v2.clarity.design/modals
Choose any of the Angular modals and close it with X. You can't open it again.
Expected behavior
The modal can be opened every time.
Versions
App

Angular: 8
Node: 10.16.0
Clarity: 2.3.2

Device:

OS: Windows 10
Browser: Internet Explorer
Version: 11

Additional notes
https://clarity.design/ doesn't work anymore in IE11 probably due some Webcomponents things with the new Core components?

Related to #1148

Hi @rootix, thanks for this and I do see the issue in Clarity 2, but interestingly Clarity 3 appears to be working. Do you see the same thing at https://clarity.design/documentation/modals? This seems like an issue with IE11 and Angular animations at the root, I'm not sure if we're able to address it at the moment. It is not related toe the web components, however.
The workaround is to update to v3, which I know might not be an option for everybody. The second workaround would be to use the static modals.

This issue appears to be resolved in v3+, and it has not been updated in a while so I'm marking it as closed.

This issue appears to be resolved in v3+, and it has not been updated in a while so I'm marking it as closed.


Add color support

Added the ability to pass color as a prop to an icon.

Hi @ediebold
Thanks for the PR but I'm not sure if this prop is necessary? As you know, icon component inherits by default color from parent element. If you see this helpful we can merge your PR. What's your reason to add this prop?

Sure. My use case is that I have multiple icons which are siblings, but that I want to be different colors. For example, a red icon right next to a blue icon.

I see, but still you can wrap each element icon component with separate tags (siblings) with specific HTML class with desired color. Anyway, I guess it can be helpful for you and others (less markup), so let's merge this one. Once again thanks for you PR 👍


nixos/tests/certmgr: Fix file permissions

This test has been broken since 2a413da57efc4, which stopped running the
nginx master process as root.

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @flokli (I noticed you merged a previous PR affecting this test)

@GrahamcOfBorg test certmgr


Back button text on Android overlaps back button

I see this a lot when navigating through an app where the text for back label will overlap the arrow:

is there a workaround for this / known issue?

Ive seen that on Android from time to time, not sure what is causing it yet though. Here's a good place to look: https://github.com/meteoric/meteor-ionic/blob/master/components/ionHeaderBar/ionHeaderBar.js#L20

I've seen this on Android 5.x as well.

i'm just seeing it in chrome when emulating. but i see it most of the time.

positionTitle: function () {
    var $title = this.$('.title');
    var $leftButton = $('.button.pull-left');

$leftButton always returned null (length=0), that's why the margin for $title is set to 0 and overlaps the back button, any idea why it's null?

I imagine this is a meteoric thing rather than ionic.
it does happen 100% of the time for me tho
when i leave off emulation, it's no problem

toggling emulation back to an android device, the problem immediately reappears

disable emulation, and no problem

digging around this a bit
  +ionNavBackButton(path="home" text='home')

should use this:
<template name="ionNavBackButton">
  <button class="{{classes}}">
    {{> ionIcon icon=icon}}
    {{#unless isAndroid}}

        {{text}}

    {{/unless}}
  </button>
</template>

where
OK i
.nav-bar-transition-android {

  .title,
  .button,
  .back-text {

the last line is what's missing
however it seems with sass i can't work on a symlinked version of a fork of the repo.
=> Errors prevented startup:
While building the application:
/Users/dc/dev/shumi/chatu/app/client/layouts/ionic/app.scss:12:9: Scss compiler error: file to
import not found or unreadable:
.meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/_ionic
Current dir: /Users/dc/dev/shumi/chatu/app/client/layouts/ionic/
=> Your application has errors. Waiting for file change.
^C

this is cos the app has this in it:
@import '.meteor/local/build/programs/server/assets/packages/meteoric_ionic-sass/_ionic';
@import '.meteor/local/build/programs/server/assets/packages/meteoric_ionicons-sass/_ionicons';
I assume this is the right way to do it, i think i found those lines in one of the demo apps.
it seems very weird/fragile, in that the CSS paths are hardwired into the app itself, and not somehow inside the package.

@dcsan see the note under Installation in the ionic-sass README: https://github.com/meteoric/ionic-sass#installation. This is a limitation of fourseven:scss and Meteor in general.

so it seems its the title bar
lost
on
IonHeaderBar = {
  alignTitle: function () {
    var align = this.alignTitle || 'center';
    var $title = this.$('.title');

    // if (Platform.isAndroid() && !this.alignTitle) {
    //   $title.addClass('title-left');
    //   return;
    // }

if i take out android specific code there, we always get a centered title, which is better than the crunched up one. maybe this.alignTitle is not getting set somewhere?

before:

after


Source Control and Explorer don't update after some changes in directory or files. (Remote Extension)

The list of files in the source control viewlet are being refreshed as a response of file system events. Could you please try the following and share the logs that are being generated:

Open the folder/workspace in VS Code
Enable logging for file system events as described in the following wiki
Invoke the Git: Set Log Level command from the command palette and set the log level to Trace
Make a change to a file, and save the changes
Attach the file system logs, as well as the git output logs that you can access by invoking the Git: Show Git Log command from the command palette

You also mention that on other PCs this works as expected. Have you checked out the exact same repository in the other PCs and things are working as expected?

Hello! I have a similar problem under remote development extension. I am attaching remote server log files after I change and save a file.
In the first case,  in a large repository everything seems ok. Source control viewlet is auto-refreshed.
ok.log
In the second case, in a smaller repository at the same server the line "File Watcher (parcel)" is missing. Source control viewlet is not updated.
problematic.log
Git logs do not show anything until i hit the refresh button. Is there anything else I can share with you in order to assist?
Thank you in advance. Opening new issue because #147779 was closed.
Originally posted by @gziras-in in https://github.com/microsoft/vscode/issues/147779#issuecomment-1109119294

Do you want more info @lszomoru in order to assist?

@gziras-in, sorry for not getting back to you on this. If i understand your description correctly, in the same "remote scenario", you have a repository where file system events work as expected, and you have another repository where they don't. For the repostiory where events are not working, could you please check the files.watcherExclude setting. Any values there that might results in the file event not to fire?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Ability to stop job if it fails with 9999 error code

What is the expected enhancement?
At this moment, large circuits generated by Aqua(IQAE for example) exceeding the limit of a real backend is resubmitted. Unless you kill the process locally, the backend is flooded . It would be really beneficial to have a way to avoid this.

Algorithms have been refactored over to use primitives and circuit execution etc is now handled by these. As such I am closing this issue.


pthread locking oddities as exemplified by test/sblat2

In the discussion of #990, @juliantaylor mentioned seeing infrequent lockups with pthreads that were exacerbated by attempts to speed up or remove YIELDING. One simple test case he mentioned was the sblat2 test, so I tried to run the "helgrind" thread debugger from the valgrind tool suite (valgrind.org, pertinent documentation at http://valgrind.org/docs/manual/hg-manual.html ) on a DEBUG=1 build of the current develop branch with test/sblat2 <./sblat2.dat . (Hardware involved is a lowly Atom but this should not matter at least for the init phase, I can rerun with better hardware if necessary.)
helgrind log is here: sblat2.txt
The initial lock acquisition order error it records looks to be a gfortran (4.8.5) glitch, things get interesting after the Thread-Announcement heading.
At first glance, the subsequent messages suggest that in driver/others/memory.c the "LOCK_COMMAND" in line 969 (and UNLOCK in 1003) should be moved outside the scope of the  "if..." that immediately precedes it (in order to guard reads as well as writes to memory_initialized).
Also in that file, the alloc_mmap() function for the NO_WARMUP case (line 395 onwards) seems to need locks around the assignments to release_info and in particular the incrementing of release_pos.
Comments from people more thread-aware than myself greatly appreciated...

Just as a quick headsup, I succeeded in making the helgrind warnings in memory.c go away by adding locks around the release_info[] changes in alloc_mmap() and the accesses to memory[position] in blas_memory_alloc()/blas_memory_free(). (Some of the spots in blas_memory_alloc were already guarded by locks conditional on the value of memory[position].used, which seems to make little sense as that itself is subject to races.)
I ran out of time and ideas trying to fix blas_server.c, best I could achieve there is getting two threads each holding a different lock pull the rug under each others feet. Hope to revisit this over the holidays and ideally create a PR for perusal then.

Updated helgrind log (now using helgrind from current valgrind 3.12.0 on Skylake):
helgrind.txt
and after adding and shuffling locks in blas_server.c and memory.c
helgrind-after_changes.txt
Most of what remains appears to be the fault of gfortran as mentioned previously; I am not sure how to resolve the one potential race involving two different locks but as it is in thread shutdown it may be harmless. So far I have only checked that all tests still pass.

Changed files are currently stored as a pull request within my own fork, comments welcome
https://github.com/martin-frbg/OpenBLAS/pull/1


Text wrapping runs forever when the constraints are impossible to fullfill.

I found an issue in the word breaker logic in the project.
Given a word that will never fit in the given constraints, the word breaker runs forever.
It sprung out when using the Paragraph class, but I figured dove into it and found the bug in the WordBreakers class logic.
The tests below show the error at hand.
@Test(timeout = 5_000L)
public void wordBreakerTerminatesWhenAttemptingImpossibleWrap() throws Exception {
    Paragraph paragraph = new Paragraph();
    paragraph.add(new StyledText("N", 12, PDType1Font.COURIER));

    List<TextLine> lines = TextSequenceUtil.wordWrapToLines(paragraph, 2);
    Assert.assertEquals(1, lines.size());

    TextLine line = lines.get(0);
    Assert.assertEquals("N", line.getStyledTexts().get(0).getText());
}

The above runs forever because the wrap function returns a pair Pair("", "N").
I wrote another test verifying this closer to the word breaking logic:
@Test
public void wordBreakerHasEmptyStringAsTheSecondPairWhenAttemptingImpossibleWrap() throws Exception {
    FontDescriptor fontDescriptor = new FontDescriptor(PDType1Font.COURIER, 5);

    WordBreaker workBreaker = WordBreakerFactory.getWorkBreaker();
    Pair<String> broken = workBreaker.breakWord("H", fontDescriptor, 1, true);

    Assert.assertEquals("The first entry should be 'H'", "H", broken.getFirst());
    Assert.assertEquals("The second entry should be the empty string", "", broken.getSecond());
}

@ripdajacker Is the issue now closed?

It's still an issue. I ended up using a different library in my project.
The pull request I've sent should give you an indication of what the cause may be.

@ripdajacker  Which library? Thanks

OpenPDF

Also ran into this issue


README: setup instructions

This issue is reserved for participants of Welcome to Open Source, Atlanta.
If it’s still available after April 2nd, it’s all yours :)

:bug: The Bug
In the setup section of this repository’s README we tell the user to clone the repository using git clone git@github.com:hoodiehq/hoodie-account.git. But GitHub itself recommends the https:// protocol instead of the git@ which is SSH (see which remote should I use).
:dart: The Goal
Replace the git clone git@github.com:hoodiehq/hoodie-account.git with https://github.com/hoodiehq/hoodie-account.git in the README
:clipboard: Step by Step
If this is your first, welcome :tada: :smile: Here is a great tutorial on how to send a pull request

[ ] claim this issue (comment below)
[ ] Clone the repository to your computer
[ ] Edit the README.md file.
[ ] Commit the change docs(README): fixed git clone URL
[ ] Start a Pull Request.  Mention closes #5 in the description of the pull request
[ ] Done :+1: Comment below to ask for a review :)

Ping us in the Hoodie Chat or on Twitter if you have any questions :)

claiming this

PR ready for review

done via #7 :+1:


Connected App as a CCI service

a quick grep of the metaci codebase for get_connected_app reveals a few usages, we'll need to plan those updates accordingly


send method question

I cannot seem to figure out how to use the send method of the Steam client. I have been messing around with parameters and different values but I do not seem to get the proper response from Steam. Could we possibly get more clarification regarding the send function?
Now please note that I have a very limited understanding about protobufs, however I don't feel like advanced knowledge about protobufs is required in order to make use of the send method of node-steam as the usage of the function would probably be rather simple when an example were to be provided. (Please do correct me if I am wrong)
One of my completely faulty attempts is as follows:
var bodyBuffer = new Buffer("optional fixed64 gameid = 730;");
steamClient.send({msg: "CMsgClientUpdateUserGameInfo", proto: {}}, bodyBuffer);

Where I used this protobuf:
message CMsgClientUpdateUserGameInfo {
	optional fixed64 steamid_idgs = 1;
	optional fixed64 gameid = 2;
	optional uint32 game_ip = 3;
	optional uint32 game_port = 4;
	optional bytes token = 5;
}

As of this question, I do not care if this specific message would work due to me maybe having to send more information. I am more asking  how one should send a client message in general.
Could anyone give me an example on how to send a protobuf to Steam using the client's send function?

As stated in the README, all bundled handlers internally send and receive low-level client messages using 'message'/send. Here's one trivial example.
You'll need a protobuf library and Steam's protobuf definitions to send a protobuf-backed message. node-steam-resources provides all of that.


added karma and some tests

added some tests for review

Moved to https://github.com/gartz/pushStateTree/pull/9


Apply test matrix expansion to devel

Current coverage is 38.57%

Merging #111 into devel will decrease coverage by -0.07% as of 6d3903b

@@            devel    #111   diff @@
=====================================
  Files           2       2
  Stmts         885     884     -1
  Branches        0       0
  Methods         0       0
=====================================
- Hit           342     341     -1
  Partial         0       0
  Missed        543     543

Review entire Coverage Diff as of 6d3903b

Uncovered Suggestions

+1.92% via src/mpi/mpi_caf.c#1892...1908
+1.58% via src/mpi/mpi_caf.c#1990...2003
+1.58% via src/mpi/mpi_caf.c#1557...1570
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Try self-approving it again:
LGTM!

Looks like it worked this time.  Any idea what went wrong the first time?

No. I pinged the developer about it. It could be an off-by-one bug... the regexp had just been added to the repository... Maybe
:zap:


Disable the home page search button if no selection is made or invalid text is entered

Current behavior:

Search button is enabled if no selection has been made, resulting in the "brain" facet being auto-selected.
Entering invalid text (e.g. "panx") and clicking the search button results in the "brain" facet being selected.
Desired behavior:
For 1) and 2) disable the search button if no selection is made or invalid text is entered.

The Search button does nothing if the box is initially empty, but if I enter some text (e.g. "xxx") and then delete the text and click Search I get the firest facte auto-selected (e.g. "male").


build.gradle: remove unnecessary repositories

https://repo.eclipse.org/content/repositories/egit-releases/ has
suddenly died, which makes the gradle build get stuck at:
> Building 0% > :compileJava > Resolving dependencies ':compileClasspath'

because it tries to contact the above repository but does not get any
response.
Taking a look at what dependencies are currently in build.gradle, we
actually do not need the above repository at all.
As such, let's take this opportunity to remove all the repositories that
we do not actually need, so something like this is less likely to happen
again (unless maven central goes kaput).

Merging straight because this is breaking our Travis builds.


Fix support for Frameworks

Hi,
Actually the code does not support frameworks properly, the generated String extension:
private extension String {

    var localized: String {
        return NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: "")
    }
    func localizedWithComment(comment:String) -> String {
        return NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: comment)
    }
}

It's using _NSBundle.mainBundle()_, as a result if you call a localized var from the App target, the system will load the localized string from the localization file of that target and not from the framework.
I'm testing a little hack:
private extension String {

    var localized: String {
        return NSLocalizedString(self, tableName: nil, bundle: NSBundle(forClass: LocalizationsBundleClass.self), value: "", comment: "")
    }
    func localizedWithComment(comment:String) -> String {
        return NSLocalizedString(self, tableName: nil, bundle: NSBundle(forClass: LocalizationsBundleClass.self), value: "", comment: comment)
    }
}
internal class LocalizationsBundleClass {}

I created an internal dummy class in order to fetch the correct bundle via:
NSBundle(forClass: LocalizationsBundleClass.self)

The name of this dummy class should be based on the values in the script e.g:
OUTPUT_PATH="$BASE_PATH/Path_To_Output/_Localizations_.swift"
Although I'm not sure if this is the more optimal solution.

I'm thinking if this is the best way or not, For example a solution could be to create different Localizations files per target something like:
LocalizationsApp.swift
LocalizationsKit.swift <- Framework
LocalizationsWatch.swift
LocalizationsWidget.swift
This way every target has only the set of translations required by the target but leads to duplication if the same strings are needed in different targets, on the other hand if I create a single unique Localizations file within the framework to be shared by all targets seems to be more clean, what do you think?
Best regards!

Hello Ed!
Sorry it took me so long - I've been unavailable for few weeks, but I am back in business!
I will make sure to figure out how to do it the best way ; While your idea is solid and definitely one way to go, I still believe it should be ready for everything by just downloading - I don't want to force some new conventions etc. I am still open to suggestions, but I should be able to code it sometime next week once I put some serious thinking about it.
For now, thanks for trying it and I will let you know here once this is done.
Sincerely
JT

This will be fixed in upcoming Laurine 2.0. Please refer to #52 for any further comments.


fastlane action for pilot to distribute a previously uploaded binary

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I have read the Contribution Guidelines

Issue Description
Is there a fastlane action similar to pilot distribute that distributes a previously uploaded binary so I can use it in a lane?

hey @ceyhuno i am not quite sure if there is a build in action for that.
but you can do it with spaceship (inside your fastfile 👍 )
Spaceship::Tunes.login
app = Spaceship::Tunes::Application.find("my.app.id")
version = app.edit_version

# to submit latest build do it with this
use_build = version.candidate_builds.first

# for specific build_number use this.
use_build = version.candidate_builds.find(build_version: "BUILD_NR").first

# if you wan't to update changelog and stuff
#use_build.update_build_information!(whats_new:"Whats new", description: "Description", feedback_email<EMAIL_ADDRESS>
version.select_build(use_build)
version.save!

# now the select build is assigned to the edit_version
# for exact same behaviour as distribute

# you also have to this

uploaded_build.client.submit_testflight_build_for_review!(
  app_id: use_build.build_train.application.apple_id,
  train: use_build.build_train.version_string,
  build_number: use_build.build_version,
  platform: use_build.platform
)
uploaded_build.build_train.update_testing_status!(true, "external", use_build)

let me know if this helps you.

I wrote it directly into a lane like this:
lane :beta do
    Spaceship::Tunes.login
    app = Spaceship::Tunes::Application.find("my.app.id") #I replaced this id
    version = app.edit_version

    use_build = version.candidate_builds.first

    version.select_build(use_build)
    version.save!

    uploaded_build.client.submit_testflight_build_for_review!(
      app_id: use_build.build_train.application.apple_id,
      train: use_build.build_train.version_string,
      build_number: use_build.build_version,
      platform: use_build.platform
    )

    uploaded_build.build_train.update_testing_status!(true, "internal", use_build)
end

I got an error saying:
bundler: failed to load command: fastlane (/usr/local/bin/fastlane)
NameError: [!] uninitialized constant Fastlane::FastFile::Spaceship
  Fastfile:172:in `block (2 levels) in parsing_binding'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/lane.rb:33:in `call'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/lane_manager.rb:52:in `cruise_lane'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/command_line_handler.rb:30:in `handle'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/commands_generator.rb:105:in `block (2 levels) in run'
  /Library/Ruby/Gems/2.0.0/gems/commander-4.4.3/lib/commander/command.rb:178:in `call'
  /Library/Ruby/Gems/2.0.0/gems/commander-4.4.3/lib/commander/command.rb:178:in `call'
  /Library/Ruby/Gems/2.0.0/gems/commander-4.4.3/lib/commander/command.rb:153:in `run'
  /Library/Ruby/Gems/2.0.0/gems/commander-4.4.3/lib/commander/runner.rb:446:in `run_active_command'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:38:in `run!'
  /Library/Ruby/Gems/2.0.0/gems/commander-4.4.3/lib/commander/delegates.rb:15:in `run!'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/commands_generator.rb:302:in `run'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/commands_generator.rb:42:in `start'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/fastlane/lib/fastlane/cli_tools_distributor.rb:59:in `take_off'
  /Library/Ruby/Gems/2.0.0/gems/fastlane-2.9.0/bin/fastlane:15:in `<top (required)>'
  /usr/local/bin/fastlane:23:in `load'
  /usr/local/bin/fastlane:23:in `<top (required)>'

Mea culpa! - you have to add require "spaceship" at the top of your fastfile.

OK but now I got an error NoMethodError: [!] undefined method 'application' for nil:NilClass. Seems like the use_build.build_train is nil. What might be the reason?

ok - thats sad, can you try this:
lane :beta do
    Spaceship::Tunes.login
    app = Spaceship::Tunes::Application.find("my.app.id") #I replaced this id
    version = app.edit_version

    use_build = version.candidate_builds.first

    version.select_build(use_build)
    version.save!

    uploaded_build.client.submit_testflight_build_for_review!(
      app_id: use_build.apple_id,
      train: use_build.train_version,
      build_number: use_build.build_version,
      platform: use_build.platform
    )

    uploaded_build.build_train.update_testing_status!(true, "internal", use_build)
end

seems to be in that case we' dont have the build_train et-all

uploaded_build is actually use_build right? so i tried like this use_build.client.submit_testflight_build_for_review!(.... But now I got an error about metadata like  [English]: What to Test is required. [English]: Beta App Description is required. [English]: Marketing URLs are required. .... etc.
Normally for an internal release iTunes Connect doesn't ask about such information and I tried now to release the build manually and it got released immediately without any errors.

yeah upload_build was a typo.
strange - does it fail on update_testing_status or directly after `submit_testflight_build_for_review``
ohhh wait, you use "internal" - right? - then i think you don't have to submit_testflight_build_for_review
the build selection + save!  + update_testing_status should be enough for testflight only testing.

Now it worked! Thank you @hjanuschka 👍 Here is the entire thing:
lane :beta do
    Spaceship::Tunes.login
    app = Spaceship::Tunes::Application.find("my.app.id") #I replaced this id
    version = app.edit_version

    use_build = version.candidate_builds.first

    version.select_build(use_build)
    version.save!

    train_version = use_build.train_version
    train = app.build_trains[train_version]

    train.update_testing_status!(true, "internal", use_build)
end

I ended up getting the train from the app because the use_build.build_train was nil like I said.

@ceyhuno glad it worked, and thx for the final result as a reference! issue can be closed ?

Yes 👍 thanks again!


Not enough IMU excitation, below threshold

[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0241 < 0.2500
[ INFO] [1639578655.676617553]: Lidar scan no: 34
[ INFO] [1639578655.676645568]: No of lodom: 0
[ INFO] [1639578655.758270962]: No of imu measurements: 40
Failed to find match for field 'intensity'.
Failed to find match for field 'ring'.
Failed to find match for field 't'.
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0476 < 0.2500
[ INFO] [1639578655.760411787]: Lidar scan no: 35
[ INFO] [1639578655.760441037]: No of lodom: 0
[ INFO] [1639578655.844012505]: No of imu measurements: 40
Failed to find match for field 'intensity'.
Failed to find match for field 'ring'.
Failed to find match for field 't'.
[InertialInitializer::initialize_with_imu] Initialization done!!!!
terminate called after throwing an instance of 'pcl::IsNotDenseException'
what():  : Can't use 2D indexing with a unorganized point cloud
================================================================================REQUIRED process [ros_test_node-1] has died!

Looks like the issue is with the pointcloud, not with IMU readings.

Looks like the issue is with the pointcloud, not with IMU readings.

thanks,it is the timestamp which camera is not same with as imu

Looks like the issue is with the pointcloud, not with IMU readings.

thanks,but i changed the timestamp,it doesn't work.

i changed lidar's stamp to synchroize with imu's stamp,but it doesn't work;
can you tell me what is init_imu_thresh and init_window_time?
(/// If the above standard dev is below a threshold and we are waiting for a "jerk" then we want to wait till it is exceeded)

i changed lidar's stamp to synchroize with imu's stamp,but it doesn't work; can you tell me what is init_imu_thresh and init_window_time? (/// If the above standard dev is below a threshold and we are waiting for a "jerk" then we want to wait till it is exceeded)

This is caused by unorganized pointcloud (the height is 1). You can modify the bag reader module to support unorganized pointcloud.

i changed lidar's stamp to synchroize with imu's stamp,but it doesn't work; can you tell me what is init_imu_thresh and init_window_time? (/// If the above standard dev is below a threshold and we are waiting for a "jerk" then we want to wait till it is exceeded)

This is caused by unorganized pointcloud (the height is 1). You can modify the bag reader module to support unorganized pointcloud.

thanks

我更改了激光雷达的图章以与imu的图章同步，但它不起作用;你能告诉我什么是init_imu_thresh和init_window_time吗？（/// 如果上述标准 dev 低于阈值，并且我们正在等待“混蛋”，那么我们希望等到超过它）

这是由无组织的点云（高度为1）引起的。您可以修改袋子阅读器模块以支持无组织的点云。

谢谢

请问您是如何修改的，能否详细说明一下，多谢

我更改了激光雷达的图章以与imu的图章同步，但它不起作用;你能告诉我什么是init_imu_thresh和init_window_time吗？（/// 如果上述标准 dev 低于阈值，并且我们正在等待“混蛋”，那么我们希望等到超过它）

这是由无组织的点云（高度为1）引起的。您可以修改袋子阅读器模块以支持无组织的点云。

谢谢

请问您是如何修改的，能否详细说明一下，多谢
请问下最后解决了吗？

我更改了激光雷达的图章以与imu的图章同步，但它不起作用;你能告诉我什么是init_imu_thresh和init_window_time吗？（/// 如果上述标准 dev 低于阈值，并且我们正在等待“混蛋”，那么我们希望等到超过它）

这是由无组织的点云（高度为1）引起的。您可以修改袋子阅读器模块以支持无组织的点云。

谢谢

请问您是如何修改的，能否详细说明一下，多谢

请问最后解决了吗？ @huanghqc

i changed lidar's stamp to synchroize with imu's stamp,but it doesn't work; can you tell me what is init_imu_thresh and init_window_time? (/// If the above standard dev is below a threshold and we are waiting for a "jerk" then we want to wait till it is exceeded)

This is caused by unorganized pointcloud (the height is 1). You can modify the bag reader module to support unorganized pointcloud.

what it means? @zfc-zfc


Bug when creating a VPC attachment into the TGW shared from different account

Description
Hi There!
I trying to create a TGW in an account and shared it with another account, let's call them "Account A" and "Account B" respectively.
Both "aws_ec2_transit_gateway_route_table_association.this" and "aws_ec2_transit_gateway_route_table_propagation.this" were failed to create in "Account B" module.
Error: Invalid index

  on .terraform/modules/shared_tgw/main.tf line 93, in resource "aws_ec2_transit_gateway_route_table_association" "this":
  93:   transit_gateway_route_table_id = coalesce(lookup(each.value, "transit_gateway_route_table_id", null), var.transit_gateway_route_table_id, aws_ec2_transit_gateway_route_table.this[0].id)
    |----------------
    | aws_ec2_transit_gateway_route_table.this is empty tuple

The given key does not identify an element in this collection value.

Error: Invalid index

  on .terraform/modules/shared_tgw/main.tf line 101, in resource "`aws_ec2_transit_gateway_route_table_propagation`" "this":
 101:   transit_gateway_route_table_id = coalesce(lookup(each.value, "transit_gateway_route_table_id", null), var.transit_gateway_route_table_id, aws_ec2_transit_gateway_route_table.this[0].id)
    |----------------
    | aws_ec2_transit_gateway_route_table.this is empty tuple

The given key does not identify an element in this collection value.

It seems like bugs in these lines:

https://github.com/terraform-aws-modules/terraform-aws-transit-gateway/blob/master/main.tf#L93
https://github.com/terraform-aws-modules/terraform-aws-transit-gateway/blob/master/main.tf#L101

The "Account B" module is trying to provision with create_tgw = false, hence "aws_ec2_transit_gateway_route_table.this" will not be created. I guess the lines above failed because it trying to references aws_ec2_transit_gateway_route_table.this[0].id which is a null object,  hence getting Invalid index error.
Versions

Terraform: v0.12.31
Provider(s): v3.40.0
Module: 2.1.0

Reproduction
Steps to reproduce the behavior:

Create a module that will create TGW and enable sharing
Create another module that not create TGW, but referencing the Shared TGW and TGW Routing table populate by the first module.

Code Snippet to Reproduce
Account A
module "tgw" {
  source  = "terraform-aws-modules/transit-gateway/aws"
  version = "2.1.0"

  name            = "internal-it-tgw"
  description     = "Account A"
  share_tgw       = true
  create_tgw      = true
  ram_principals  = var.ram_shared_tgw_principals

  ram_allow_external_principals         = true
  enable_auto_accept_shared_attachments = true

  providers = {
    aws = aws.account-a
  }
}

Account B (shared)
module "shared_tgw" {
  source  = "terraform-aws-modules/transit-gateway/aws"
  version = "2.1.0"

  name        = "shared-tgw"
  share_tgw   = true
  create_tgw  = false

  ram_resource_share_arn         = module.tgw.ram_resource_share_id
  transit_gateway_route_table_id = module.tgw.ec2_transit_gateway_route_table_id

  vpc_attachments = {
    vpc = {
      vpc_id      = var.aws_vpc_id
      subnet_ids  = var.aws_subnets_ids
      tgw_id      = module.tgw.ec2_transit_gateway_id
      dns_support = true

      transit_gateway_default_route_table_association = false
      transit_gateway_default_route_table_propagation = false

      tgw_routes = [
        {
            destination_cidr_block = var.cidr_block
        },
        {
            blackhole              = true
            destination_cidr_block = "<IP_ADDRESS>/0"
        }
      ]
    }
  }

  providers = {
    aws = aws.account-b
  }
}

Expected behavior
Able to associate the routing table to Account B VPC attachment.
Actual behavior
Failed due to the suspected bug mentioned above.
Terminal Output Screenshot(s)
Refer to the output above.

Same thing here
Terraform: v1.0.0
Provider(s): v3.44.0

Same issue here:
Terraform: 0.14.11
Provider(s): v3.46.0

same issue:
Terraform: v1.0.2
Provider: v3.49.0
Module: v2.5.0

Same issue here.
Terraform: v0.14.11
Provider: v3.59.0
Module: v2.5.0
Any resent resolution? A see PR opened.


Clicking on Particularly One User of 'Dispatcher' in Modify User turns the webpage "Blank".(Company Panel)

Describe the bug
Clicking on one User 'sdfsdfsdfsdfsdfdsf' of 'Dispatcher' in Modify User turns the webpage "Blank"(Please go through the procedure of To Reproduce).
To Reproduce
Steps to reproduce the behavior:
1.Enter in the address bar-pulseptt.com
2.Login With Id and Password.
UserName-ranjeet
Password-12345678
3.Click On Modify Users and Select User Account Type type as 'Dispatcher' and Select User as 'sdfsdfsdfsdfsdfdsf'(as you click on User, the webpage turns into a blank page)
Expected behavior
User  'sdfsdfsdfsdfsdfdsf'  must be Modified and page should not turns into a blank page.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: Windows 10
Browser: Version 100.0.4896.60 (Official Build) (64-bit)
Version: [0.3.2]

Go through the UserName-ranjeet & Password-12345678 and Click On Modify Users and Select User Account Type type as 'Dispatcher' and Select User as 'sdfsdfsdfsdfsdfdsf'


replacing your hand with a waterbottle puts a giant error on your character and crashes your game

https://discord.com/channels/1272545509562777621/1313378701424984075/1313378701424984075

same kind of issue as #105


BTK: Overview of latest version, feedback, and discussion

Come and to learn about the latest version of BTK, give us feedback, and brainstorm the future of BTK.
Contacts: @ismael-mendoza
Time: Morning (start 10.30a)
Main communication channel: #blending-toolkit
GitHub repo: https://github.com/LSSTDESC/BlendingToolKit
In-person/Virtual/Hybrid: Hybrid
Zoom room (if applicable): BTK Zoom
Goals and deliverable
Write up some issues based on feedback and discussion of potential new features.
Resources and skills needed
Familiarity with python and general interest in blending.
Detailed description
We will be following a short tutorial on the new features of BTK, with plenty of time for questions and feedback on the infrastructure and user interface. Depending on interest, we will also have time for an open discussion on additional features or metrics that would make BTK useful for the wider blending community.

Notebook tutorial: https://colab.research.google.com/drive/18rPkDvL0VM3RVcNVZV2SWFlGLQ90YnNZ?usp=sharing


later.date.localTime(), "wy" and nextRange doesn't handle DST changes

I guess that this project isn't maintained anymore, so it's more of a question to anyone reading it, but:
My timezone is Australia/Melbourne and I'm passing in a schedule object (because the schedule is loaded via a user-editable JSON file). When I use UTC time, I can calculate ranges from January 1st through to December 31st, but if I switch to localTime() using the same schedule, it completely skips DST (the last instance occurs just before the start of April (when DST ends), and the next instance after that doesn't happen until October (when DST starts again)
Here's some sample code:
var later = require("later")

var sched = {
  "schedules": [{
      "h": [9], // 9th hour
      "m": [8], // 8th minute
      "dw": [2, 3, 4, 5, 6], // Every weekday
      "wy": [6, 8, 10, 12, 17, 19, 21, 23, 25, 30, 32, 34, 36, 38, 42, 44, 46, 48, 50] // On these weeks of the year
    },
    {
      "h": [9], // 9th hour
      "m": [8], // 8th minute
      "dw": [2, 3, 4, 6], // Every weekday EXCEPT Thursday
      "wy": [5, 7, 9, 11, 13, 16, 18, 20, 22, 24, 26, 29, 31, 33, 35, 37, 41, 43, 45, 47, 49] // On these weeks of the year
    },
    {
      "h": [9], // 9th hour
      "m": [28], // 28th minute
      "dw": [5], // On Thursday ONLY
      "wy": [5, 7, 9, 11, 13, 16, 18, 20, 22, 24, 26, 29, 31, 33, 35, 37, 41, 43, 45, 47, 49] // On these weeks of the year.
    }
  ],
  "exceptions": []
}

var start = new Date("2018-01-01")
var end = new Date("2019-01-01")
schedule = later.schedule(sched)

nextRange = schedule.nextRange(1000, start, end)
later.date.UTC()
console.log("UTC time:")
console.log()
console.dir(nextRange)
console.log()
console.log("Count: " + nextRange.length)
console.log()
later.date.localTime()
nextRange = schedule.nextRange(1000, start, end)
console.log("Local Time:")
console.log()
console.dir(nextRange)
console.log()
console.log("Count: " + nextRange.length)

This schedule should ring at 9:08am every weekday EXCEPT for a "Special Thursday", when it'll run at 9:28am.
(this schedule is part of a school bell system. The "Special Thursday" is determined by the school, so I have to set weeks manually)
Anyway, when I run the above code, I get the output listed in this pastebin
As you can see, the UTC times give 200 results, but the exact same schedule gives only 95, with the entirety of April through to September missing
If I remove the wy from the schedule, it calculates correctly, and I get the same amount of instances for both.
Anyone have any ideas what's going on here? I had a look at the weekOfYear function, but my brain isn't in the right place to work out what's going on.

For anyone reading this who may have this issue (and other issues with timezones using the library), my workaround was to use moment.js, get the UTC offset (in my case, 600 minutes, or 10 hours), and add that to all my times.
A somewhat-acceptable workaround, but not having to do this would be wonderful.


[RFC] Provide a secure local runtime for Development Tools

RFC Title
Provide a secure local runtime for Development Tools.
Introduction
This RFC study whether the wash-cli could provide developers with a secure local runtime for Development Tools.
Local means this runtime will be used to leverage the developers' workstation (their filesystem, their CPU, memory, GPU, network, ...).
Secure means the runtime will follow a principle of least privilege, that is, developers' workstation resources cannot be accessed by workloads unless explicitly authorized.
Development Tools are programs used by developers throughout the software development lifecycle, it includes things like: Linters, CLIs, Compilers, Automations, Small local servers to serve their apps...
Here is a more programmatic introduction 😉
# Run a component present on your filesystem without privilege.
wash run ./component.wasm

# Run a component from an OCI registry without privilege.
wash run myregistry.io/component:0.1.0

# ... Allow reading environment variables
wash run --allow-all-envs <ref>

# ... Allow reading specific environment variables
wash run --allow-envs HOME,DOCKER_HOST <ref>

# ... Allow access to a directory and its sub-directory
wash run --allow-dir ./build

# ... Allow access to the network
wash run --allow-all-net <ref>

# ... Or just to an IP
wash run --allow-net <IP_ADDRESS> <ref>

# ... With limited port range
wash run --allow-net <IP_ADDRESS>:8000-9000

# ... And you can do the same with interface the component can bind to
wash run --allow-bind :8883 <ref> --listen <IP_ADDRESS>:8883

Motivation
Governing Motivations

🔒 Security:  Hardening the Software Supply Chain at the leftmost link, the Producers' infrastructure, a.k.a. the developers' workstations by following a principle of least privilege.
🌳 Interoperability: To foster an ecosystem of tools that leverage the platform-agnosticism provided by Webassembly and WASI. This means that the tools ran by the runtime would be really easy to port in a remote context (e.g. in a CI/CD system).
🧰 Developer Experience: Providing a great DX when working with WASI Components is paramount to the growth of our ecosystem. wasmCloud already enhance the DX of running and managing distributed applications on a remote cluster. But it all starts with the developers' workstation and providing them with a super easy way to run components is fundamental.
🚚 Distribuable: Being interoperable means it can run everywhere but we also need those tools to be easily distribuable, so we can share them with our coworkers.

Rationale
In today's world, there are really few mechanism that prevents Development Tools to do nasty things. They tend to have too much capabilities on the developers' workstation. Yet, stories of legitimate package getting compromised are frequent, and their potential impact severe.
The Deno Runtime's Security Model is an example of what should have been done from the beginning by our industry as a counter-measure to this attack vector. Sadly, Deno is not a language-agnostic runtime which may slow down its adoption.
Wasmtime and the Component Model are really good candidates for a runtime that brings security, interoperability and platform-agnosticism to Development Tools.
It is more likely (or at least, I hope we will make this true) that wash-cli will be installed by any developer building with WebAssembly. The rationale being that it is a CNCF project that propose a cloud-agnostic way of managing new-age applications without vendor-locking.
This makes wash-cli a good candidate to host a runtime that has been carefully built for leveraging developers' local workstation.
It may seems like a small addition, but think about how much tools you use everyday as a developer (e.g. kubectl, helm, go, cargo, make, cryptic bash or python scripts, ...), how many of those actually run with ambient capabilities (access to most of your filesystem, binding to non-privileged ports, etc...), wouldn't it be awesome to rewrite those tools to run in a sandboxed environment with limited attack surface?
Detailed Design
In the spirit of adhering to industry standard, we should support running components made for the following worlds as a first step:

https://github.com/WebAssembly/wasi-cli
https://github.com/WebAssembly/wasi-http

It means, we should provide host implementations of the related interfaces so component importing those interfaces can be run with wash run.
Wasmtime already provides host implementations for most of these interfaces through the wasmtime_wasi crate. AFAIK, only the http interfaces would need to be implemented. If those implementation turn to be a limitation for us, we could fork and contribute upstream or start our own host implementation from scratch if needed.
A typical invocation would look like:
wash run [flag]... <ref> [arg]...

flags
They control what parts of the developer's workstation the component can access.
// TODO(enocera): List flags
They should impact the shape of the WasiCtx we will use to run the component (if we chose to use the wasmtime_wasi crate's implementations.
ref
It represents where to find the component to run.
<ref> should be resolved using rules that are standardized in the wash-lib (e.g. file://, https:// resolvers).
Describing the concrete behavior of each resolver is out of the scope of this RFC.
args
Arguments given to the component when it is run if it import the wasi:cli/environment interface.
Once again, if using wasmtime_wasi crate, WasiCtxBuilder::args() can be used to pass the arguments.
Unresolved Questions
TODO
Conclusion
Fulfilling this RFC would mean wasmCloud is helping developers through the whole life-cycle of development of this relatively new way of building.
Furthermore, securing our industry's tooling is strongly resonating with the Bytecode Alliance's vision which is, IMHO, an awesome initiative for our industry.
Finally, it would confirm and secure wasmCloud place as an actor of the future of computing 🚀

For reference, @thomastaylor312 already embed wasmtime in wash-cli for the plugin system, see https://github.com/wasmCloud/wasmCloud/pull/1989.

Also, I found an in-progress crate of wasmtime host implementations for the wasi:http interfaces: https://github.com/bytecodealliance/wasmtime/blob/main/crates/wasi-http/src/lib.rs
We may decide to contribute to this crate directly to make everyone benefit from our work 😄

Yep I use the http client from that crate to allow wash plugins to make http calls


How to use tycmd in windows ?

How to use tycmd in windows ?
How can I configure the module as you stated in https://github.com/ashtuchkin/vive-diy-position-sensor/blob/docs/docs/manual.md ?
Can the arduino serial port be able to view the debug output information?

upload  releases tag v1.0-alpha2    vive-diy-position-sensor.hex ,   how to output the position to the screen？

How to use tycmd in windows ?
I don't know, I don't use windows.

How can I configure the module as you stated in https://github.com/ashtuchkin/vive-diy-position-sensor/blob/docs/docs/manual.md ?
When you establish serial connection, press enter, it should show you the prompt ("> "). After that, enter your hardware configuration as written in the manual. See also #65, #73.

Can the arduino serial port be able to view the debug output information?
No, only serial over usb at this point.

upload releases tag v1.0-alpha2 vive-diy-position-sensor.hex , how to output the position to the screen？
After you connect your teensy/particle to the the sensor and enter the hardware configuration via serial-over-usb, it will wait for the "fix" and start outputting position to whatever port you set in the hardware configuration.

vive_sensor_breadboard.pdf

The arduino is also connected through the usb serial port. Can you interact with the command to get the location debugging information and output it to the screen?

https://www.pjrc.com/teensy/tutorial3.html

https://www.pjrc.com/teensy/usb_serial.html
serial_install.exe
USB: Virtual Serial Port？

https://github.com/Koromix/tytools/releases
#53
Use tytools (if i remember correctly the command should be 'tycmd monitor') with this you acces the teensy, to exit debug mode (in case you start in it) type '!' (this should put you in config mode).
than you can use the above linked commands in said config mode.

For schematics, please use the one in the README.md (right below the words "Full schematics:").
This project does not support Arduino. Only Teensy or Particle.

Can you interact with the command to get the location debugging information and output it to the screen?

Yes. Specifically the following configuration line does it (note "usb_serial"):
stream0 position object0 > usb_serial

I'm not sure what you're asking in the other questions.


Migrate the "Missing frames / speed related performance issues" issue template to use Github forms

We should migrate the existing new issue template for raising speed related issues to use Github forms. This allows us to add validations for required fields allowing the quality raised issues to be improved.

Hi @stuartmorgan, I have just made a PR for this issue. Could you please help to review it?