notary add against a specific file

Adds a -i/--input flag to notary add and notary addhash. When provided, rather than creating a changelist item, the target will be added to the file provided.

Setting the value of -i/--input to "-" will cause a new targets file to be created. This also requires that at least one of --keys or --certs are provided as the new targets file will have no signatures from which we can look up existing keys.

Adds --keys and --certs flags to notary add and notary addhash.

If --keys are provided, they will be used for signing the modified file.
If --certs are provided, they are cross referenced with any items in --keys and where the Canonical IDs match, the Non-Canonical ID is used when adding the resultant signature. Any --certs that don't match a --keys entry are looked up in the CryptoService and merged with the entries from --keys.
If neither --keys or --certs are provided, we will attempt to re-sign the file with any keys for which there is an existing signature on the provided -i/--input.

Result is output to the file provided by the -o/--output option. The flag is required in the case -i/--input is used.
Begins to address #1120
cc @riyazdf (if you have time) and @n4ss so you can test it with your export/import code.
Signed-off-by: David Lawrence<EMAIL_ADDRESS>(github: endophage)

I don't have time to do it right now but this PR has also made me see a lot of places we could further deconstruct and make more "functional" a quite a few things for better composition when we want to start adding more interesting use cases like this.

Don't merge just yet. I wanted to just output the result to stdout but that's kind of a pain when we ask for a password. You can't just notary ... > file. Adding the -o flag to specify a file for writing the result.

@cyli @riyazdf @ecordell @HuKeping is there anything I need to change here to get sign off?

@endophage Should this just be a different command?  The add and addhash commands require a GUN, which is extraneous when just creating a file (we aren't looking up the keys based on role, etc.)

(as a note, other than the CLI docstring changes to be --input instead of --file, my other comment isn't blocking, just a suggestion because I thought it could be confusing for users who might expect the valid signing keys to be looked up in the existing repo)

@cyli I agree GUN is confusing... at the same time I didn't want to add more commands that performed the same functions as existing commands...  I could however drop the GUN from the CLI in the case where an input file is provided. It would require some extra logic but isn't terrible. Do you think that would be better? I was initially worried it might be more confusing.

@endophage Agreed about add_to_file and addhash_to_file - maybe making the GUN optional is a good solution?  I wonder if maybe we should add one more layer of subcommands, so the repo stuff could be notary repo list etc?  I'm not entirely sure what would be the best UI.
The only reason I worry about the GUN being optional is that "this flag only applies if this other flag is used, otherwise, use this third flag" might be confusing to explain.  :|
I guess one question to ask is where do we see this going in the future?  Do we eventually want to have file-level versions of all the commands, or just the targets ones?  If it's just wrt to targets (add, addhash, and remove), maybe it's just fine to special case these, but if we wanted to add this to delegations too (for instance when the delegation name does not need to include the full path including parents) maybe it's worth considering splitting out file-scoped commands from repo-scoped commands?

jenkins, test this please


View not function PDF

<ngx-doc-viewer
  url="http://www.pdf995.com/samples/pdf.pdf"
  viewer="pdf"
  style="width:100%;height:93vh;"
>
</ngx-doc-viewer>

sample

Thanks for reporting! Should be fixed in 2.1.1


What does valid ratio mean?

Hello,
In the Deformable Transformer, there is a variable called valid_ratios which is used based on the masks. valid_ratios = torch.stack([self.get_valid_ratio(m) for m in masks], 1). If the masks are None in my case how am I supposed to calculate it?
Also, what is the purpose of valid_ratios? I could not find anything in the Trackformer and Original Deformable Detr paper.
I would appreciate it if you could clarify this.

These masks specify where padding was added to the image and are used to ignore those regions during the attention computation. If you do not have padding just initialize masks with zeros/False. See here for where the masks are generated.


Cleanup

Fixed navbar state on landing page
Added linkedin profile image domain to next.config
Improved Button.tsx gradient
Handled OAuthAccountNotLinked error on /auth by displaying a message to the user

I don't understand the larger consequences of the code, so I can't say if its bug free entirely, but it looks good from what I see.


Consider adding Kafka transport for a future release

hi，I am ready for use zipkin-php, and hope to add Kafka transport for a future release, for two send type http and kafka mq, configurable will be nice
My env list at below
php version : php 7.1.14
kafka-client : nmred/kafka-php
kafka-version : 0.9
zipkin-server versoin : 2.8.3

I just started this: https://github.com/jcchavezs/zipkin-php-reporter-kafka

I will follow up 👍


Runtime flag remove: Deprecated legacy code paths for allow-codec-error-after-1xx.

Commit Message: Runtime flag remove: Deprecated legacy code paths for allow-codec-error-after-1xx.
Additional Description:
Risk Level: low
Testing:
Docs Changes:  release notes
Release Notes: included
Platform Specific Features:
[Optional Runtime guard:]
Fixes #31976
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest


Cannot read properties of undefined (reading 'allowedDocTypes')

If we have a NestedContent element with a grid inside of it and the NestedContent section is open and there is a DocTypeGridEditor element inside the grid and then Save the Document and after that try to click on the DocTypeGridEditor element. Then we get this error:
TypeError: Cannot read properties of undefined (reading 'allowedDocTypes')
    at Scope.$scope.setDocType (doctypegrideditor.controllers.js?cdv=752043050:85)
    at fn (eval at compile (angular.js?cdv=752043050:16548), <anonymous>:4:150)
    at callback (angular.js?cdv=752043050:29123)
    at Scope.$eval (angular.js?cdv=752043050:19523)
    at Scope.$apply (angular.js?cdv=752043050:19622)
    at HTMLDivElement.<anonymous> (angular.js?cdv=752043050:29127)
    at HTMLDivElement.dispatch (jquery.min.js?cdv=752043050:2)
    at HTMLDivElement.v.handle (jquery.min.js?cdv=752043050:2)
This is doctypegrideditor.controllers.js at line 85 inside the Our.Umbraco.DocTypeGridEditor.GridEditors.DocTypeGridEditor

That's error comes because the $scope.control.editor.config is null.
If we then close the NestedContent section and Save the Document, and after that try to click on the DocTypeGridEditor element. we get no errors. So it only occurs when we have the NestedContent open while saving.

We can omit the error by checking if the overlayOptions editorName or allowedDocTypes is set and then skip the use of $scope.control.editor.config like this:
if (!overlayOptions.editorName) {
                overlayOptions.editorName = $scope.control.editor.name;
                overlayOptions.allowedDocTypes = $scope.control.editor.config.allowedDocTypes || [];
                overlayOptions.showDocTypeSelectAsGrid = $scope.control.editor.config.showDocTypeSelectAsGrid === true;
                overlayOptions.nameTemplate = $scope.control.editor.config.nameTemplate;
                overlayOptions.size = $scope.control.editor.config.largeDialog ? null : $scope.control.editor.config.overlaySize || "small";
            }

What happens if you try to add a new block then? If you set allowedDocTypes to empty, I'd guess you won't be able to select a doctype?

What happens if you try to add a new block then? If you set allowedDocTypes to empty, I'd guess you won't be able to select a doctype?

If i havent clicked on the plugin to initiate $scope.setDocType before i save, then it will fail, because then the overlayOptions.editorName aint set.
If i then set the allowedDocTypes to be empty if the $scope.control.editor.config is undefined or null, then it works either way and i can select a doctype.
if (!$scope.control.editor.config) {
    $scope.control.editor.config = {
        allowedDocTypes: []
    };
}

overlayOptions.editorName = $scope.control.editor.name;
overlayOptions.allowedDocTypes = $scope.control.editor.config.allowedDocTypes || [];
overlayOptions.showDocTypeSelectAsGrid = $scope.control.editor.config.showDocTypeSelectAsGrid === true;
overlayOptions.nameTemplate = $scope.control.editor.config.nameTemplate;
overlayOptions.size = $scope.control.editor.config.largeDialog ? null : $scope.control.editor.config.overlaySize || "small";

works either way

What i meant by that, is that its working even if you havent clicked on the exisisting plugin before you save.

The only issue now is that the view does not update as it should.

if (!$scope.control.editor.config) {
$scope.control.editor.config = {
allowedDocTypes: []
};
}

The only issue now is that the view does not update as it should. So this is only half a solution :)


chore: Remove link locales

@nschonni : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@oanapl: I'm sorry - only the author of this article, @cherylmc, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

verified corrections


docs: Fix a misleading word

Coverage increased (+0.2%) to 94.548% when pulling fcf9175880597cfb3c26d20fed44e70d0d4cd993 on lazarljubenovic:patch-1 into ee85f107ef7c9666875a725e5756d521bbeac54c on dsherret:master.

Thanks! I bet there are more of these copy+paste mistakes lurking in the code.

To be honest I have no idea what kind of unearthly powers are flowing through me right now which allowed me to spot this :joy: I was just scrolling through it looking for something else :eyes:


Update GCR IAM settings in Tekton development doc

Changes
The current settings of GCR in the development doc does not include instructions to configure GCR IAM policies. This results in ErrImagePull issue when pulling images from GCR to run Tekton project (due to missing permission). This commits adds the missing IAM policy setup instructions under the using Google Container Registry (GCR) section.
/kind misc

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[ ] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including
functionality, content, code)
[ ] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
None

/assign @ywluogg @chuangw6 @JeromeJu @jagathprakash @bendory

/assign

/assign

/kind misc

Thanks for the clarifications @QuanZhang-William.
/lgtm

/kind doc

/test check-pr-has-kind-label

I'd like to suggest that we simplify the journey for new users to something like this:
Assuming your GKE installation is running with the default compute service account<EMAIL_ADDRESS>you can enable read access to your GCR registry by running: gcloud projects add-iam-policy-binding "${PROJECT}"<EMAIL_ADDRESS>--role='roles/storage.objectViewer'

Good point, I have added a script snippet as alternative in the section.

/LGTM

/retest

/lgtm


Bug: Text sometimes not updated in Safari since 0.6.4 (regression from #3429)

Lexical version: 0.6.4
Given a playwright test such as the following:
test.describe('Suite', () => {
  test.only('Edits stuff', async ({
    page,
  }) => {
    await page.goto('/page/with/editor');
    await page.
      .locator('[data-rich-text-input-front] [data-lexical-editor]')
      .fill('Front');

    await pageOne
      .locator('[data-rich-text-input-front] [data-lexical-editor]')
      .fill('Front updated');

    await expect(
      pageOne.locator('[data-rich-text-input-front] [data-lexical-editor]')
    ).toHaveText('Front updated');
  });
});

I get the following test failure after updating from 0.6.3 to 0.6.4 in webkit only.
    Error: expect(received).toHaveText(expected)

    Expected string: "Front updated"
    Received string: "Front"

Having debugged the difference between the two versions I see the following:
Firstly, we call $shouldPreventDefaultAndInsertText from onBeforeInput.updateEditor with inputType 'insertText'.
In Chromium in 0.6.3 and 0.6.4 $shouldPreventDefaultAndInsertText will return true due to the following condition evaluating to true:
https://github.com/facebook/lexical/blob/a2f3b2fe157bcd20d69c1e85b9203d6c52d244ab/packages/lexical/src/LexicalEvents.ts#L216-L220
In Chromium, the domAnchorNode points to the wrapping <div> element and hence will not match the text node for the backingAnchorElement (which is the child <span> element). As a result we will call preventDefault() and dispatch a CONTROLLED_TEXT_INSERTION_COMMAND.
In Webkit, however, in both 0.6.3 and 0.6.4, the above condition will return false since domAnchorNode points to text node child of backingAnchorElement. Hence none of the conditions in $shouldPreventDefaultAndInsertText evaluate to true and we don't dispatch a CONTROLLED_TEXT_INSERTION_COMMAND.
Since we don't call preventDefault() we get a call to onInput.
In onInput we call $shouldPreventDefaultAndInsertText again but this time, when we have an 'input' event, domAnchorNode points to the the Text node on the <span> (containing "Front updated") back the backingAnchorElement points to an orphaned <span> whose Text node contains just "Front". Since these are different Text nodes, the backing anchor element check evaluates to true and $shouldPreventDefaultAndInsertText returns true.
From this point on the behavior differs between 0.6.3 and 0.6.4.
In 0.6.3, we unconditionally dispatch CONTROLLED_TEXT_INSERTION_COMMAND:
https://github.com/facebook/lexical/blob/1367743625e8ea79c08d881d4cecbe9195da2fcc/packages/lexical/src/LexicalEvents.ts#L616
However, in 0.6.4, as of #3429, we only dispatch a CONTROLLED_TEXT_INSERTION_COMMAND if the text in the DOM appears to differ from the result of splicing the event data with the anchor node's text:
https://github.com/facebook/lexical/blob/a2f3b2fe157bcd20d69c1e85b9203d6c52d244ab/packages/lexical/src/LexicalEvents.ts#L692-L706
In the case of this particular test, the combination of anchorNode.getTextContent() and data matches the text content of domSelection.anchorNode so we don't dispatch a CONTROLLED_TEXT_INSERTION_COMMAND.
(Specifically, anchorNode.getTextContent() is "Front", but the selection encompasses the whole string from 0 to 5 so we end up just considering event.data which is "Front updated".)
As a result, anchorNode is never updated to match the DOM. And presumably at some later point we clobber the DOM with the value in anchorNode.
If I force the condition to evaluate to true and hence dispatch a CONTROLLED_TEXT_INSERTION_COMMAND the test passes again.
In Firefox, beforeinput uses inputType of 'insertCompositionText' which is ignored by onBeforeInput so it also proceeds to onInput. However, it will fail the branch $shouldPreventDefaultAndInsertText in onInput (unlike Safari, backingAnchorElement appears to point to the live <span> element in Firefox) and proceed to update the selected text from the DOM:
https://github.com/facebook/lexical/blob/a2f3b2fe157bcd20d69c1e85b9203d6c52d244ab/packages/lexical/src/LexicalEvents.ts#L726-L727

What if add a IS_SAFARI || IS_IOS to
((isBeforeInput || !CAN_USE_BEFORE_INPUT) &&
   backingAnchorElement !== null &&
   !anchorNode.isComposing() &&
   domAnchorNode !== getDOMTextNode(backingAnchorElement))

Would that maybe resolve this? This logic is all quite tricky. It would be good to have a better heuristic here but I'm unsure what works well.

Yes, the following seems to fix my failing test at least:
 ((isBeforeInput || !CAN_USE_BEFORE_INPUT) &&
    backingAnchorElement !== null &&
    !anchorNode.isComposing() &&
-   domAnchorNode !== getDOMTextNode(backingAnchorElement))
+  (IS_SAFARI || IS_IOS || domAnchorNode !== getDOMTextNode(backingAnchorElement)))

I guess another option would be, in onInput, to detect when the anchor node's backing element is orphaned and dispatch a CONTROLLED_TEXT_INSERTION_COMMAND in that case?

I guess another option would be, in onInput, to detect when the anchor node's backing element is orphaned and dispatch a CONTROLLED_TEXT_INSERTION_COMMAND in that case?

That's a good idea. If you could help with a PR, that would be epic :)

Sure, I'll have a look tomorrow.

I extracted your test case into this PR https://github.com/facebook/lexical/pull/3470. Interestingly, I can't seem to repro the issue in Safari? Is it maybe down to differences in Playwright version?

Is there any way to recreate this issue without using Playwright?

Here's the change to the Webkit version (#3476)

Thanks!

However, going back to the original issue how did you plan on detecting when the anchor node's backing element is orphaned?

isConnected appears to do the trick in this case.

Is there any way to recreate this issue without using Playwright?

I started trying to create a code sandbox for this at https://codesandbox.io/s/lexical-plain-text-example-forked-mls7m6 but ran in to trouble emulating Playwright's fill (source ref 1, 2). It works for a regular contenteditable node, but I guess execCommand is not a suitable substitute (as I believe we have code in lexical specifically to filter out execCommand input events).
That said, I went to work on a speculative fix and I realized my original analysis was wrong. I said that on the 'input' event $shouldPreventDefaultAndInsertText was returning true due to the anchor backing element condition but as of #3438 that condition is now only used for 'beforeinput' events.
It turns out it's this beast that is returning true:
https://github.com/facebook/lexical/blob/a49e682a35e423deb5598522a36e194d45cabe78/packages/lexical/src/LexicalEvents.ts#L198-L209
I'm find that a bit hard to read so I broke it out and annotated the result of each part:
const condition =
  (
    (
      !isBeforeInput && // true
      (
        !CAN_USE_BEFORE_INPUT || // false
        // We check to see if there has been
        // a recent beforeinput event for "textInput". If there has been one in the last
        // 50ms then we proceed as normal. However, if there is not, then this is likely
        // a dangling `input` event caused by execCommand('insertText').
        lastBeforeInputInsertTextTimeStamp < timeStamp + 50 // true
      )
    ) ||
    textLength < 2 || // false
    doesContainGrapheme(text) // false
  ) &&
  anchor.offset !== focus.offset && // true
  !anchorNode.isComposing() // true

The first bit looks a bit suspicious to me. In #3429 we effectively changed it from:
    ((textLength < 2 || doesContainGrapheme(text)) &&
      anchor.offset !== focus.offset &&
      !anchorNode.isComposing()) ||

to
    (((!isBeforeInput &&
      (!CAN_USE_BEFORE_INPUT ||
        // We check to see if there has been
        // a recent beforeinput event for "textInput". If there has been one in the last
        // 50ms then we proceed as normal. However, if there is not, then this is likely
        // a dangling `input` event caused by execCommand('insertText').
        lastBeforeInputInsertTextTimeStamp < timeStamp + 50)) ||
      textLength < 2 ||
      doesContainGrapheme(text)) &&
      anchor.offset !== focus.offset &&
      !anchorNode.isComposing()) ||

I think the intent of this change was that we would only apply this check to input events and we should ignore dangling input events. Does that sound right?
However, because we're ||-ing this together with the textLength / doesContainGrapheme check, any time those conditions are true (i.e. any time we have an input event shortly after a beforeinput event), this whole block will return true provided we don't have a collapsed selection and are not composing--which doesn't seem like the intent?
If I change that condition to be:
  (
    !isBeforeInput &&
    (
      !CAN_USE_BEFORE_INPUT ||
      // We check to see if there has been
      // a recent beforeinput event for "textInput". If there has been one in the last
      // 50ms then we proceed as normal. However, if there is not, then this is likely
      // a dangling `input` event caused by execCommand('insertText').
      lastBeforeInputInsertTextTimeStamp < timeStamp + 50
    )
  ) &&
  (
    textLength < 2 ||
    doesContainGrapheme(text)
  ) &&
  anchor.offset !== focus.offset &&
  !anchorNode.isComposing()

i.e.:
  !isBeforeInput &&
  (!CAN_USE_BEFORE_INPUT || lastBeforeInputInsertTextTimeStamp < timeStamp + 50) &&
  (textLength < 2 || doesContainGrapheme(text)) &&
  anchor.offset !== focus.offset &&
  !anchorNode.isComposing()

then we consistently return false for both calls to $shouldPreventDefaultAndInsertText (i.e. for both the beforeinput and input event) which is probably the intended result?
But the saga continues.
With that change, we will then call $updateSelectedTextFromDOM but it will fail to do anything (i.e. fail to call $updateTextNodeFromDOMContent) because the DOM selection is pointing at the text content of an orphaned span so $getNearestNodeFromDOMNode returns null.
How did this work on 0.6.3? In 0.6.3 we:

didn't limit the check for backingAnchorElement to just beforeinput events (changed in #3438) so $shouldPreventDefaultAndInsertText returned true for our input event, and
we unconditionally dispatched a CONTROLLED_TEXT_INSERTION_COMMAND when that happened (changed in #3429)

So I guess we want something like:

Fix the check in $shouldPreventDefaultAndInsertText to correctly check for beforeinput events as described above?
Make $shouldPreventDefaultAndInsertText also check for orphaned backing elements, even in input events?

Oh, and make sure we perform the controlled text insertion in onInput when we have an orphaned anchor backing element:
i.e. something like
diff --git a/packages/lexical/src/LexicalEvents.ts b/packages/lexical/src/LexicalEvents.ts
index 6fef043e..e46876f7 100644
--- a/packages/lexical/src/LexicalEvents.ts
+++ b/packages/lexical/src/LexicalEvents.ts
@@ -196,15 +196,14 @@ function $shouldPreventDefaultAndInsertText(
     // If we're working with a non-text node.
     !$isTextNode(anchorNode) ||
     // If we are replacing a range with a single character or grapheme, and not composing.
-    (((!isBeforeInput &&
+    (!isBeforeInput &&
       (!CAN_USE_BEFORE_INPUT ||
         // We check to see if there has been
         // a recent beforeinput event for "textInput". If there has been one in the last
         // 50ms then we proceed as normal. However, if there is not, then this is likely
         // a dangling `input` event caused by execCommand('insertText').
-        lastBeforeInputInsertTextTimeStamp < timeStamp + 50)) ||
-      textLength < 2 ||
-      doesContainGrapheme(text)) &&
+        lastBeforeInputInsertTextTimeStamp < timeStamp + 50) &&
+      (textLength < 2 || doesContainGrapheme(text)) &&
       anchor.offset !== focus.offset &&
       !anchorNode.isComposing()) ||
     // Any non standard text node.
@@ -218,6 +217,8 @@ function $shouldPreventDefaultAndInsertText(
       backingAnchorElement !== null &&
       !anchorNode.isComposing() &&
       domAnchorNode !== getDOMTextNode(backingAnchorElement)) ||
+    // If the DOM selection element is orphaned
+    (backingAnchorElement !== null && !backingAnchorElement.isConnected) ||
     // Check if we're changing from bold to italics, or some other format.
     anchorNode.getFormat() !== selection.format ||
     // One last set of heuristics to check against.
@@ -688,6 +689,9 @@ function onInput(event: InputEvent, editor: LexicalEditor): void {
       if (domSelection === null) {
         return;
       }
+      const backingAnchorElement = getActiveEditor().getElementByKey(
+        selection.anchor.key,
+      );
       const offset = anchor.offset;
       // If the content is the same as inserted, then don't dispatch an insertion.
       // Given onInput doesn't take the current selection (it uses the previous)
@@ -697,10 +701,11 @@ function onInput(event: InputEvent, editor: LexicalEditor): void {
         selection.isCollapsed() ||
         !$isTextNode(anchorNode) ||
         domSelection.anchorNode === null ||
+        (backingAnchorElement !== null && !backingAnchorElement.isConnected) ||
         anchorNode.getTextContent().slice(0, offset) +
-          data +
-          anchorNode.getTextContent().slice(offset + selection.focus.offset) !==
-          getAnchorTextFromDOM(domSelection.anchorNode)
+        data +
+        anchorNode.getTextContent().slice(offset + selection.focus.offset) !==
+        getAnchorTextFromDOM(domSelection.anchorNode)
       ) {
         dispatchCommand(editor, CONTROLLED_TEXT_INSERTION_COMMAND, data);
       }

(Sorry for bogus whitespace changes at the end.)

I tried debugging the test added in #3470 using Mac to see why it doesn't fail and it looks like the difference is that when I run the test using the lexical repo and its version of Playwright the following check fails:
https://github.com/facebook/lexical/blob/365c9472a80fc8dad6b655238facc357ccccfc1a/packages/lexical/src/LexicalEvents.ts#L700-L703
That is, the DOM still has the "Front" string in it while the incoming event.data has "Front updated". Since they're different, we dispatch the CONTROLLED_TEXT_INSERTION_COMMAND.
For me, using a later version of Playwright and Safari and in the context of a different app, the DOM is already updated to "Front updated" at the point when we process the input event.
I'm not sure if the difference comes about due to (a) Playwright version, (b) Safari version, (c) something in the app I am debugging. I think we can rule out (b) because even after applying #3476 the test still passes.
So it's either Playwright or my app. I've ripped out every plugin and custom style from my app so that the lexical setup is about as vanilla as it gets and the problem still reproduces so I start to suspect a change in Playwright.
In any case, I think the changes suggested above are probably reasonable so I might go ahead and turn them into a PR.

Ok, I wrote a patch that fixes this particular issue but causes other tests to fail.
In particular when we fail the following condition:
https://github.com/facebook/lexical/blob/268977692c050a693c7db77837cfc69ff32d49b2/packages/lexical/src/LexicalEvents.ts#L692-L706
we often fail to update the lexical state.
In onInput,

If $shouldPreventDefaultAndInsertText returns true,

If this check for a non-redundant change returns true

We dispatch CONTROLLED_TEXT_INSERTION_COMMAND and everything is ok

Else

Lexical state doesn't get updated

Else

We run $updateSelectedTextFromDOM and everything is ok

@trueadm Do you recall what that condition is needed for? Should we be doing $updateSelectedTextFromDOM when it returns false? Doing so seems to fix the test failure I was seeing.

I believe we have that in mainly for Firefox if memory serves me right. You also might have to consider legacy events, or not having native beforeinput, which we capture in our e2e tests. Does grammarly still work with that change too? Specifically fixing a grammarly change with selection being in a completely different block in the editor?

I believe we have that in mainly for Firefox if memory serves me right. You also might have to consider legacy events, or not having native beforeinput, which we capture in our e2e tests.

Ok, I just pushed another fix to the PR so I'll see what the e2e tests think of that.

Does grammarly still work with that change too? Specifically fixing a grammarly change with selection being in a completely different block in the editor?

It appears to work for me in Firefox. Should I be testing in Safari instead though?


New version + new architectures + switch to rattler-build

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found some lint.
Here's what I've got...
For recipe/recipe.yaml:

The top level meta key schema_version is unexpected

Lots of changes here but I don't know what "rattler-build" is: is there a doc that gives some context?

Lots of changes here but I don't know what "rattler-build" is: is there a doc that gives some context?

Wow you're fast! I will give more context in my next message.
rattler-build is an alternative to conda-build. More infos at https://prefix-dev.github.io/rattler-build/latest/ and https://prefix.dev/blog/rattler_build_on_conda_forge

I am trying to build a package called deepsearch-glm at https://github.com/conda-forge/staged-recipes/pull/28093 and it requires fasttext. Unfortunately, deepsearch-glm needs a forked and modified version of the package, and it's worth noting the original repo (from facebookresearch) is also archived and unmaintained.
The needed fork does not have any tag, and it might be nice to have one to build a package from it here.
@PeterStaar-IBM would that be possible for you to push a git tag at https://github.com/PeterStaar-IBM/fastText? Something like 0.10.0 will do the job.
@conda-forge/fasttext would you be okay, building a new version here from @PeterStaar-IBM's fork?

To summarize what this PR contains:

enable osx_arm64 and linux_aarch64/linux_ppc64le

replace https://github.com/conda-forge/fasttext-feedstock/pull/21

Build using latest from  https://github.com/PeterStaar-IBM/fastText
Switch build engine to rattler-build

I am trying to build a package called deepsearch-glm at conda-forge/staged-recipes#28093 and it requires fasttext. Unfortunately, deepsearch-glm needs a forked and modified version of the package, and it's worth noting the original repo (from facebookresearch) is also archived and unmaintained.
The needed fork does not have any tag, and it might be nice to have one to build a package from it here.
@PeterStaar-IBM would that be possible for you to push a git tag at https://github.com/PeterStaar-IBM/fastText? Something like 0.10.0 will do the job.
@conda-forge/fasttext would you be okay, building a new version here from @PeterStaar-IBM's fork?
To summarize what this PR contains:

enable osx_arm64 and linux_aarch64/linux_ppc64le

replace ARM OSX Migrator #21

Build using latest from  https://github.com/PeterStaar-IBM/fastText

Switch build engine to rattler-build

Hi, @hadim , yes, just did that here: https://github.com/PeterStaar-IBM/fastText/releases/tag/v0.1.0

I am not a "core maintainer" of anything but the conda-forge repo but I think replacing base fasttext with a fork (and not changing the name) might be controversial. Let me suggest you run it by some people on the Conda-Forge Gitter system first (https://conda-forge.org/community/getting-in-touch/) to see what maintainers think in general.

I am trying to build a package called deepsearch-glm at conda-forge/staged-recipes#28093 and it requires fasttext. Unfortunately, deepsearch-glm needs a forked and modified version of the package, and it's worth noting the original repo (from facebookresearch) is also archived and unmaintained.
The needed fork does not have any tag, and it might be nice to have one to build a package from it here.
@PeterStaar-IBM would that be possible for you to push a git tag at https://github.com/PeterStaar-IBM/fastText? Something like 0.10.0 will do the job.
@conda-forge/fasttext would you be okay, building a new version here from @PeterStaar-IBM's fork?
To summarize what this PR contains:

enable osx_arm64 and linux_aarch64/linux_ppc64le

replace ARM OSX Migrator #21

Build using latest from  https://github.com/PeterStaar-IBM/fastText

Switch build engine to rattler-build

Hi, @hadim , yes, just did that here: https://github.com/PeterStaar-IBM/fastText/releases/tag/v0.1.0

Thank you @PeterStaar-IBM but it's 0.1.0. Do you mind pushing 0.10.0 instead?

I am not a "core maintainer" of anything but the conda-forge repo but I think replacing base fasttext with a fork (and not changing the name) might be controversial. Let me suggest you run it by some people on the Conda-Forge Gitter system first (https://conda-forge.org/community/getting-in-touch/) to see what maintainers think in general.

Yes, I agree with you, it's not ideal, but on the other side the upstream repo is also archived on GH, so there is no chance for a new version.
@conda-forge/core do you think it's ok to proceed here, or is that best if create an entirely new package and submit it on staged-recipes instead? I am happy with both.

Yes we cannot point feedstocks at forks like this.
I am not sure what to do though.

Ok so what about creating a new package on staged-recipes and call it something like fasttext-fork or fasttext-for-deepsearch-glm?

Alternative PR at https://github.com/conda-forge/staged-recipes/pull/28098

Closing here in favor of https://github.com/conda-forge/staged-recipes/pull/28098
Thanks everyone, for the inputs.


Apps - Apps deployed from Ember UI that are tagged as upgrade available are not shown upgrade in Dashboard

Rancher version: master-head (10/30/2020) 5d3ffc1
Rancher version: v2.5-head (10/30/2020) cc777eb

Deploy Wordpress 7.3.8 from Ember UI
The App is shown with an upgrade available.

Workaround: add the helm2 chart repo to show it.
This looks straightforward and probably even obvious but can lead to some confusion. We might need to document this.

rancher/dashboard#1693

However if i try to upgrade I get this failure:
helm upgrade --history-max=5 --install=true --namespace=wordpress --timeout=10m0s --values=/home/shell/helm/values-wordpress-9.0.3.yaml --version=9.0.3 --wait=true wordpress /home/shell/helm/wordpress-9.0.3.tgz
Release "wordpress" does not exist. Installing it now.
Error: rendered manifests contain a resource that already exists. Unable to continue with install: Secret "wordpress-mariadb" in namespace "wordpress" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "wordpress"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "wordpress"

The helm v2 and v3 tools work differently:

v2 and v3 release (history) storage are independent of each other. The changes include the Kubernetes resource for storage and the release object metadata contained in the resource. Releases will also be on a per user namespace instead of using the Tiller namespace (for example, v2 default Tiller namespace kube-system). v2 uses "ConfigMaps" or "Secrets" under the Tiller namespace and TILLER ownership. v3 uses "Secrets" in the user namespace and helm ownership. Releases are incremental in both v2 and v3

https://helm.sh/docs/topics/v2_v3_migration/

So you won't be able to manage a v2 app with the shell or with the vue UI. It appears that you can't edit/upgrade apps installed via ember in the dashboard unless you manually add those old catalogs as repo's. So basically, that is not a supported path. @catherineluse We should document that apps managed via ember must continue to only be managed via ember, and apps managed via dashboard must be managed only with dashboard.

Closing this issue because I added to the apps page:

Apps managed by the Cluster Manager should continue to be managed only by the Cluster Manager, and apps managed with the Cluster Explorer must be managed only by the Cluster Explorer.

https://github.com/rancher/docs/commit/f1285a9dd16af66775f191e73e4a24632a053ed9


pause hover fires unexpectedly

Does this have anything to do with the "mouseenter" event triggering?
On Tue, May 23, 2017 at 7:24 PM Julian Gruber<EMAIL_ADDRESS>wrote:

[image: screen shot 2017-05-23 at 19 24 17]
https://cloud.githubusercontent.com/assets/10247/26367007/74928f9e-3fed-11e7-8503-c087ab2be619.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/datproject/dat-desktop/issues/394, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWlek7UCjcNw_vtS4izf6kgiySi6zqzks5r8xZegaJpZM4NkBZZ
.

fix in https://github.com/datproject/dat-desktop/pull/396


Correct package.json main

This fixes the package.json main field so that other projects can require() this module.

👍

:+1:


Fix section order under scheduling-eviction

Page previews:
https://deploy-preview-26961--kubernetes-io-master-staging.netlify.app/docs/concepts/scheduling-eviction/assign-pod-node/
https://deploy-preview-26961--kubernetes-io-master-staging.netlify.app/docs/concepts/scheduling-eviction/resource-bin-packing/
https://deploy-preview-26961--kubernetes-io-master-staging.netlify.app/docs/concepts/scheduling-eviction/
original:
https://kubernetes.io/docs/concepts/scheduling-eviction/

/lgtm


Documentation: Add initial docs setup

This pull request adds documentation setup, including a GitHub Actions workflow to build it.
I've modified the docs/Makefile to use sphinx-autobuild, which watches for changes in the source documentation files:
# Start a local development server to automatically rebuild and serve the HTML documentation
# whenever changes are made to the source files.
run:
	sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

Also, I've added instructions for building the documentation locally in django-otp-webauthn/DEVELOPMENT.md.

@activus-d for the check errors, you can install and use pre-commit which will perform validity checks on the files you changed when you are creating a git commit out of your changes. See the instructions in DEVELOPMENT.md


[DO NOT MERGE] Add trailing whitespace

This PR tests that the Verible lint review GitHub Action works after the changes in #18910 were merged.

Looks like this worked. The review was posted and the CI logs look good.


METRICS: P1: Simple Disable of Application Insights Feature

Title: METRICS: P1: Simple Disable of Application Insights Feature
Disabling Application Insights should be simple (ideally single line) and any telemetry within the product should honor it.

https://github.com/Microsoft/botbuilder-dotnet/pull/1179
Null Logger is in PR


Enhancement : API-Gateway Put Integration Response - Adding support f…

API-Gateway Put Integration Response - Adding support for contentHandling.
https://github.com/localstack/localstack/issues/2273

API-Gateway Put Integration Response - Adding support for contentHandling.
localstack/localstack#2273

@bblommers  Need your help in getting this small enhancement merged,

Coverage decreased (-0.1%) to 94.245% when pulling f2a70fc793975bd50016853de16b03379fac8ed7 on usmangani1:ISSUE_2273 into e32a60185fb7369d8916ee077fbabbc1bf9747ed on spulec:master.

This is now available in moto >= 1.3.15.dev888


Update to react 15

Thanks for logging this. It should be fixed now. Let me know if you encounter any issues.


Question: Is there a grid feature?

I was wondering if there is a kind of option/plugin to show a grid underneath the model.
Here is an example:

Hello @StefanThumann, we don't have such a feature at the moment, but I think this would be a great addition to our plugin.
But meanwhile, you can use three.js to add a plane below your model. (see #64)


[ENHANCEMENT] set environment variable path for chocolatey packages

Please confirm these before moving forward

[X] I have searched for my feature proposal and not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This improvements refers to an existing feature. If you want to suggest a new feature, please use this template
[X] This improvements is not a bug. If you want to report a bug, please use this template

Describe the improvement
will there be support for automatically set path environment variable choco-cli\bin?
Describe how this improvement could help users.
set path environment variable for aria2c wget ffmpeg and others.

I agree that this would be very useful and time saving

Would this feature be useful on the installer?


Update nordvpn to 3.3.5

In the future, please don’t delete the template that was there. It was there for a reason.


fix(delete-record): removing the ommitting of required parameters from DELETE record

Fixes #15

Yup. I ran the stack up and deleted the stack. It deleted the full stack successfully and there were no more ses records on the domain


Frontend: ProductDetail Component

User story
Who: As a developer
What: I want to develop reusable Product detail component.
Why: So that display the details about each Image like, price ,name, size, and quantity of each of them.
Acceptance criteria
This component should look according to screenshot below:

Check the wireframes here: https://www.figma.com/file/yo4QT2EcPo83HAMI3ydMxb/HYF-Wireframes?node-id=4%3A1324
Implementation details
You will need to include in the Product details. Container the components and elements for:
Counter - a counter that behaves like this example: counter

We already have a ProductPreview component on the develop branch.
This issue can be closed.


Batch Change Review Process

RFC: https://github.com/vinyldns/rfcs/pull/9
Planned work:

add field to the Batch Change model. These fields are NOT to be set by users creating the batch change:

name
type
description

approvalStatus
string
The approval status of the batch change. Existing batch changes will default to "AutoApproved". Other approval statuses are "PendingApproval", "ManuallyApproved", "ManuallyRejected"

reviewerId
string
ID of the user who reviews the pending batch change

reviewComment
string
Optional comment the reviewer may include when approving or rejecting the batch change. Max length is 1024.

reviewTimestamp
dateTime
The time the reviewer approved or rejected the batch change

The only new field that will be explicitly set by a user is the reviewComment, that should only be set at the time an authorized reviewer is approving or rejecting the batch change.

add endpoints:

reject batch change
approve batch change

add "Manual Review" flag config setting.
If the config value is set to true it enables the batch change review process/workflow if the batch change has permissible errors. If the config value is set to false the batch change will fail if it has any errors and no manual review process takes place.

closing this since we implemented.


use expectError instead of expectException

Using PHPUnit 9
1) Ramsey\Uuid\Test\Generator\CombGeneratorTest::testGenerateWithOddNumberOverTimestampBytesCausesError
Support for using expectException() with PHPUnit\Framework\Error\Error is deprecated and will be removed in PHPUnit 10. Use expectError() instead.

expectError already exists in PHPUnit 8

Notice, 2 other warnings need to be fixed (don't find the easy way for now)
2) Ramsey\Uuid\Test\Generator\RandomLibAdapterTest::testGenerateUsesGenerator
Trying to configure method "generate" which cannot be configured because it does not exist, has not been specified, is final, or is static

3) Ramsey\Uuid\Test\Generator\RandomLibAdapterTest::testGenerateReturnsString
Trying to configure method "generate" which cannot be configured because it does not exist, has not been specified, is final, or is static

Thank you for contributing! 🎉


added installation methods README.md

Commands to setup mongo db in Fedora and Arch.

LGTM. Thanks for the contribution!

@thisisshub Just a small suggestion: It is good practice to write PR titles and commit messages is to do it as follows: Write it so that is will complete the sentence This commit/PR will _____. For example, your title should have been Add installation methods to README.md. Not that important, but still a good practice in open source :smile:

@thisisshub Just a small suggestion: It is good practice to write PR titles and commit messages is to do it as follows: Write it so that is will complete the sentence This commit/PR will _____. For example, your title should have been Add installation methods to README.md. Not that important, but still a good practice in open source

Thank you for your advice @thescriptninja. I'll keep that in mind for my next PR.


updating getting-code-coverage.md with errors I encountered

PR Summary
I was following this document and found out some additional steps to get it working. This PR adds additional steps, which might save some time in the future if someone is to encounter the same.
PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Change is not breaking
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

User-facing changes

[X] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[X] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

@JamesWTruher is currently redoing a fair amount of the code coverage implementation, so it might be a good idea to hold off on documenting it presently

I also found out the following two remarks. This is regarding visualizing code coverage. Shall I add them to this pr?
$ReportGenExe = "$HOME\AppData\Local\PackageManagement\NuGet\Packages\ReportGenerator.<version>\tools\ReportGenerator.exe"
Should be changed to
$ReportGenExe = "$HOME\AppData\Local\PackageManagement\NuGet\Packages\ReportGenerator.<version>\tools\net47\ReportGenerator.exe"

& $ReportGenExe -report:coverage.xml -targetdir:C:\temp\Coverage
Should be
& $ReportGenExe -reports:coverage.xml -targetdir:C:\temp\Coverage

@SteveL-MSFT When we expect changes from @JamesWTruher? If in days it does not make sense to correct the documentation.

@SytzeAndr it looks like you've tried to run a code coverage build with Windows PowerShell, but I think it's only intended for use with PowerShell 6+. Some of the issues you've hit look like they're due to that.
Also @iSazonov, @JamesWTruher is working on code coverage this week and into next.


Questions about mapping, remapping, and localization

I'm working on an application where we have robots navigating in warehouses that can be up to 50k sq m.  We have been successfully using cartographer for mapping with a different localization algorithm.  We're now looking into switching to cartographer for localization and after reading through some code and documentation, I have some questions.
If this isn't the correct forum for them, please let me know what would be more appropriate, and I will post there.
Our use case:
A customer purchases our system for the warehouse.  We take a robot to the site and create a map.  We save the data from that mapping session and distribute it to the robots that will be doing work at that site.  Later, the customer may request that we add a new section to the warehouse, so we need to update the map to add it.  Or, they may rearrange a couple shelves so we need to remap that section of the warehouse.  With other localization algorithms such as ros's AMCL, the data store is an image file, so these additions and modifications are pretty easy to do.  However, they seem like they may be more difficult with cartographer.

What happens if we remove an object from an already mapped area and try to remap it? Do the old submaps that correspond to that area get replaced with the new ones?
What happens if we remove an object from an already mapped area and use localization only mode?  For example, there was a forklift parked in an aisle when the map was made, but the forklift isn't there when the robots need to localize.
What does it mean for a trajectory to be "frozen"?  What is the difference between loading a frozen trajectory and a non-frozen trajectory?
When we want to add a new area to the map, do we need to load the old section of the map frozen or unfrozen?
What does finalizeTrajectory actually do?  Do we need to call it before writing the .pbstream file to disk?
Is there anything we need to worry about as the map size increases?  Can you anticipate any issues localizing in a 50k sq. m warehouse?

@grieneis let me answer these questions one by one:
What does it mean for a trajectory to be "frozen"? What is the difference between loading a frozen trajectory and a non-frozen trajectory?
Trajectory in Cartographer is a collection of robot poses that are optimized given computed constraints (relative transforms between consecutive nodes computed from wheel odometry, poses of robots in a given submaps, etc.). If a trajectory is "frozen", this means that all optimization variables for trajectory nodes and associated submaps will be constant and won't be optimized. If you load a trajectory as a "non-frozen", then they will be optimized. This is done mostly for localization mode: in localization mode you load a frozen pbstream and then optimize only the trajectory of the robot that you want to localize. The trajectory for this robot will be built, but only a constant number of submaps for this trajectory be kept, the old ones will be trimmed. This is needed to keep complexity of the algorithm more or less constant. Look for PureLocalizationTrimmer in the code.
What happens if we remove an object from an already mapped area and try to remap it? Do the old submaps that correspond to that area get replaced with the new ones?
If you want to remap a part of the map, then you can load a pbstream in non-frozen mode, use "overlapping_submaps_trimmer" then the old submaps for the area that you are remapping should be replaced with the newer ones.
Here are the options for trajectory_builder.lua. You might want to play with them.
 overlapping_submaps_trimmer_2d = {
 fresh_submaps_count = 2,
 min_covered_area = 2,
 min_added_submaps_count = 5,
 },

What happens if we remove an object from an already mapped area and use localization only mode? For example, there was a forklift parked in an aisle when the map was made, but the forklift isn't there when the robots need to localize.
Localization mode should be quite robust with respect to such small changes of the map.
When we want to add a new area to the map, do we need to load the old section of the map frozen or unfrozen?
Unfrozen, because you want to jointly optimize the whole map.
What does finalizeTrajectory actually do?
Stops waiting for sensor data for the given trajectory. Sensor data in Cartographer is collated before processing.
Do we need to call it before writing the .pbstream file to disk?
It is not necessary. You need to call WriteState if you want to write a pbstream file while running the online node.
Is there anything we need to worry about as the map size increases? Can you anticipate any issues localizing in a 50k sq. m warehouse?
Definitely. You might need to reduce the number of global searches, etc to reduce the load.

The legend can be used to interpret the map symbols, and the scale is used to determine the relationship between distances shown on the map and actual distances. Problem of determining and tracking robot's position relative to map of environment. (Passive vs Active & Local vs Global)

@grieneis Did you manage to use the overlapping submaps trimmer?


Changed some spellings

I just edited spellings that's literally it

this caused hasnu to have a heart attack
today we mourn this innocent person who died to git.
git claims another life

shut up semi,  now how tf do I delete this


scale differ from ios to android

hello everyone
so i have some 3d objects that im spawning on a plane on android they have a normal scale but on ios their scale is not the same eventho i set the starting scale to (1,1,1) like so
         object = ARNode(               type: NodeType.fileSystemAppFolderGLB,               uri: 'model.glb',               scale: Vector3(prevScale, prevScale, prevScale));
prevScale = 1

here's the model on android

and here's the model on ios from about the same distance

sorry wrong repo
@Rocher0724 can you delete this issue please


Location of bootstrap files should be configurable

Currently it presumes bootstrap* and autoload* reside in app/. That might not be the case for some projects. Please add a cmdline arg to make this configurable on invocation.

@mheleniak , are you sure ?
AFAIK that fix does not change anything about ability to have bootstrap.php.cache built in other dir than app/

Ok, you are right.


Blade Component Discussion

I've used the Cloudinary service on a few other projects and was pleasntly surprised to find this repo after starting a personal project using Laravel 8. So far, it works great and I don't have any real issues. But I ran across the Blade Components while browsing through the README and started playing with the image component. Right off I noticed that it was not very flexible and that leads into my discussion points.
Although I know that we can perform transformations on an image during upload (per closed issue #4), I was wondering how hard it would be to expand upon the current Blade Component and bring a bit more flexibility to it. It turns out that it's not that hard and to me is a sign that I've missed or overlooked something. But before I go forking anything and wasting every ones time, I wanted to ask a few questions first:

Is this even something that the team or the community would be interested in?
Does this open a can of worms better left to an independent package? (my first thoughts actually)
It seems the URL returned is not parsed exactly as it should be.
For example, instead of returning https://res.cloudinary.com/dtm8qhbwk/image/upload/c_scale,h_300,w_300,f_auto,q_60/briafgn2sey90arhgfgp,
it returns
https://res.cloudinary.com/dtm8qhbwk/image/upload/c_scale,h_300,w_300/f_auto/q_60/briafgn2sey90arhgfgp.
Everything still seems to work as expected, but I wanted to be sure this was expectable before I dig too deep into cloudinary\cloudinary_php to find the source of this behavior. I could be going about adding this functionality complete wrong!
When reading the contributing.md it states  "Your patch won't be accepted if it doesn't have tests.". I think this is completely acceptable, but although there is a directory listed in composer.json and there is a phpunit.xml that points to the same directory (/tests), there doesn't actually seem to be a tests directory in the repo. Once again, I must be overlooking something fairly obvious.

Example Change
@php
 echo cloudinary()
 ->getImageTag($publicId ?? '')
 ->scale($width ?? '', $height ?? '')
 ->format($format ?? 'auto')
 ->quality($quality ?? 'auto')
 ->serialize();
@endphp

The above example is the changes I made to /resources/views/components/image.blade.php. As you can see, I keep the similar format used with the scale option. If $format is not specified in the component, it will default to f_auto. If no $quality is specified, it will default to q_auto as well.
Example Usage and Result
Usage
// CanineController.php
public function show(Canine $canine)
{
    $canine = Canine::findOrFail($canine->id);
    return view(
        'canine.show',
        [
            'canine' => $canine,
            'profile_image' => $canine->fetchAllMedia(),
        ]
    );
}

// show.blade.php
<x-cld-image public-id="{{ $profile_image[0]->file_name }}" width="300" height="300" quality="60"></x-cld-image>

Result
<img src="https://res.cloudinary.com/dtm8qhbwk/image/upload/c_scale,h_300,w_300/f_auto/q_60/briafgn2sey90arhgfgp">

Many thanks goes to the whole team for this project. Keep up the great work! Input, scolding and thoughtful banter welcome to the discussion above.

Thanks @unisys12
Would leave to @unicodeveloper and @const-cloudinary to refer to your suggestions/queries.
Just regarding the URL, this is a deliberate change that puts every action you perform (scale/format/quality) into a separate URL component.
We did that for better readability of the URL and for reducing ambiguities.

We did that for better readability of the URL and for reducing ambiguities.

@asisayag2 Thanks for the clarification on that. Good to know.

@unisys12 Sorry for answering late. Thankful for the suggestion. I made the component side of this library in a rush because I wanted to get the main functionalities to users.
I am currently refactoring the Image component and adding a lot more flexibility. In fact, I am adding more components to make it work like https://blade-ui-kit.com/ but for every type of transformation and effect you can do with Images. It's going to be comprehensive and useful!

@unicodeveloper and @asisayag2  Thanks for all the input and look forward to seeing the upcoming changes to the components.

@unicodeveloper Was this actually completed?


Apostrophe in function strcontains does not match

Hello,
while I am writing some custom rules I found a possible issue with strcontains function.
For instance I would like to match all the objects with exactly following string:
'Arial'
So I put this value into strcontains function as a regex match pattern. Unfortunately strcontains does not match any string that contains apostrophe character. I tried to escape it but without any luck. Once I get rid of the apostrophe character then it works fine.

Finally, I was able to match 'Arial' word using this expression: \\\\u0027Arial\\\\u0027
I figured out that tostring function returns a json as a string and these special characters are replaced with unicode in this string. So it can be used like that.

Thanks for following up on this, I will look to reproduce and consider improvements asap.


[useFilters] Make filters state array ?

Tanner, wanted you to review this before making stable release(don't know whether you have considered or not), filters in table state is object {}, how about taking it as an array [], because filters order(which object keys don't guarantee) can matter for cascading filters specially when using preFilteredRows to show the filterable options on columns.

Yep. We should probably do that. I know that you can sometimes rely on key order in an object, but not across machines/interpreters/apis etc. So yes, let's turn it into an array.

This is rolling out shortly. 👍

Check out the latest in the changelog with RC.10


Change wiki page links to absolute URLs

The links to the GitHub wiki weren't working, despite looking fine (seems to be either a known issue or otherwise problematic). I changed them to absolute URLs, which is clunkier but they function.

Thanks Ryan! I had been trying to keep these as relative URLs, because we're going to be moving this project into samvera-labs soon (potentially even this week), but that experiment was a failure, obviously. This PR is great since it fixes the links immediately.
(Cancelling Travis build since this is just README changes.)


fix openapi-gen repo url

What this PR does / why we need it:
It's fixing docker build for this release.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
I didn't backport https://github.com/kubevirt/kubevirt/pull/1685 because this branch is using different  openapi-gen release.
Release note:

NONE

@rmohr @mhenriks please take a look

Tests are failing, checking them...

The latest change works but it's changing import style in golang files... I have to get knowledge why it happens.


RuntimeError: Attempted to exit cancel scope in a different task than it was entered in with AsyncExitStack

Describe the bug
I am pushing the stdio_client and ClientSession onto an AsyncExitStack to avoid needing to wrap everyting in with statements.  My client will have multiple simultaneous instances of different ClientSessions, so I wanted a manager class to handle cleaning up the session when it is GC'd. My plan was to run a task in the manager classes __del__ method to clean up, e.g. asyncio.create_task(self.exit_stack.aclose()).
However this raises RuntimeError: Attempted to exit cancel scope in a different task than it was entered in
To Reproduce
uv run this script:
# /// script
# requires-python = ">=3.10"
# dependencies = [
#     "mcp",
# ]
# ///

import asyncio
from contextlib import AsyncExitStack
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main() -> None:
    exit_stack = AsyncExitStack()
    server_params = StdioServerParameters(
        command="npx",
        args=["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
    )
    read, write = await exit_stack.enter_async_context(stdio_client(server_params))
    session = await exit_stack.enter_async_context(ClientSession(read, write))
    await session.initialize()

    asyncio.create_task(exit_stack.aclose())

if __name__ == "__main__":
    asyncio.run(main())

Expected behavior
Clean shutdown.
Logs
(node:63152) ExperimentalWarning: CommonJS module /opt/homebrew/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /opt/homebrew/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Secure MCP Filesystem Server running on stdio
Allowed directories: [ '/tmp' ]
unhandled exception during asyncio.run() shutdown
task: <Task finished name='Task-6' coro=<AsyncExitStack.aclose() done, defined at /Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py:654> exception=RuntimeError('Attempted to exit cancel scope in a different task than it was entered in')>
Traceback (most recent call last):
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/mcp/client/stdio.py", line 128, in stdio_client
    yield read_stream, write_stream
  File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 697, in __aexit__
    cb_suppress = await cb(*exc_details)
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/mcp/shared/session.py", line 122, in __aexit__
    return await self._task_group.__aexit__(exc_type, exc_val, exc_tb)
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 769, in __aexit__
    if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__):
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 433, in __exit__
    raise RuntimeError(
RuntimeError: Attempted to exit cancel scope in a different task than it was entered in

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 763, in __aexit__
  |     raise BaseExceptionGroup(
  | exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 767, in __aexit__
    |     raise exc_val
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 741, in __aexit__
    |     await _wait(self._tasks)
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 706, in _wait
    |     await waiter
    | asyncio.exceptions.CancelledError
    |
    | During handling of the above exception, another exception occurred:
    |
    | Traceback (most recent call last):
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/mcp/client/stdio.py", line 128, in stdio_client
    |     yield read_stream, write_stream
    |   File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 697, in __aexit__
    |     cb_suppress = await cb(*exc_details)
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/mcp/shared/session.py", line 122, in __aexit__
    |     return await self._task_group.__aexit__(exc_type, exc_val, exc_tb)
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 769, in __aexit__
    |     if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__):
    |   File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 433, in __exit__
    |     raise RuntimeError(
    | RuntimeError: Attempted to exit cancel scope in a different task than it was entered in
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 656, in aclose
    await self.__aexit__(None, None, None)
  File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 714, in __aexit__
    raise exc_details[1]
  File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 697, in __aexit__
    cb_suppress = await cb(*exc_details)
  File "/Users/aw/.local/share/uv/python/cpython-3.10.15-macos-aarch64-none/lib/python3.10/contextlib.py", line 217, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/mcp/client/stdio.py", line 122, in stdio_client
    async with (
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 769, in __aexit__
    if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__):
  File "/Users/aw/Library/Caches/uv/archive-v0/bkm4-HGL-Ma8SIqOuzaOM/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 433, in __exit__
    raise RuntimeError(
RuntimeError: Attempted to exit cancel scope in a different task than it was entered in

Looks like an anyio issue and this is probably not the correct approach, closing.


Fix: Move the cleaning cache messages to the Trace level

Those messages are now at the trace level

Codecov Report

Merging #366 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #366      +/-   ##
==========================================
- Coverage   58.41%   58.39%   -0.02%
==========================================
  Files          51       51
  Lines        5853     5855       +2
==========================================
  Hits         3419     3419
- Misses       2157     2159       +2
  Partials      277      277

Impacted Files
Coverage Δ

enforcer/datapath_tcp.go
54.65% <0%> (-0.2%)
:arrow_down:

Continue to review full report at Codecov.

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

Cleanup: Closing as this is not current anymore.


Missing Shop Domain exception

Steps to Reproduce
Please provide detailed steps for reproducing the issue.
After virtual hosting running it for the first time
it shows missingdomaineceptionerror
Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: v16.0

Laravel Version: v8.12

PHP Version: v7.3

using composer

Failure Logs
Please include any relevant log snippets or files here.

Try AuthToken middleware with a JWT instead.

You have http.
Shopify requires https.
You can add the following script to the layout, for example
<script>
    if (window.location.protocol != "https:") {
        window.location.protocol = "https";
    }
</script>

Hi,
I added this script in the welcome blade but no success.
Thank You
On Mon, Mar 29, 2021 at 11:42 PM Vitaly @.***> wrote:

You have http.
Shopify requires https.
You can add the following script to the layout, for example

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/osiset/laravel-shopify/issues/753#issuecomment-809661130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARTGJJS6RJYPOXURGL3DAXDTGDJ2VANCNFSM4Z7PIDGQ
.

Try to enter your URL with parameter ?shop=[your-app-name].myshopify.com
I think that's what the middleware is looking for

Try
if($this->app) {
\URL::forceScheme('https');
}
in you AppServiceProvider boot method

It has nothing to do with the https. The documentation is outdated and actually there is no login page. As @brucelee90 said, you need a ?shop=[your-shop-name].myshopify.com parameter in url.

Cleanup... Closing for now, cookies are removed in v17.0.0
Re-open if still and issue.
Thanks!


Timed traffic lights do not correctly recognize set vehicle restrictions

http://imgur.com/a/GMZi6
@alborzka

A workaround for this is to turn the direction of the road-segments. Turning the road  to an one-way-street temporary, change the direction to make this street outgoing from the crossing and change the type of the street back to your originally street.
This Bug only appears on the oncoming part of an street.

Yes, changing direction forces TM:PE to remove the underlying custom traffic light from the junction.
Fixed in v1.10.2.


GTK+ front-end efforts

I found some motivation the last few days so I started a GTK+ front-end for Xi. It does not handle input yet but it can open and display files. If you want to test it you need to have the xi-core executable in the same directory where you execute xi-gtk.
I will probably add some input handling so you can do some basic editing but I guess I won't have the time to maintain a full GTK+ front-end for years. However, I wanted to post this here so an official GTK+ front-end might be based on (or at least inspired by) my code. What do you think?
(@JesseFarebro I saw you opened a xi-gtk repo but there is no actual code in there)
Update: I have now added support for basic editing. So you can now type and select text with the mouse.

Very cool! I played with it and there are definitely rough edges, but it looks promising.
Would you like a link from the README?

As I'm not sure how far I will take it (it also depends on how the core evolves) I leave it up to you whether you add a link in the README.
What rough edges have you found? There might be something that I'm not aware of.

If you open a file, then click and drag down, it highlights the first line and the line under the mouse, unhighlighting the ones in between. I've also triggered what seems to be an off-by-one error where sometimes draws the wrong line, or perhaps draws the right line but at a y offset one line too high. This is on Ubuntu 14.04.
On my Mac, there area more problems. The EditView window draws only the upper left quadrant (almost certainly a high dpi issue). Keyboard input doesn't work. I'm not too concerned about Mac support, but if it worked it would make it easier for me to keep the front-ends in sync.

@eyelash my implementation I hadn't committed was using Rust and the GTK bindings for Rust. Vala would be a good choice as well.
@raphlinus I hope eventually we can have a XI organization where we can have an official GTK front-end with along with the core and Swift front-end.
Vala will have better native support for GLib, Cairo and other GNOME technologies. I wish GTK was using Skia but that's a topic for another day. I was thinking of rewriting my implementation in Vala anyways so I'll just contribute to your repo for the time being.

I thought about using Rust as well but the bindings are very young (and not yet stable) and I don't have much experience in Rust so it was easier to get something started in Vala.

What about having one central EditView implementation using Skia and then the different native UIs built around that? This would probably also facilitate drawing custom stuff on the EditView from plugins.
By the way I fixed the high dpi and multiple line selection issues. There is still one issue where I scroll through a large (1700 lines) file and suddenly I don't get any responses from the core anymore. Not sure whether is is a core or a front-end issue.

@eyelash that could be a good idea, Skia is pretty battle tested now being the default renderer in Chrome and Firefox. @raphlinus does Skia meet your performant font rendering requirements?

@JesseFarebro My gut feeling is that, on most platforms anyway, the native text rendering will outperform a Skia-based approach. My other concern is that a Skia-based text renderer is a huge undertaking if it handles all of Unicode well (complex scripts, bidi, color emoji, etc). Something that just draws ASCII is not too hard, but that's not really my goal.
That said, if someone wants to write a cross-platform text drawing canvas and use it as the basis of a front-end, I certainly won't stop them. If it's better, excellent. I just have very little interest in taking that on myself.

handles all of Unicode well (complex scripts, bidi, color emoji, etc).

Is Xi meant to go beyond being a developers' editor -- may be even support proportional fonts one day?
If it is limited to a dev-editor, then there would rarely be a need to render such characters, and may be even get away with the Vim way of displaying stuff like <88> etc. I feel like such rich text handling belongs somewhere else.

If it's ever used for web development, it may very well need to handle stuff like that.

If it's ever used for web development, it may very well need to handle stuff like that.

Sure! Handling such text might be very typical in certain circumstances. I was just wondering how a word such as ചൊറിഞ്ഞോ (see image below) could be rendered in a monospace-grid.

Note that it contains only 3 letters -- the first 2 are combinations of 2 code points each and the 3rd extra-wide letter of 4 code points. I just find it unrealistic to provide support for complex South/South-East Asian scripts without proportional fonts. And If proportional font rendering is targeted, then the whole document would have to be rendered to correctly determine the scroll position (only when text-wrap is enabled, I guess). That may in turn restrict the design to take a route where very long lines can't be efficiently handled. These are just my (read naive) speculations. I would be happy to be proven wrong.

We might be able to learn a little bit from how TeX handles line wrapping.   Internally TeX just keeps track of every glyphs dimensions, then references formulas for kerning and linebreaking.  Unfortunately, I think this is somewhat of a global analysis.  At least we could be restrained to applying such formulas on a paragraph level--at least during live updates since previous paragraph rendering would be independent-- and not need to worry about page breaking as well (which truly is a global calculation as far as I know).
But you could also imagine that there would be a fast lane for those cases where the font is monospaced.  Don't know if that's a good idea, I was just thinking out loud.

@cbreeden There is a problem with that approach though. By default, only the back-end has complete knowledge of the document, and the front-end is supposed to only see as much as needed for rendering. But determining how many lines/characters to send to the front-end will require information about the actual glyphing of code-points. This probably means that all text need to be looped through the front-end at least once (and again whenever font settings are changed).

Closing as there are multiple active gtk frontend projects mentioned in the readme.


解决gb推流和rtmp推流冲突bug

现象描述：

开启GB28181功能，ipc注册之后，会生成stream name 为34020000001320000001@34020000001320000001的source。
然后用ffmpeg推送rtmp，url为rtmp://ip:port/live/34020000001320000001@34020000001320000001，二者发生冲突

详见 https://github.com/ossrs/srs/issues/2364
解决办法：
在SrsRtmpConn::acquire_publish增加判断逻辑即可。

Codecov Report

Merging #2366 (0731b7f) into develop (34aa11b) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           develop    #2366      +/-   ##
===========================================
- Coverage    38.29%   38.29%   -0.01%
===========================================
  Files          109      109
  Lines        40157    40160       +3
===========================================
+ Hits         15377    15378       +1
- Misses       24780    24782       +2

Impacted Files
Coverage Δ

trunk/src/app/srs_app_rtmp_conn.cpp
0.00% <0.00%> (ø)

trunk/src/protocol/srs_service_utility.cpp
72.97% <0.00%> (+0.54%)
:arrow_up:

Continue to review full report at Codecov.

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

Merged to 4.0 f949407afba25d6ffffb8c6ae112f448023a0462


Non-link URLs are not clickable

This could possibly be solved on the conversion end, or possibly within viewer.js, but URLs embedded in documents that were not actual links in the original document are not clickable in viewer.js. Many PDF viewers will try to be smarter about this and turn them into links if they look like URLs, and I think we could probably do something similar in the conversion process.

@lakenen are there any updates on this? And/OR any work arounds?

I'm not sure if this is what you are looking for, but here's what I did:
We needed links in the Box document to trigger javascript events.

Prior to converting, we insert hyperlinks in the PDF files using Adobe Acrobat Pro. When inserting the links into the PDF we put "javascript:null(0)", "javascript:null(1)", etc a to specify different javascript calls that will be made.

After the PDF is converted, the resulting info.json file contains links lie this:
"links": [ {"pagenum": 1, "uri": "javascript:null(0)", "bbox": [214.62,<PHONE_NUMBER>9999999,<PHONE_NUMBER>9999997,<PHONE_NUMBER>9999998]}, {"pagenum": 2, "uri": "javascript:null(2)", "bbox": [178.16999999999999,<PHONE_NUMBER>9999999,<PHONE_NUMBER>9999999,<PHONE_NUMBER>9999999]}, {"pagenum": 2, "uri": "javascript:null(0)", "bbox": [178.16999999999999,<PHONE_NUMBER>9999995,<PHONE_NUMBER>9999999,<PHONE_NUMBER>9999995]}, {"pagenum": 3, "uri": "javascript:null(0)", "bbox": [214.68000000000001,<PHONE_NUMBER>0000001,<PHONE_NUMBER>9999997,<PHONE_NUMBER>0000001]}, {"pagenum": 4, "uri": "javascript:null(1)", "bbox": [178.28999999999999, 58.829999999999998,<PHONE_NUMBER>9999999, 72.079999999999998]}, ]

We wrote a BOX VIEWER plugin that parses the info.json file and overlays clickable DOM elements that call our javascript functions.

You can see the result at: www.xyztextbooks.com/prealgebra
You'll find clickable icons next to each Example in the eBook.


Feature request: --show-zmws

Hello!
I really like zmwfilter and I intended to switch to it entirely over bamseive but it doesn't have a command that extracts all the zmws into plain text like --show-zmws in bamseive. This is too bad because zmwfilter is much faster and is much easier to install, but without --show-zmws I am stuck using bamseive.
Any chance this could be added as a feature?
(Tagging @ctsa)
Thanks in advance!
Mitchell

Could you remind me what --show-zmws is doing? What's your use case?

Thanks @armintoepfer for the response!
bamseive --show-zmws just makes a plain text file with one zmw hole number per line, e.g.:
$ bamsieve --show-zmws /mmfs1/home/mvollger/stergachislab/data/PS00072_WGA_K562_m6A_Mtase_treated/PACBIO_DATA/XASHU_20201216_S64018_PL100163568-1_C01_bc1019-bc1019.bam | head
3
4
21
28
56
58
171
184
198
231

I have made a tool for m6a predictions using hifi bams and I need to be able to extract zmws so I can split the bam and distribute over multiple separate jobs on our cluster. The steps are roughly: I make a text file all the with zmws/holes using bamseive and --show-zmws and then I chunk that into ~100 pieces and use zmwfilter with —include on each chunk to make ~100 smaller bams which can the be processed independently and merged.
Basically it is a way to recreate the  --chunks 1/n option that exists in many PacBio tools. But my program is not in cpp so I cannot use the pbbam api, so I need to chunk the bam on the command line first. I think this feature would have use cases outside of my own, since this idiom of dividing a bam file seems like it could be a common task.
Thanks again,
Mitchell

Can you use the pbindexdump workaround for now that I've created for the same tweet thread?
https://gist.github.com/armintoepfer/07ed52dfe3520eab2086ac117552e039

Yeah that works great for me as a workaround and Zev just suggested pbindex dump to me as well, so I have been using that in the interim. However, I hope there is still interest in implementing this feature since I think it will come up fairly often?

Yep, but not until tomorrow, this the faster workaround for now

We have an update to pbindexdump and zmwfilter. This will be made available early next year via https://github.com/PacificBiosciences/pbtk. This repo will be archived soon, fyi.

Great! Looking forward to trying it out soon!

Any updates on a new release for pbtk?

We have a new meta repo that combines all one-off tools https://github.com/PacificBiosciences/pbtk. This repo and conda recipe will become a simple dependency of pbtk. The latest zmwfilter binary should be in there by now. I'm in the process of removing the binary from this repo. Feel free to remove zmwfilter package and install pbtk instead. Or just get the binary from the github pbtk tarball ;)

I'm also closing the issues tab, everything shall go into https://github.com/PacificBiosciences/pbbioconda


login with username or email

https://www.parse.com/questions/allow-users-to-log-in-with-username-or-email

Parse only allows you to login by username.


New unit-tests for ISA

Revert "Merge branch 'master' into master"

That should be reverted back.

I couldn't check new tests when I separated unit_test.cpp due to build issues into 2 files so I put all new tests for 64 bit instructions at the end of unit_test.cpp below the divider.

There's an issue with instructions dmult and dmultu while compiling with msvc x86, msvc x64, g++ x86:

TEST_CASE( "MIPS64_instr: dmult 0x100000000 by 0x100000000")

TEST_CASE( "MIPS64_instr: dmult 0x8000'0000'0000'0000 by 0x8000'0000'0000'0000")

TEST_CASE( "MIPS64_instr: dmultu -1 by -1")

TEST_CASE( "MIPS64_instr: dmultu 0x100000000 by 0x100000000")

TEST_CASE( "MIPS64_instr: dmultu 0x8000'0000'0000'0000 by 0x8000'0000'0000'0000")

TEST_CASE( "MIPS64_instr: dmultu 0xcecb'8f27'0000'0000 by 0xfd87'b5f2'0000'0000")

LO register has to contain 0 but in fact it contains 0xffff'ffff'ffff'ffff. Bug?

Yes, I'm investigating that.
These compilers do not have native 128 bit integers, thus we use Boost::Multiprecision.

I'm not sure how this works.
https://github.com/MIPT-ILab/mipt-mips/blob/f98edaa9d898e21c06957b66327f88652224bd4b/simulator/func_sim/alu.h#L25-L27
So, in case of dmult 0x100000000 by 0x100000000 we have 2 64 bit registers (x and y here). Then we have new variable value that is 128 bit long  and that contains multiplication result (0x1'0000'0000'0000'0000').
Why do narrow_cast<UT>( value & all_ones<UT>()) returns 1 instead of 0? Isn't operation 0x1'0000'0000'0000'0000 & 0xffff'ffff'ffff'ffff result 0?
And same here: narrow_cast<UT>(( value >> bitwidth<T>)) & all_ones<UT>(). If I use value >> 64 (if I'm not mistaken bitwidth<T> should be 64 here) return value should be 1.
Maybe I don't get how do narrow_cast and macros work.

I don't know either, looks like a bug in Boost: https://godbolt.org/z/X4yZoc

Ok, thanks

That was an accident.

Yes, that was a bug in Boost, fixed in 1.68.0
Multiprecision:
Changed conversion to unsigned integer types to be truncating to match standard defined behaviour.
https://www.boost.org/users/history/version_1_68_0.html


Makefile not installing 'controller-gen'

I ran into a problem building on a new system (with go 1.18.4), the Makefile attempted to install 'controller-gen' but didn't install the binary.
The Makefile checks  for controller-gen and will attempt to install if not present.
I am unsure the root cause, but suspect the behavior of 'go get' maybe changed after go 1.16 and we should switch to 'go install'?
https://tip.golang.org/doc/go1.16#modules

go install, with or without a version suffix (as described above), is now the recommended way to build and install packages in module mode. go get should be used with the -d flag to adjust the current module's dependencies without building packages, and use of go get to build and install packages is deprecated. In a future release, the -d flag will always be enabled.

Here is an example of what I saw on a new centos8 ec2 instance
make
which: no controller-gen in (/home/centos/.local/bin:/home/centos/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/centos/bin:/home/centos/.krew/bin)
go: creating new go.mod: module tmp
go: added [github.com/fatih/color](http://github.com/fatih/color) v1.9.0
go: added [github.com/go-logr/logr](http://github.com/go-logr/logr) v0.2.0
go: added [github.com/gobuffalo/flect](http://github.com/gobuffalo/flect) v0.2.2
go: added [github.com/gogo/protobuf](http://github.com/gogo/protobuf) v1.3.1
go: added [github.com/google/gofuzz](http://github.com/google/gofuzz) v1.1.0
go: added [github.com/inconshreveable/mousetrap](http://github.com/inconshreveable/mousetrap) v1.0.0
go: added [github.com/json-iterator/go](http://github.com/json-iterator/go) v1.1.10
go: added [github.com/mattn/go-colorable](http://github.com/mattn/go-colorable) v0.1.8
go: added [github.com/mattn/go-isatty](http://github.com/mattn/go-isatty) v0.0.12
go: added [github.com/modern-go/concurrent](http://github.com/modern-go/concurrent) v0.0.0-20180306012644-bacd9c7ef1dd
go: added [github.com/modern-go/reflect2](http://github.com/modern-go/reflect2) v1.0.1
go: added [github.com/spf13/cobra](http://github.com/spf13/cobra) v1.1.1
go: added [github.com/spf13/pflag](http://github.com/spf13/pflag) v1.0.5
go: added [golang.org/x/mod](http://golang.org/x/mod) v0.3.0
go: added [golang.org/x/net](http://golang.org/x/net) v0.0.0-20201110031124-69a78807bb2b
go: added [golang.org/x/sys](http://golang.org/x/sys) v0.0.0-20201112073958-5cba982894dd
go: added [golang.org/x/text](http://golang.org/x/text) v0.3.4
go: added [golang.org/x/tools](http://golang.org/x/tools) v0.0.0-20200616133436-c1934b75d054
go: added [golang.org/x/xerrors](http://golang.org/x/xerrors) v0.0.0-20200804184101-5ec99f83aff1
go: added [gopkg.in/inf.v0](http://gopkg.in/inf.v0) v0.9.1
go: added [gopkg.in/yaml.v2](http://gopkg.in/yaml.v2) v2.3.0
go: added [gopkg.in/yaml.v3](http://gopkg.in/yaml.v3) v3.0.0-20200615113413-eeeca48fe776
go: added [k8s.io/api](http://k8s.io/api) v0.20.2
go: added [k8s.io/apiextensions-apiserver](http://k8s.io/apiextensions-apiserver) v0.20.2
go: added [k8s.io/apimachinery](http://k8s.io/apimachinery) v0.20.2
go: added [k8s.io/klog/v2](http://k8s.io/klog/v2) v2.4.0
go: added [k8s.io/utils](http://k8s.io/utils) v0.0.0-20201110183641-67b214c5f920
go: added [sigs.k8s.io/controller-tools](http://sigs.k8s.io/controller-tools) v0.5.0
go: added [sigs.k8s.io/structured-merge-diff/v4](http://sigs.k8s.io/structured-merge-diff/v4) v4.0.2
go: added [sigs.k8s.io/yaml](http://sigs.k8s.io/yaml) v1.2.0
/home/centos/go/bin/controller-gen object:headerFile="./generated/boilerplate" paths="./..."
/bin/sh: /home/centos/go/bin/controller-gen: No such file or directory
make: *** [Makefile:54: generate] Error 127

https://go.dev/doc/go-get-install-deprecation

Starting in Go 1.17, installing executables with go get is deprecated. go install may be used instead.
In Go 1.18, go get will no longer build packages; it will only be used to add, update, or remove dependencies in go.mod. Specifically, go get will always act as if the -d flag were enabled.

Fixed in https://github.com/konveyor/tackle2-hub/pull/176


Bonfire: Spinal Tap Case doesn't display challenge completed modal even after passing all the tests

Challenge http://www.freecodecamp.com/challenges/bonfire-spinal-tap-case has an issue. Please describe how to reproduce it, and include links to screen shots if possible.

  // --David St. Hubbins
  var reg1 =/\B[A-Z][a-z]*|[a-z]+/g;
  var reg2 =/\b[A-Z][a-z]*|[a-z]+/g;
  var reg3 = /\s/g;

  if(reg3.test(str)){
      //string has spaces
      arr = str.match(reg2);
  }
  else{
      arr.str.match(reg1);
  }
  arr.forEach(toLow);

  return arr.join("-");
}

spinalCase('This Is Spinal Tap');

function toLow(element, index, array){

    array[index] = element.toLowerCase();
}

Screenshot

Google Chrome  43.0.2357.132 m on Windows 7 64 bit.

Same story to me.
Firefox 39.0 Windows 7 64 bit.

Having similiar issue...

i had this issue today my fix was that you need to "return num;" num is the given value that your were provided from the start. There is an issue when you return your own variable.

@rajvansia Thanks! I haven't checked your workaround but I would suggest that this needs to be fixed.

Indeed. It's still not passing for me. I am returning a string variable assigned the value of a joined array. It is passing the tests but not the challenge. I'll check back later.

Can anyone post the correct code?

@royshouvik Is this still an issue?

This is not an issue anymore. I was able to successfully complete the challenge. Closing this one.

function spinalCase(str) {
// "It's such a fine line between stupid, and clever."
// --David St. Hubbins
return str.replace(/\B([A-Z]+\w)/g,' $1').toLowerCase().replace(/\s/g, "-").replace(/_/g, "");
}

I added one part to albertrubis17's answer to account for something like the following:
function spinalCase(str) {
return str.replace(/\B([A-Z]+\w)/g,' $1').replace(/([IA])([A-Z])/g, '$1 $2').toLowerCase().replace(/\s/g, "-").replace(/_/g, "");
}
spinalCase("ThisIsASpinalTapAndIThinkYouKnowIt")


libva segmentation faults on wayland

Describe the bug
Segfault with recent libva. Affects mpv (with gpu target) but can be reproduced with vainfo
Steps To Reproduce
Steps to reproduce the behavior:
nix-shell -p libva-utils --run vainfo
Trying display: wayland
libva info: VA-API version 1.20.0
/tmp/nix-shell-51278-0/rc: line 3: 53303 Segmentation fault      (core dumped) vainfo

Screenshots
Mar 28 15:46:29 fw systemd-coredump[53305]: [🡕] Process 53303 (vainfo) of user 1001 dumped core.

                                            Module libXdmcp.so.6 without build-id.
                                            Module libXau.so.6 without build-id.
                                            Module libffi.so.8 without build-id.
                                            Module libxcb-dri3.so.0 without build-id.
                                            Module libX11-xcb.so.1 without build-id.
                                            Module libXfixes.so.3 without build-id.
                                            Module libXext.so.6 without build-id.
                                            Module libxcb.so.1 without build-id.
                                            Module libva-wayland.so.2 without build-id.
                                            Module libdrm.so.2 without build-id.
                                            Module libva-drm.so.2 without build-id.
                                            Module libva-x11.so.2 without build-id.
                                            Module libX11.so.6 without build-id.
                                            Module libva.so.2 without build-id.
                                            Module vainfo without build-id.
                                            Stack trace of thread 53303:
                                            #0  0x00007f8b47f24c7c VA_DRM_GetDriverNames (libva-wayland.so.2 + 0x2c7c)
                                            #1  0x00007f8b480a9fda vaInitialize (libva.so.2 + 0x3fda)
                                            #2  0x0000000000402488 main (vainfo + 0x2488)
                                            #3  0x00007f8b47d610ce __libc_start_call_main (libc.so.6 + 0x280ce)
                                            #4  0x00007f8b47d61189 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x28189)
                                            #5  0x00000000004028f5 _start (vainfo + 0x28f5)
                                            ELF object binary architecture: AMD x86-64
Mar 28 15:46:29 fw systemd[1]<EMAIL_ADDRESS>Deactivated successfully.

Additional context
Mar 28 15:46:29 fw kernel: vainfo[53303]: segfault at 0 ip 00007f8b47f24c7c sp 00007fffc76b66a0 error 4 in libva-wayland.so.2.2000.0[7f8b47f24000+1000] likely on CPU 8 (core 16, socket 0)
Mar 28 15:46:29 fw kernel: Code: 41 56 41 55 49 89 f5 41 54 49 89 d4 55 53 48 81 ec 98 01 00 00 64 48 8b 04 25 28 00 00 00 48 89 84 24 88 01 00 00 48 8b 47 68 <8b> 38 e8 ed f4 ff ff 48 85 c0 0f 84 04 01 00 00 48 8b 78 10 48 89

13th Gen Intel(R) Core(TM) i5-1340P

(Framework 13" Intel)
Notify maintainers
@SuperSandro2000

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.1, NixOS, 24.05 (Uakari), 24.05.20240327.2726f12`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/y45vqv6pa8bhgag1dw86rvi6rk55xhxn-source

Add a :+1: reaction to issues you find important.

Can't reproduce that. What do you have configured in hardware.opengl.extraPackages?

    opengl = {
      enable = true;
      extraPackages = with pkgs; [ libvdpau-va-gl vaapiVdpau intel-media-driver ];
    };

The issue appears related to the presence of a  DisplayLink (not Port) device.
~ master*
❯ ls /dev/dri
by-path  card0  card1  renderD128

~ master*
❯ echo $WLR_DRM_DEVICES
/dev/dri/card0:/dev/dri/card1

When the device is not present, or not present at sway startup then vainfo works correctly. This did work correctly until a recent update (perhaps 3/4 weeks since I updated.)
I will try and rollback a few packages to see if I can find the trigger, but would appreciate any suggestions.

Digging into this some more I traced the error back and found that there was a nullcheck removed from libva-utils, since re-added.
When I add it back I trigger it
[nix-shell:/data/nixpkgs/pkgs/development/libraries/libva/source/build]$ LD_LIBRARY_PATH=$PWD/va vainfo
Trying display: wayland
libva info: VA-API version 1.20.0
libva error: vaGetDriverNames() failed with invalid VADisplay
vaInitialize failed with error code 3 (invalid VADisplay),exit

Just closing out for any one in the future, I think the root cause was the (allowed) renumbering of the /dev/dri devices.
I had been using the patch that allows renderless evdi devices to use the main renderer of the host system, as you can see it contains a hardcoded card0 reference. In addition, one needs to set
WLR_DRM_DEVICES = "/dev/dri/card0:/dev/dri/card1 to 'encourage' sway to use both 'cards'.
I resolved the issue by updating the patch to use renderD128 by default, and by no longer setting WLR_DRM_DEVICES.
overlays = [
  (final: prev: {
    wlroots_0_17 = prev.wlroots_0_17.overrideAttrs (old: {
      patches = (old.patches or [ ]) ++ [
        (prev.fetchpatch {
          url = "https://gist.githubusercontent.com/hughobrien/7879f1faeab354dbc07a8af2f053e715/raw/9155431b6c30d1ab92898238e050c75764ecbe0e/DisplayLink.patch";
          hash = "sha256-VUAoYgEs4A2T3bVOf5dRHZq+a9FRimU12ndBMEESw/M=";
        })
      ];
    });
  })
];

Apologies for the noise Sandro.

vaapiVdpau

Whats the reason why you are still using that? It is pretty old and unmaintained.

Glad you find a solution. I don't have any multi GPU systems and things usually work smoother on just intel GPUs.

Probably just carbon copying from the wiki


Conflicting files due to installation of examples

There is a file conflict between flasgger and micawber, because both install files into the too generic path name examples.
For reference, please see this Arch Linux bug and this bug with micawber.
As a solution, micawber and flasgger should either not install these examples at all, or if required into a unique directory (e.g. micawber-examples) or another system directory (e.g. on Linux: /usr/share/doc/python-micawber/examples, which is usually done by the packagers).
I will remove them for now to resolve the file conflict.

I think it is a bug examples should not be installed.
Thanks for reporting.

the solution is a change in setup.py adding
packages=find_packages(
        exclude=['tests', 'tests.*', 'examples', 'examples.*', 'demo_app', 'demo_app.*']
    ),