Links issue

Adding links works very nicely when used as in the example.
However if I make this one tiny change it stops working:
original:
<template v-else>
          <button
              @click="showLinkMenu(getMarkAttrs('link'))"
              :class="{ 'is-active': isActive.link() }">
            Link
          </button>
</template>

to:
<template v-else>

            Link

</template>

The result is that when clicking on the "div" the menu bubble dissapears completely and then if you select a bunch of text again the linkUrl input appears directly.
I can not see any reason for this at the moment. (maybe I should actually check the code but... some other day)
What I am actually trying to accomplish is to change the buttons with some svg which worked well so far but I can not make it work with the Link functionality because of this behaviour.

I presume it has something to do with how somehow the default onclick of the button is different from the div v-on:click that vue adds but I am too new at tis stuff to figure that out on my own yet.
I tried adding all kinds of event modifiers like .native .stop .prevent (without really understanding them all that well) but nothing seems to make it work as a div.
I worked around the problem by putting my svg icon inside the button and making the button like this:
.invisibutton {
  border: none;
  background: none;
  margin: 0px;
  padding: 0px;
}

It's a bit wonky but it works and I can still manipulate the svg inside.
I would still like to find out why the div tag (or  for that matter) does not work, if possible.
Thanks,
Dan

I believe your behavior might come from this: https://github.com/scrumpy/tiptap/blob/master/packages/tiptap/src/Plugins/MenuBubble.js#L30
if your selection changes, tooltip might hide if it became empty. I guess clicking on the button might cause a loose of focus for the editor which ultimately cause this.
Try to call event.preventDefault() or do a @click.prevent and hope for the best 😄 🤞

That is exactly what I think as well.
One of the first things I tried was @click.prevent but alas, it is not working :|
I wish I knew the difference between a button @click and a div @click events :)

@dan-danciu

I wish I knew the difference between a button @click and a div @click events :)

I would advise you to _not use div as buttons because this makes it pretty unusable from an accessibility point of view. Screen readers, for example, will have a hard time to identify a button that is actually a div.
Buttons have a lot more than a div and it is the correct markup because:

They can be focused
They are accessible with a keyboard (tab, and arrow keys)
They naturally respond to key presses (not only clicks)

A good one to help you decide is on CSS tricks and also on MDN


GVA: Response Text UI

Added Response Text view holder. Used the operator message view for the new view holder.
MOB-2364

!squash


Using the back button from 'Request an eduID' breaks the 'Mijn eduID' button on the landing page

Reproduction

Browse to https://eduid.nl/
Use the 'Request an eduID' button
Use the browser's back button
Use the 'Mijn eduID' button

Expected

Request to login to view user profile

Observed

Form to create an eduID

Possibly related to https://www.pivotaltracker.com/story/show/186664554

The registration screen offers the optin to log in to an existing eduID account:

so it's not entirely 'broken'. Fixing this will cause problems in other registration-flows.

Are we going to fix this? The correct way to implement this, is to have different url's for registration and login with an existing eduID. But it will undoubtably break other registration flows.


Remove dashcam GM cars from cars.md

We have some dashcam mode cars on the supported cars list.
This PR removes them until someone tests them again

Possibly the Malibu also?


Update CHANGELOG for v1.1.0 release

Short Description
Please provide a brief summary of your changes
Details
Note
WARNING: Only users listed in the CODEOWNERS file can approve PRs!
Checks

[x] Documentation has been adjusted
[ ] Architectural decisions have been documented
[x] Changelog has been updated
[x] PR is approved by a code owner
[x] Manifests are updated
[x] Commit message adheres to our guideline

I created a ADR: https://anynines.atlassian.net/wiki/spaces/A9SPF/pages/3365371929/MS-13+-+Enhancing+PostgreSQL+Operator+for+Extension+Management

New images were created by @mkfdoherty and references have been updated.
The a8s demo cluster has been updated with the new images by @mkfdoherty.
End-to-end tests were successful.


Update NOTICE.txt

Based on https://github.com/mattermost/mattermost-redux/blob/release-5.33/package.json.
George is off this week, so I thought someone else on Server team may be able to help review.

@agnivade I don't have permissions to merge, please help merge + cherry-pick 🙏

Oh I see. I didn't realize that. I was a bit confused as to why it's assigned to me.

Cherry pick is scheduled.


Exclude the .yarn folder from policheck

Validating suppression works properly on a build before completing

Validated that the exclusion is applied properly


Update docs and faq layout and styles, add .hound.yml to docs

@frechg, is "config" too repetitive in the Configuration nav?

@salbertson maybe. I just didn't want to leave it like "ruby" and nothing else. I wanted to try and be more clear about what the link will lead you to.

LGTM

Looks great! :+1:


Generate build provenance attestations

It looks like GitHub rolled out their own attestations in beta. I wonder if we could integrate with that. for more details below:

https://github.com/actions/attest-build-provenance
https://github.com/cpp-linter/cpp-linter-action/attestations
https://github.com/orgs/community/discussions/122028
https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds
https://github.blog/2024-04-30-where-does-your-software-really-come-from/

That last link was most helpful to me. I've never been too concerned about verifying "artifacts" that I download over the Internet.
Now that I have a better understanding of provenance attestation, my first thought was the static binaries we are distributing via clang-tools-pip use. This is where I'd start integrating proper attestation. Then we can use such attestation downstream in cpp-linter-action...
Pypi does not support any form of digital signing (that in aware of). Just last year, they dropped their support for PGP signatures.

This is complete anyway, right?


Dose it support DubboX?

Description

Environment

Pinpoint version:
OS, WAS, affected library, etc:
Additional details (e.g. how your collector/web is set up):

Additional Info

Hi @YCLX
I've never tried, but I don't think so.
@majinkai your input would be great! Thanks in advance

it just does not support dubbox's REST feature.

@majinkai @Xylus Thanks, Do you know how to add this plugin?

@majinkai Thank you for your answer :)
@YCLX I think you'll have to make a plugin for DubboX (which would be lovely).
Please check out the plugin development guide and take a look at other plugins for reference if you decide to create one.


⚠ MineVN Maven & Resource Pack has degraded performance

In 1b15734, MineVN Maven & Resource Pack (http://app.minevn.net/pack) experienced degraded performance:

HTTP code: 404
Response time: 14810 ms

Resolved: MineVN Maven & Resource Pack performance has improved in ceb47ab after 21 minutes.


Problems catching a Panic thrown within a TCO loop

The following program demonstrates the issue:
from Standard.Base import all
import Standard.Base.Errors.Illegal_State.Illegal_State

# Function with TCO
foo1 x =
    if x > 10 then Panic.throw (Illegal_State.Error "foo1") else
        @Tail_Call foo1 x+1

# Same loop but without TCO
foo2 x =
    if x > 10 then Panic.throw (Illegal_State.Error "foo2") else
        foo2 x+1

main =
    handle caught =
         IO.println "Caught "+caught.payload.to_text

    IO.println "without TCO:"
    Panic.catch Any handler=handle <| foo2 0
    IO.println "now, with TCO:"
    Panic.catch Any handler=handle <| foo1 0
    IO.println "done (will not be printed 🙁)"

Actual behaviour
without TCO:
Caught (Illegal_State.Error 'foo2' Nothing)
now, with TCO:
Execution finished with an error: Illegal State: foo1
        at <enso> Panic.throw(Internal)
        at <enso> catching.foo1<arg-1>(catching.enso:6:20-59)
        at <enso> catching.foo1(catching.enso:6-7)
        at <enso> catching.main(catching.enso:21:5-44)

We can see that the Panic thrown from foo1 is not caught in main and instead fails the whole function.
The only difference between foo1 and foo2 is that foo1 relies on @Tail_Call.
Expected behaviour
Both functions should behave the same and it should be possible to catch the panic in both cases.
without TCO:
Caught (Illegal_State.Error 'foo2' Nothing)
now, with TCO:
Caught (Illegal_State.Error 'foo1' Nothing)
done (will not be printed 🙁)

We've been observing panics falling through the test suite and crashing the suite from time to time. I suspect that this might also have been an instance of this issue.

Anyone who is looking into it should check if there is no duplicate for it already.

Anyone who is looking into it should check if there is no duplicate for it already. I believe this was a known issue.

@hubertp I was not able to find any potential duplicates.


Dev

Hi @nilesh356, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

You seem to have picked up a lot of unintended commits.


prefer-template autofix adds extra spaces inside placeholders.

Here's an example:
var foo = 3;
var baz = 'bar' + foo;

Invoking eslint --fix from the command line results in the proper correction: var baz = `bar${foo}`;. However, using VSCode's Quick Fix ("Fix this prefer-template problem") results in the following: var baz = `bar${··foo}`; (The dots indicate spaces). It would seem that the number of spaces (in this case 2) around the concatenation operator are prepended inside the placeholder.
For example, if I write, var baz = 'bar'··+··foo;, then I'll get, var baz = `bar${····foo}`;.
Conversely, if I were to write var baz = foo·+·'bar';, I would get var baz = `${foo··}bar`;: the same behavior as above.
While this isn't critical (I can always just use eslint --fix from the command line) it's quite annoying.

@mattfbacon  can you please provide me with a GitHub repository I can clone that demos what you are experiencing.

Here you go: https://github.com/mattfbacon/prefer-template-issue-demo

@mattfbacon you should probably also provide relevant eslint configuration in your repo.

Hmm, now that I've added prefer-template to the .eslintrc, it seems to be an issue with eslint --fix as well. I've opened https://github.com/eslint/eslint/issues/13453 and I'll close this.

@mattfbacon thanks for reporting this back.

Hmm, interesting. The folks at ESLint suggested to add "parserOptions": { "ecmaVersion": 2015 } to my .eslintrc, which made eslint --fix work. However, the code action in VS Code still exhibits the same issue.

@mattfbacon can you please update your sample to contain a package.json file with the eslint version and plugins to install. Thanks

Yes, of course. I was using my global version 7.4.0. It has been added.

Actually this is correct. eslint --fix fixes all autofixable problems. If you run the same in VS Code (for example using the command or source actions on save) then everything is fix correctly as well.
Internally ESLint generates two fixes, first for the template error and then for the spacing problem.
I am closing this issue since this is the intended ESLint npm module behavior.

Ah, I see. I guess it's just my opinion that the prefer-template fix uses my preference for the curly spacing, but this plugin fixes each issue one by one. Just a different way of thinking about it, and I can appreciate the extra control that that give you.
Thanks for your help.


[VS Code] Starting collaboration session: Could not connect to the server. Check that you are connected to the internet.

<!--
For Visual Studio problems/feedback, please use the Report

Please reopen with attaching liveshare logs. You can get them by running "Liveshare: export logs" command in command palette.


App crashes when opening Datepicker in production mode when running on Android Device on Expo

Just as stated in #82 , everything works fine on dev mode in expo but if I execute prod mode:
> expo start -c --no-dev

The app crashes as soon as I try to open the Date picker.
 But it renders the picker with the default colors not respecting the custom ones used in the rest of the app via RNPaper theme (it does use my custom them on dev mode)
In web it works fine and it does respect my custom theme colors.

The problem is indeed solved using the polyfill. I had a typo. The file was named App. android.tsx and it should be App.android.tsx. Fixing this made the picker work but with the same weird behavior of iOS by not respecting the RNPaper customization.
The other thing to relevant to notice is that I'm not using Hermes but even the polyfill is needed regardless.
If I add the conditional to include the polyfill only if isHermesEnabled the app crashes.
I don't know from which version of android the polyfill is not needed but version 10 needs it.
@RichardLindhout should I close this issue and create a new one for the theming problem with android and iOS?

Yes please do + I changed the readme to me more clear the android and hermes checks are not needed


As a server admin, node to node connections can be authenticated with HTTP Basic Auth

6/10

7/10

7/10

7

6/10

6.6 story points total


Extensions of QRNN code.

This extends the current implementation of QRNN to support both Pytorch and Keras
as backends. The QRNN class has been refactored to separate general QRNN functionality
from the underlying neural network model. Some functionality has been added e.g. computing
the posterior mean and sampling from a fitted Gaussian.
This work is part of an upcoming study on cloud correction at 183 GHz.

Thank you for the suggestions! Fixed!


destroying a layer and loading it... some help

Hello
I am having a problem about editing features. I dont know if it's about Openlayers or Geoext or both. Perhaps I am missing something.
What I am doing is:
a) Start an app with a WMS layer defined. All the stuff for the map etc.... It works ok
b) Use buttons in Extjs/Geoext to define actions ie: Move a point, delete a point etc...Works fine
c) When I click a button I want to replace the layer (lets call it wms_points) with other from a geoserver, so, I just:
c.1) mappanel.map.removelayer("layerName");
c.2) destroy the layer
c.3) redefine the layer wms_points= new OpenLayers.Layer.Vector .....
d) It appears in the tree as a new layer and the old one disappears, BUT WHEN I want to use the Move or delete buttons it seems that openlayers does not recognize the new points on the layers.
If I try to get a popup, I recieve an error:
"Uncaught Error: getFeatureFromEvent called on layer with no renderer.
Well.. in any case, I am wondering if I have to "reload" the GeoExt buttons, the map, the viewport...? Clean something around? Clean and "restart" the actions?
Any help is appreciated.
Best
Fernando

This question is better asked on the mailinglist, together with some reproducible code or a fiddle. Thanks


Tell Twisted to keep producing data after connection upgrade

Twisted 16.3 changed behaviour when all content is thought to be received. "Offending" code is at https://github.com/twisted/twisted/blob/twisted-16.3.0/twisted/web/http.py#L1841
Checked with Twisted 16.2 and it does not break it.
References #31

Thanks - I thought @hawkowl said it was fixed upstream somehow but this looks clean enough. Will test and release later if it works.

@andrewgodwin fixed upstream in Autobahn, but only in the AB Resource, which... I forgot you don't use ;)

Ah, yes :-)
Looks like they did the same thing: https://github.com/crossbario/autobahn-python/blob/5e7898a78dfaa29dce90495a600eb7c0258b03cb/autobahn/twisted/resource.py#L142
My only worry was if pausing and resuming the producer could miss anything while it was paused, but it seems fine.

@bpeschier there's no issues with that, the OS buffers it :)

Aha, that's why I couldn't just hit upgrade and have it work. This definitely seems like the approach then.

@hawkowl Good to know. It was a nice dive into Twisted on a lazy sunday afternoon.
@andrewgodwin It might be a good idea to borrow autobahn's attr-check?

@bpeschier Yes, I'll merge that in now as I test.

The attr check is me being overly cautious (hi, a AB developer here ;) ), as not all transports support the producer interface. In reality, if they don't, something should explode, but I kind of want to never touch that code again :)

I like nothing more than being overly cautious in networking code :)
Merged it in, seems to work well. Release coming up here in a little bit.


Ingress can not be created on latest K8s versions

Error: Unable to build Kubernetes objects from release manifest: Resource mapping not found for name: "irw-teamcity-release" namespace: "" from "".
No matches for kind "Ingress" in version "networking.k8s.io/v1beta1".
Ensure CRDs (Custom Resource Definitions) are installed first.

https://kubernetes.io/docs/reference/using-api/deprecation-guide/#ingress-v122
https://github.com/codaglobal/teamcity_helm/blob/main/templates/ingress.yaml#L5C13-L5C38

BTW, I've created a PR with fixes for a fork https://github.com/srust/teamcity_helm/pull/1


feat(coral): Fix hierarchy of MainNavigation items, render user's current team

About this change - What it does

Removes Topics submenu, surface All topics at top level ("All topics requests" in designs doesn't seem like a page we will ever have)
Move My team's request item to top level (was under Topics submenu)

Note
I wanted to test the rendering of the user's team, but I'm facing an issue with Jest mocking of the API call that I'm puzzled with.
I am getting a type failure when using the mock in this way :

And in the terminal, multiple failed  Network request failed errors, accompanied with Error: Error: connect ECONNREFUSED ::1:8080 from JSDom.
Unsure what to do about it 🤔
Resolves: #790

@mathieu-anderson It seems that the underlying api needs to be mocked as well. See for example: https://github.com/aiven/klaw/blob/790-mainnav/coral/src/app/features/approvals/acls/AclApprovals.test.tsx/#L19-L21
Adding jest.mock("src/domain/auth-user/auth-user-api.ts"); on top of the file seems to stop making the request.

There seems to be follow up error to this:
Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ["user-getAuth-data"]

      at Object.onSuccess (node_modules/.pnpm/@tanstack+query-core@4.14.1/node_modules/@tanstack/query-core/src/query.ts:459:25)
      at resolve (node_modules/.pnpm/@tanstack+query-core@4.14.1/node_modules/@tanstack/query-core/src/retryer.ts:103:14)

  console.error
    Error: undefined
        at Object.onSuccess (/home/roope-kar/Workspaces/klaw/coral/node_modules/.pnpm/@tanstack+query-core@4.14.1/node_modules/@tanstack/query-core/src/query.ts:463:19)
        at resolve (/home/roope-kar/Workspaces/klaw/coral/node_modules/.pnpm/@tanstack+query-core@4.14.1/node_modules/@tanstack/query-core/src/retryer.ts:103:14)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)

... Which seems to be solved by adding explicitly giving a mock implementation.

Adding jest.mock("src/domain/auth-user/auth-user-api.ts"); on top of the file seems to stop making the request

@roope-kar ughhh thank you I knew it was something obvious I missed.Regarding the mocking of react query I think if we mock the API function correctly it should be resolved as well.
Let's see ^^

@roope-kar Thank you for your insight!

You'll need to do the mocking BEFORE rendering the component. (This probably caused the feeling that you were late by 1 rendering)
That definitely did the trick! It however requires to forgo the "rendering in beforEach pattern we favour in all our other tests 🤔 442e9ec

I could not get the getByRole on term and definition to work, which is odd but i noticed there was some related issue opened for this from 2020. getByText works though.
Yeah, there is no name for dd and dl, so you can only getAllByRole and filter on the value like we do here: https://github.com/aiven/klaw/blob/main/coral/src/app/features/approvals/topics/components/DetailsModalContent.test.tsx#L64-L74

You'll need to add the following global mocking to the file:
I found that actually this is not needed :o I think we either mock the API call (and the query in the component gets the data from this mocked API call), or we mock the query (and then the data is whatecver we want)


Game Over appears choppy

When the player loses the game, there is a short lag between the game renderer stopping and the game over screen appearing — maybe replace game over screen with simple overlay?

fixed in 55f8964b4837e037e099c0af9a7eb2df0603177e


Add support for dynamic components

The following snippet doesn't work:
<script lang="ts">
import  ComponentX from "react-libx"
import  ComponentY from "react-liby"

export let condition: boolean;

$: Component = condition ? ComponentX : ComponentY;
</script>

<react:Component />

@mermail  As workaround you could use React's lazy utility:
<script lang="ts">
  import { lazy } from "react";

  const Comp = lazy(() => import("some-component"));
</script>

<react:Comp />

Cheers, thanks @bfanger

Works in 2.0.0-next.8 and up:
<script lang="ts">
  import { sveltify } from "svelte-preprocess-react";
  import Alert from "../../demo/react-components/Alert";
  import Counter from "../../demo/react-components/Counter";

  type Props = {
    condition: boolean;
  };
  let { condition }: Props = $props();

  let Component = $derived(sveltify(condition ? Alert : Counter));
</script>

<Component />


ref(*): Integrate golangci-lint

Please describe the motivation for this PR and provide enough
information so that others can review it.
This PR standardizes on golangci-lint as the primary static analysis tool for source code across the Makefile, other scripts, and CI. The initial settings only point out new issues (based on git history) and enable all linters (per @draychev). I expect we'll tweak settings as we go, but if we find it's too restrictive we can override the return code to 0 to prevent CI from failing while still showing issues it found.
Some standalone go vet, go lint, and go fmt checks have been removed since golangci-lint uses them under the hood.
One notable difference is that by default, golangci-lint ignores the ever-popular exported method should have a comment or be unexported and similar messages. Those messages are part of a set that are ignored by default (see --exclude-use-default in golangci-lint run --help), but we can disable those if we want to fail on those messages anyway.
Please mark with X for applicable areas.

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests / CI System      [X]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?
No

Does this flag existing issues when a new change modifies the same file but different lines?

I think what you're getting at is "If I change a line in a file and add no issues but there was an existing issue on a different line in that file, will that existing issue be flagged?" And to the best of my knowledge, the answer to that question is no.


Add RBS for holidays gem

Add type definitions for https://github.com/holidays/holidays 8.4
The type definitions are generated by rbs prototype rb command as below.
$ rbs prototype rb gems/holidays/8.4/_src/lib/**/*.rb > gems/holidays/8.4/holidays-generated.rbs

Sorry for the few tests. I use two methods in my project.

By the way, probably we can simplify the generated rbs file because it has noisy literal types. Let's try fixing this problem if you'd like!

I think so too. I'll try fixing it.


dnsmasq - Enable Router Advertisements if v6 range

Add a check in a networks 'ranges' - if 'start_v6' is defined in any range add 'enable-ra' to the dnsmasq config.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

Looks good:
https://logserver.rdoproject.org/39/1839/17276fa4682e07716707cf86f4a7358421520f2a/github-check/cifmw-molecule-dnsmasq/468fa4d/ci-framework-data/artifacts/startrek.conf


Add AWS SSM dependency to fix issue with AwsSsmConfig class

There was a dependency issue on startup with the SSM configuration. I added such dependency to fix it in my local. Although it can be cause by other reason

Holding the merge. The issue this PR tries to fix might be do to some local caching issues. More test required before incorporating the dependency

After several cleanups and attempts to reproduce the issue this PR is meant to fix, I am unable to reproduce it.
I am closing the PR now


firebase_auth signInWithCustomToken Unhandled exception

Steps to Reproduce
Its easy to reproduce. Just try to sign in via token.
  FirebaseAuth.instance.signInWithCustomToken(token: "token").then((user) {
            print("logged in ");
   });

Logs
[VERBOSE-2:dart_error.cc(16)] Unhandled exception:
type '_InternalLinkedHashMap' is not a subtype of type 'Map<String, dynamic>' where
  _InternalLinkedHashMap is from dart:collection
  Map is from dart:core
  String is from dart:core

#0      FirebaseAuth.signInWithCustomToken (package:firebase_auth/firebase_auth.dart)
<asynchronous suspension>
#1      LogoWidget.build.<anonymous closure> (package:student/splashScreen.dart:39:33)
<asynchronous suspension>
#2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:478:14)
#3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:530:30)
#4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#5      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
#6      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94:7)
#7      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recog<…>
Application finished.

Flutter Doctor
[✓] Flutter (Channel master, v0.2.5-pre.29, on Mac OS X 10.13.3 17D102, locale en-DE)
    • Flutter version 0.2.5-pre.29 at /Users/eikebartels/Applications/flutter
    • Framework revision ce28378178 (5 hours ago), 2018-03-23 11:37:56 +0100
    • Engine revision 6280adbfb1
    • Dart version 2.0.0-dev.39.0.flutter-06949dc985

Might be related to #15865

Seems related to #15865, can we close this issue and track it there? @lasseschmitt

@lasseschmitt
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/877. Any further collaboration will be done there.


chore: upgrade eslint-config in template

Summary
Upgraded the eslint-config in template

Changelog

[General] [Changed] - Upgrade eslint-config in template to prepare for 0.63 release https://github.com/react-native-community/releases/issues/186
Test Plan

Ah, I thought I did this already, whoops.
Changing packages in package.jsons requires more work for us internally so we can't land the diffs that do this directly. I've put up this change internally though, so it should go through after review.

This change landed in https://github.com/facebook/react-native/commit/780f06cd477f34da48646a949bd25dd3f883a9a2


[Feature Request] fold url in markdown editor

[link title](https://a-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.com) will be folded as [link title](...). And when hovering on ..., url will be displayed in a tooltip.
If this is a acceptable feature, I can help to implement it.

It's acceptable. I don't typically like hiding text in the source, but this will make notes with hyperlinks so much easier to read.
Let me know if you need any help implementing it. And please add an option to the settings that had this feature disabled by default.

meet a problem: I need doing some cleanup when editor's current note has changed. Where can I put the cleanup code?

For this feature you should add a new source file (maybe hideUrl.ts) inside that source file, you should export an afterSourceChanges function
example:
export function afterSourceChanges(cm: any) {
    <cleanup here>
}

This function will be called inside richMarkdown.ts.

@CalebJohn Sorry, I don't make it clear. I means that I want to do some clean up when the whole note has been replaced by other note.

@ylc395 what's your purpose for that? You could use on_change in richMarkdown.ts if it's something lightweight. Or you can use joplin.workspace.onNoteSelectionChange for something heavier.

I'm implement this feature in https://discourse.joplinapp.org/t/plugin-note-link-system/21768/87 because it fits the topic of that plugin.

Looks great! Thanks for cleaning this up!


Allow check to look for either tcp4 or tcp6 port listening

Hi,
A problem we regularily face is that sometimes, depending on software version, OS, OS version, etc. servers listen on ::, sometimes on <IP_ADDRESS>, which makes writing gossfile quite complicated
(and led us to disable ipv6 on some hosts, which is not a good solution)
Is there any way to write a check that accepts either <IP_ADDRESS> OR :: ?

Love the name.

This issue has been a pain for quite a while. I've been looking for some help on how to handle this, there's an issue open with a more thorough discussion of the problem here https://github.com/aelsabbahy/goss/issues/149
Do you know of any tool that handles this cleanly? If so, please add a comment to issue https://github.com/aelsabbahy/goss/issues/149


temporary hoard can be made into a double chest

The intent is to only allow single chest, so this needs to be fixed.

Fixed by e2914895994805a44555fc5bcf7f1e5e5578e835


minor: build failed on Arch

Hi,
I got the following build failure on Arch:
…/hpp-constraints-4.6.0/src/generic-transformation.cc:162:76: error: no matching function for call to 'liegroupSpace<hpp::constraints::GenericTransformation<6>::ComputePosition, hpp::constraints::GenericTransformation<6>::ComputeOrientation, hpp::constraints::GenericTransformation<6>::OutputSE3>(std::vector<bool>&)'
…/hpp-constraints-4.6.0/src/generic-transformation.cc:166:76: error: no matching function for call to 'indices<hpp::constraints::GenericTransformation<6>::ComputePosition, hpp::constraints::GenericTransformation<6>::ComputeOrientation, hpp::constraints::GenericTransformation<6>::OutputSE3>(std::vector<bool>&)'

GCC 9.1.0
Eigen 3.3.7
Boost 1.69.0
As this doesn't happen on 14.04, 16.04 & 18.04, this bug report is only a notice, which can be dismissed at will.

I am surprised by the GCC version. On 18.04, gcc --version gives
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609

Why is the difference so high ?

Arch is just up-to-date, as usual :)
About 18.04, apt search gcc|grep '^gcc-' shows 4.8, 5, 6, 7 & 8.
$ apt install -qqy gcc-8
$ gcc-8 --version
gcc-8 (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0

I don't see what's the issue. Can you try :

to explicitly cast the template arguments to bool,
or to play with the constness of the function argument ?

#105 should provide a better fix for this.


Tweak: Increase margin between status and badges

When adding .date-YN6TCS + .customStatus-1bh2V9{margin-bottom:6px;}

note that user popouts in general are fucked due to an update. you can probably find an old screenshot for reference

good to know.


[flutter_test] A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed

Steps to reproduce

Create a new flutter project
add the test test/flutter_test.dart
Run the test using flutter test test/flutter_test.dart

The test is failing when you simulate multiple simulateKeyDownEvent as per my understanding this used to work in flutter 3.19 (not exactly sure about the version) and below
Note: If you only have only one  simulateKeyDownEvent the test will pass.
Expected results
The test should pass without any exception
Actual results
The test fails with exception
Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('simulate consecutive key down', (tester) async {
    await tester.pumpWidget(const SizedBox());
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.enter);
  });
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
mahesh@Maheshs-MacBook-Air-M1-3 searchfield % flutter test test/flutter_test.dart
00:03 +0: simulate consecutive key down
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following assertion was thrown running a test:
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this
occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please
ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This
was the event: KeyDownEvent#e0d6b(physicalKey: PhysicalKeyboardKey#556a0(usbHidUsage: "0x00070051",
debugName: "Arrow Down"), logicalKey: LogicalKeyboardKey#80d00(keyId: "0x100000301", keyLabel:
"Arrow Down", debugName: "Arrow Down"), character: null, timeStamp: 0:00:00.000000)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 505 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

When the exception was thrown, this was the stack:
#2      HardwareKeyboard._assertEventIsRegular.<anonymous closure> (package:flutter/src/services/hardware_keyboard.dart:505:16)
#3      HardwareKeyboard._assertEventIsRegular (package:flutter/src/services/hardware_keyboard.dart:520:6)
#4      HardwareKeyboard.handleKeyEvent (package:flutter/src/services/hardware_keyboard.dart:643:5)
#5      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:1164:37)
#6      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:235:49)
#7      TestDefaultBinaryMessenger.handlePlatformMessage (package:flutter_test/src/test_default_binary_messenger.dart:99:42)
#8      KeyEventSimulator._simulateKeyEventByRawEvent.<anonymous closure> (package:flutter_test/src/event_simulation.dart:655:79)
#11     TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#12     KeyEventSimulator._simulateKeyEventByRawEvent (package:flutter_test/src/event_simulation.dart:653:27)
#13     KeyEventSimulator.simulateKeyDownEvent.simulateByRawEvent (package:flutter_test/src/event_simulation.dart:740:14)
#14     KeyEventSimulator.simulateKeyDownEvent (package:flutter_test/src/event_simulation.dart:760:23)
#15     simulateKeyDownEvent (package:flutter_test/src/event_simulation.dart:883:48)
#16     main.<anonymous closure> (file:///Users/mahesh/Development/oss/my_packages/searchfield/test/flutter_test.dart:11:11)
<asynchronous suspension>
#17     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:183:15)
<asynchronous suspension>
#18     TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1017:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from class _AssertionError, dart:async, and package:stack_trace)

The test description was:
  simulate consecutive key down
════════════════════════════════════════════════════════════════════════════════════════════════════
00:03 +0 -1: simulate consecutive key down [E]
  Test failed. See exception logs above.
  The test description was: simulate consecutive key down

To run this test again: /Users/mahesh/Development/flutter/bin/cache/dart-sdk/bin/dart test /Users/mahesh/Development/oss/my_packages/searchfield/test/flutter_test.dart -p vm --plain-name 'simulate consecutive key down'
00:03 +0 -1: Some tests failed.

Flutter Doctor output
Doctor output
mahesh@Maheshs-MacBook-Air-M1-3 searchfield % flutter doctor -v
Could not load custom device from config index 0: Expected enabled to be a boolean.
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.3.1 23D60 darwin-arm64, locale en-IN)
    • Flutter version 3.22.0 on channel stable at /Users/mahesh/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (2 weeks ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-34, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    ✗ Unable to get list of installed Simulator runtimes.
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 14.3.1 23D60 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 14.3.1 23D60 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 124.0.6367.202

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Hey @maheshmnj!
The test above simulates several key down events on the same key, this is why it triggers an error (previously, with version 3.19, the error was not thrown due to a bug).
There are two ways to fix this test:

calling simulateKeyUpEvent before simulating another press.
relying on tester.sendKeyEvent which simulates a down event followed by an up event.

Thanks for trying these.

Hi @bleroux,
Thanks for the fix, I tried both the ways simulateKeyUpEvent seems to work
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('simulate consecutive key down', (tester) async {
    await tester.pumpWidget(const SizedBox());
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyUpEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyUpEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyUpEvent(LogicalKeyboardKey.arrowDown);
    await simulateKeyDownEvent(LogicalKeyboardKey.enter);
    await simulateKeyUpEvent(LogicalKeyboardKey.enter);
  });
}

but there is still issue with tester.sendKeyEvent Please try the below test
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('simulate consecutive key down', (tester) async {
    await tester.pumpWidget(const SizedBox());
    tester.sendKeyEvent(LogicalKeyboardKey.arrowDown);
    tester.sendKeyEvent(LogicalKeyboardKey.arrowDown);
    tester.sendKeyEvent(LogicalKeyboardKey.arrowDown);
    tester.sendKeyEvent(LogicalKeyboardKey.enter);
  });
}

Oops! looks like I am not fully awake yet 😄
Closing as working as intended.
Thank you.


[AutoComplete] Doesn't selects option on click

Problem Description
Click with mouse doesn't select option in dropdown menu, the menu closes before filling the field.
I use touchpad on Mackbook, so the tap works well, but the click doesn't.
On documentation site, in v0.15.0-alpha.1, the problem exists.
Possible solution
In auto-complete.js I was found the problem in handleBlur function:
this.timerBlurCloseId = setTimeout(() => {
        this.close();
      }, 0);  // when I change from 0 to 300, click works well

Versions

Material-UI: v0.15.0-alpha.1
React: 0.14.7
Browser: Chrome 48.0.2564.116 (64-bit), Safari 9.0.3

Experiencing the same issue, any progress on this?

Same behavior for me in 0.15.0-alpha.1.

Invoking @callemall/material-ui, as this is the third or fourth issue lately requiring timers in strange places to solve race events, and it feels like we need a consistent solution.
Ideas anyone?

@w01fgang I'm not sure to understand. I don't see any difference when using 300 instead of 0. @heetvachhani Do you have a gif?

@oliviertassinari Yes, Here's gif.

Hum, isn't what we already have on the master branch?

In v0.15.0-alpha.1 release it's not working but in 0.14.4 it's working correctly

Yes, it's work if you use Macbook with touchpad, tap works well.
But there is a comment:
The blur event occurs first on a click device and after on a touch device
The popup menu closes before click on them.
setTimeout(() => {
        this.close();
      }, 0);

So, there is no sense to use setTimeout with zero, because the function passed to setTimeout start immediately.

That should be fixed by https://github.com/callemall/material-ui/pull/3669.


Incorrect header generated

Hi,
I just upgraded to 1.25 and started a new project, where the generated machine headers are wrong. For String and Date attributes, mogenerator generates:
@property (nonatomic, strong) NSDatedate;
@property (nonatomic, strong) NSStringkind;

Where clearly a space and a * is missing.
Indeed, the template has:
@property (nonatomic, strong) <$Attribute.objectAttributeType$><$Attribute.name$>;

Did I miss anything?
I invoke mogenerator with this script line:
mogenerator --template-var frc=true --template-var arc=true --model "${INPUT_FILE_PATH}/${INPUT_FILE_BASE}.xcdatamodel" --output-dir "${INPUT_FILE_DIR}/" --base-class JDManagedObject

Thanks

If I "fix" the template (adding a * and space), then similar bad code is generated by those two lines:
- (<$Attribute.objectAttributeType$>)primitive<$Attribute.name.initialCapitalString$>;
- (void)setPrimitive<$Attribute.name.initialCapitalString$>:(<$Attribute.objectAttributeType$>)value;

Where the * is missing too.

Make sure you're using the latest mogenerator via mogenerator --version and make sure you're on the latest templatesm pulling from https://github.com/rentzsch/mogenerator/tree/master/templates if need be.

The lines I quoted are straight from github. As I wrote, I just upgraded to 1.25 (using homebrew). It turns out that when you do that, the homebrew version doesn't replace the previously installed version. So 1.24 was still being run! (I had previously installed 1.24 using the installer).
The only suggestion I have to prevent that from happening, is to tag the templates with the version of mogenerator they are supposed to run with, and for mogenerator to check and warn if it finds a discrepancy.
Of course, this is an edge case...

Eventually the default templates will be built into the mogenerator binary (#79) so this won't be an issue in the future.


Navigation parameter is missing from NavigationFailedEventArgs

Describe the bug
In the Frame.NavigationFailed event, the NavigationFailedEventArgs does not contain a Parameter property that provides the navigation parameter.
This is inconsistent with the other navigation events and makes it impossible to manage the navigation parameter consistently with the other navigation events. For example, if the navigation parameter may refer (directly or indirectly) to an object that needs to be informed of the navigation failure event.
Steps to reproduce the bug
Subscribe to the event and try to examine the Parameter property of NavigationFailedEventArgs.
Expected behavior
Should have the parameter there.
Screenshots
No response
NuGet package version
None
Windows version
No response
Additional context
No response

One issue with calling this a bug is that Microsoft.UI.Xaml.Navigation.NavigationFailedEventArgs matches Windows.UI.Xaml.Navigation.NavigationFailedEventArgs.
Another thing here is that windows.ui.xaml.navigation.idl in the Windows SDK only has a single interface for this runtime class. The rules of COM, which are also the rules of WinRT components, means that once an interface is defined, it can't be redefined. Especially not without changing the UUID.
The WinRT components have also been very careful about extending functionality using numbered interfaces. An example of this is the Windows.UI.Xaml.Navigation.NavigatingCancelEventArgs. This has a INavigatingCancelEventArgs interface, and an INavigatingCancelEventArgs2 interface. As a side note, when NavigatingCancelEventArgs was ported to WinUI 3, these interfaces were combined into one.
Anyway, the lack of Parameter from the NavigationFailedEventArgs was apparently part of the original design. So I feel as if this would be better as a feature request.


Livecopy.feb.13pm

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Beer Song - Remove stub solution

I'm not sure why Beer Song has a stub solution, which is basically a copy of the test, making it pass.
Shouldn't it follow the standard error "You need to implement this function." found in other exercises? The test and the README already provide the lyrics, so I don't think it is necessary to also have it in the src code.

I'm not sure why Beer Song has a stub solution

be3cause https://github.com/exercism/xhaskell/blob/master/exercises/beer-song/HINTS.md and #301
let us know if you disagree

because https://github.com/exercism/xhaskell/blob/master/exercises/beer-song/HINTS.md and #301

oh... my bad. I should have paid more attention in the README. It makes sense now.
Actually this brought me another question, and I hope I'm not being pedantic here 😛
Not all exercises have Hints, but all of them have the basic instruction sections Getting Started, Running the tests, etc. right after the problem description (or For bonus points, when available).
Shouldn't Hints be displayed before these instructions sections and after the problem description? Most of the students (or is it just me? 😕 ) would read those instruction sections only once and ignore them on the following exercises, not realising there maybe be more important information after that.
In other words, instruction sections are static/invariant, thus shouldn't be followed by anything.
Is it a question that should be asked in x-common instead?

Shouldn't Hints be displayed before these instructions sections and after the problem description?
Is it a question that should be asked in x-common instead?

Probably, since it relates to more tracks than just Haskell.
The change will need to be made in https://github.com/exercism/trackler/blob/master/lib/trackler/implementation.rb , though opening the issue in trackler repository will probably not reach enough of an audience.

In other words, instruction sections are static/invariant, thus shouldn't be followed by anything.

This makes sense to me. Right now, the order is:

part specific to each exercise
part not specific to each exercise
part specific to each exercise

The change will need to be made in https://github.com/exercism/trackler/blob/master/lib/trackler/implementation.rb

thanks @petertseng
It's good to know where things belong / how they are glued together :-)
I have opened the Issue in Trackler. Hopefully feedback will be given.


query/store/receive/rule: Consider splitting StoreResponse frames to max 1MB.

We do that only on sidecar (well, remote read does that for us).
It would be nice to benchmark, see if this matters, but gRPC recommends max 1MB frames. We might get outside of that during heavy queries.

I can take this one. But let me make this more clear. What we need to do here is to implement something like encodeChunks to make the gRPC response max to 1MB. Then do some benchmarks to it.
But do I need to apply this to all Store methods other than Series? I guess the response of LabelValues cannot exceed 1MB

That's correct. :+1:
It would be awesome if you can create/run some microbenchmarks to confirm the difference (: This might involve creating new one, as we currently have only one for store and attempts for query. Without measurement, it's just blind chance, so it's important. I recommend using recently improved [funcbench](https://github.com/prometheus/test-infra/tree/master/funcbench) and joining our #benchmark slack channel (:
LabelValues can exceed that but less likely. Definitely let's start with just Series

I did some experiments on Store's series methods here, seems there is not much difference.
TL;DR the benchmark you run does not test any frame splitting results.

Looks like not worth it for now (: Thanks @yeya24 for initial benchmarks!


Thanks

I guess you want to send SIGINT to the slave foreground program. For unaltered default termios settings sending Ctrl-C does the trick which is term.send('\x03') (see termios settings and control codes).

Thanks, that worked nicely. I was also having another unrelated issue, maybe you have an idea? When using demo app from this repo, after some time of terminal being open - terminal seems to automatically detach and close the session.  Any idea what's the cause of this? How could i avoid it?

Do you access the demo locally or from a browser on a different machine? No clue what could cause this, I've never seen that with the demo app (tested only locally). Even after hours of sitting unused it is still working. Do the logs (server and browser) give any hints? My only guess is a faulty network link (Any drops? Switching IPs?) between browser and server part, if you do it remotely.

Yea, i'm accessing it from remote machine, with nginx IPv6 reverse proxy. From what i can see in the logs - it's a clean exit on the serverside, websocket closing on the clientside.

How far do you get with your setup, is the websocket upgraded correctly? (You should get at least some prompt output and be able to type something.) Maybe try changing the proxy_read_timeout?

I got the terminal working all the way - eveything is fully functional, just having this issue. After ~10 min of being open terminals detach. In this case i had 2 xterm terminal instances open and both websockets emit close event:

i'll try and play around with config settings.

I'm having the same problem and exactly with NGINX Proxy.
I've seen that you closed the issue, but how did you solve the problem, @TaiAivaras?

Hey, it's been a while - but if i remember correctly i  set up something like a heartbeat process - to push empty messages to the websocket, thus keeping it alive. Not sure it's the perfect solution tho.

I see that my connections are closed after ~1 minute of inactivity.
I'll do the same as you: send empty messages every ~30 seconds just to keep it alive.
Thanks @TaiAivaras !

Even if the heart beat worked, I tried to find a solution that attacks directly the source of the problem (nginx).
I finally found it. In case if the link get broken, the solution was to use proxy_read_timeout, like in the example below that sets the timeout for 7 days:
server {
    location /chat/ {
        proxy_read_timeout 604800;
    }
}

@TaiAivaras @rubenanapu "empty messages" means "" or some special character?


[MVP] Complete the translation into Ukrainian

@juliaanholcer

The information about entering the required data is still mix polish and english.

How about we remove the error messages altogether? It will be a hustle to translate the errors (messages are auto generated based on the field name) and they are waaaay at the top of the screen, so user is likely not to see them anyway.
If there are errors, thee user will see the red border to let them know something is wrong.

Yes! I think it's good idea :)

Ok, so are we going to leave it as it is now? Or you want to change it as you said before, @adamgajzlerowicz?
Because if you prefer to leave it as it is now, we can move this issue to ,,Done"

I am closing this for now. We are aware of this issue. Lets do some inital testing with users and findout if they do find erors helpfull. If they do - we will make a task to translate. If will say "what error messages?" then we can just remove them


UPDATE University of Jinan

Mail website
http://stumail.ujn.edu.cn/
School website
https://www.ujn.edu.cn/

@ncc0706 I am sorry, the domain stu.ujn.edu.cn is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account  (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Fix broken options variable in client SOAP requests

The options variable was not registering in client SOAP requests, regardless of its contents. I modified the client.js file to include some items from wsdl.js, and it automagically worked the way it was supposed to. I suspect there might be a broken link to the WSDL class in the Client class that caused this, but I cannot tell for certain. Perhaps someone with more experience with this library could investigate further?
Thanks!
Jesse

Coverage decreased (-44.9%) to 47.589% when pulling 4dadcff5702713835e03061d626817aa83c53e24 on justathoughtor2:master into cde176663bbf5bd1e204265b4f9bec943824e48f on vpulim:master.

Odd. Not sure why this didn't build. It runs perfectly on my local machine... Hrmm...

please add tests

Coverage decreased (-82.1%) to 10.417% when pulling ce95a29127ed35bd58d9b3c02371a0bc3b9f90e8 on justathoughtor2:master into cde176663bbf5bd1e204265b4f9bec943824e48f on vpulim:master.

Coverage decreased (-82.1%) to 10.417% when pulling ce95a29127ed35bd58d9b3c02371a0bc3b9f90e8 on justathoughtor2:master into cde176663bbf5bd1e204265b4f9bec943824e48f on vpulim:master.

Added tests. All tests pass except for the first two. Odd.

Coverage increased (+0.03%) to 92.544% when pulling ca1a1b12ae54154ddf518228ae9106924e4f0798 on justathoughtor2:master into cde176663bbf5bd1e204265b4f9bec943824e48f on vpulim:master.


Fixes gotoPosition

Fixed handling of invalid wayroute in ai_actions.gotoPosition.
Fixed not going to last waypoint in ai_actions.gotoPosition.
Robber behaviour adjusted, so that robbers wait some time at their target before they go to the next one.

Thanks alot for the Pull Request! I added the position fix of yours in a separate commit. Changes of current configurations will not be taken over.


Blue Bar appearing underneath applications bar Mac OS Monterey

There is a screenshot of this issue. There appears to be a blue line that runs about the length of 12 apps. The blue bar goes away as soon as I quit Pock so its something within Pocks system. Just wanted to let you guys know to see if there is a solution to fix it. : )

This is not a bug, but a feature!
Turn off "Enable Cursor Support" in the Settings.

Turn off "Show tracking area" in the Settings also works


Use pthread_mutex/os_unfair_lock

The current implementation uses atomics to create a spinlock in userspace, which is not a good idea.
It should be switched to an actual sleeping lock.

Fixed by #2


Increase readability for code comments in dark mode

See https://swiftweekly.github.io/issue-146/

Maybe we can find a "dark mode" syntax highlighter for this? The green is also hard to read.

Maybe can incorporate with https://github.com/mannberg/splashtag I'm planning to integrate it to my blog and might be useful here but I haven't checked how does it work in dark mode.

Closing this for now as per f94b8d1ac7a687429939140a5b5d556534953245


Fixes link to LICENSE in README

Can you preserve code tags here?

Hi @untitaker ,
I made the suggested change.

Thanks!


Revert "[SPARK-13616][SQL] Let SQLBuilder convert logical plan without a project on top of it"

This reverts commit f87ce0504ea0697969ac3e67690c78697b76e94a.
According to discussion in #11466, let's revert PR #11466 for safe.

Test build #52517 has started for PR 11539 at commit 92253af.

Test build #52517 has finished for PR 11539 at commit 92253af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52517/
Test PASSed.

Merged to master.


[PL-48597] PL 1.31.4 release notes

PL 1.31.4 release notes
https://harness.atlassian.net/wiki/spaces/PD/pages/21719646209/NG+Release+SAAS+March+26th+2024+for+1.31.x-+Build
Note: PL-47602 is on the RN list, but will not be part of the 1.31.4 release per  @bharatgoelharness.
For reviewers, a preview is available:
https://660ac3d1b604846f13712686--harness-developer.netlify.app/release-notes/platform#version-1314
What Type of PR is This?

[ ] Issue
[x] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screenshot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6605b50dbd201613a578b431--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6606dbe1e50ac4114c0f0575--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6606e6b375d7e1201a3c8027--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://660ac3d1b604846f13712686--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://660c101d80cdfc2700e70158--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://660cf02522200a8e95219a81--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://660d4ae7b1ee0fde99caf111--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://660da7032a3958346d10be8c--harness-developer.netlify.app


ResourceNotFoundException

Describe the bug
I use AWS Amplify for signUp and sign In
When the user signs up for the first time the AWS console creates an identity provider for the new user.
Then I get the identity Id and try to attach it to IOT Core policy in order to be able to use IOT Core.
The IOT.attachPolicy() function is working perfectly on ANDROID and in CLI
but in IOS I get ResourceNotFoundException !!!
` func attachPolicy(identityId: String){
    guard let attachPolicyRequest = AWSIoTAttachPolicyRequest()
    else{
        return print("Error getting AWSIoTAttachPrincipalPolicyRequest")
    }
    attachPolicyRequest.policyName = AWS_IOT_POLICY
    attachPolicyRequest.target = identityId

    guard let iot = MQTTManager.manager.iot else {
        return print("Error getting iot")
    }

    guard let policy = AWSIoTGetPolicyRequest() else{return}
    policy.policyName = AWS_IOT_POLICY

    iot.attachPolicy(attachPolicyRequest, completionHandler: { error in
        if let error = error{
            print("Failed to attach Policy. ", error)
        }else{
            print("ATTACHED POLICY Successfully !!!")
        }
    })
}`

and this is the output error
Failed to attach Policy.  Error Domain=com.amazonaws.AWSIoTErrorDomain Code=20 "Not Found" UserInfo={NSLocalizedDescription=Not Found, NSLocalizedFailureReason=ResourceNotFoundException:}
Steps To Reproduce
Steps to reproduce the behavior:
1. new user signs up
2. AWS Console adds an identity provider for the new user in identity pool
3. The function takes the newly created identity id and tries to attach it to IOT Core Policy
4. And get the ResourceNotFoundException error

Expected behavior
After the user has signed up for the first time iot.attachPolicy function has to attach the newly created identity id to iot.policy
I have to mention that this action is working perfectly on ANDROID and in CLI
Amplify Framework Version
1.21.1
Amplify Categories
Auth
Dependency manager
Swift PM
Swift version
5
CLI version
7.6.12
Xcode version
13.2.1
Relevant log output
No response
Is this a regression?
No
Regression additional context
No response
Device
iPhoneX
iOS Version
14
Specific to simulators
No response
Additional context
No response

Hi @diegocstn  ,
I have encountered a similar problem. I replaced the function attachPolicy with attachprincipalPolicy then I got an another  error:
connecting ...     (status code 1)
connecting error  (status code 5)
connecting ...     (status code 1)
connecting error  (status code 5)

So far , any idea?

Hello,
Could you please check out our IoT Sample App [https://github.com/awslabs/aws-sdk-ios-samples/tree/main/IoT-Sample/Swift] to refer to how to AWS IoT APIs in your applications?
Please also refer to : https://docs.amplify.aws/sdk/pubsub/getting-started/q/platform/ios/#aws-iot on how to attach IoT policy to your Cognito Identity.

Hi
in your sample you use AWSIoTAttachPrincipalPolicyRequest() function
but in documentation, it's written that this function is deprecated and suggested to use attachPolicy() function instead.

Hi @RoustamManookian @thisisabhash ,
Thank you for your help!
I have replaced the function attachPolicy() with attachPrinciplePolicy(). However, the issue still exists.
I try another  way to workaround. The following code shows the snippets.

check the default user whether he has certificateId , if not , then the mobile automatically creates a new certificate for him.
if the default user has a certificateId then attach the specific policy to his identity ID.
After connect get the certificateId, the mobile connects to the iot core.

                    if let certificateId = defaults.string(forKey: "certificateId") {
                        print("cerid == \(certificateId)")
                        self.attachIdPolicy()
                        self.connectDataManager(cerid: certificateId)

                    } else {

                        self.createCertificateIdAndStoreinNSUserDefaults { cerid in
                            print("cerid \(cerid)")
                            defaults.setValue(cerid, forKey: "certificateId")
                            self.connectDataManager(cerid: cerid)
                        } onFailure: { error in
                            print("is error")
                        }
                    }

    func  attachIdPolicy() {

        let id = AWSMobileClient.default().getIdentityId()
        let attachPrincipalPolicyRequest = AWSIoTAttachPrincipalPolicyRequest()
        attachPrincipalPolicyRequest?.policyName = POLICY_NAME
        attachPrincipalPolicyRequest?.principal = id.result as String?

        IotManager.shared.iot.attachPrincipalPolicy(attachPrincipalPolicyRequest!).continueWith { task in

            print("attach id policy finish, erro ->>>>  \(task.error)")
        }
    }

  private func createCertificateIdAndStoreinNSUserDefaults(onSuccess:  @escaping (String)->Void, onFailure: @escaping (Error) -> Void) {
        let defaults = UserDefaults.standard

        let csrDictionary = [ "commonName": CertificateSigningRequestCommonName,
                              "countryName": CertificateSigningRequestCountryName,
                              "organizationName": CertificateSigningRequestOrganizationName,
                              "organizationalUnitName": CertificateSigningRequestOrganizationalUnitName]

        IotManager.shared.iotManager.createKeysAndCertificate(fromCsr: csrDictionary) { (response) -> Void in
            guard let response = response else {

                onFailure(NSError(domain: "No response on iotManager.createKeysAndCertificate", code: -2, userInfo: nil))
                return
            }

            defaults.set(response.certificateId, forKey:"certificateId")

            let certificateId = response.certificateId
            let attachPrincipalPolicyRequest = AWSIoTAttachPrincipalPolicyRequest()
            attachPrincipalPolicyRequest?.policyName = POLICY_NAME
            attachPrincipalPolicyRequest?.principal = response.certificateArn

            IotManager.shared.iot.attachPrincipalPolicy(attachPrincipalPolicyRequest!).continueWith { task in

                if let certificateId = certificateId {
                    onSuccess(certificateId)
                } else {
                    onFailure(NSError(domain: "Unable to generate certificate id", code: -1, userInfo: nil))
                }
                return nil
            }

Please let me know, If you have  better solutions .

Hi,
Why do I need to use "createKeysAndCertificate" if I authenticate with Amplify ??
and by the way, I granted iotFullAccess to authenticated users in Cognito Identity Pool.
{     "Version": "2012-10-17",     "Statement": [         {             "Effect": "Allow",             "Action": [                 "iot:*"             ],             "Resource": "*"         }     ] }

hi @RoustamManookian
I find that the function iotDataManager.connect always need an argument called certificateId.
As you can see the following snippets.
    private func connectDataManager(cerid:String) {

        let uuid = UUID().uuidString
        IotManager.shared.iotDataManager.connect( withClientId: uuid,
                                                  cleanSession:true,
                                                  certificateId:cerid,
                                                  statusCallback: self.mqttEventCallback)
        delegate?.loginFinish()
    }

So I think I should give a temporary certificate for the function berfore connect to iot core.
I have tried another example. Maybe you can take a look at this example
Then you can use connectUsingWebSocket to connect aws iot core.
    private func mqttConnect() {
        print("Connecting to MQTT ...")
        self.iotDataManager.connectUsingWebSocket(withClientId: self.clientId, cleanSession: true, statusCallback: mqttEventCallback(_:))
    }

But I don't have any problem with iotDataManager connection.
I use  "guard let userName = Amplify.Auth.getCurrentUser()?.username"
and try to connect with current User userName which is the userId.
`
func connectToMQTT(connectionCallBack: @escaping (MQTT_Status)->Void){
    Amplify.Auth.fetchAuthSession { [weak self] result in
        switch result {
        case .success:

            guard let userName = Amplify.Auth.getCurrentUser()?.username
            else{
                print("OnSuccess: Problem getting userID")
                return
            }

            guard let dataManager = self?.iotDataManager,
                  let status = self?.connectionStatus
            else{
                print("OnSuccess: Problem getting dataManager")
                return
            }

            if status.status == .disconnected || status.status == .unknown{
                if(!dataManager.connectUsingWebSocket(withClientId: userName,cleanSession: true,
                                                      statusCallback: {status in
                    self?.mqttEventCallback(status, connectionCallBack: connectionCallBack)
                }))
                {
                    print("ERROR Trying to connect. Connection Status: \(status)")
                }
            }
            else{
                print("Connection Status: \(status)")
            }
        case .failure(let error):
            print(error)
        }

    }
}

`

Hi @RoustamManookian ,
I think the argument withClientId should be given as a user's identity from credentialProvider rather than a user's name.
An identity  is something like
ap-southeast-1:d4512355-814d-4349-aa83-xxxxxxxxxxxx.

I just created an API that triggers a lambda function which makes the attachPolicy() in JavaScript

`
exports.handler = async(event,context)=>{
var json_body = JSON.stringify(event);
console.log("JSON.event : ", json_body);

var response = {};

var identity_id = "";
var userName = "";

if(event.queryStringParameters != null){
    if (event.queryStringParameters.hasOwnProperty("identity_id")){
        identity_id = event.queryStringParameters.identity_id;
    }
    else{
        console.log("*** My Logs: line 32 -> identityId is empty");
    }
    if (event.queryStringParameters.hasOwnProperty("userName")){
        userName = event.queryStringParameters.userName;
    }
    else{
        console.log("*** My Logs: line 38 -> userName is empty");
    }
}
console.log("userName: -> *" + userName + "*");
console.log("identityId: -> *" + identity_id + "*");

if(identity_id != "" && userName != ""){

//**************************************************************************
//  Attach Policy
//**************************************************************************
    const attachPolicyResult = new Promise(function(resolve, reject){

        let params = {
            policyName: 'iot_full_access_policy',
            target: identity_id
            };

        iot.attachPolicy(params, function(err, data) {
            if (err){
                console.log("*** ERROR: line 54 -> " + err, err.stack);
                reject('ERROR: ', err);
            }
            resolve(JSON.stringify(data));
        });
    });

    var str_result = (await attachPolicyResult);

`


Add CHANGELOG for 0.8.0 and bump Helm charts values

As above, this PR bumps versions to 0.8.0 and adds CHANGELOG entries for the latest version.

:shipit:


Invariant Violation: Can't find field me({}) on object ...

Can someone help me with this bug, I got stuck with this error as well and it turned out to be totally unrelated to any of the above.
##ERRORS
Invariant Violation: Can't find field me({}) on object {
  "me({\"id\":\"1\"})": {
    "type": "id",
    "generated": true,
    "id": "$ROOT_QUERY.me({\"id\":\"1\"})",
    "typename": "Profile"
  },
  "me({\"id\":1})": {
    "type": "id",
    "generated": true,
    "id": "$ROOT_QUERY.me({\"id\":1})",
    "typename": "Profile"
  }
}.

##MY CODE
/gql/index.js file
---
import gql from 'graphql-tag'
---
export const USER_PROFILE_QUERY = gql`
    query me($id: ID!) {
      me(id: $id) {
          bio
          dob
          personalInfo{
            address
          }
          user{
            created_at
        }
      }
    }`
export const UPDATE_PROFILE_MUTATION = gql`
    mutation updateProfileInfo($id:ID!, $show: String, $address:String, $phone_number:String, $nationality:String,$sex:String,$marital_status:String){
      updateProfileInfo(id: $id, show: $show,address:$address,phone_number:$phone_number,nationality:$nationality,sex:$sex,marital_status:$marital_status){
          address
          profile{
            bio
            user{
              created_at
            }
          }
      }
    }`

/profileInfo.vue file
---
import { USER_PROFILE_QUERY, UPDATE_PROFILE_MUTATION } from '~/graphql/'
---
 apollo: {
        // fetch profile by ID
        me: {
            query: USER_PROFILE_QUERY,
            variables () {
                return {
                    id: this.id
                }
            }
        }
    },
    methods: {
      update() {
            this.$apollo
                .mutate({
                    mutation: UPDATE_PROFILE_MUTATION,
                    variables: {
                      id: this.id,
                      bio: this.bio,
                      address: this.address
                    },
                    update: (store, { data: { updateProfileInfo } }) => {
                        // read data from cache for this query
                        const {data} = store.readQuery({
                          query: USER_PROFILE_QUERY,
                          variables () {
                                return {
                                    id: this.id
                                }
                            }
                        })

                        console.log(data)
                        // add new profile from the mutation to existing profiles
                        data.me.push(updateProfileInfo)

                        // write data back to the cache
                        store.writeQuery({ query: USER_PROFILE_QUERY, data })
                    }
                })

        }
    },
  }

@dimer22zhc Has your problem been solved? How to Solve the Problem


Manual approval for CD

When working on CD project. every commit to the master branch is pushed to production in cd pipeline. changes to the cloudformation can be risky since it can destroy the sate of the application (replace resources, cause downtime)
I would like to see an option for cdk to create a CFN change-set and wait for manual approval(e.g.  cdk deploy  --manual-approval=10m) on the change-set so human can review. I will also be nice to get SNS notification on this event so I can connect our Slack for ping the team.

Hey @lielran ,
thanks for opening us the issue. CI/CD is a very important subject to us, and something we're constantly trying to improve in the CDK.
I wonder whether the following setup would work for you: after your source Action that picks up your commit to master, you have a CodePipeline Stage with the following 3 Actions, one after the other:

a CloudFormationCreateReplaceChangeSetAction
a ManualApprovalAction
a CloudFormationExecuteChangeSetAction

This way, the changes would be stopped in the Pipeline until somebody presses the approve button.
Let me know if this accomplishes what you needed, without any changes to the framework.
Thanks,
Adam

for the projects that I'm using CodePipeline ManualApprovalAction option is probably ok as long as cdk-cli will wait(till timeout) for my action and not apply the changeset imminently.
how you can get this experience today using cdk?
but for my other project that is using other ci/cd tools(jenkins/circleci/...) I also need a solution that acts the same.

On second thought, ManualApprovalAction is not a good solution since it will require manual approval on each deployment even if CFN not change (nothing to apply/create) this happens 90% of the times, right?  so I would like to see CDK go to the flow of ManualApprovalAction only the only 10% of the time where there are some resources to create/update/delete

for the projects that I'm using CodePipeline ManualApprovalAction option is probably ok as long as cdk-cli will wait(till timeout) for my action and not apply the changeset imminently.

That's exactly what will happen. The CloudFormationCreateReplaceChangeSetAction prepares the ChangeSet, but doesn't execute it; that's what the CloudFormationExecuteChangeSetAction does. If you put a manual approval in between them, the ChangeSet will not be executed until somebody reviews and approves it.
We have an example of that here.

@skinny85  - Thanks for the code sample. I can see that step 2 ManualApprovalAction is happening all the time which I found annoying.
I'm not sure what is the scope of the feature that you want or can do but IMO cdk-cli need to solve this issue by providing an interface of manual approval reneging my current CD tool.
so either it AWS CodePipeline or Circleci or Jenkins or XXX  it will act the same.


Switched subprocess to subprocess32.

As requested; I tried to make a testcase for this, but can't seem to get the interaction just right to make it fail properly.  I suspect there's something with the embedded environment that is hitting this case.

I've updated the gafferDependencies package to include subprocess32, and the Travis tests now pass. Are we good to merge from an IE perspective @andrewkaufman?


Cannot get wand package to work with Python 3.7

I’m getting the following error after setting up a Python shell:
$ ./manage.py
/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/api.py:169: DeprecationWarning: dist() and linux_distribution() functions are deprecated in Python 3.5
  distname, _, __ = platform.linux_distribution()
Traceback (most recent call last):
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/api.py", line 151, in <module>
    libraries = load_library()
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/api.py", line 140, in load_library
    raise IOError('cannot find library; tried paths: ' + repr(tried_paths))
OSError: cannot find library; tried paths: []

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./manage.py", line 19, in <module>
    execute_from_command_line(sys.argv)
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/nix/store/cpzs1hpwzs23c41haa4dap0zjfx6xych-python3-3.7.9/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/example/utils.py", line 12, in <module>
    from wand.image import Image
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/image.py", line 18, in <module>
    from . import assertions
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/assertions.py", line 155, in <module>
    from .color import Color  # noqa: E402
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/color.py", line 10, in <module>
    from .api import library
  File "/nix/store/3dlbfc202bkznipy2wgcfqb12py4bizg-python3-3.7.9-env/lib/python3.7/site-packages/wand/api.py", line 177, in <module>
    'Try to install:\n  ' + msg)
ImportError: MagickWand shared library not found.
You probably had not installed ImageMagick library.
Try to install:
  http://docs.wand-py.org/en/latest/guide/install.html

Here’s the shell.nix file:
let
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "refs/tags/3.0.2";
  }) { python = "python37"; };
in
mach-nix.mkPythonShell {
  requirements = builtins.readFile ./requirements/dev.txt;
}

And the requirements file:
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile requirements/dev.in
#
aioredis==1.3.1           # via channels-redis
amqp==2.6.1               # via kombu
appdirs==1.4.4            # via virtualenv
asgiref==3.2.10           # via channels, channels-redis, daphne
async-timeout==3.0.1      # via aioredis
attrs==20.1.0             # via automat, service-identity, twisted
autobahn==20.7.1          # via daphne
automat==20.2.0           # via twisted
babel==2.8.0              # via django-phonenumber-field
bcrypt==3.2.0             # via paramiko
billiard==<IP_ADDRESS>         # via celery
cairocffi==1.1.0          # via cairosvg, weasyprint
cairosvg==2.4.2           # via weasyprint
celery==4.4.7             # via -r requirements/base.in
certifi==2020.6.20        # via requests, sentry-sdk
cffi==1.14.2              # via bcrypt, cairocffi, cryptography, pynacl, weasyprint
channels-redis==3.0.1     # via -r requirements/base.in
channels==2.4.0           # via -r requirements/base.in, channels-redis
chardet==3.0.4            # via requests
click==7.1.2              # via pip-tools
constantly==15.1.0        # via twisted
cryptography==3.0         # via -r requirements/base.in, autobahn, paramiko, pyopenssl, service-identity
cssselect2==0.3.0         # via cairosvg, weasyprint
daphne==2.5.0             # via -r requirements/base.in, channels
defusedxml==0.6.0         # via cairosvg, odfpy, python3-openid
diff-match-patch==20200713  # via django-import-export
distlib==0.3.1            # via virtualenv
dj-database-url==0.5.0    # via -r requirements/base.in
django-admin-sortable==2.2.3  # via -r requirements/base.in
django-allauth==0.42.0    # via -r requirements/base.in
django-ckeditor==5.9.0    # via -r requirements/base.in
django-countries==6.1.3   # via -r requirements/base.in
django-debug-toolbar==2.2  # via -r requirements/dev.in
django-extensions==3.0.5  # via -r requirements/dev.in
django-formtools==2.2     # via django-two-factor-auth
django-import-export==2.3.0  # via -r requirements/base.in
django-js-asset==1.2.2    # via django-ckeditor
django-modeltranslation==0.15.1  # via -r requirements/base.in
django-otp==0.9.4         # via django-two-factor-auth
django-phonenumber-field==3.0.1  # via django-two-factor-auth
django-polymorphic==3.0.0  # via -r requirements/base.in
django-two-factor-auth==1.11.0  # via -r requirements/base.in
django==2.2.15            # via -r requirements/base.in, channels, django-admin-sortable, django-allauth, django-debug-toolbar, django-formtools, django-import-export, django-modeltranslation, django-otp, django-phonenumber-field, django-polymorphic, django-two-factor-auth, djangorestframework, easy-thumbnails
djangorestframework-jwt==1.11.0  # via -r requirements/base.in
djangorestframework==3.11.1  # via -r requirements/base.in
easy-thumbnails==2.7      # via -r requirements/base.in
et-xmlfile==1.0.1         # via openpyxl
fabric3==1.14.post1       # via -r requirements/dev.in
faker==4.1.2              # via -r requirements/base.in
filelock==3.0.12          # via tox, virtualenv
gitric==0.4               # via -r requirements/dev.in
hiredis==1.1.0            # via aioredis
html5lib==1.1             # via weasyprint
hyperlink==20.0.1         # via twisted
idna==2.10                # via hyperlink, requests, twisted
importlib-metadata==1.7.0  # via kombu, pluggy, tox, virtualenv
incremental==17.5.0       # via twisted
jdcal==1.4.1              # via openpyxl
kombu==4.6.11             # via celery
markuppy==1.14            # via tablib
msgpack==1.0.0            # via channels-redis
oauthlib==3.1.0           # via requests-oauthlib
odfpy==1.4.1              # via tablib
openpyxl==3.0.5           # via tablib
packaging==20.4           # via tox
paramiko==2.7.1           # via fabric3
phonenumbers==8.12.8      # via -r requirements/base.in
pillow==7.2.0             # via cairosvg, easy-thumbnails
pip-tools==5.3.1          # via -r requirements/dev.in
pluggy==0.13.1            # via tox
psycopg2-binary==2.8.5    # via -r requirements/base.in
py==1.9.0                 # via tox
pyasn1-modules==0.2.8     # via service-identity
pyasn1==0.4.8             # via pyasn1-modules, service-identity
pycparser==2.20           # via cffi
pyhamcrest==2.0.2         # via twisted
pyjwt==1.7.1              # via djangorestframework-jwt, twilio
pynacl==1.4.0             # via paramiko
pyopenssl==19.1.0         # via twisted
pyparsing==2.4.7          # via packaging
pypdf2==1.26.0            # via -r requirements/base.in
pyphen==0.9.5             # via weasyprint
python-dateutil==2.8.1    # via faker
python-memcached==1.59    # via -r requirements/base.in
python3-openid==3.2.0     # via django-allauth
pytz==2020.1              # via babel, celery, django, twilio
pyyaml==5.3.1             # via -r requirements/base.in, tablib
qrcode==6.1               # via django-two-factor-auth
redis==3.5.3              # via -r requirements/base.in
requests-oauthlib==1.3.0  # via django-allauth
requests==2.24.0          # via django-allauth, requests-oauthlib, twilio
sentry-sdk==0.17.0        # via -r requirements/base.in
service-identity==18.1.0  # via twisted
six==1.15.0               # via automat, bcrypt, cryptography, django-modeltranslation, fabric3, html5lib, packaging, pip-tools, pynacl, pyopenssl, python-dateutil, python-memcached, qrcode, tox, twilio, virtualenv
sqlparse==0.3.1           # via django, django-debug-toolbar
tablib[html,ods,xls,xlsx,yaml]==2.0.0  # via django-import-export
text-unidecode==1.3       # via faker
tinycss2==1.0.2           # via cairosvg, cssselect2, weasyprint
toml==0.10.1              # via tox
tox==3.19.0               # via -r requirements/dev.in
twilio==6.45.0            # via -r requirements/base.in
twisted[tls]==20.3.0      # via daphne
txaio==20.4.1             # via autobahn
urllib3==1.25.10          # via requests, sentry-sdk
vine==1.3.0               # via amqp, celery
virtualenv==20.0.31       # via tox
wand==0.6.2               # via -r requirements/base.in
weasyprint==51            # via -r requirements/base.in
webencodings==0.5.1       # via cssselect2, html5lib, tinycss2
werkzeug==1.0.1           # via -r requirements/dev.in
xlrd==1.2.0               # via tablib
xlwt==1.3.0               # via tablib
zipp==3.1.0               # via importlib-metadata
zope.interface==5.1.0     # via twisted

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools

I tried adding providers = {"wand" = "nixpkgs";}; but I got another error ("requirements conflict").

There is a magickwand library available from pypi, but this doesn't seem to fix the problem. I also tried including imagemagick via packagesExtra, but also no success. Will investigate more, when I find some time.

Wand seems to require specific environment variables set in order to be able to load its dependencies.
Wand is already packages in nixpkgs and there this is fixed via patch. (see nix edit nixpkgs/nixos-20.09#python3Packages.Wand).
You can just use the sdist provider for this package. It will take the existing nix expression and replace the source with the required version:
mach-nix.mkPython {
  requirements = builtins.readFile ./requirements/dev.txt;
  providers.wand = "sdist";
}


java.lang.NoSuchMethodError: io.javalin.core.CachedRequestWrapper.getContentLengthLong()J

This error happen when I have this code
Code: https://hastebin.com/giminetoko.cs
Error: https://hastebin.com/ubuhuriziy.sql
Pom.xml: https://hastebin.com/abirifadog.xml

This happens because one of your dependencies are pulling in an old version of the servlet-api. Javalin requires version 3.1.0:
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>

Nope. It doesn't fixes.
Code: https://hastebin.com/uzurofinuf.cs
Error: https://hastebin.com/eleyewoyib.sql
pom.xml: https://hastebin.com/ocecehaqot.xml

You'll probably have to exclude the servlet-api from the dependency that's pulling in an old version.

How do I do that?

You'll need to figure out which dependency is including it, then follow this page: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

But how do I know which dependency is using an old version of javax.servlet-api?

You can build a dependency tree and inspect it: https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html

I don't think any dependency uses servlet-api
Here is the dependency tree: https://imgur.com/unYBtrZ
Which the line is the left is directly goes to my project root

Wait. I found it. Here is what I add in my pom.xml for other's reference.
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client-jetty</artifactId>
            <exclusions>
                <exclusion>  <!-- declare the exclusion here -->
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
            <version>1.27.0</version>
        </dependency>```

Great, thank you for posting the solution!


Function Call Completion

Discussed in https://github.com/cdr/code-server/discussions/4434

Originally posted by Msadat97 November  3, 2021
Hi,
I'm using code-server and python extension, and there is a feature that has frustrated me recently. Whenever I use autocompletion for typing a function name, it automatically types its arguments too. This feature is not present in the original vscode. Could you please tell me how to disable this type of autocompletion?
Dear all,
I recently noticed that a feature had been added to the code-server python extension that types the input parameters of a function call as part of auto-completion. It would be great if you could make an option available for turning this feature off for several reasons:

It isn't easy to type a function call with different names other than the ones mentioned in the function definition (I need to erase the parameters and type them all over again.)
Type hinting is now extremely difficult as the call to a class automatically types everything in the init function.
It does not provide auto-completion once you are inside the placeholders.

@judej the issue you pointed to does not seem relevant.
@Msadat97 Can you provide your settings and details on which version of the extension, VS Code etc that you are using.

I can confirm that the issue is not present with Pylance. However,  as Pylance can't be used with code-server due to some license issues, it would be great to be able to turn off this auto-expand snippet feature.

@pappasam Do we have a way to turn this off?

We are going to give the community 60 days from when this issue was created to provide 7 👍 upvotes on the opening comment to gauge general interest in this idea. If there's enough upvotes then we will consider this feature request in our future planning. If there's unfortunately not enough upvotes then we will close this issue.

@pappasam Do we have a way to turn this off?

Yep! There's an initialization option to disable snippets.

https://github.com/pappasam/jedi-language-server#configuration
https://github.com/pappasam/coc-jedi#jedicompletiondisablesnippets

That said, if VSCode provides a way for users to (in general) manually expand snippets through some keybinding instead of automatically expanding them, that would probably be a better overall approach (for this particular issue, and probably also for all extensions).

@pappasam Do we have a way to turn this off?

Yep! There's an initialization option to disable snippets.

https://github.com/pappasam/jedi-language-server#configuration
https://github.com/pappasam/coc-jedi#jedicompletiondisablesnippets

That said, if VSCode provides a way for users to (in general) manually expand snippets through some keybinding instead of automatically expanding them, that would probably be a better overall approach (for this particular issue, and probably also for all extensions).

Thanks for the reply. Should I put the settings inside vscode settings.json?

@pappasam Do we have a way to turn this off?

Yep! There's an initialization option to disable snippets.

https://github.com/pappasam/jedi-language-server#configuration
https://github.com/pappasam/coc-jedi#jedicompletiondisablesnippets

That said, if VSCode provides a way for users to (in general) manually expand snippets through some keybinding instead of automatically expanding them, that would probably be a better overall approach (for this particular issue, and probably also for all extensions).

Thanks for the reply. Should I put the settings inside vscode settings.json?

Good question @Msadat97 ! For you, the end user in vscode, to have access to this option, I believe the vscode team would need to expose this configuration option for you; I'm not sure if that's been done in vscode-python yet? @karthiknadig

We need to add support for these settings.

please do add support to disable this feature, really annoying and making vscode unusable.

I am using VSCodium and the Python extension and this problem also happens.

Thank you for submitting your feature request and everyone who considered it! Unfortunately this issue did not receive enough votes over the allotted time, and so we are closing the issue.


Incrementals for Groups SharePoint backup

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[x] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Supportability/Tests
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

https://github.com/alcionai/corso/issues/3990

Test Plan

[ ] :muscle: Manual
[x] :zap: Unit test
[ ] :green_heart: E2E

@ryanfkeepers This is rewrite of https://github.com/alcionai/corso/pull/4187


[Refactor] Refactor RunMode for running UT easiser

Move RunMode out of GlobalStateMgr, make it's easier to mock the run mode in unit test.
Support hybrid mode, for test purpose.

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

[FE PR Coverage Check]
:disappointed: fail : 37 / 50 (74.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/NodeMgr.java
0
1
00.00%
[364]

:large_blue_circle:
com/starrocks/catalog/ColocateTableIndex.java
0
1
00.00%
[1013]

:large_blue_circle:
com/starrocks/StarRocksFE.java
0
1
00.00%
[135]

:large_blue_circle:
com/starrocks/sql/analyzer/CreateTableAnalyzer.java
2
4
50.00%
[80, 84]

:large_blue_circle:
com/starrocks/server/RunMode.java
20
28
71.43%
[44, 45, 46, 47, 48, 50, 51, 77]

:large_blue_circle:
com/starrocks/common/proc/BackendsProcDir.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/EngineType.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/system/SystemInfoService.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/system/ComputeNode.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/transaction/PublishVersionDaemon.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/system/HeartbeatMgr.java
1
1
100.00%
[]

run starrocks_admit_test

@Mergifyio backport branch-3.0