Fixes #27859: Ignore db_index for TextField on MySQL

I still have following doubts.

django.db.backends.schema.mysql.DatabaseSchemaEditor.skip_default is used to know if the current field is a text or blob or json field or their subtypes. I used that method to avoid duplicacy of data. The name of method doesn't seem suitable in this bug context. It should be rather something _is_mysql_non_indexable_fields.

This patch fix silently ignores db_index on text or blob or json fields. It would be a little more helpful if it also prints warning message or some informational message saying something like MySQL doesn't support index on text or blob or json fields

Note: This is my very first patch to django source code. So please pour me with more knowledge.

For the warning on using db_index on Text fields with MySQL you might want to consider the system check framework

I'm not sure if a warning should be added considering that the use case of the ticket involves a third-party app. MySQL users would be forced to silence that warning to use that app without error.  On the other hand, if the app itself could silence the warning similar to what's described in #26472, I think a check would be more useful.

i'll add a check very soon.

Oracle also doesn't support db indexes on a text fields, therefore I added test_text_field_with_db_index_to_fk in #8140 as a postgreSQL specific test.

@felixxm what about adding a database feature for that?

To be more precise you can create indexes on a text fields (e.g. CTXSYS.CONTEXT, see [1]) on Oracle, but you need use different operators to use them in WHERE clause, e.g. CONTAINS instead of LIKE.
New database feature flag sounds good for me, maybe: supports_text_field_index / supports_binary_field_index.

Can anyone help me how to add a check for a db feature?

You can use self.connection.features.supports_index_on_textfield to check db feature.

Does this PR needs more changes? I'm available to work on this further.

Please squash commits and uncheck "Patch needs improvement" after updating so that the ticket returns to the review queue.

@zubairalam, do you plan to return to this?

Not able to find time to work on this.

Updated in #8471.


Add functionality SetIdentitiMailFromDomain, GetIdentityMailFromDomai…

Add functionality SetIdentitiMailFromDomain, GetIdentityMailFromDomainAttributes
https://github.com/localstack/localstack/issues/4276

@usmangani1 Have you made any further progress on this?  I'm hitting issues related to this in localstack:
Aws\Ses\Exception\SesException: Error executing "GetIdentityDkimAttributes"


tex2Dimage format can be invalid for specific internal formats

Found when attempting to add the layers polyfill to the Aframe layers example. The internal version of THREE.JS creates projection layers with the color format of gl.RGBA8, which in the polyfill will produce a WebGL: INVALID_ENUM: texImage2D: invalid format error when used to create projection layers.
This may be because the polyfill, with a few exceptions, uses the same format for both the format and internalFormat parameters of the texImage2D function, This is correct for WebGL 1 -- format should match internalFormat there, but for WebGL 2, we should instead be ensuring that the format is set according to the spec in the WebGL 2 table: https://www.khronos.org/registry/webgl/specs/latest/2.0/#TEXTURE_TYPES_FORMATS_FROM_DOM_ELEMENTS_TABLE

Most formats should now be fixed with #34; if there are cases that aren't handled properly, we can create a new issue for those.


[PaymentExitGame] startFeeExit

Hi @paulperegud I am curious what design is in your mind on the fee exit since you mentioned fee exit is sort of different from everything else, and we can just have ONE exit for everything since all calculation can be done in ch-ch and watcher and don't need contract verification.
So what's your plan on this? To put this on PlasmaFramework or have a ExitGame just for fee exit (IDK, like a special tx type for fee exit and operator can just mine such tx and exit?)

Hey, given that the Watcher even in the current stage does not have the ability to watch fee exit. Could we add this functionality in the later cycle ?

I think this largely depends on how we're going to do the fee. If the above proposal of having a special tx type for fee is the way we'd like to go, then yes.

[NOTE]
@paulperegud has another potential idea of mining a payment tx directly without input, that would be consider as a fee tx. And then operator can just transfer that tx to another normal payment tx and standard exit that. Or, to just do normal plasma tx.
Anyway, I think we are confident that we don't need to put this into the effort within this audit cycle. We got ways to handle fee in the future.

mining a payment tx directly without input, that would be consider as a fee tx. And then operator can just transfer that tx to another normal payment tx and standard exit that

nice! One note however, this would require some thinking, if the operator would be to (trustlessly) handle the collected fees in some manner (like give to a FeeBurner contract or distribute among stakers).
If the collected fees just go straight to operator's pocket then yeah, this sounds like a least-effort solution :tada:

Ah yeah some other concern that have bumped up during the discussion : the outputId. We probably need some nonce on such fee transaction.
Also, if we ever use empty input as distinguishing deposit tx, it might not work anymore.


Pass resolved replacements to preBuild

I want to selectively apply some {SELECTION} replacements in my preBuild function but I can't find a way to access those resolved strings. Would it be possible to pass those as arguments into preBuild? Perhaps the function signature could be changed to preBuild(replacements) where replacements is an object with properties file_active, etc that just contain the strings that these replacements would resolve to.

I think it would make a whole lot sense to just evaluate them yourself.
For e.g. {SELECTION}, it would be as simple as atom.workspace.getActiveTextEditor().getSelectedText().
The full resolved build configuration will be available in this.
Would this solve your issue?

While that would work fine, I think it would be better to include this functionality in the core package. For one, the method you describe would require the user to monitor the atom-build package for any changes to match the code. I think there's something to be said for providing the exact replacements that will be used rather than requiring the user to guess.

You wouldn't need to do any further monitoring if you fetch the current selection every time preBuild is called.
I'd rather not commit to any more APIs than I have to. Every API is increased maintenance and an opportunity to disappoint users by changing it. Either intentional or unintentional.
I appreciate the effort you put into this and I thank you, but I will not be accepting.

Okay, I completely understand! Just to clarify, by "monitor" I meant just keep track of how atom-build calculates the replacements. Because if the user's preBuild relies on what it thinks the replacements will be but then atom-build is changed such that e.g. FILE_ACTIVE has a slightly different format, their preBuild will break.

Sorry to bring this up again, but you do have a recommended way for the user to calculate e.g. FILE_ACTIVE_PATH, PROJECT_PATH, etc? Libraries such as fs and path cannot be imported in preBuild() functions, and I can't really think of another way.

Sorry to bring this up again, but do you have a recommended way of calculating e.g. FILE_ACTIVE_PATH? I tried simply copy-pasting the atom-build code into my preBuild function but am getting an error "path.dirname is not a function". It seems that the path library isn't being imported in a manner that makes it accessible to preBuild. Any ideas or workarounds besides forking atom-build?

You would have to import path or any other component you want. preBuild is simply called as any other function.
const path = require('path');
// or
import path from 'path';

should do it.

Thank you, the import method did not work but require('path') did.


YES tool — Hides checkboxes in a no-js environment

To check for supported JS environments, I'm checking for classList. The code makes use of passing multiple arguments to classList.add, which is not supported by IE 11. If there is a more standard feature to check for,  I'm happy to use that!
Additions

Add no-js class to main element
Add u-js-only classes to each check box.

Removals

Changes

Testing

Either load the page using IE 11 or lower, or remove the check for classList on line 37 of this project's index.html file.

Each of the 'I'm not sure' checkboxes in the image below should be hidden:

Screenshots
Notes

Todos

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the CFPB development guidelines
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Browsers

[ ] Chrome on desktop
[ ] Firefox
[ ] Safari on macOS
[ ] Edge
[ ] Internet Explorer 9, 10, and 11
[ ] Safari on iOS
[ ] Chrome on Android

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

@anselmbradford classList.add is supported in IE11, but passing multiple arguments to it, e.g. add('u-mt0', 'u-hidden') is not. See this link

Having said that, I think we need to check for another feature to determine if we should disable js, thoughI'm not sure which.

classList.add is supported in IE11, but passing multiple arguments to it, e.g. add('u-mt0', 'u-hidden') is not.

I'm not totally clear… don't you need to support IE11? If you do need to support IE11, I would say refactor to add the classes individually. If not, then the structure you have is fine, but you're right only checking classList on document.body will pass in IE11.

I guess I'm confused....doesn't the current codebase resort to serving just the no-js scripts in the case of IE 11? Or do all of your tools / apps / etc support IE 11?

I guess I'm confused....doesn't the current codebase resort to serving just the no-js scripts in the case of IE 11? Or do all of your tools / apps / etc support IE 11?

IE11 should be supported. IE10 and below get served no-js, because of the check in https://github.com/cfpb/cfgov-refresh/blob/master/cfgov/v1/jinja2/v1/modernizr.html#L19-L21 (which isn't IE-specific, but checks features that legacy IE doesn't support, so is largely intended for those browsers).

@anselmbradford Ok! I made some changes and tested this in VirtualBox, I think the behavior is correct now.


wrong resource name in latest FCS

in latest FCS .net standard built from sources, the resource name for FSStrings is wrong.

is FSharp.Compiler.Service.netstandard.FSStrings.resources, instead of FSStrings.resources, that cause a runtime error:
Unhandled Exception: Unhandled Exception: Unhandled error - WrappedError(Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "fsstrings.resources" was correctly embedded or linked into assembly "FSharp.Compiler.Service" at compile time, or that all the satellite assemblies required are loadable and fully signed.)
    at Microsoft.FSharp.Compiler.Lexhelp.reusingLexbufForParsing[a](LexBuffer`1 lexbuf, FSharpFunc`2 f)
   at Microsoft.FSharp.Compiler.SourceCodeServices.Parser.parseFile(String source, String fileName, FSharpParsingOptions options, String userOpName)
   at <StartupCode$FSharp-Compiler-Service>.$Service.ParseFile@2432.Invoke(Unit unitVar)
   at Microsoft.FSharp.Control.AsyncBuilderImpl.callA@839.Invoke(AsyncParams`1 args)
System.AggregateException: One or more errors occurred. (WrappedError(Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "fsstrings.resources" was correctly embedded or linked into assembly "FSharp.Compiler.Service" at compile time, or that all the satellite assemblies required are loadable and fully signed.)) ---> Microsoft.FSharp.Compiler.ErrorLogger+WrappedError: WrappedError(Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "fsstrings.resources" was correctly embedded or linked into assembly "FSharp.Compiler.Service" at compile time, or that all the satellite assemblies required are loadable and fully signed.)
   at Microsoft.FSharp.Compiler.Lexhelp.reusingLexbufForParsing[a](LexBuffer`1 lexbuf, FSharpFunc`2 f)
   at Microsoft.FSharp.Compiler.SourceCodeServices.Parser.parseFile(String source, String fileName, FSharpParsingOptions options, String userOpName)
   at <StartupCode$FSharp-Compiler-Service>.$Service.ParseFile@2432.Invoke(Unit unitVar)
   at Microsoft.FSharp.Control.AsyncBuilderImpl.callA@839.Invoke(AsyncParams`1 args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.FSharp.Control.AsyncBuilderImpl.commit[a](AsyncImplResult`1 res)
   at Microsoft.FSharp.Control.CancellationTokenOps.RunSynchronouslyInCurrentThread[a](CancellationToken token, FSharpAsync`1 computation)
   at Microsoft.FSharp.Control.CancellationTokenOps.RunSynchronously[a](CancellationToken token, FSharpAsync`1 computation, FSharpOption`1 timeout)
   at Microsoft.FSharp.Control.FSharpAsync.RunSynchronously[T](FSharpAsync`1 computation, FSharpOption`1 timeout, FSharpOption`1 cancellationToken)
   at <StartupCode$FsAutoComplete-Core>.$Commands.clo@90-13.Invoke(String file) in D:\Programowanie\ionide\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete.Core\Commands.fs:line 104
   at Microsoft.FSharp.Collections.ArrayModule.Parallel.Iterate@1314.Invoke(Int32 obj)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.<ForWorker>b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.<ForWorker>b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException)
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, Action`1 body)
   at Microsoft.FSharp.Collections.ArrayModule.Parallel.Iterate[T](FSharpFunc`2 action, T[] array)
   at <StartupCode$FsAutoComplete-Core>.$Commands.clo@88-12.Invoke(Unit unitVar) in D:\Programowanie\ionide\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete.Core\Commands.fs:line 90
   at Microsoft.FSharp.Control.AsyncBuilderImpl.callA@839.Invoke(AsyncParams`1 args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.FSharp.Control.CancellationTokenOps.Start@1292-1.Invoke(ExceptionDispatchInfo edi)
   at <StartupCode$FSharp-Core>.$Control.loop@425-51(Trampoline this, FSharpFunc`2 action)
   at Microsoft.FSharp.Control.Trampoline.ExecuteAction(FSharpFunc`2 firstAction)
   at <StartupCode$FSharp-Core>.$Control.-ctor@509-1.Invoke(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
System.AggregateException: One or more errors occurred. (WrappedError(Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "fsstrings.resources" was correctly embedded or linked into assembly "FSharp.Compiler.Service" at compile time, or that all the satellite assemblies required are loadable and fully signed.)) ---> Microsoft.FSharp.Compiler.ErrorLogger+WrappedError: WrappedError(Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "fsstrings.resources" was correctly embedded or linked into assembly "FSharp.Compiler.Service" at compile time, or that all the satellite assemblies required are loadable and fully signed.)
   at Microsoft.FSharp.Compiler.Lexhelp.reusingLexbufForParsing[a](LexBuffer`1 lexbuf, FSharpFunc`2 f)
   at Microsoft.FSharp.Compiler.SourceCodeServices.Parser.parseFile(String source, String fileName, FSharpParsingOptions options, String userOpName)
   at <StartupCode$FSharp-Compiler-Service>.$Service.ParseFile@2432.Invoke(Unit unitVar)
   at Microsoft.FSharp.Control.AsyncBuilderImpl.callA@839.Invoke(AsyncParams`1 args)

Probably we should set the LogicalName in https://github.com/Microsoft/visualfsharp/blob/379da2367f5a9f155bfb60250a23d739d133117f/fcs/FSharp.Compiler.Service.netstandard/FSharp.Compiler.Service.netstandard.fsproj#L82-L84
Affect the EmbeddedResource, the FsSrGen like FSIStrings are ok.
because RootNamespace is not supported? (ref https://github.com/Microsoft/visualfsharp/issues/1051 )

RootNamespace is fixed with opt in useStandardResourceNames

that may expain why fails on .net standard (built by .net core sdk)
https://github.com/Microsoft/visualfsharp/blob/44fa027b308681a1b78a089e44fa1ab35ff77b41/src/fsharp/FSharp.Build/Microsoft.FSharp.NetSdk.props#L44

I think this must have been broken since at least last year, Im testing with a 2016 build now, all the 2017 builds are not xplat for reading resources.  i.e. the root namespace will be present fin a win build but not a nix one, so null stream when reading.

added PR #4151  to fix FCS meanwhile we find the root cause of this

@enricosada Thanks for the PR, I posted about this issue a few weeks back but didn't take the next logical step of submitting a PR, sorry about that. My vague recollection seems to be it started happening around the change from 2.0.2 to 2.0.3, but I could be wrong.


backend: Change instance fetch query to a join query

[Title: describe the change in one sentence]
Port instance fetching query to a join query
Testing done
Go to instance list view and try using filters and pagination to see whether the current approach of getting instance works and is similarly fast as the earlier approach

There is one small issue right now with the pr is the way it scans values into instance, I am facing some issues with StructScan right now will try to look into it tomorrow

Search without classifier

[x] Search by alias
[x] Search by id
[x] Search by ip
[ ] Search by date

Search With classifier

[ ] Search by alias
[ ] Search by id
[ ] Search by ip
[ ] Search by date


[WIP] compose: Enable typing indicators for streams

Testing Plan:
GIFs or Screenshots:

Note the series ending with 8b55a310f1753fb8a217ace9ca5a33cfff35d45d that I just merged to fix a bug in this code path that accidentally sent PM typing notifications for certain stream messages; it's relevant context.

Closing this since it didn't make much progress and has merge conflicts.


[dev-infra][build] Create a wrapper script for aws codebuild

Summary
build-aws.sh is a wrapper script which submits a build job to aws codebuild and tracks its progress. To submit a build, one needs to provide either the PR number or any valid git ref (commit id, branch name, etc)
Test Plan
Ran locally

@bors-libra delegate+

:v: @ankushagarwal can now approve this pull request

@bors-libra r=sausagee

:pushpin: Commit 5770fae has been approved by sausagee

:hourglass: Testing commit 5770faec1cc8f91c24d496423fd1582b0fb72ce8 with merge 26e72b7dc0eeb336a626b874780ecbd88716d4dc...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: sausagee
Pushing 26e72b7dc0eeb336a626b874780ecbd88716d4dc to master...


Monitoring information for Pod and Deployment cannot be obtained

Thank you very much for your contribution, which made it easy for me to install successfully. However, I can't get the monitoring information of Pod and Deployment. I don't know what went wrong because it all seemed normal. Docker version 1.13.1 Kubernets: 1.10.1 other components are the same as the version you provided.

I faced this problem too. During the deployment, there was no exceptoin.

I fixed my problem. You should update the monitor for kubelet like this for the 1.10 k8s:
https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/manifests/prometheus-serviceMonitorKubelet.yaml

@CodeMyWorld  the link that you shared does no longer exists.
Can you share how to solve this issue?


Feature request: add ability to prioritize or add a delay to grabbing the global name.

At the risk of adding a slight complexity to a great simple library.
I have two use cases where the default behavior is not optimal.

When adding a new machine to the cluster, on startup before other nodes are discovered grabbing the global name will eventually cause a name conflict and possibly unnecessarily kill the existing owner  that has been up for  some time.

In a cluster where there are mix of permanent instance and spot instances, I would prefer  permanent instances take priority over the spots.

My initial approach is to call a function in the child module (if defined), during the registration which can add a pause.    If this seems like a sane approach I will submit a pull request when done.

To solve case 1 I would recommend starting highlander lower in your supervision tree than your prices that is handling discovery and clustering. For the second case, I'm not quite sure what would be a reasonable solution, but perhaps if you solve #1 it won't be as pressing anymore.
It is easy enough to do these things in your own program so I don't see this being accepted as a PR to this library.

@derekkraan thanks for the response, and no problem not wanting a PR, as you mentioned there are several way I can solve this.


Can't download stl file for printing case

The link for downloading the stl file for 3D printing points to an external web site where I can't download any file.

If you sign in, you can download the .stl file.

I was signed in but there was no download button. But as I tried today the download button was visible. Perhaps it was a temporary issue on the web server.


Internal Server Error for Shielded Transaction Page

To Reproduce
Steps to reproduce the behavior:

Go to 'a shielded transaction page'
See error

Screenshots

Platform:

OS: Ubuntu 20.04
Browser v1.40.105 Chromium v103.0.5060.53

Additional context
Likely a problem with Orchard transactions or server error due to recent spike in shielded transactions.

This issue was fixed earlier.


🏎 Migrate Swift 4.2

Updating code to compile with Swift 4.2

I approve!

Thank you guys, I'm coming back to support this project. much apreciated!


Check ChainSyncClient for thunks

The chain sync client stores a tip, but is polymorphic in that tip, and
if there are thunks in that tip, we might leak. For our tests we are
using the example server from the network layer, which is however not
polymorphic in its tip type, but uses a non-strict pair. This PR
replaces that with a strict ExampleTip, and pushes that through.
The NoUnexpectedThunks test for our chain sync tests now passes.
@coot , are you okay with the changes to the network examples here?

bors r+


test: split up flaky test suite

Description of changes
This commit splits up the api.key.migration test suite into several smaller suites. This is a band aid fix to get the pipeline green until the source of the flakiness can be debugged.
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #8468 (427311f) into master (0584918) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8468   +/-   ##
=======================================
  Coverage   55.72%   55.72%
=======================================
  Files         709      709
  Lines       39605    39605
  Branches     8034     8034
=======================================
  Hits        22068    22068
  Misses      16734    16734
  Partials      803      803

Continue to review full report at Codecov.

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


Got Poetry could not find a pyproject.toml file in /github/workspace or its parents in a non-Python project

Heywhattup, I tried using this on a new Ruby on Rails project, just for play, and the workflow failed when invoking the action with: Poetry could not find a pyproject.toml file in /github/workspace or its parents. Does this action only intend to support Python projects?

It does appear to work now, tho now I am blocked by not having gpt-4 api access. Oh well. Let's see if I get thru that waitlist.

I've pushed a commit that lets you change the model.
Try setting model to gpt-3.5-turbo (as well as context_limit to 4096), let me know how it works.


Periodically clean up cached bundles directory

Currently the cached exploded bundles are never removed which can result in a lot of disk use after a few upgrades. We should make it so that cached bundles are periodically removed if they are either:

For versions lower than the active runtime version (regular bundles).
From bundles that are no longer present in configuration (regular and detached bundles).

There might be exception for the paratime clients (?):

For versions lower than the active runtime version (regular bundles).

Haven't checked this in the code yet, but (see excerpt from the docs; updating paratimes):

If you are running a client node, ParaTime state syncing will be performed regardless of the version installed.

That is related to syncing runtime transactions and state. Since we are using state diffs, there is no need to have the correct runtime version as the runtime logic itself is not involved during storage sync.

cached bundles are periodically  removed

I was thinking about keeping it simple i.e.:

Single clean-up during/after newRuntimeConfig to handle stale exploded bundles no longer in the config.
For versions lower then the current active one, doing a clean-up where the actual hosted runtime version changes (see) and also remove it from the hostConfig of the corresponding runtime registry?

Am I complicating and should simply watch WatchActiveDescriptor instead?
I am worried this might be bad idea if the runtime lags slighlty behind the consensus, or is this actually not possible by design?

Will hopefully have draft PR ready tmr :)

Single clean-up during/after

I would just make sure that this doesn't block initialization so while it should be fired on startup, it should be done in the background.

I am worried this might be bad idea if the runtime lags slighlty behind the consensus

What do you mean? To determine the active runtime version you only need to look at consensus (the active descriptor you mentioned). Runtimes and consensus are always in sync currently and once a version is deemed the active version, it can never revert to a version with a lower version number. So even if the node is behind, once a version is active in the consensus layer, you know that no earlier versions can ever activate for that runtime.


Cross-Edge-Cloud communication failed

What happened:
The Cross-Edge-Cloud test case provided in https://edgemesh.netlify.app/guide/test-case.html failed to pass.
[root@shanghai edgemesh-1.12.0]# kubectl exec -ti busybox-sleep-edge-675c5b84f8-bmcd6 -- sh
/ # telnet tcp-echo-cloud-svc.cloudzone 2701
telnet: bad address 'tcp-echo-cloud-svc.cloudzone'

What you expected to happen:
Edge pods can access cloud service
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
The edgemesh-agent info:
[root@shanghai ~]# kubectl get po -o wide -n kubeedge
NAME                   READY   STATUS    RESTARTS   AGE    IP            NODE       NOMINATED NODE   READINESS GATES
edgemesh-agent-2zxct   1/1     Running   0          2d6h   <IP_ADDRESS>   shanghai   <none>           <none>
edgemesh-agent-58rdt   1/1     Running   0          2d6h   <IP_ADDRESS>   edge1      <none>           <none>
edgemesh-agent-d7zv7   1/1     Running   0          2d6h   <IP_ADDRESS>   node1      <none>           <none>
edgemesh-agent-dx8t7   1/1     Running   0          2d6h   <IP_ADDRESS>   edge2      <none>           <none>
edgemesh-agent-f74df   1/1     Running   0          2d     <IP_ADDRESS>     edge3      <none>           <none>

The resolv.conf file in busybox-sleep-edge pod:
cat /etc/resolv.conf
nameserver <IP_ADDRESS>
search edgezone.svc.cluster.local svc.cluster.local cluster.local openstacklocal
options ndots:5

Some log in the edgemesh-agent:
I1010 14:11:20.890204       1 log.go:184] [INFO] <IP_ADDRESS>:52977 - 2 "AAAA IN tcp-echo-cloud-svc.cloudzone. udp 46 false 512" NXDOMAIN qr,rd,ra 121 0.052209701s
I1010 14:11:20.890668       1 log.go:184] [INFO] <IP_ADDRESS>:37848 - 3 "AAAA IN tcp-echo-cloud-svc.cloudzone.edgezone.svc.cluster.local. udp 73 false 512" NXDOMAIN qr,aa,rd 166 0.000227083s
I1010 14:11:20.890932       1 log.go:184] [INFO] <IP_ADDRESS>:37736 - 4 "AAAA IN tcp-echo-cloud-svc.cloudzone.svc.cluster.local. udp 64 false 512" NXDOMAIN qr,aa,rd 157 0.000116228s
I1010 14:11:20.891135       1 log.go:184] [INFO] <IP_ADDRESS>:48259 - 5 "AAAA IN tcp-echo-cloud-svc.cloudzone.cluster.local. udp 60 false 512" NXDOMAIN qr,aa,rd 153 0.000080203s
I1010 14:11:20.949602       1 log.go:184] [INFO] <IP_ADDRESS>:34899 - 6 "AAAA IN tcp-echo-cloud-svc.cloudzone.openstacklocal. udp 61 false 512" NXDOMAIN qr,rd,ra 136 0.058321129s
I1010 14:11:21.000222       1 log.go:184] [INFO] <IP_ADDRESS>:33599 - 7 "A IN tcp-echo-cloud-svc.cloudzone. udp 46 false 512" NXDOMAIN qr,rd,ra 121 0.050333411s
I1010 14:11:21.000624       1 log.go:184] [INFO] <IP_ADDRESS>:37327 - 8 "A IN tcp-echo-cloud-svc.cloudzone.edgezone.svc.cluster.local. udp 73 false 512" NXDOMAIN qr,aa,rd 166 0.000159778s
I1010 14:11:21.000847       1 log.go:184] [INFO] <IP_ADDRESS>:56653 - 9 "A IN tcp-echo-cloud-svc.cloudzone.svc.cluster.local. udp 64 false 512" NXDOMAIN qr,aa,rd 157 0.000085544s
I1010 14:11:21.001066       1 log.go:184] [INFO] <IP_ADDRESS>:55967 - 10 "A IN tcp-echo-cloud-svc.cloudzone.cluster.local. udp 60 false 512" NXDOMAIN qr,aa,rd 153 0.000096511s
I1010 14:11:21.055726       1 log.go:184] [INFO] <IP_ADDRESS>:48970 - 11 "A IN tcp-echo-cloud-svc.cloudzone.openstacklocal. udp 61 false 512" NXDOMAIN qr,rd,ra 136 0.054526477s

Environment:

EdgeMesh version: v1.12.0-dirty
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:32:32Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}

KubeEdge version(e.g. cloudcore --version and edgecore --version): v1.11.0

Cloud nodes Environment:

Hardware configuration (e.g. lscpu):
OS (e.g. cat /etc/os-release):
Kernel (e.g. uname -a):
Go version (e.g. go version):
Others:

Edge nodes Environment:

edgecore version (e.g. edgecore --version):
Hardware configuration (e.g. lscpu):
OS (e.g. cat /etc/os-release):
Kernel (e.g. uname -a):
Go version (e.g. go version):
Others:

Another problem occured: I test HTTP test case again, a connection reset error happened:
/ # curl hostname-svc:12345
curl: (56) Recv failure: Connection reset by peer

Interesting, I created another node egde3 which is located in a different subnet and when I execute telnet tcp-echo-cloud-svc.cloudzone 2701, it worked.
Somehow, I still couldn't make curl hostname-svc:12345 work on pods on edge3 node.

Can you print some edgemesh-agent logs when you exec curl hostname-svc:12345?

@Poorunga
The log of edgemesh-agent from client pod side:
I1012 17:44:03.179985       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
I1012 17:44:03.184605       1 loadbalancer.go:731] Dial libp2p network between coredns-7f6cbbb7b8-p94p4 - {udp shanghai <IP_ADDRESS>:53}
I1012 17:44:03.187717       1 tunnel.go:239] New stream between peer {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1012 17:44:03.441571       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge1 error: libp2p dial {tcp edge1 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1012 17:44:03.441698       1 tunnel.go:239] New stream between peer {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1012 17:44:03.946424       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge1 error: libp2p dial {tcp edge1 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1012 17:44:03.946548       1 tunnel.go:239] New stream between peer {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1012 17:44:04.947965       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge1 error: libp2p dial {tcp edge1 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1012 17:44:04.948076       1 tunnel.go:239] New stream between peer {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1012 17:44:06.953762       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge1 error: libp2p dial {tcp edge1 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
E1012 17:44:06.953814       1 proxysocket.go:98] "Failed to connect to balancer" err="failed to connect to an endpoint"

The edgemesh-agent log from hostname-edge pod side:
I1012 17:44:03.085064       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1012 17:44:03.086548       1 tunnel.go:369] max retries for dial
E1012 17:44:03.086561       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge1" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1012 17:44:03.338454       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1012 17:44:03.338998       1 tunnel.go:369] max retries for dial
E1012 17:44:03.339012       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge1" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1012 17:44:03.843240       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1012 17:44:03.843771       1 tunnel.go:369] max retries for dial
E1012 17:44:03.843782       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge1" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1012 17:44:04.844957       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1012 17:44:04.845481       1 tunnel.go:369] max retries for dial
E1012 17:44:04.845492       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge1" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused

Are your pod(<IP_ADDRESS>:9376) normal?

@Poorunga I cleared the old resources and do these examples again and found another problem.
First let me show you the pods information:
[root@shanghai edgemesh-1.12.0]# kubectl get po -o wide
NAME                                   READY   STATUS    RESTARTS   AGE     IP             NODE    NOMINATED NODE   READINESS GATES
alpine-test                            1/1     Running   0          7m1s    <IP_ADDRESS>   node1   <none>           <none>
hostname-edge-5cd47b65d5-bnwxl         1/1     Running   0          2m50s   <IP_ADDRESS>     edge3   <none>           <none>
hostname-lb-edge-5cdf5c758c-75jmp      1/1     Running   0          2m12s   <IP_ADDRESS>     edge1   <none>           <none>
hostname-lb-edge-5cdf5c758c-ccsqp      1/1     Running   0          2m12s   <IP_ADDRESS>     edge3   <none>           <none>
hostname-lb-edge-5cdf5c758c-pfkxx      1/1     Running   0          2m12s   <IP_ADDRESS>     edge2   <none>           <none>
net-tool-edge3                         1/1     Running   0          5m39s   <IP_ADDRESS>     edge3   <none>           <none>
nginx-https-84c9fc57f8-x9h56           1/1     Running   0          4m35s   <IP_ADDRESS>     edge3   <none>           <none>
tcp-echo-deployment-85654c8b8f-l2zg6   1/1     Running   0          4m12s   <IP_ADDRESS>     edge3   <none>           <none>
websocket-test                         1/1     Running   0          7m1s    <IP_ADDRESS>     edge3   <none>           <none>
ws-edge-5978d75769-g7bwh               1/1     Running   0          3m25s   <IP_ADDRESS>     edge3   <none>           <none>

All pods are ready.
Then I execute curl hostname-svc:12345 in alpine-test pod:
hostname-lb-edge-5cdf5c758c-pfkxx
/ # curl hostname-lb-svc:12345
hostname-lb-edge-5cdf5c758c-75jmp
/ # curl hostname-svc:12345
curl: (6) Could not resolve host: hostname-svc
/ # curl hostname-svc:12345
curl: (6) Could not resolve host: hostname-svc
/ #

I want to know what would happen if I execute curl hostname-svc:12345 on another pod, so I create net-tool-edge3 pod:
/ # curl hostname-lb-svc:12345
hostname-lb-edge-5cdf5c758c-pfkxx
/ # curl hostname-svc:12345
curl: (56) Recv failure: Connection reset by peer

As you can see, both alpine-test and net-tool-edge3 can access "hostname-lb-svc:12345", but alpine-test couldn't resolve the host and net-tool-edge3 report "connection reset by peer error".
I need to point it out: hostname-svc could be visited at first, but after I execute  kubectl apply -f examples/hostname-lb-random.yam , the probelm happened.
Here is the hostname-svc information:
[root@shanghai edgemesh-1.12.0]# kubectl describe svc hostname-svc
Name:              hostname-svc
Namespace:         default
Labels:            <none>
Annotations:       <none>
Selector:          app=hostname-edge
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              http-0  12345/TCP
TargetPort:        9376/TCP
Endpoints:         <IP_ADDRESS>:9376
Session Affinity:  None
Events:            <none>

In alpine-test pod I visited hostname-svc by ClusterIP, it also reported "connection reset by peer":
/ # curl <IP_ADDRESS>:12345
curl: (56) Recv failure: Connection reset by peer

Below is log from edgemesh-agent on node1(curl hostname-svc:12345):
I1013 16:56:38.961989       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:39.215957       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:39.216061       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:39.719907       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:39.720021       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:40.728933       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:40.729032       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:42.732067       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:42.732223       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:42.986407       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:42.986531       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:43.491382       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:43.491489       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:44.497737       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:44.497838       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:46.500768       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:46.500884       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:46.757748       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:46.757846       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:47.261121       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:47.261217       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:48.264556       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:48.264721       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:50.269990       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:50.270135       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:50.524043       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:50.524250       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:51.030072       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:51.030204       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:52.031481       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"
I1013 16:56:52.031584       1 tunnel.go:239] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:56:54.033281       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from shanghai error: read conn result msg from shanghai err: stream reset"

There is no log from edgemesh-agent on edge3.
Below is log from edgemesh-agent on node1(curl <IP_ADDRESS>:12345):
I1013 16:59:33.545830       1 tunnel.go:239] New stream between peer {12D3KooWRw7gVHcccnDsWsYtdMyipmg83zrLmNSNf4s1CCxHoayG: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:59:33.808234       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge3 error: libp2p dial {tcp edge3 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1013 16:59:33.808335       1 tunnel.go:239] New stream between peer {12D3KooWRw7gVHcccnDsWsYtdMyipmg83zrLmNSNf4s1CCxHoayG: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:59:34.320988       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge3 error: libp2p dial {tcp edge3 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1013 16:59:34.321127       1 tunnel.go:239] New stream between peer {12D3KooWRw7gVHcccnDsWsYtdMyipmg83zrLmNSNf4s1CCxHoayG: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:59:35.332130       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge3 error: libp2p dial {tcp edge3 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
I1013 16:59:35.332245       1 tunnel.go:239] New stream between peer {12D3KooWRw7gVHcccnDsWsYtdMyipmg83zrLmNSNf4s1CCxHoayG: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
E1013 16:59:37.343151       1 loadbalancer.go:683] "Dial failed" err="get proxy stream from edge3 error: libp2p dial {tcp edge3 <IP_ADDRESS> 9376} err: Proxy.type is FAILED"
E1013 16:59:37.343217       1 proxysocket.go:98] "Failed to connect to balancer" err="failed to connect to an endpoint"
I1013 16:59:40.258014       1 tunnel.go:118] [MDNS] Discovery found peer: {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.258197       1 tunnel.go:130] [MDNS] New stream between peer {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
I1013 16:59:40.261937       1 tunnel.go:175] Discovery service got a new stream from {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.262034       1 tunnel.go:204] [MDNS] Discovery from edge1 : {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.262073       1 tunnel.go:166] [MDNS] Discovery to edge1 : {12D3KooWC2TDds3pYR4HuNtrSdqezJx9wtvRoVHpsX59Gkp8YuUW: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.262122       1 tunnel.go:118] [MDNS] Discovery found peer: {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.262159       1 tunnel.go:130] [MDNS] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]} success
I1013 16:59:40.264758       1 tunnel.go:166] [MDNS] Discovery to shanghai : {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.264794       1 tunnel.go:118] [MDNS] Discovery found peer: {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20006 /ip4/<IP_ADDRESS>/tcp/20006]}
I1013 16:59:40.264842       1 tunnel.go:130] [MDNS] New stream between peer {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007]} success
I1013 16:59:40.267318       1 tunnel.go:166] [MDNS] Discovery to shanghai : {12D3KooWKZpxgSRMSMd6Favs6KBYbnBoA9X3fYq3dqgrKWQRWDvN: [/ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007 /ip4/<IP_ADDRESS>/tcp/20007]}

The log from edgemesh-agent on edge3:
I1013 08:59:34.658794       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1013 08:59:34.659542       1 tunnel.go:369] max retries for dial
E1013 08:59:34.659560       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge3" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1013 08:59:34.920378       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1013 08:59:34.920961       1 tunnel.go:369] max retries for dial
E1013 08:59:34.920976       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge3" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1013 08:59:35.432928       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1013 08:59:35.434232       1 tunnel.go:369] max retries for dial
E1013 08:59:35.434255       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge3" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused
I1013 08:59:36.443775       1 tunnel.go:289] Proxy service got a new stream from {12D3KooW9yF6fZvnMC3zxXSrxZSq1JM8otuwz7uTQ7FjNfKtFxVK: [/ip4/<IP_ADDRESS>/tcp/20006]}
E1013 08:59:36.444424       1 tunnel.go:369] max retries for dial
E1013 08:59:36.444443       1 tunnel.go:313] l4 proxy connect to type:CONNECT protocol:"tcp" node_name:"edge3" ip:"<IP_ADDRESS>" port:9376  err: dial tcp <IP_ADDRESS>:9376: connect: connection refused

Here is aother log from edgemesh-agent on edge3, this time both net-tool-edge3 and hostname-svc's endpoint are on the same node edge3:
I1013 09:01:38.175587       1 log.go:184] [INFO] <IP_ADDRESS>:59059 - 45954 "AAAA IN hostname-svc.default.svc.cluster.local. udp 56 false 512" NOERROR qr,aa,rd 149 0.000104469s
I1013 09:01:38.175626       1 log.go:184] [INFO] <IP_ADDRESS>:59059 - 45764 "A IN hostname-svc.default.svc.cluster.local. udp 56 false 512" NOERROR qr,aa,rd 110 0.000146897s
E1013 09:01:38.175934       1 loadbalancer.go:683] "Dial failed" err="dial tcp <IP_ADDRESS>:9376: connect: connection refused"
E1013 09:01:38.175979       1 loadbalancer.go:683] "Dial failed" err="dial tcp <IP_ADDRESS>:9376: connect: connection refused"
E1013 09:01:38.176030       1 loadbalancer.go:683] "Dial failed" err="dial tcp <IP_ADDRESS>:9376: connect: connection refused"
E1013 09:01:38.176145       1 loadbalancer.go:683] "Dial failed" err="dial tcp <IP_ADDRESS>:9376: connect: connection refused"
E1013 09:01:38.176156       1 proxysocket.go:98] "Failed to connect to balancer" err="failed to connect to an endpoint"

You can try to telnet <IP_ADDRESS>  9376 on edge3, make sure pod is working normal.

the same problem!!!!

in master:
[root@master edgemesh]# kubectl get svc -n cloudzone NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE tcp-echo-cloud-svc   ClusterIP   <IP_ADDRESS>   <none>        2701/TCP   44m [root@master edgemesh]# [root@master edgemesh]# kubectl get pod -n cloudzone NAME                                   READY   STATUS    RESTARTS   AGE busybox-sleep-cloud-6765f49ffb-w7qwf   1/1     Running   0          46m tcp-echo-cloud-75bcbbf95b-wq44h        1/1     Running   0          46m [root@master edgemesh]#
in edge:
[root@edge ~]# BUSYBOX_CID=$(docker ps | grep k8s_busybox_busybox-sleep-edge | awk '{print $1}') [root@edge ~]# docker exec -it $BUSYBOX_CID sh / # telnet tcp-echo-cloud-svc.cloudzone 2701 telnet: bad address 'tcp-echo-cloud-svc.cloudzone' / # telnet <IP_ADDRESS> 2701 Welcome, you are connected to node master. Running on Pod tcp-echo-cloud-75bcbbf95b-wq44h. In namespace cloudzone. With IP address <IP_ADDRESS>. Service default.
`[root@edge ~]# docker exec -it 056023787cf1 sh

curl hostname-svc:12345
hostname-edge-84cb45ccf4-z7sv8
`

May i ask if you have solve this problem? I have met a silmilar problem.
[root@master ~]# kubectl exec -it alpine-test -- sh
/ # curl hostname-svc:12345
curl: (7) Failed to connect to hostname-svc port 12345 after 3076 ms: Host is unreachable

here is my pod env:
[root@master ~]# kubectl get all -n kubeedge -o wide
NAME                       READY   STATUS    RESTARTS       AGE   IP                NODE     NOMINATED NODE   READINESS GATES
pod/edgemesh-agent-4sd98   1/1     Running   1 (152m ago)   38h   <IP_ADDRESS>   node1    <none>           <none>
pod/edgemesh-agent-bqpt2   1/1     Running   3 (115m ago)   38h   <IP_ADDRESS>   master   <none>           <none>

NAME                            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS       IMAGES                            SELECTOR
daemonset.apps/edgemesh-agent   2         2         2       2            2           <none>          38h   edgemesh-agent   kubeedge/edgemesh-agent:v1.13.1   k8s-app=kubeedge,kubeedge=edgemesh-agent

And also my hostname-svc
[root@master ~]# kubectl describe svc hostname-svc
Name:              hostname-svc
Namespace:         default
Labels:            <none>
Annotations:       <none>
Selector:          app=hostname-edge
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              http-0  12345/TCP
TargetPort:        9376/TCP
Endpoints:         <IP_ADDRESS>:9376
Session Affinity:  None
Events:            <none>

the funny thing is that when i try to telnet <IP_ADDRESS>:9376 in node1. It reports that ;
[root@node1 lcy]# telnet <IP_ADDRESS>
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: Connection refused
[root@node1 lcy]# telnet <IP_ADDRESS>:0
telnet: <IP_ADDRESS>:0: Name or service not known
<IP_ADDRESS>:0: Unknown host

I have no idea about this thing.


Planning Scene transcription V2

@sea-bass @sjahr. This is at a reviewable stage. The planning scene transcription contains the following

Transcribes Box, Sphere, Cylinder primitives directly from the planning scene object (tested on box, yet to test on sphere and cylinder)
I tried going down the octomap road, but I could not see an obvious way of transcribing it in drake. Any thoughts?

I'll do the pre-commit stuff after any other changes you guys have in mind

@sea-bass @sjahr So I may have celebrated to soon,

There seems to be some thing I may be missing when it comes to reading the poses of the objects within planning scene into the scene_graph. Is there a transformation between I'm missing between the robot and the world. As far as the scene_graph is concerned, I make the robot spawn at world origin. There could be an initial transformation that I am missing?

Is there a transformation I'm missing between the robot and the world. As far as the scene_graph is concerned, I make the robot spawn at world origin. There could be an initial transformation that I am missing?

You could check the TF widget in RViz to see if there is something amiss there? But as far as world-robot transform is concerned, this should anyways come from the URDF and I would be surprised if this was it.
As another thing to look form maybe the scene objects are expressed with some other transform relative to world? @sjahr would know this better.

Actually from the screenshot it just seems like no transforms at all are being applied to the boxes in the Drake scene graph. Everything is at the origin with identity transform, far as I can tell?

I think the poses of individual "boxes" (four in this case) w.r.t the collision object frame of reference may be correct. I think there is some global transformation that is missing here. If that makes sense?

Is there a transformation I'm missing between the robot and the world. As far as the scene_graph is concerned, I make the robot spawn at world origin. There could be an initial transformation that I am missing?

You could check the TF widget in RViz to see if there is something amiss there? But as far as world-robot transform is concerned, this should anyways come from the URDF and I would be surprised if this was it.
As another thing to look form maybe the scene objects are expressed with some other transform relative to world? @sjahr would know this better.

Not sure about that because it works with the MoveIt planning scene, so I guess all transform should be known. Does the function you added fix the issue @kamiradi ?

The function I added, changes Moveit/ROS coordinate system to Drake. I thought this would, but it didn't. I'll try printing the positions and debugging.

All right good news, the pose object coming in from the planning scene itself has pose.x, y, z = 0.0. Can you point me towards where in moveit's planning scene the object markers are being set. Because in RViZ it visualises it correctly, so maybe I can use whichever pose to do the same here?

Ok, solved! There was indeed an object pose that I was missing.


Hacktoberfest

Please review my pull request

@sahilsingh7735 Please review this. This time I created a new branch to make changes.

@roshan2152 now use bootstrap. Remove css file and use bootstrap.

@roshan2152 now use bootstrap. Remove css file and use bootstrap.

yeah sure, working on it!

@sahilsingh7735 Please verify this and if everything is fine then please merge my file in your repository with hacktoberfest label.

@sahilsingh7735 Please verify


Add: EventListener that listens for users leaving server

Similar to #44, except this time, the event listener listens for when a user leaves a server, and sends a message wishing them goodbye.

Hi, I'd like to work on this issue, could you assign it to me?

Sure! Assigned!

Is it ok if I follow the same structure as https://github.com/ACM-VIT/golly-bot/pull/58 for creating my message, or would that be considered plagiarism?

As the task is similar, the functions are bound to be similar. Its alright if the same structure is followed.


Simplify ESDL connection to Tulipa flows, and back

In ESDL 2 assets are connected via a transport asset, whereas Tulipa prefers direct connection between assets due to efficiency reasons.  We need to find:

[ ] #4
[x] ~vice versa, i.e. going from a Tulipa flow to a connection in ESDL using transport asset.~ (deal with this later)

I think the first step is determining what data Tulipa needs for the connection and where that data can be entered in the MapEditor.

For now I implemented what @datejada suggested here: https://github.com/TulipaEnergy/esdl4tulipa/issues/1#issuecomment-2205181967
Code wise, it's this:
https://github.com/TulipaEnergy/esdl4tulipa/blob/8bb50212b6a9d76e51113ce2fdcc1421ae9d20a4/src/esdl4tulipa/mapping.py#L67-L71
https://github.com/TulipaEnergy/esdl4tulipa/blob/8bb50212b6a9d76e51113ce2fdcc1421ae9d20a4/src/esdl4tulipa/mapping.py#L135-L140
The attributes you see above are the Tulipa names, and the ESDL names are recorded in the esdl_key method (click the link).  Essentially I skipped anything for which we haven't associated an ESDL attribute in the table in #1


How do you use attrs with TypeScript?

Hi, it's unclear how attrs should be used with TypeScript, I'm not sure if there's just a bug in the types. Here's what we've got so far, this is the only way to make the component definition work as expected, but then the component usage fails with the error [ts] Type 'string' is not assignable to type 'never'..
import styled from '../utils/mural-styled-components';

interface AdditionalProps {
  readonly size: string;
}

interface ChangedProps {
  readonly type: string;
  readonly margin: string;
  readonly padding: string;
}

const WeirdComponent = styled.input.attrs<AdditionalProps, ChangedProps>({
  // we can define static props
  type: 'password',

  // or we can define dynamic ones
  margin: (props) => props.size || '1em',
  padding: (props) => props.size || '1em',
})`
  color: palevioletred;
  font-size: 1em;
  border: 2px solid palevioletred;
  border-radius: 3px;

  /* here we use the dynamically computed props */
  margin: ${(props) => props.margin};
  padding: ${(props) => props.padding};
`;

import React from 'react';
export const X = () => (
  <WeirdComponent size="massive"/>
); // [ts] Type 'string' is not assignable to type 'never'.

Environment
## System:
 - OS: Linux 4.15 Linux Mint 19 (Tara)
 - CPU: x64 Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
 - Memory: 7.84 GB / 15.60 GB
 - Container: Yes
 - Shell: 4.4.19 - /bin/bash
## Binaries:
 - Node: 10.7.0 - ~/.nvm/versions/node/v10.7.0/bin/node
 - npm: 6.4.0 - ~/github/mural/node_modules/.bin/npm
## npmPackages:
 - styled-components: ^3.3.0 => 3.4.4

@Funkyskank, you should have offered a solution instead of 'same issue' :+1:

Hey folks, TS typings for styled-components have been moved to DefinitelyTyped, so please feel free to move your issue there where you'll receive better community support.

Reposted https://github.com/DefinitelyTyped/DefinitelyTyped/issues/28597

It works with me, as follows:
`
import React from 'react';
import styled from 'styled-components';
const Input = styled.input.attrs(({ size }): any => ({
// 定义静态属性
type: "password",
// 定义动态属性
margin: size || "1em",
padding: size || "1em"
}))`
color: palevioletred;
font-size: 1em;
border: 2px solid palevioletred;
border-radius: 3px;
/* 动态计算属性 */
margin: ${props => props.margin};
padding: ${props => props.padding};
`;
const CssInJs: React.FC = () => {
return (

)
}
export default CssInJs;
`

It works well with me, as follows:
import React from 'react';
import styled from 'styled-components';

const Input = styled.input.attrs(({ size }): any => ({
  // 定义静态属性
  type: "password",

  // 定义动态属性
  margin: size || "1em",
  padding: size || "1em"
}))`
  color: palevioletred;
  font-size: 1em;
  border: 2px solid palevioletred;
  border-radius: 3px;

  /* 动态计算属性 */
  margin: ${props => props.margin};
  padding: ${props => props.padding};
`;

const CssInJs: React.FC = () => {
  return (
    <div>
      <Input placeholder="A small text input" size="1em" />
      <Input placeholder="A bigger text input" size="2em" />
    </div>
  )
}

export default CssInJs;

The above didn't work for me, but this did.
export const Job = styled(Button).attrs<{}>({   type: Button.TYPES.PLAIN, })``

If you need props inside your component and need to type those with a generic, you can use this pattern:
export const Item = styled.View.attrs<ItemProps>({
  pointerEvents: ({ show }) => (show ? 'auto' : 'none'),
  ...other attrs
})<ItemProps>`
  opacity: ${({ show }) => (show ? '1' : '0')};
  ...other styles
`;

@chasms solution works great, although the IDE stops highlighting the CSS chunk.
An alternative is to move the type of the props inside the attrs() call, although only works with the specific props on the interface and not the default ones (unless you specify the whole & React.DetailedHTMLProps etc).

@chasms
interface BtnProps {
  variant: string;
  size: string;
  mr: number;
}

const Btn = styled(Button).attrs<BtnProps>(({ variant, size }) => ({
  forwardedAs: Link,
  size: size ?? 'md',
  variant: variant ?? 'primary'
}))<BtnProps>`
  color: white;
  margin-right: ${({ mr }) => mr ?? '10px'};
  &:hover {
    color: white;
  }
`;

Seems like TS doesn't check type of mr variable. Does it work at all?

Hi I find a way for people who want to keep css intelisense.
type TSPolygon = {
   originHex: TPoint;
   cube: TCube;
   sizeHex: number;
   pathname: string;
};

const Hex = styled.polygon<THex>`
   fill: ${({ theme, pathname }) => theme.colors[pathname]};
   stroke: ${({ theme }) => theme.colors.white};
   transform: rotate(0deg);
   transform-origin: center;
   stroke-width: 2;
`;

export const Hexagon = styled(Hex).attrs<THex>(
   ({ points }) => ({
      points: points,
   })
)(Hex);

If you need props inside your component and need to type those with a generic, you can use this pattern:
interface ItemProps {
  show: boolean;
}

const Item = styled.View.attrs<ItemProps>(
  ({ show }) => ({
    pointerEvents: ({ show }) => (show ? 'auto' : 'none'),
    ...other attrs,
  })
)<ItemProps>`
  opacity: ${({ show }) => (show ? '1' : '0')};
  ...other styles
`;

Great solution, thanks!
But this works perfectly, until we don't have custom component (not a View). That's the situation when TS errors appears.
for example when we use this
 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

If you need props inside your component and need to type those with a generic, you can use this pattern:
interface ItemProps {
  show: boolean;
}

const Item = styled.View.attrs<ItemProps>(
  ({ show }) => ({
    pointerEvents: ({ show }) => (show ? 'auto' : 'none'),
    ...other attrs,
  })
)<ItemProps>`
  opacity: ${({ show }) => (show ? '1' : '0')};
  ...other styles
`;

Great solution, thanks!
But this works perfectly, until we don't have custom component (not a View). That's the situation when TS errors appears.
for example when we use this
 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

You will need to make sure that show exists and is typed properly on the Props interface for AnotherItem

 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

You will need to make sure that show exists and is typed properly on the Props interface for AnotherItem

 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

You will need to make sure that show exists and is typed properly on the Props interface for AnotherItem

This is what i need to avoid. Because i want to add this prop only for styles, not to a component at all.
Like working with interface
interface iSome {
    show: boolean;
}
const Some = styled.View<iSome>`
    background: ${({ show }) => show ? 'black' : 'white'};
`

 const Item = styled(AnotherItem).attrs<ItemProps>(.......)``;

<Item  show={isShow} />

we have got an error Property 'show' does not exist on type 'IntrinsicAttributes &....
Any idea?

You will need to make sure that show exists and is typed properly on the Props interface for AnotherItem

This is what i need to avoid. Because i want to add this prop only for styles, not to a component at all.
Like working with interface
interface iSome {
    show: boolean;
}
const Some = styled.View<iSome>`
    background: ${({ show }) => show ? 'black' : 'white'};
`

Solved!
I was a bit inattentively, and forgot to add return type in the end :)
// in the end
 const Item = styled(AnotherItem).attrs<ItemProps>(.......)<ItemProps>``;

<Item  show={isShow} />

Solved!
I was a bit inattentively, and forgot to add return type in the end :)
// in the end
 const Item = styled(AnotherItem).attrs<ItemProps>(.......)<ItemProps>``;

<Item  show={isShow} />

The answer everybody was looking for
`
import styled from 'styled-components'
const Container = styled.div.attrs<
{ size: number }, // What is consumed by .attrs()
{ width: number, height: number } // What comes out of .attrs()

((props) => {
return {
width: props.size,
height: props.size,
}
})<{ size: number }> // The outer type
      width: ${props => props.width}px;       height: ${props => props.width}px;

const container =
`

can we make it a bit messier?

I'm having a problem while trying to use it with FlatList, this is my code for the Styled FlatList:
interface FlatListProps {   hasContent: boolean }
export const StyledFlatList = styled(FlatList as new () => FlatList<IInvoice>).attrs<FlatListProps>(({ hasContent }) => ({   contentContainerStyle: hasContent ?      { marginHorizontal: 16, marginTop: 36 } :      { height: '100%', justifyContent: 'center'} }))``;
But when I try to pass hasContent = {!!content.length} to it I get 'no overload matches this call', not sure if I'm missing something.

@fingerartur legend!

Thanks @fingerartur your solution is the closest to perfect. One little detail is that the return value of the keys in
return {
          width: props.size,
          height: props.size,
      }

are not type-checked. One can change width to with and TS would not complain. Any idea how to solve this?

Found a little bit smaller version of fingerartur answer
Difference is that we do need to pass second type, TS will take care of it, and pass 1st type before .attr
`  import styled from 'styled-components'
const Container = (styled.div<{ size: number }>).attrs((props) => {
return {
width: props.size,
height: props.size,
}
})<{ size: number }> // The outer type
      width: ${props => props.width}px;       height: ${props => props.width}px;
const container = `


Is this project abandoned?

There were no updates for months and the technical report or more information on the training data were not published yet. So is this project abandoned? If yes, can you provide any insights on the decision?

Issues being inactive isn't promising :(

Nope, not abandoned, just the team has been heads down working rather than looking at things like the github, sorry about that. In the time between when this was asked and now the team released a new StableLM-3B that's so good it competes with 7B models!


Styling discrepancies ofirkai vs sublime-text 4

First off, thank you for this excellent theme, this is the closest to sublime's own monokai that I've seen anyone get.
I noticed that there are a few subtle differences in coloring of keywords, function definitions asf (see screenshots). Being completely unknowledgeable about customizing/theming/highlighting in neovim I have to ask: Is this a conscious decision/treesitter thing/a setting I missed/forced by some other aspect outside of your control or are these simply bugs? If it's the first, then so be it, it's still an excellent theme, but if it is the latter, i'd like to perhaps offer my help in fixing them.
sublime

neovim/ofirkai

Hey, I'm glad you enjoy the theme. There are some discrepancies, some due personal preferences some due how treesitter works, you can always customize your own highlight groups on top of ofirkai.

That's what I thought, thanks for confirming!

For reference, I'll add my custom highlight groups here if anybody stumbles across this issue. I've tested this with python and the only discrepancies left I could find was the @ operator being blue in decorators and the pass keyword being blue as well.
local scheme = require("ofirkai").scheme
require('ofirkai').setup({
  custom_hlgroups = {
        ['@constant'] = {
      fg = scheme.aqua,
    },
        ['@function'] = {
      fg = scheme.green,
    },
        ['@keyword'] = {
      fg = scheme.aqua,
    },
<EMAIL_ADDRESS>= {
      fg = scheme.aqua,
    },
        ['@method'] = {
      fg = scheme.green,
    },
  }
})


ComboBox does not clear after insert new Token

The ComboBox Value is not cleared after adding a new Token which is not already known and inserted before.
Currently I did some tests but nothing helped me to clear the input in a good.
Would be nice if anyone has an idea to fix these bug.

This is really strange. If I add addTokenAddNewItemListener  and advancedTokenField.getInputField().clear()   in it, it doesn't change nothing. BUT in debug mode with breakpoint on advancedTokenField.getInputField().clear(); it stays cleared. Strange.

yes, I still couldn't fix this bug, still confusing

still not found a good working solution ❌

I think it'll replace it with the searchfield addon soon


Shaders do not compile in Unity 2022.3.5f1

I'm using UnityGLTF 2.13.0 and when I try to compile PBRGraph it ends with errors:

UnityGLTF/PBRGraph has too many Shader variants (2359296). To resolve this, go to Project Settings > Graphics and remove this Shader from the Always Included Shaders list. For more explicit control over how Unity includes specific Shader variants in a build, use a ShaderVariantCollection.

UnityGLTF/PBRGraph has too many Shader variants (1916928). To resolve this, go to Project Settings > Graphics and remove this Shader from the Always Included Shaders list. For more explicit control over how Unity includes specific Shader variants in a build, use a ShaderVariantCollection.

And a warning:

Shader warning in 'UnityGLTF/PBRGraph': pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them at Editors/2022.3.5f1/Editor/Data/CGIncludes/UnityCG.cginc(513) (on d3d11)
Compiling Subshader: 0, Pass: BuiltIn Forward, Fragment program with DIRECTIONAL FOG_EXP2 LIGHTPROBE_SH SHADOWS_SCREEN _ADDITIONAL_LIGHTS_VERTEX _VERTEX_COLORS_ON _VOLUME_TRANSMISSION_OFF
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PASS_FORWARDBASE UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON FOG_EXP FOG_LINEAR INSTANCING_ON LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING SHADER_API_GLES30 SHADOWS_SHADOWMASK UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _ADDITIONAL_OFF _BUILTIN_ALPHAPREMULTIPLY_ON _BUILTIN_ALPHATEST_ON _BUILTIN_AlphaClip _BUILTIN_SURFACE_TYPE_TRANSPARENT _CLEARCOAT_ON _IRIDESCENCE_ON _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN _SCREEN_SPACE_OCCLUSION _SHADOWS_SOFT _SPECULAR_ON _TEXTURE_TRANSFORM_ON _VOLUME_TRANSMISSION_ANDDISPERSION _VOLUME_TRANSMISSION_ON

Thanks. Unity seems to have changed how shader variants work (again!) in 2022.3 and we'll need to look at how we can work around that.

Hey,
we added with the latest release predefined ShaderVariantCollections, can you please try it with them?
One for BuildIn RP and one for URP/HDRP


IDeviceInfo ?

Firstly, thanks for making this!
Previously to the latest NuGet release, I was registering Acr.DeviceInfo into the Mvx container against the IDeviceInfo interface so that I can use DI in my view models.
After upgrading the NuGet package it appears DeviceInfo no longer implements this interface? Is there a suggested workaround?

Just noticed it looks like it's now IHardware that I want.. Will try that and will close this if it works

The DeviceInfo was split into IHardware (as you've found) and IAppInfo (for device info plus some new additions).  Battery and connectivity was added in 3.0, so this was done to prevent one massive interface.
I wanted all of these types of checks in one package instead of 5.  I'm open to suggestions on how to make this cleaner :)

Hmm. I'm still hitting issues - for some reason the app is still searching for IDeviceInfo.
Can I ask - are both these NuGet packages required in the Android project:
<package id="Acr.DeviceInfo" version="3.0.0" targetFramework="MonoAndroid403" />
  <package id="Acr.MvvmCross.Plugins.DeviceInfo" version="3.0.0" targetFramework="MonoAndroid403" />

What bootstrapping code do I need to add to my application (if any) or can I just add IHardware argument to my view model constructors and stuff should work without me adding any code to register stuff in the container?

The exception I am getting is (below) about not being able to load IDeviceInfo - but I haven't got any references to that in the code base anymore! Makes me think perhaps something old is being cached on the device. I'll try blatting the device and re-installing.
"Cirrious.CrossCore.Exceptions.MvxException: Could not load type 'Acr.DeviceInfo.IDeviceInfo' from assembly 'Acr.DeviceInfo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
---> System.TypeLoadException: Could not load type 'Acr.DeviceInfo.IDeviceInfo' from assembly 'Acr.DeviceInfo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.\n
 at Cirrious.CrossCore.Plugins.MvxPluginManager.ExceptionWrappedLoadPlugin (System.Type toLoad) [0x0002b] in <filename unknown>:0 \n  --- End of inner exception stack trace ---\n  at Cirrious.CrossCore.Plugins.MvxPluginManager.ExceptionWrappedLoadPlugin (System.Type toLoad) [0x00040] in <filename unknown>:0 \n
at Cirrious.CrossCore.Plugins.MvxPluginManager.EnsurePlatformAdaptionLoaded[PluginLoader] () [0x00021] in <filename unknown>:0 \n
at Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader.EnsureLoaded () [0x00005] in <filename unknown>:0 \n  at Cirrious.CrossCore.Plugins.MvxPluginManager.EnsurePluginLoaded (IMvxPluginLoader pluginLoader) [0x0005e] in <filename unknown>:0 \n
at Cirrious.CrossCore.Plugins.MvxPluginManager.EnsurePluginLoaded (System.Type type) [0x0007f] in <filename unknown>:0 \n
at Cirrious.CrossCore.Plugins.MvxPluginManager.EnsurePluginLoaded[PluginLoader] () [0x00000] in <filename unknown>:0 \n
at Cirrious.CrossCore.Plugins.MvxPluginBootstrapAction`1[Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader].Load (IMvxPluginManager manager) [0x00000] in <filename unknown>:0 \n
 at Cirrious.CrossCore.Plugins.MvxPluginBootstrapAction`1[Acr.MvvmCross.Plugins.DeviceInfo.PluginLoader].RunAction () [0x00006] in <filename unknown>:0 \n
at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.InternalSetResolver (System.Type tInterface, IResolver resolver) [0x0005c] in <filename unknown>:0 \n
 at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.RegisterSingleton (System.Type tInterface, System.Object theObject) [0x00008] in <filename unknown>:0 \n
at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.RegisterSingleton[IMvxPluginManager] (IMvxPluginManager theObject) [0x00000] in <filename unknown>:0 \n
at Cirrious.CrossCore.Mvx.RegisterSingleton[IMvxPluginManager] (IMvxPluginManager service) [0x00006] in <filename unknown>:0 \n  at Cirrious.MvvmCross.Platform.MvxSetup.InitializePluginFramework () [0x0001a] in <filename unknown>:0 \n
at Cirrious.MvvmCross.Platform.MvxSetup.InitializeSecondary () [0x00068] in <filename unknown>:0 \n  at Cirrious.MvvmCross.Droid.Platform.MvxAndroidSetupSingleton.<InitializeFromSplashScreen>b__5 (System.Object ignored) [0x00000] in <filename unknown>:0 "

Ok i have found the issue

So - installing the NuGet package into an Android project install this:

Looking at the code inside that loader dll it's doing this:

yeah - looking inside the NuGet package it looks like it's including an older / outdated version of the android plugin loader as per the above code. I'll downgrade for now, and I'll try again once this is fixed!

It looks like the mvx plugins didn't update properly.  I'll look into it.

Give that a try

Yep - that works now - thanks a lot


Tranformer Qualities describe upstream events, closes #4

Codecov Report
Base: 95.63% // Head: 95.46% // Decreases project coverage by -0.16% :warning:

Coverage data is based on head (da1e96a) compared to base (9cd8bca).
Patch coverage: 88.88% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #29      +/-   ##
============================================
- Coverage     95.63%   95.46%   -0.17%
- Complexity      481      484       +3
============================================
  Files           135      135
  Lines          1054     1059       +5
  Branches         32       32
============================================
+ Hits           1008     1011       +3
- Misses           40       42       +2
  Partials          6        6

Impacted Files
Coverage Δ

...nfidence/rxjava3/adapters/MaybeSubjectAdapter.java
100.00% <ø> (ø)

...ence/rxjava3/adapters/PublishProcessorAdapter.java
100.00% <ø> (ø)

...idence/rxjava3/adapters/PublishSubjectAdapter.java
77.77% <ø> (ø)

...fidence/rxjava3/adapters/SingleSubjectAdapter.java
87.50% <ø> (ø)

...gs/confidence/rxjava3/quality/TransformsMaybe.java
70.58% <40.00%> (ø)

...confidence/quality/composite/AllOfFailingFast.java
81.81% <50.00%> (-18.19%)
:arrow_down:

...otobugs/confidence/rxjava3/procedure/Complete.java
100.00% <100.00%> (ø)

...ugs/confidence/rxjava3/procedure/CompleteWith.java
100.00% <100.00%> (ø)

...saynotobugs/confidence/rxjava3/procedure/Emit.java
100.00% <100.00%> (ø)

...aynotobugs/confidence/rxjava3/procedure/Error.java
100.00% <100.00%> (ø)

... and 9 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Compiler output incorrect in first attempt at immutable iterator

I think I found a small bug in the book when we get to mutable iterators.

Whoops, you fix that just a few lines later! I guess I should read more :-P.
In that case, I get different compiler output than in the book, which I've put in this PR.

Thanks!


Study group 12

This does two things:

Create study group 12
Rename old study groups (according to jekyll date convention) to make them all appear in ordered

The dimension changes are intentional! (Taras sent me a new picture, and it looks good even though not perfectly square)


LinkMap Key inconsistency between insert and select

The Linkmap type supports key range lookups by writing queries like
SELECT map["1-10"] from X

But what if the key itself is "1-10"? this force us to convert all minus sign in our map's key to underscore  to avoid this behaviour.
If the key is "A-1" then the query will result in a NumberFormatException because "A" it's not a number
The following snippet rises the exception
CREATE CLASS Test;
CREATE CLASS TestMap;
CREATE PROPERTY Test.map LINKMAP TestMap;

INSERT INTO TestMap (name) VALUES ('ciao');
INSERT INTO Test (map) VALUES ({'A-1': <#RID of the previous record>});
SELECT map['A-1'] FROM Test;

the last line results in: java.lang.NumberFormatException: For input string: "A"
Would it be better if the parser could do exact key match if the key is between quotes  and perform range queries if the map key is not between quotes?
Ex
SELECT map["A-1"] from X

For an exact key match or:
SELECT map[1-3] from X

for a key range lookup?
(This could be linked also to #5588)
Regards

Hi @guglielmomoretti
it seems to be a bug, I'll look into it
Thanks
Luigi

Can someone provide a workaround for this? This one is biting me. For example; I'm unable to lookup java.util.UUID strings (ie: select map["8d2eb047-d372-45e7-b74f-050fda046b33"]).

Remove the dashes or hash it. This is the only workaround I found...
Il 11 feb 2017 12:47, "busbaby"<EMAIL_ADDRESS>ha scritto:

Can someone provide a workaround for this? This one is biting me. For
example; I'm unable to lookup java.util.UUID strings (ie: select
map["8d2eb047-d372-45e7-b74f-050fda046b33"]).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orientechnologies/orientdb/issues/5587#issuecomment-279138953,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACstYzhWnzALczqh1wNm669JelxfbO-Pks5rbZ_HgaJpZM4HC8Ym
.

Thanks for the quick reply. Unfortunately I only have read-only permission to this data.

Ok so there are no viable workaround for this. Unless this bug is fixed, there are no way of reading out  specific key if they are in the format you described...

I suppose one workaround would be to create a function to avoid using the range construct.
For example:
select MAPGET(map, "8d2eb047-d372-45e7-b74f-050fda046b33")

Hi all,
This issue is fixed in v 3.0 with the new SQL executor. I'm closing it
Thanks
Luigi


chore: Update dependencies

crossbeam is using #[repr(align(64))].  Going ahead and updating rustc since this is an end-binary and the oldest supported doesn't matter as much.


Bug Report: Organ Carousel Fails to Expand When Pressing Down Arrow

The organ carousel (the top pane) in the EUI fails to expand after clicking the down arrow. What you get is a blank space (See screenshot.) You would have to first click the right arrow to get the carousel to populate the space with organs.

OS: MacOS
Browser: Chrome

Yes, I've seen the same behavior and needs corrected.

@bherr2 Fix has been merged to develop


CLOUD-57785 extend logging with job info

@akanto

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2477/


Encapsulate Kit-specific TypeScript config behind extends

Describe the problem
Follow-up to the discussion in https://github.com/sveltejs/kit/pull/3064. The tsconfig.json that gets created with a new project has a variety of Kit-specific properties. It's fine, but it we add new config over time it won't be reflected in existing projects, and it feels a bit untidy/brittle to have things the kit.files.lib config be duplicated in the tsconfig.json paths config.
Describe the proposed solution
It might be better to have "extends": "[something]" where Kit-specific config is contained in [something]. The simplest version of this would be something along the lines of @sveltejs/kit/tsconfig, but that has the drawback of not being able to contain app-specific types (like aliases derived from svelte.config.js, or other generated types — #647). Extending from .svelte-kit/tsconfig.json is a possibility, but a) it's a bit ugly and b) it would only be created/updated when you were developing or building your app, which would mean squigglies in the meantime.
Alternatives considered
No response
Importance
nice to have
Additional Information
No response

closed via #4118


Configure ipc_mode or shm_size on container creation

For some flows that utilize multiprocessing for ML workloads, I need to run containers with increased shared memory available under /dev/shm (--shm_size) or use the host's namespace (--ipc_mode='host').  Looking through the code, I believe this would expand DockerWorkerJobConfiguration to include these two settings, which are available in Container.create.
Proposed additions:

Add ipc_mode and shm_size to DockerWorkerJobConfiguration, both defaulting to None to preserve default behavior.

@desertaxle

Thanks for the issue @geoffrp! I think this is a great opportunity to expose more configurability for the Docker worker so that we don't need to update the code each time a new parameter is needed.

I would tend to agree, lots of arguments to play with for custom containers.  Are you suggesting removing DockerWorkerJobConfiguration?  I'm assuming that this construct allows the UI to know what fields may be specified if not creating through the command line?

We'll need to expand DockerWorkerJobConfiguration to include a field that accepts an arbitrary dictionary of attributes passed directly to docker-py functions. This will allow users to modify the base job template of their work pools to suit their needs without requiring additional code changes to the DockerWorker.

@desertaxle Is there a prospective timeline for this feature?  I would be willing to assist if possible


Support 1012, 1013 and 1014 WebSocket status codes

Motivation:
RFC 6455 doesn't define status codes 1012, 1013 and 1014.
Yet, since then, IANA has defined them, web browsers support them, applications in the wild do use them but it's currently not possible to buid a Netty based client for those services.
From https://www.iana.org/assignments/websocket/websocket.xhtml:

1012: Service Restart
1013: Try Again Later
1014: The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.

Modification:
Make status codes 1012, 1013 and 1014 legit.
Result:
WebSocket status codes as defined by IANA are supported.

@slandelle can you add a unit test ?

@netty-bot test this please

@normanmaurer Any idea why the CI fails?

And your test case had some buffer leak:
https://github.com/netty/netty/pull/8661

Really sorry :(

@slandelle no worries... I fixed the leak and will merge once the CI passes. Just be careful next time ;)

And nope I will not rebase as this would mean I have to force push.

closing in favor of #8664


Docs.MS Release Updates for azure-quantum-jobs

Update docs metadata and targeting for release of azure-quantum-jobs

Docs Build status updates of commit 17021ac:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/quantum-jobs-readme.md
:warning:Warning
View (azure-node-preview)
Details

ci-configs/packages-preview.json
:white_check_mark:Succeeded

docs-ref-services/preview/quantum-jobs-readme.md

Line 0, Column 0: [Warning-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.
Line 73, Column 3: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/javascript/api/overview/azure/identity-readme?view=azure-node-latest#credentials. Otherwise, remove the view parameter.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@sima-zhu Can you help with the merge conflict here and also add a new node for Quantum?

@sima-zhu Can you help with the merge conflict here and also add a new node for Quantum?

Done with merge conflict.
Do we have any sdk dev to update the children node?
This is an example for text analytics.
https://github.com/MicrosoftDocs/azure-docs-sdk-node/blob/master/docs-ref-mapping/reference-unified.yml#L1346

Docs Build status updates of commit 400c577:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/quantum-jobs-readme.md
:warning:Warning
View (azure-node-preview)
Details

ci-configs/packages-preview.json
:white_check_mark:Succeeded

docs-ref-services/preview/quantum-jobs-readme.md

Line 0, Column 0: [Warning-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.
Line 73, Column 3: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/javascript/api/overview/azure/identity-readme?view=azure-node-latest#credentials. Otherwise, remove the view parameter.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Make Authors derive Debug, Clone and serialization.

All the other similar types seem to derive those traits, but not this one. It seems like it might have been an accidental omission.

Thanks!

Released in 0.8.2, sorry for the delay.


Add example of MIME from string

fixes #398

Thank you for the feedback. This is much simpler now!


[EventRequest] Codeunit 80 - ReverseAmount Function

AL Language : 0.12.17091
Dynamics Nav : 11.0.22292.0
We need for our customer to add new fields in the sales lines, some of these fields are amounts, and they should be reversed in the ReverseAmount function, so we need an event (OnAfterReverseAmount)  :
LOCAL ReverseAmount(VAR SalesLine : Record "Sales Line")
WITH SalesLine DO BEGIN
  "Qty. to Ship" := -"Qty. to Ship";
  "Qty. to Ship (Base)" := -"Qty. to Ship (Base)";
  .
  .
  .
  "Inv. Discount Amount" := -"Inv. Discount Amount";

  // New event request >>
  OnAfterReverseAmount(SalesLine);
  // New event request <<

END;

Signature :
LOCAL [IntegrationEvent] OnAfterReverseAmount(VAR SalesLine : Record "Sales Line")
Thank you
Kind Regards

The event already exists. Please make sure to always use a recent bcsandbox-master Docker image before filing new requests.


MAISTRA-2439: Prevent federation from exporting services that are not visible to the federation gateway

By taking into consideration the service annotation
networking.istio.io/exportTo.
This annotation restricts where this service is visible: https://istio.io/latest/docs/reference/config/annotations/
If a service is not reachable from the federation gateway namespace due
to this annotation, it should not be exported.

@dgn I'm not sure. Talking to @rcernich he said this would be the expected behavior. I mean, it's expected that users would understand this service would not be exported once they add such annotations.
That said, I think documentation is always good to have, even if "in obvious cases", right?

@dgn I'm not sure. Talking to @rcernich he said this would be the expected behavior. I mean, it's expected that users would understand this service would not be exported once they add such annotations.
That said, I think documentation is always good to have, even if "in obvious cases", right?

+1 I think it doesn't hurt creating the ticket, albeit with maybe lower Priority. If we don't get to writing that part, so be it