Incompatible with Python 3.11

I'm unable to pip install this package in a clean environment with Python 3.11 installed on my machine. The problem seems to be the dependency on scipy<=1.8.1. The maximum version (1.8.1) is only compatible with Python versions 3.8 - 3.10.
Scipy v1.6.1 is not flagged as incompatible with Python 3.11, and is the version picked automatically when I pip install balance. However, this fails with the error, metadata-generation-failed - which also seems to be a versioning issue. I suspect all versions of scipy prior to 1.9.0 are incompatible with Python 3.11.
Request: can you make the package compatible with scipy v1.10.0 please? (which installs in Python 3.11 with no problems)
Failing that, can anyone suggest any workarounds?

Hey @tomwagstaff-opml
This is an issue because of the dependancy of the IPW implementation on glmnet (which is getting to be old at this point).
We plan to move to sklearn by June, but that will take some time.
In the meantime, would using the package only with CBPS be good enough for your needs?
(Because if so, there is a hack we can discuss)

Hi @talgalili !
Thanks for your speedy response.
Understand the constraint, and looking around it looks like the easiest solution is probably for me to roll back to Python 3.9 or something, so I'm working on that...
Having said that - my main interest in the package was road-testing CBPS (although I wanted to try all the methods it offers). So if there's an (easy) hack I'd be all ears :-)

The hack (which I'm not sure how easy), is to fork the repo, manually change the setup.py to not restrict you to scipy 1.18, and then install the package from the fork.
You might also need to remove the dependancy on glmnet.
I haven't tried it, but I think it's worth a shot.
If you try it, could you please share how it went?
(P.s., whenever invoking sample.adjust you'll need to use method="cbps", since the default of "ipw" will not work)

For our iwn reference, solving this issue depends on solving:
https://github.com/facebookresearch/balance/issues/16

Adding to @talgalili's summary, the main reason we pinned the scipy dependency is that glmnet_python relies on several scipy libraries that were deprecated & moved in 1.9.0 (full release notes here). Top of mind, glmnet_python relies on
scipy.random at several code pointers
While resolving https://github.com/facebookresearch/balance/issues/16 would be the ideal mitigation, another route would be to migrate glmnet_python source to also support scipy 1.9.0+, e.g. migrating scipy.random to numpy.random. I submitted an issue at https://github.com/bbalasub1/glmnet_python/issues/64 for tracking this.

Thanks both - this all makes sense, and it doesn't sound quick or easy to address from your side (although I guess it's something you'll have to grapple with sooner or later). I'm happy to get hold of another version of Python to play with the package

Thanks @tomwagstaff-opml
The good news os that we continued to discuss this internally and we might have a dorection of how to monkey-patch this problem (thanks to the wonderful @stevemandala ).
It's still being tested. We'll update here once we find something that seems to work. (Hopefully today but it might only get to happen next week).
T

@tomwagstaff-opml great news:
@stevemandala just landed a patch to make balance support 3.11.
Could you please test to see if it works for you by installing it via:
python -m pip install git+https://github.com/facebookresearch/balance.git

And let us know how it goes?

Oh gosh - I just had IT roll back my Python installation! I'll see if I can create a 3.11 environment to test it - but either way, thanks very much for your efforts @stevemandala

Sorry @tomwagstaff-opml
We didn't expact @stevemandala to find a solution that fast :D

I've tried installing and I'm afraid it refused to install in Python 3.11 :-(
Just to recap what I did - after the rollback I got miniconda installed and created a Python 3.11 environment to test the package. I conda installed git, and then tried to pip install  balance as per your command. It fails to install, with this really weird character encoding error, so who knows if that's real or a red herring...
The good news is I created a Python 3.10 environment and successfully pip installed balance there - just from PyPi. I ran into the same error as below when I tried to install from GitHub, so maybe that's a clue as to where the problem is.
Cloning https://github.com/facebookresearch/balance.git to c:\users\twagstaff\appdata\local\temp\pip-req-build-feduampl
  Running command git clone --filter=blob:none --quiet https://github.com/facebookresearch/balance.git 'C:\Users\twagstaff\AppData\Local\Temp\pip-req-build-feduampl'
  Resolved https://github.com/facebookresearch/balance.git to commit c6f056f91a238b70cddccc97e685d6a654a91a63
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\twagstaff\AppData\Local\Temp\pip-req-build-feduampl\setup.py", line 90, in <module>
          setup_package()
        File "C:\Users\twagstaff\AppData\Local\Temp\pip-req-build-feduampl\setup.py", line 55, in setup_package
          long_description = fh.read()
                             ^^^^^^^^^
        File "C:\Users\twagstaff\AppData\Local\miniconda3\envs\balance_311\Lib\encodings\cp1252.py", line 23, in decode
          return codecs.charmap_decode(input,self.errors,decoding_table)[0]
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 1494: character maps to <undefined>
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

Thanks @tomwagstaff-opml
Just to double check, you used this code:
python -m pip install git+https://github.com/facebookresearch/balance.git
?

Yes indeed - well actually just the pip install... bit as I don't think I need to explicitly call python again once I'm in the environment

Fascinating. Especially given that it runs fine on gh actions under 3.11.
What I think we might do is later today release balance 0.3.0 (which should support 3.11). Once it gets to pypi I'll ping here again and you can try installing it through pypi.
Thanks for helping us debug this.

@tomwagstaff-opml As @talgalili mentioned, this should be resolved for PyPi installs with the new release. I also have a quick fix for the UnicodeDecodeError error as well, which was due to errors when decoding the utf-8 files on Windows: https://github.com/facebookresearch/balance/pull/28
This should fix the issue with builds from source directly
(Also want to echo Tal's thank you for your help raising and debugging these issues!)

@tomwagstaff-opml - update: we've now landed a fix that should make installing from github on windows possible again.
Would you please try to reinstall balance on 3.11 from your windows machine using the github repo?

I'm afraid that failed again, but I don't think it's on you.
The problem now is the dependency on pandas. If I try to conda install it, I'm told it's not available for Python 3.11 - I think that must be a specific issue with the conda repos because it's listed as compatible on PyPi.
If I try to pip install balance - and let pip take care of the pandas dependency - I'm prompted to install C++ first, which I'm afraid is an IT ticket too far for me 😅

Oh my.
@tomwagstaff-opml :
We currently require pandas<=1.4.3. Is the issue that we need to make sure we support pandas 1.5.0 or some other version?
(Please let us know - I'd be happy to open a ticket for this as well)

Ahh, I think it might be - I'm using pandas 1.4.3. in the Python 3.10 environment...

Ok, so it's not clear to me what's broken then :(
I suggest we leave this issue closed, and if you come across more issues - feel free to open new issues for them.


createCollectionDoc api in Autosave is too slow

Link to reproduction
https://payloadcms.com/
Describe the Bug

To Reproduce
source code locaiton:

Payload Version
1.11.1
Adapters and Plugins
No response

Hey @liulian-13 we will need a bit more to reproduce this issue. If you want to create a reproduction that behaves like this consistently please link it here. There could be too many things going on that might be affecting this, i.e. hooks, access control etc. But it is really hard to diagnose without a reproduction or more info. For now I am going to close this issue.
We can re-open it if you are able to come up with a reproduction, thanks!


Update link to be absolute, else it looks for a file within the repo

This PR is tiny and simple update to change a failing relative link to be an absolute link.
Thanks for the great intro! We're using this as a reference for a multi-container setup (also understanding that another way of doing this is coming soon). In any case, found a minor issue that causes a clickable link to fail for the NGC catalogue.
In browser the markdown style link to the NGC is interpreted as a regular file... so clicking it in some conditions takes you to a non-existent file:

Hi, thank you for pointing that out!
For docs in this repo we typically make changes in "docs" directory and it renders the README. I will make sure this change is included in the next round of documentation update.

Sounds good @AmeliaYe I've also submitted #51 with the corrected approach, if the small contribution is valuable. Feel free to do whatever is best for you!


[WIP] docs(type): Provides an initial documentation document for the Type component

The README is based on the structure in php-standard-library/php-standard-library.github.io so that it can be displayed on the website. We concluded to add documentation in this repo, so I am providing it here already.
Currently it's an initial draft aiming on explaining what the component can be used for.
It now covers:

Introduction
Converted type
Shape type

I am focussing on providing very detailed types and ideas on how to use them so that we maybe don't need to explain every single type in this package. (like int, float, ...)

great start! could you remove this from docs/documentor.php and add it in the readme template like the other ones: https://github.com/azjezz/psl/blob/next/docs/templates/README.template.md#components ? thanks!

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.781%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4377

Relevant Lines:
4431

💛  - Coveralls

The README is based on the structure in php-standard-library/php-standard-library.github.io so that it can be displayed on the website.

Not sure if we want to keep the same format, as people would most likely read this on GitHub and locally, so maybe we can come up with a better format/style for documentation?

Not sure if we want to keep the same format, as people would most likely read this on GitHub and locally, so maybe we can come up with a better format/style for documentation?

I can base it on the format in https://github.com/azjezz/psl/blob/next/src/Psl/Async/README.md ?

maybe? i don't know really. up to you :D

maybe? i don't know really. up to you :D

What do you think about current structure?
It's how I do it on my projects and it has some advantages:

No usage of lists, making it easier to maintain
Function names (and classes, ...) are level 4 headers that make it possible to link directly to that section of the page.
These titles can be used as anchors to the code so that you can easily look at it yourself
Separation is done with a --- gives you a clear indication where docs for that function stop.

I'm also trying to give it a consistent structure:

title
hack-style type information
What does assert / coerce act like
Optional example (if its worth adding)

I am still not sure about the format,...

Let me know if there is something specific you don't like, I can always change the format..


Getting errors in my Build pipeline - The missing file is ..\packages\EntityFramework.6.4.4\build\EntityFramework.props.

Hi,
I need some help with resolving build errors in my build pipeline for my application. But I'm not getting any build errors in my VS solution neither in "Debug" or "Release" mode. Please find the attached screenshots. The errors I'm getting are:

##[error]SPSDataFeedUI\SPSDataFeedUI.csproj(573,5): Error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\EntityFramework.6.4.4\build\EntityFramework.props.
##[error]SPSDataFeedUI\SPSDataFeedUI.csproj(573,5): Error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\EntityFramework.6.4.4\build\EntityFramework.props.
##[error]Process 'msbuild.exe' exited with code '1'.

Here is the link in azure devops - https://dev.azure.com/humana/Group and Dental Claims/_build/results?buildId=3206367&view=logs&j=275f1d19-1bd8-5591-b06b-07d489ea915a&t=4ece4734-eca2-579f-284e-f003ab72c447&l=89

Could you please help me in resolving this?
Thanks,
Surendra

You can reach out to me at<EMAIL_ADDRESS>(or<EMAIL_ADDRESS>Thanks.

This looks like it belongs to Azure DevOps support or to https://github.com/NuGet/Home.

Hi Surendra,
Did you get any solution this error as i am facing the same issue if you could help me on this it would be really helpful for me.
Regards
Raj

I didn't see this issue when it was new, but looking at it now, I can confidently say that the problem was that the build wasn't running nuget restore. While the dotnet CLI automatically runs restore as part of most commands (build, test, publish), msbuild does not. Therefore, if you're building your solution with msbuild, you need to run restore before build.  I strongly recommend running restore via MSBuild if you can (msbuild -t:restore -p:RestorePackagesConfig=true), otherwise you'll want to run the NuGetInstaller task (assuming you're on Azure Pipelines, as the original author of this issue is), and then nuget.exe restore path\to\my.sln.
This is what the error text's "Use NuGet Package Restore to download them" means. NuGet restore has not been run on the machine that the error is happening on. Note, this error can happen in some other edge case scenarios, like someone re-organizing the repo and moving project directories around. But in the screenshot from the original issue, I can see the build tasks on the left hand side, and nothing sounds like it ran nuget restore (there's a "use nuget" task, but completing in just 1 second doesn't seem like it ran restore, it must have done something else, like maybe the NuGetInstaller task setting up a specific version of nuget.exe, which isn't needed if you do MSBuild restore instead)

Well, the error message says "Use NuGet Package Restore to download them". Do you have nuget restore as part of your pipeline?  If you do and you're still having issues, we're going to need more information than "i am facing the same issue" to be able to figure out why.

Hi Andy
Like download build will update the code in testslave01 by referring
artifacts from Tool-Multione-RC-test-TestSuite job. So once completion of
the job will check the code in C:\ workspace
Tool-MultiOne-RC-test-specflowtest-test in testslave01 machine it should
automatically update the folder.
On Wed, 29 Mar 2023, 2:23 pm Rajdeep Singh, @.***> wrote:

On Wed, 29 Mar 2023, 1:07 pm Andy Zivkovic, @.***>
wrote:

Well, the error message says "Use NuGet Package Restore to download
them". Do you have nuget restore as part of your pipeline? If you do and
you're still having issues, we're going to need more information than "i am
facing the same issue" to be able to figure out why.
—
Reply to this email directly, view it on GitHub
https://github.com/NuGet/docs.microsoft.com-nuget/issues/2967#issuecomment-1488090358,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ZMNMTAPKI3X5CV7ESNVZTW6PRCPANCNFSM6AAAAAATDIGCUA
.
You are receiving this because you commented.Message ID: <NuGet/docs.
@.***>

I'm sorry, I didn't understand that at all.
A CI build script usually looks something like

Set up environemnt, such as clone repo, run any setup scripts, download/install tools needed for the build.
Run NuGet Restore
Build project
Run tests
pack/publish
after build steps, maybe like assembly/package signing, publish build artifacts, publish any additional logs.
Sometimes cleanup

something to keep in mind is that projects that use packages.config, the project files references package files in a "solution packages folder" (typically a directory named packages in the same directory as the solution file). Since it's in the same directory as the solution file, it's in the repo, but most source control settings exclude the packages directory from source control.  Hence, after cloning the repo, you still need to run restore. With msbuild, restore is not automatic, so your build scripts must explicitly do something to run restore.
If you're saying that your build have two phases, and the second phase uses a package created in the first phase, you still need something in the second phase to restore the package, so that it's 1. in the right location on disk and 2. it's extracted correctly, including some additional metadata that is generated on extraction, it's not part of the package contents.

Hi Andy,
Do you got any solution as I am really struggling with this if you got any
please let me know..
Thanks
On Wed, 29 Mar 2023, 1:07 pm Andy Zivkovic, @.***>
wrote:

Well, the error message says "Use NuGet Package Restore to download them".
Do you have nuget restore as part of your pipeline? If you do and you're
still having issues, we're going to need more information than "i am facing
the same issue" to be able to figure out why.
—
Reply to this email directly, view it on GitHub
https://github.com/NuGet/docs.microsoft.com-nuget/issues/2967#issuecomment-1488090358,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ZMNMTAPKI3X5CV7ESNVZTW6PRCPANCNFSM6AAAAAATDIGCUA
.
You are receiving this because you commented.Message ID: <NuGet/docs.
@.***>

Thank you for your reply like the error message is : the command
msbuild.exe exited with code 1 is there alternative of msbuild which we can
use.
On Thu, 30 Mar 2023, 12:34 pm Andy Zivkovic, @.***>
wrote:

I'm sorry, I didn't understand that at all.
A CI build script usually looks something like

Set up environemnt, such as clone repo, run any setup scripts,
download/install tools needed for the build.
Run NuGet Restore
Build project
Run tests
pack/publish
after build steps, maybe like assembly/package signing, publish
build artifacts, publish any additional logs.
Sometimes cleanup

something to keep in mind is that projects that use packages.config, the
project files references package files in a "solution packages folder"
(typically a directory named packages in the same directory as the
solution file). Since it's in the same directory as the solution file, it's
in the repo, but most source control settings exclude the packages
directory from source control. Hence, after cloning the repo, you still
need to run restore. With msbuild, restore is not automatic, so your build
scripts must explicitly do something to run restore.
If you're saying that your build have two phases, and the second phase
uses a package created in the first phase, you still need something in the
second phase to restore the package, so that it's 1. in the right location
on disk and 2. it's extracted correctly, including some additional metadata
that is generated on extraction, it's not part of the package contents.
—
Reply to this email directly, view it on GitHub
https://github.com/NuGet/docs.microsoft.com-nuget/issues/2967#issuecomment-1489798741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6ZMNMW3DSCPQR7YVFMKEFLW6UV6NANCNFSM6AAAAAATDIGCUA
.
You are receiving this because you commented.Message ID: <NuGet/docs.
@.***>

Hi Andy,
I tried adding the restore stage in my groovy script for nuget restore but it is not recognized and throwing this error do you have any idea how to add the  stage for restore nuget package  or syntax if yes please provide it will be a great help.
Started by user Administrator
Replayed #14
Running as Administrator
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] timestamps
[Pipeline] {
[Pipeline] node
15:53:09  Running on TestSlave01 in C:\workspace\Tool-MultiOne-RC-test-SpecFlowTest-Expert-Test
[Pipeline] {
[Pipeline] pwd
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] End of Pipeline
java.lang.NoSuchMethodError: No such DSL method 'Restore Package Stage' found among steps [VersionNumber, archive, bat, build, catchError, checkout, deleteDir, dir, dockerFingerprintFrom, dockerFingerprintRun, echo, emailext, emailextrecipients, envVarsForTool, error, fileExists, findBuildScans, getContext, git, input, isUnix, jiraComment, jiraIssueSelector, jiraSearch, junit, library, libraryResource, load, lock, mail, milestone, node, parallel, powershell, properties, publishChecks, publishHTML, publishIssues, pwd, pwsh, readFile, readTrusted, recordIssues, resolveScm, retry, scanForIssues, script, sh, sleep, stage, stash, step, svn, throttle, timeout, timestamps, tm, tool, triggerRemoteJob, unarchive, unstable, unstash, validateDeclarativePipeline, waitForQualityGate, waitUntil, warnError, withContext, withCredentials, withDockerContainer, withDockerRegistry, withDockerServer, withEnv, withGradle, wrap, writeFile, ws] or symbols [BearerTokenAuth, CredentialsAuth, NoneAuth, NullAuth, PVSStudio, TokenAuth, acuCobol, ajc, all, allBranchesSame, allOf, allowBrokenBuildClaiming, always, androidLintParser, ansibleLint, ant, antFromApache, antOutcome, antPath, antTarget, any, anyOf, apiToken, architecture, archiveArtifacts, armCc, artifactManager, authorizationMatrix, axivion, axivionSuite, batchFile, bitbucket, bitbucketBranchDiscovery, bitbucketForkDiscovery, bitbucketPublicRepoPullRequestFilter, bitbucketPullRequestDiscovery, bitbucketSshCheckout, bitbucketTagDiscovery, bitbucketTrustEveryone, bitbucketTrustNobody, bitbucketTrustProject, bitbucketTrustTeam, bitbucketWebhookConfiguration, bitbucketWebhookRegistration, booleanParam, branch, brokenBuildSuspects, brokenTestsSuspects, buckminster, buildButton, buildDiscarder, buildDiscarders, buildFailureAnalyzer, buildParameter, buildRetention, buildSelector, buildUser, buildingTag, cadence, cargo, caseInsensitive, caseSensitive, ccm, certificate, changeRequest, changelog, changeset, checkStyle, checkoutToSubdirectory, choice, choiceParam, clang, clangTidy, cleanWs, clock, cmake, codeAnalysis, codeNarc, command, compactAllStatuses, compactJobName, compactJobNameColor, compactLastStableAndUnstable, compactLastSuccessAndFailed, configFile, configFileProvider, coolflux, copyArtifactPermission, copyArtifacts, copyartifact, cpd, cppCheck, cppLint, credentials, cron, crumb, cssLint, culprits, defaultFolderConfiguration, defaultView, demand, detekt, developers, diabC, disableConcurrentBuilds, disableResume, docFx, docker, dockerCert, dockerfile, downstream, doxygen, drMemory, dscanner, dumb, dupFinder, durabilityHint, eclipse, email-ext, envInject, envVars, envVarsFilter, environment, equals, erlc, errorProne, esLint, excludeCategory, excludeFile, excludeMessage, excludeModule, excludeNamespace, excludePackage, excludeType, expression, file, fileParam, filePath, findBugs, fingerprint, fingerprints, flake8, flexSdk, frameOptions, freeStyle, freeStyleJob, fromScm, fromSource, fxcop, gcc, gcc3, gcc4, gendarme, ghsMulti, git, gitBranchDiscovery, gitHubBranchDiscovery, gitHubBranchHeadAuthority, gitHubExcludeArchivedRepositories, gitHubForkDiscovery, gitHubPullRequestDiscovery, gitHubSshCheckout, gitHubTagDiscovery, gitHubTrustContributors, gitHubTrustEveryone, gitHubTrustNobody, gitHubTrustPermissions, gitTagDiscovery, github, githubPush, globalConfigFiles, gnat, gnuFortran, goLint, goVet, gradle, groovy, groovyScript, headRegexFilter, headWildcardFilter, http, hyperlink, hyperlinkToModels, iar, iarCstat, ibLinter, ideaInspection, includeCategory, includeFile, includeMessage, includeModule, includeNamespace, includePackage, includeType, infer, inheriting, inheritingGlobal, installSource, intel, invalids, isRestartedRun, issues, istanbulCobertura, istanbulCoberturaAdapter, jacoco, jacocoAdapter, java, javaDoc, jcReport, jdk, jdkInstaller, jgit, jgitapache, jnlp, jobBuildDiscarder, jobDsl, jobName, jsHint, jsLint, junitTestResultStorage, klocWork, kotlin, ktLint, label, lastCompleted, lastDuration, lastFailure, lastGrantedAuthorities, lastStable, lastSuccess, lastSuccessful, lastWithArtifacts, latestSavedBuild, legacy, legacySCM, list, local, location, logRotator, loggedInUsersCanDoAnything, mailer, masterBuild, maven, maven3Mojos, mavenConsole, mavenErrors, mavenGlobalConfig, mavenMojos, mavenWarnings, metrowerksCodeWarrior, modelsim, modernSCM, msBuild, msbuild, msbuildError, msbuildWarning, mstest, myPy, myView, nagFortran, namedBranchesDifferent, newContainerPerStage, node, nodeProperties, nonInheriting, none, not, nunit, opencoverAdapter, overrideIndexTriggers, paneStatus, parallelsAlwaysFailFast, parameters, password, pattern, pcLint, pep8, perforce, perlCritic, permalink, permanent, php, phpCodeSniffer, phpStan, pipeline-model, pipeline-model-docker, pipelineTriggers, pit, plainText, plugin, pmdParser, pollSCM, prefast, preserveStashes, projectNamingStrategy, protoLint, proxy, pruneTags, publishCoverage, puppetLint, pyDocStyle, pyLint, qacSourceCodeAnalyser, queueItemAuthenticator, quietPeriod, rateLimit, rateLimitBuilds, recipients, recordIssues, requestor, resharperInspectCode, resourceRoot, retainOnlyVariables, rfLint, robocopy, ruboCop, run, runParam, sSHLauncher, scala, schedule, scmRetryCount, script, scriptApproval, scriptApprovalLink, search, security, shell, simian, simpleBuildDiscarder, skipDefaultCheckout, skipStagesAfterUnstable, slave, sonarQube, sourceFiles, sourceRegexFilter, sourceWildcardFilter, specific, sphinxBuild, spotBugs, ssh, sshPublicKey, sshUserPrivateKey, standard, status, string, stringParam, styleCop, sunC, suppressAutomaticTriggering, swapSpace, swiftLint, tag, tagList, taskScanner, taskingVx, teamSlugFilter, text, textParam, throttleJobProperty, tiCss, timestamper, timestamperConfig, timezone, tmpSpace, tnsdl, toolLocation, triggeredBy, tsLint, unsecured, untrusted, upstream, upstreamDevelopers, url, userSeed, usernameColonPassword, usernamePassword, viewsTabBar, vsTest, warnings, warningsParsers, warningsPlugin, weather, withAnt, withSonarQubeEnv, workspace, xlc, xmlLint, yamlLint, yuiCompressor, zip, zptLint] or globals [currentBuild, docker, env, params, pipeline, scm, simpleBuild]
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:216)
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:122)
at sun.reflect.GeneratedMethodAccessor1491.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:163)
at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:23)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:157)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:161)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:165)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:135)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
at WorkflowScript.run(WorkflowScript:7)
at cps.transform(Native Method)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:86)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:113)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:83)
at sun.reflect.GeneratedMethodAccessor238.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
at com.cloudbees.groovy.cps.Next.step(Next.java:83)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129)
at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268)
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:400)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:312)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:276)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
at java.util.concurrent.FutureTask.run(Unknown Source)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Finished: FAILURE


Should show grabbing the 'SelectedTime' Property in Example

I had to dig through the properties to find out how to grab the value from the control.  The sample should show retrieving the SelectedTime property from the control to make use of what the user has picked.

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

ID: 5ee0213d-5c88-91c6-f798-b958afa967f6
Version Independent ID: ad70d5cc-b447-2ecd-08d5-04391b96043b
Content: Time picker - Windows UWP applications
Content Source: windows-apps-src/design/controls-and-patterns/time-picker.md
Product: uwp
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Thanks for the feedback. The time picker doc has been updated with more information and examples.

Thanks @jwmsft. Just for my knowledge, do these changes get done elsewhere other than GitHub? I never seem to see PRs or commits referencing the original issue when they're getting closed.


osbuild/util/fscache: calculate actual size of files

In OSBuild we'll often be operating on sparse files. Let's make the tabulation of the size of files on disk used when determining cache size for pruning consider the actual size of the file usage on disk rather than the size the file reports to be.
This means using os.lstat().st_blocks * 512 versus os.lstat().st_size.
See https://stackoverflow.com/a/55203604

I'd be tempted to rename the function since it is no longer size, but space used. Should also update the docstring to make it clear it is only counting actually used blocks.

Thanks for this PR! I like the suggestion to handle sparse files better. I also like the idea of @bcl a lot to rename the helper to calculate_space (just to make a bit clearer what it's about). If we do this we should also change the semantic of the helper IMHO to include dirs. It's minor of course but feels more correct to me.
The tests also need updates and we need to be a bit careful here because of course the block size of the fs may (in theory at least) vary. And maybe info["size"] should also become info["space"] just to be consistent but maybe I'm overdoing it here :)
I attached a small draft of what I have in mind.
0001-util-tweak-_calculate_size-to-_calculate_space.patch.txt

I added your commit on top.

I added your commit on top.

Thank you! I overlooked one small issue in test_basic and pushed a fix to your branch (amended my original commit). Hope this is okay :)

I added your commit on top.

Thank you! I overlooked one small issue in test_basic and pushed a fix to your branch (amended my original commit). Hope this is okay :)

Perfectly fine. Thanks!

"All checks have passed!"


P672 Missing highlight

On the last forEach the first argument changed, so it needs proper highlighting.

Fixed, thanks!


Minimum required css? and width change?

Hi There!
 Altough I'm having a hard time getting
it to do what I want I still want this specific one for it's functionality greats looks and clear
design setup.
Some code (I think in the css) is messing with another div I already had on my site wich
is making it's width 100% or auto and changing it's bakcground to transparent (it's my top bar
dvi with menu) Is it possible for me to use all the needed css to achieve the demo look locally?
Second off, I need the entire upload plugin to have a width of around 600px instead of 940px
to fit into my site, how can I achieve this without muddeling with the fade in/outs and the upload
bars and stuff?
Any help ywould be very much appreciated!
Grtz,
Wolf

Y U NO answer my question? :{


Function Call Completion

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

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

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

@karthiknadig This seems to be a Jedi issue. Pylance does not run in this config. Related issue: https://github.com/cdr/code-server/issues/4327


Update particular calendar names

ATM I am adding calendars for Slovak dioceses, however, I don’t we ever defined the filename and class naming rules.
Based on the current filenames and class names, I suggest to used the following rules:

particular calendar filenames:

use ${continent}.${subcontinent}.${region}.${country}.${dioceseCity}.${parishCity}.${parishName}.${churchName}.ts format for filenames of particular calendars, where:

continent: is the continent name:

america for North/Central/South Americas;
africa;
eurasia for Asia and Europe;
australia for Australia and Oceania;
antarctica for Antartica;

subcontinent: is the subcontinent name;

north-america;
central-america;
south-america;
europe;
asia;

region: for regional calendars (like Austria-Germany-Switzerland);
country: is the country name;
dioceseCity: is the diocese seat (city) name;
parishCity: parish city/town/vilage name;
parishName: parish name (patronage) when there are multiple parishes in a city/town/vilage;
churchName: a church name when a particular celebration is celebrated in a parcticular church only;

each part (one of the six format items of a filename) should be in kebab-case;

particular calendar class names:

same format but with underscores instead of dots and without .ts extension should be used for class names in particular calendars (i.e. ${continent}_${subcontinent}_${region}_${country}_${dioceseCity}_${parishCity}_${parishName}_${churchName});
each part (one of the six format items of a filename) should be in PascalCase/UpperCamelCase;

additional rules and notes:

we should omit any level as needed, based on the calendar inheritance of the particular calendar;
I decided to combine Americas, and Asia and Europe to America and Eurasia for simplicity purposes, because:

[America] some celebrations are celebrated thoughout Americas, others only in North/Central/South Americas (AFAIK);
[Eurasia] there are separate patrons of European and Asian part of Russia, thus Russia should be part of both Europe and Asia (in national calendar; thus eurasia.russia.ts), however on regional level (diocese, parish) it should be part of either Asia or Europe only (thus eurasia.europe.russia.ts or eurasia.asia.russia.ts):

this is not ideal; @emagnier, you might come up with a better solution;
if we won’t find a better solution, then (either):

we should add a way to to exclude a calendar from inheritance;
simply inherit from calendars based on the calendar name (either filename of class name) or explicitly define from which calendar should a calendar should inherit;

Examples

[continent] americas.ts → america.ts (class name: America);
[continent] europe.ts → eurasia.europe.ts (Eurasia_Europe);
[country] argentina.ts → america.south-america.argentina.ts or america.argentina.ts (America_SouthAmerica_Argentina or America_Argentina);
[country] australia.ts → australia.australia.ts (Australia_Australia);
[country] russia.ts → eurasia.russia.ts (Eurasia_Russia);
Archdiocese of Moscow, Russia → eurasia.europe.russia.moscow.ts (Eurasia_Europe_Russia);
[country] slovakia.ts → eurasia.europe.slovakia.ts (Eurasia_Europe_Slovakia);
[diocese] slovakia.bratislava.ts → eurasia.europe.slovakia.bratislava.ts (Eurasia_Europe_Slovakia_Bratislava);
[diocese] slovakia.banska-bystrica.ts → eurasia.europe.slovakia.banska-bystrica.ts (Eurasia_Europe_Slovakia_BanskaBystrica);
[country: diocese: parish] slovakia.banska-bystrica.cathedral.ts → eurasia.europe.slovakia.banska-bystrica.cathedral.ts (Eurasia_Europe_Slovakia_BanskaBystrica_Cathedral);
[country: diocese: parish: church in parish] slovakia.bratislava.martin-of-tours.cathedral.ts → eurasia.europe.slovakia.bratislava.martin-of-tours.cathedral-of-saint-martin-of-tours.ts (Eurasia_Europe_Slovakia_Bratislava_MartinOfTours_CathedralOfMartinOfTours);
[country] france.ts → eurasia.europe.france.ts (Eurasia_Europe_France);
[diocese] france.paris.ts → eurasia.europe.france.paris.ts (Eurasia_Europe_France_Paris);
[diocese] france.strasbourg.ts → eurasia.europe.france.strasbourg.ts (Eurasia_Europe_France_Strasbourg);
[diocese] france.saint-denis.ts → eurasia.europe.france.saint-denis.ts (Eurasia_Europe_France_SaintDenis);
[country] scotland.ts → eurasia.europe.united-kingdom.scotland.ts or (when there is no united-kingdom regional calendar) eurasia.europe.scotland.ts (Eurasia_Europe_UnitedKingdom_Scotland or Eurasia_Europe_Scotland);
[country] wales.ts → eurasia.europe.united-kingdom.wales.ts or (when there is no united-kingdom regional calendar) eurasia.europe.wales.ts (Eurasia_Europe_UnitedKingdom_Wales or Eurasia_Europe_Wales);
[country] england.ts → eurasia.europe.united-kingdom.england.ts or (when there is no united-kingdom regional calendar) eurasia.europe.england.ts (Eurasia_Europe_UnitedKingdom_England or Eurasia_Europe_England);
[country] ireland.ts → eurasia.europe.united-kingdom.ireland.ts or (when there is no united-kingdom regional calendar) eurasia.europe.ireland.ts (Eurasia_Europe_UnitedKingdom_UnitedKingdom or Eurasia_Europe_UnitedKingdom);
[region: country] austria.ts → eurasia.europe.austria-germany-switzerland.austria.ts (Eurasia_Europe_AustriaGermanySwitzerland_Austria).

Another thing we might consider is to move the particular calendars into subfolders, e.g. diocesan calendars would go to lib/particular-calendars/diocese. Thus the particular calendars would be easier to distinguish from other particular calendars.
Take for example the calendars for the Archdiocese of Košice, Slovakia and the City of Košice, Slovakia:

[diocesan calendar] slovakia.kosice.ts;
[city calendar] slovakia.kosice.kosice.ts;
[parish calendar] slovakia.kosice.kosice.elizabeth-of-hungary.cathedral.ts.

The more I am into adding the calendars for Slovak dioceses to romcal, the more I think that explicit specification of calendars from which a calendar inherits is better way to deal with this. This, however, duplicates the list of calendars from which a calendar inherits and is thus non-KISS. :thinking:


Use reflection for Go functions

Currently, to register Go functions in Rye, the number of functions arguments and the following function signature is needed:
func (ps *env.ProgramState, arg0 env.Object, arg1 env.Object, arg2 env.Object, arg3 env.Object, arg4 env.Object) env.Object

This can be avoided completely by using the reflect package.
I've created something similar lately for an LLM tool server I'm working on, here's the (completely undocumented) relevant code:
https://github.com/byte-sat/llum-tools/blob/master/tools/func.go#L19
and converters to automatically convert arguments: https://github.com/byte-sat/llum-tools/blob/master/tools/convert.go
This way, plain Go functions can be passed directly: https://github.com/byte-sat/llum-tools/blob/master/main.go#L44

When I started writing Rye Go didn't have Reflection yet. Function are created in a little cumbersome way for the reason that parameters are statically determined (for Go), and not a dynamic structure that would have to be created each time making function calls more expensive.
All language functionality (if/loop/...) are there builtin function calls so we want to make this as optimal as possible and time will come for testing and improving this.
I frankly haven't looked what effect would using Reflection have but certanly some things could be made more elegant, no sure if faster, we would have to test it.
Otherwise the whole evaluator and runtime might still change (as part of optimization or just general improvement), and there is tons of bindings written for current pattern so this is not something we would want to change for now just to make it more elegant. We will test multiple approaches when we get to that and there are some more radical ideas about not evaluating full Rye directly (op-words/pipe-words/etc), but translating Rye to simpler format dialect or stack based dialect (eyr - I just wrote little about this on our Reddit) and evaluating this. This might now be feasible, because there are some complications with dynamic nature of the language here, but I want to give it a try.

We invested quite more time in autogenerating bindings ... starting with Fyne, Ebitengine and smaller libraries. The generator was just moved ot it's own project. It's written for the format of builtin functions we currently have and there is still a lot of work ahead to work for "any" binding so we won't be changing the way builtins are written for now. For this reson I am closing this issue, at least for now. If we experiment with generics based builtins I will reopen it and add info to it. Thank you.


kernel drm:drm_wait_vblank ERROR Unsupported type value 0x15b, supported mask 0x7400003f

Hello
Dell XPS13 9360, Dell MKS14 USB3 docking station, last version of driver(1.2.65), Ubuntu 16.04 (Unity, kernel 4.4.0-45-generic). All works but a lot of errors in syslog
Oct 28 12:43:47 adept-XPS-13-9360 kernel: [ 3530.667627] [drm:drm_wait_vblank [drm]] ERROR Unsupported type value 0x15b, supported mask 0x7400003f
Oct 28 12:43:47 adept-XPS-13-9360 kernel: [ 3530.672453] [drm:drm_wait_vblank [drm]] ERROR Unsupported type value 0x15b, supported mask 0x7400003f

Looks like here is the same issue
http://displaylink.org/forum/showthread.php?t=64523

The workaround can be found in the linked thread as well. Closing as I don't think we can do anything in evdi to improve this.

Can you please advise where to ask If it's not evdi bug? Xorg? Kernel?
Thanks

I upgraded the intel graphics:
https://01.org/linuxgraphics/downloads/intel-graphics-update-tool-linux-os-v2.0.5
Then moved to x-swat:
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt update && sudo apt dist-upgrade
Reboot - and no more kern spam.

I get this same error on linux mint 18.2 with MDM installed? Dell m6800 32mg ram ssd. Does anybody kow what the CAUSE is?


Added dropover functionality

Provides a solution for issues like #510, looking to detect drop events.
Adds onDropOver and onDropCancel functions that get called when dragging over a new index and when no longer dropping over any indices, respectively.
Currently only works on the y axis, but just wanted to do a PR to see what people think of this direction.

Hey @leanderlee is there any working example out there for this  feature ?


[nrf fromlist] Direction Finding connected mode feature and other fixes

Adds missing parts of direction finding connected mode.
Adds fixes for issues related with direction finding an new implementation of LLPCs.

Changed west.yml to fetch changes in sdk-zephyr PR: https://github.com/nrfconnect/sdk-zephyr/pull/724 that are required to build code in this PR.

The PR is referenced in this nRF SDK PR: https://github.com/nrfconnect/sdk-nrf/pull/6744.

Added four more commits that solve problem with deceives disconnection.

@ppryga please fix the compliance failures.
For example,
[nrf fromtree] Bluetooth: controller: fixing up problem in ...
... collision handling

should be
[nrf fromtree] Bluetooth: controller: fixing up problem in collision handling

instead

The CI verifying this PR is green: https://github.com/nrfconnect/sdk-nrf/pull/6744. The PR may be merged.

Fixed compliance issues related with commit title line.
No changes in code.


README.md updated to reflect Kibana 5 directory structure for plugins

installedPlugins is no longer the name of the plugin folder

Thanks!


Auto Switched to Magical, all data gone?

Asking a simple question here, whose idea was it to auto update everyone to Magical without migrating data?
I can't even sign in to google as it says an "Unauthorized" for both my accounts?
Magical should have been launched as a new product, not an update.

Really sorry about this. We attempted to migrate shortcuts but it looks like your migration did not succeed. Assuming you haven't deleted the app since opening this issue, the following steps should help recover all the data you had:

Go to chrome-extension://iibninhmiggehlcdolcilmhacighjamp/options.html
Click on the "New Releases" link
Follow the instruction to download the patch release

I hope this works and we are truly sorry for the inconvenience.


Allow event publishing to be compressed

If enablePublishingCompression is set on the client, posts
will be submitted with compression. The entity is buffered
and compressed before sending, which allows the content length
to be submitted, at the cost of initial buffering. Library users
will have to turn on compression support to avoid changing the
default behaviour of previous versions. Placing compression behind
a CompressionSupport interface allows alternative compression
providers in the future. The default implementation is gzip.
String posting is handled slightly differently to object posting; in
particular strings arenot minified before compression (doing this would
incur the overhead of marshalling the string to an object to minify it).
For gzip, an alternative to look at in the future is to stream and gzip at
the same time. This would avoid the initial buffer, and would require
sending Transfer-Encoding: chunked in place of the Content-Length,
since the length wouldn't be know in advance.

👍


Added support for using sea-orm with #[deny(missing_docs)]

As discussed in #1472, this PR addresses the issue to allow #[deny(missing_docs)] in crates having sea-orm as dependency by adding #[doc = " Generated by sea-orm-macros"] to derived types/variants/fields in sea-orm-macros.
PR Info

Closes #1472

New Features

[x] Enables crates using sea-orm to use #[deny(missing_docs)].

Thanks for the review! I added it as draft to have a base for discussion and I was not sure if I missed something.

A nitpick: I wonder why there is a space before the documentation? #[doc = " Generated by sea-orm-macros"] Is there any reason behind it?

It is just a matter of style:
#[doc = " Generated by sea-orm-macros"] expands to /// Generated by sea-orm-macros while
#[doc = "generated by sea-orm-macros"] expands to ///generated by sea-orm-macros  in source code.
The latter has been proposed in the corresponding issue. I personally prefer the first one, but I am happy to align it with the way it fits best for sea-orm.
I was also thinking in moving missing_docs from warn to deny in sea-orm and maybe add it to all the other crates that are currently missing it? But I am not sure if that is out of scope here?

#[doc = " Generated by sea-orm-macros"] expands to /// Generated by sea-orm-macros while

Interesting observation. I agree.

I was also thinking in moving missing_docs from warn to deny in sea-orm and maybe add it to all the other crates that are currently missing it? But I am not sure if that is out of scope here?

May be we can enable this in one of our tests or examples, so as to prove the point. And we will be able to catch it in our CI moving forward. But not changing it in sea-orm itself.

May be we can enable this in one of our tests or examples, so as to prove the point. And we will be able to catch it in our CI moving forward. But not changing it in sea-orm itself.

OK, so you suggest adding a project to the examples with:
Cargo.toml
[dependencies]
sea-orm = { path = "../../", features = ["default"] }

lib.rs
//! Denying missing docs test.
#![deny(missing_docs)]

If I understood you correctly?

Yes. Or we can simply hijack the basic example. It has no other external dependency (no web framework etc), so I bet it will work.


Add Arbitrary and Shrink instances for tagged types

This PR adds Arbitrary and Shrink instances for tagged types, e.g.
trait NameTag
val name: String @@ NameTag = "John"

Thanks for opening this! I added a few comments.

Thanks! I still have some compatibility issues but I hope to resolve those this weekend.

I am running into a problem with the Mima plugin on Scala 2.11: apparently, the 2.11 compiler creates abstract methods on a trait, even if an implementation is available. This technically creates a binary incompatibility (although in practice it won't be a problem, as the method is not really abstract). It is a bit unclear to me why this wasn't a problem in the past when new instance traits were added.
For now, I see a few solutions:

Make TaggedInstances an abstract class. Then it works fine; the problem is of course that we can apply this trick only once as we can only extend one abstract class.
Add exceptions for the Mima plugin in build.sbt to just ignore this problem. This isn't very appealing either.

Do you have any suggestions?

I am running into a problem with the Mima plugin on Scala 2.11: apparently, the 2.11 compiler creates abstract methods on a trait, even if an implementation is available. This technically creates a binary incompatibility (although in practice it won't be a problem, as the method is not really abstract). It is a bit unclear to me why this wasn't a problem in the past when new instance traits were added.

That is correct because Scala 2.11 has to work with Java 7 which doesn't have default method implementations.
So it has to generate bridge methods.

Closing for inactivity. Just re-open it if you'd like to resume working on it.


Clicking "Remove" deletes two unicorns

Steps to reproduce:

Add two (or more) unicorns with no text in between them
Click the uppermost "Remove" button

Video: http://cl.ly/3G2c1e2m3C0v

No idea why this is happening because I don't understand draft.js well enough just yet.

ahhh, good one thx!

more info: only happens when the first two blocks are stickers


*: move to go1.12 and go modules

Moving to go 1.12 and go modules.
Apart from modifications to .travis.yml and Makefile this was an automated process done with:
make --always-make go-mod

I have split it into two commits to ease review process.
/cc @DirectXMan12 @s-urbaniak

very nice! :tada: LGTM, feel free to self-merge once green.

feel free to self-merge

No write access :stuck_out_tongue:

ah too bad, i don't have the power to give them to you :-/


fix some sigmoid extreme

quite brittle... the problem is it has 3 terms and mul might have bad order

merging this one, will fix other extreme backward stuff and see how small we can make the rules to be


Hide skipped songs in pleblist

Add a new row to tb_pleblist_song with maybe the name skipped
0/null/none = not skipped
1 = skipped
with this we could hide the skipped song.
edit
hide the vod link of the song if its more than 10 minutes
{% if song.song_info.duration <= '600' %}

get this before the vod link thing

The "hide vod link if song is more than 10 minutes" has been implemented in 7f9c9ba89010709870c1eeb67c2d83aa9cc56b16

The "hide vod link if song is more than 10 minutes" has been implemented in 7f9c9ba89010709870c1eeb67c2d83aa9cc56b16

found a "bug"
if we get a stream_chunk with video url NULL it should not be shown on the page
here a fix

Old file edit to new file

and there is a cache error it doesn't refresh the stream_chunk databse for the video url :imp:

https://forsen.tv/pleblist/history/25/

no url because there is somewhere a cache or no update FeelsBadMan

@Nacht123 The bugs mentioned in the most recent post should have been fixed. Let me know if you believe this is not the case.
Still considering how we should/if we should implement the skipped column


Split Basic/Rounded/Block into tabs

Split Basic/Rounded/Block buttons into tabs for each button style instead of under each other where the user can change between them as suggested by @zahra-abdullah .

@zahra-abdullah will be working on this.

can i contribute?

Hi @shagun25 someone is already working on this issue. Please look at other issues if you wanna help and contribute!

@zahra-abdullah please confirm if you'll be working on this issue

@zahra-abdullah please confirm if you'll be working on this issue

Hi @shahednasser ! yes I already started working on it

Great @zahra-abdullah . I have refactored the code in buttons-examples.js to make the website mor consistent. If you have any questions about it let me know.

Hi @zahra-abdullah unfortunately I need to unassign you from this as this issue has become a high priority issue and there has been a lot of changes since this issue. I will be closing this PR as well. Thank you.


The important note on this page is not entirely true.

Under the important note section, the statement is not accurate.
"Azure VPN gateway must be created before creating the Route Server and must be configured in active-active mode and have the ASN set to 65515."
Please confirm with the product team to remove "Azure VPN gateway must be created before creating the route Server".  Create VPN Gateway after router server is allowed and the limitation is only ensure Azure VPN gateway is in active-active mode and have ASN set to 65515.
The FAQ Page has the correct statement.
https://learn.microsoft.com/en-us/azure/route-server/route-server-faq#what-are-the-requirements-for-an-azure-vpn-gateway-to-work-with-azure-route-server
What are the requirements for an Azure VPN gateway to work with Azure Route Server?
Azure VPN gateway must be configured in active-active mode and have the ASN set to 65515.
Thanks.

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

ID: c771bcd2-f7be-662f-f9a8-225a45714e08
Version Independent ID: b2ecbc58-7f13-44b7-38bd-ffc773570e87
Content: Quickstart: Create and configure Route Server - Azure portal
Content Source: articles/route-server/quickstart-configure-route-server-portal.md
Service: route-server
GitHub Login: @halkazwini
Microsoft Alias: halkazwini

@robrong
Thank you for bringing this to our attention.
I've delegated this to content author @halkazwini, who will review it and offer their insightful opinions.

@halkazwini
Could you please review add comments on this, update as appropriate.

@robrong
Thank you for your feedback!
Yes, you're right, this was a requirement but not anymore. I'll update the note shortly and you should see the update reflected in the public do in the next few hours.
I'll close this GitHub issue for now, but feel free to comment here as necessary.
#please-close


Pixelated wiki generator

I should give all images shown by the image generator image-rendering: pixelated;

This will be done in Editor 12.7


prompt: update powerlevel10k submodule to v1.4.0

Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.4.0.

Nice catch! Fixed.
And thanks for the quick merge!


[ISSUE] To Json fail on Color Struckt

https://github.com/bitowl/satisfactory-save-format/pull/11 fixing


fixing a reported error doesn't update

Hi,
I'm running into a problem where webpack &/or webpack-dev-server do not recognize corrections to errors reported by eslint after I've fixed them. If I kill the dev server and restart it, previously fixed errors are no longer reported by eslint / webpack.
Feel like I've combed over issues in this repo, watchpack, webpack-dev-server but haven't found a solution.
I'm using<EMAIL_ADDRESS>with<EMAIL_ADDRESS>eslint<EMAIL_ADDRESS><EMAIL_ADDRESS>Here is my full webpack.config.js file:
const webpack = require('webpack');
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HTMLWebpackPlugin = require('html-webpack-plugin');

const VENDOR_LIBS = [
  'classnames',
  'leaflet',
  'react',
  'react-dom',
  'query-string',
  'react-collapse',
  'react-height',
  'react-motion',
  'react-redux',
  'redux',
  'redux-responsive',
  'redux-logger',
  'redux-thunk'
];

module.exports = {
  entry: {
    bundle: './src/index.js',
    vendor: VENDOR_LIBS
  },
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name].[chunkhash].js'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        enforce: 'pre',
        use: [
          {
            loader: 'babel-loader'
          },
          {
            loader: 'eslint-loader'
          }
        ],
        include: path.resolve(process.cwd(), 'src'),
        options: {
          fix: true,
        },
        exclude: /node_modules/
      },
      {
        loader: ExtractTextPlugin.extract({
          loader: "css-loader?sourceMap!sass-loader?sourceMap",
          fallbackLoader: 'style-loader',
        }),
        test: /\.scss$/
      }
    ]
  },
  watch: true,
  watchOptions: {
    poll: 1000
  },
  devServer: {
    watchContentBase: true,
    lazy: false,
    watchOptions: {
      poll: true
    }
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin({
      names: ['vendor', 'manifest']
    }),
    new HTMLWebpackPlugin({
      template: 'src/index.html'
    }),
    new ExtractTextPlugin('[name].[chunkhash].css'),
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
    })
  ]
};

I run webpack-dev-server by doing npm run serve where the package.json script is "serve": "webpack-dev-server"
Any advice would be appreciated, thanks!

p.s. I can post this issue elsewhere (e.g. watchpack, webpack-dev-server) if you think the problem isn't with eslint-loader.  Happy to help diagnose the issue further as well if you can point me in the right direction.

Upgrading to webpack@beta and webpack-dev-server@beta aka 2.2.0 seemed to fix this issue. Apologies for any inconvenience!


Extend updateConfigAndRun to allow change of verbose and collectCoverage

🚀 Feature Proposal
The current scope of accepted config keys is super narrow (and the documentation doesn't say anything about it).
Motivation
The two most asked-for watch plugins that are not yet implemented are:

toggle coverage collection
toggle test verbosity

Both are trivial to implement, provided that the passed updateConfigAndRun() function takes the relevant global config keys into account. Currently, it only accepts the minimum set of config keys required to implement the internal plugins, not one more. Fortunately, this was enough to implement the typeahead plugin, as it's just an overwrite of the logic for the non-typeahead internal plugin, but that's as far as it goes.
Note that IMHO, the global config should be audited for prime candidate keys that seem innocuous enough to expose to watch plugins. It's likely that bail, collectCoverageFrom, collectCoverageOnlyFrom, coverageDirectory, coverageReporters, notify, notifyMode, onlyFailures and reporters would be good candidates that do not impede core's ability to function when tweaked.
Example

Being able to toggle collectCoverage would let us implement a coverage toggler
Being able to toggle verbose would let us implement a verbosity toggler.

Pitch
Why does this feature belong in the Jest core platform?
Because it can't be implemented from the outside. For obvious reasons, the passed global config is immutable, and the one used by watch() is a local reference that it is the only scope to access.
I'm willing to help with changes in core, and have the two aforementioned plugins at the ready (or almost so, for coverage, as I want to expand it further).
Let me know!

I agree! I think it would be great to expand this to a broader set of config options.
We should also explicitly mention in the docs which are the options that can be overridden. We could also add --coverage.

Hey @rogeliog I'm trying to contribute to the codebase, but the current master utterly fails to work for me… Let me elaborate:

yarn build works fine
yarn lint (used by yarn test) tells me it can't find the eslint-plugin-jest plugin, which doesn't even exist in ESLin't configuration (either in .eslintrc.js or .vscode/settings.json), so I'm not sure why it needs it. This prevents linting.
yarn jest fails fast on "Two projects resolved to the same config path", listing the examples/getting_started subdir and Jest's package root dir. Never seen that before.

So I can add code and build, and interactively try it by using npm link or yarn link and playing around with my to-be-published plugins, and I guess I can add to the doc and check the rendering, but I can't lint and run my extra tests.
Any help appreciated 😉

rm -rf examples && git checkout examples && yarn should fix your second issue at least (lingering node_modules after a rename)

Hey @SimenB thanks for the tip! It worked like a charm. This was indeed not a clean clone, my fork had existed for a long time and had this leftover node_modules.

the eslint plugin error is probably the same thing - previously that plugin was part of this monorepo. So I'd guess you have a symbolic link in root node_modules pointing to nothing. Just delete it and rerun yarn

I went ahead and did a fresh clone of my fork, fixed the whole shenanigans. Thx!


Add DMN row editor to show/edit row id

Problem you would like to solve
When writing unit tests for DMN, I would like to assert that a specific rule (identified by its id) is hit.
This id should be visible in the editor, not only in the xml structure.
Proposed solution
Introduce a row editor (like the one for a column), that allows for inspecting / editing the row id
Alternatives considered
no
Additional context
https://camunda.slack.com/archives/C0693F1NFK5/p1710753897911279

Thanks for opening this issue. What specific test framework do you use? I believe we want to consider this end-to-end:

Either this is a none feature, because we test "integration style" using combinations of [inputs, expectedOutputs]
Or this is actually a feature ("unit test style"), asserting the nitty gritty

I'd personally tend to call this a "bad testing practice" when the alternative is to use test data from a larger test bed, i.e. a CSV, and check that IN > OUT assertions are matched.

I gave this another thought and will close this as not planned.
We already know that integration tests beat unit test in terms of robustness, so we'll not encourage any kind of fragile testing practice.
The core editor (dmn-js) is extensible, so if for whatever reason you consider this style of testing mandatory, then you can extend it to expose these implementation details to your users.
Keep in mind that IDs are optional for rows, so you may be lucky and have the rows annotated.


More "Old Town" policy issues (with hearses this time)

Summary: Only apply Old Town to touristy cars.
Buildings on zoneable pedestrian roads from the NEXt2 replacement pack may wind up with pathing issues and thus lack of service, deathcare in particular.
This is not a problem of the roads themselves, though the fact that they are slow and have an internal structure that resembles 2 distinct one lane roads (try putting bus stops on them and you will know what I mean) compounds it.
The culprit is the TMPE handling of the Old Town policy which creates a penalty in pathing for seemingly all vehicles, which in combination with those roads and distances exceeds the max and causes a pathing failure.
Disabling Old Town (or TMPE) or exchanging the road with "normal" one fixes the issue.
I'd posit that the recent bus/taxis "Old Town" fix is the the wrong approach, since not only is the default off and thus leading to buses not working in (for most users) incomprehensible ways but also as this example shows would only lead to more and more exceptions, whereas Old Town only affecting touristy cars is the expected behavior.

The culprit is the TMPE handling of the Old Town policy which creates a penalty in pathing for seemingly all vehicles, which in combination with those roads and distances exceeds the max and causes a pathing failure.

Please read how old town policy works and what are possible use cases - what you should expect after applying it.

It's not TM:PE feature and the mod does not change how it works. Penalty is purely vanilla thing and as you've noticed it affects a lot of vehicle types. Recent change is also not a fix although might be considered a such especially if you don't know the policy use case. The change just disables penalty for buses and taxi so they behave like they were not in Old town district so it helps in certain scenarios - they are not allowed in vanilla.

I read "residents" as people residing in the city or at the very least in that district and I'm surely not the only one.
Never mind that (as your patch shows) this is completely nonsensical when it comes to buses or service vehicles.
Take this report as feature request then if you will.
Just for my edification, the pathing with TMPE AI enabled does apply different "costs" than the vanilla one (I remember lane changes also being a factor), right?
I'm trying to figure out why my (admittedly extreme corner case) did work w/o TMPE.

Hmm, try with Advanced AI to see if custom lane changing path penalties affect that feature


Day 80

Good morning! Here's your coding interview problem for today.
This problem was asked by Google.
Given the root of a binary tree, return a deepest node. For example, in the following tree, return d.
    a
   / \
  b   c
 /
d

Related to https://github.com/vaskoz/dailycodingproblem-go/issues/27


Plot options with datashaded VectorField

The magic for VectorField (from the user guide):
%%opts VectorField [rescale_lengths=True size_index='Magnitude' color_index='Magnitude'] (scale=0.005)
This works for regular plots, but has no effect when I attempt to datashade the VectorField. How would I go about achieving the same effect, but with a datashaded plot?
I tried switching to the not-yet-released hv.util.opts but that didn't appear to have much of an effect (only colored vectors all black).
I also tried applying the parameters to the datashade() call, but it wouldn't take those parameters.

So its not possible to datashade a VectorField in any useful way (i.e. one where I have some control over display opts?)
This quote

Added VectorField element and datashading operation to plot small and large quiver plots and other collections of vectors (#122)

From these release notes made me think it was possible. http://blog.holoviews.org/release_1.5.html

My dataset is WAY to big to plot in a regular VectorField. I have to find some way around that.

Added VectorField element and datashading operation to plot small and large quiver plots and other collections of vectors (#122)

That is indeed an error, I think it should say project operation.

My dataset is WAY to big to plot in a regular VectorField. I have to find some way around that.

We could probably figure out a way to convert the VectorField to a list of paths, which could be datashaded.

Ideas for a workaround?

Oh boy that sounds... fun? Let's think on this and discuss on Thursday.

Actually turned out to be reasonably straightforward, here's a first cut:
import param
from holoviews import Operation
from holoviews.core.util import basestring
from holoviews.util.transform import dim
from holoviews.plotting.util import get_min_distance

class vectorfield_to_paths(Operation):
    arrow_heads = param.Boolean(default=True, doc="""
        Whether or not to draw arrow heads.""")

    color = param.ClassSelector(class_=(basestring, dim, int), default=3)

    magnitude = param.ClassSelector(class_=(basestring, dim), doc="""
        Dimension or dimension value transform that declares the magnitude
        of each vector. Magnitude is expected to be scaled between 0-1,
        by default the magnitudes are rescaled relative to the minimum
        distance between vectors, this can be disabled with the
        rescale_lengths option.""")

    rescale_lengths = param.Boolean(default=True, doc="""
        Whether the lengths will be rescaled to take into account the
        smallest non-zero distance between two vectors.""")

    pivot = param.ObjectSelector(default='mid', objects=['mid', 'tip', 'tail'],
                                 doc="""
        The point around which the arrows should pivot valid options
        include 'mid', 'tip' and 'tail'.""")

    scale = param.Number(default=1)

    def _get_lengths(self, element):
        mag_dim = self.magnitude
        if isinstance(mag_dim, basestring):
            mag_dim = element.get_dimension(mag_dim)

        (x0, x1), (y0, y1) = (element.range(i) for i in range(2))
        if mag_dim:
            if isinstance(mag_dim, dim):
                magnitudes = mag_dim.apply(element, flat=True)
            else:
                magnitudes = element.dimension_values(mag_dim)
            if self.p.rescale_lengths:
                base_dist = get_min_distance(element)
                magnitudes *= base_dist
        else:
            magnitudes = np.ones(len(element))
            if self.rescale_lengths:
                base_dist = get_min_distance(element)
                magnitudes *= base_dist

        return magnitudes

    def _process(self, element, key=None):
        # Compute segments and arrowheads
        xs = element.dimension_values(0)
        ys = element.dimension_values(1)

        rads = element.dimension_values(2)

        lens = self._get_lengths(element)/self.p.scale

        # Compute offset depending on pivot option
        xoffsets = np.cos(rads)*lens/2.
        yoffsets = np.sin(rads)*lens/2.
        if self.pivot == 'mid':
            nxoff, pxoff = xoffsets, xoffsets
            nyoff, pyoff = yoffsets, yoffsets
        elif self.pivot == 'tip':
            nxoff, pxoff = 0, xoffsets*2
            nyoff, pyoff = 0, yoffsets*2
        elif self.pivot == 'tail':
            nxoff, pxoff = xoffsets*2, 0
            nyoff, pyoff = yoffsets*2, 0
        x0s, x1s = (xs + nxoff, xs - pxoff)
        y0s, y1s = (ys + nyoff, ys - pyoff)

        if self.arrow_heads:
            arrow_len = (lens/4.)
            xa1s = x0s - np.cos(rads+np.pi/4)*arrow_len
            ya1s = y0s - np.sin(rads+np.pi/4)*arrow_len
            xa2s = x0s - np.cos(rads-np.pi/4)*arrow_len
            ya2s = y0s - np.sin(rads-np.pi/4)*arrow_len

            xs = [[x0, x1, np.nan, x0, xa1, np.nan, x0, xa2]
                  for x0, x1, xa1, xa2 in zip(x0s, x1s, xa1s, xa2s)]
            ys = [[y0, y1, np.nan, y0, ya1, np.nan, y0, ya2]
                  for y0, y1, ya1, ya2 in zip(y0s, y1s, ya1s, ya2s)]
        else:
            xs = [[x0, x1, np.nan] for x0, x1 in zip(x0s, x1s)]
            ys = [[y0, y1, np.nan] for y0, y1 in zip(y0s, y1s)]

        if isinstance(self.p.color, dim):
            colors = self.p.color.apply(element, flat=True)
        else:
            colors = element.dimension_values(self.p.color)

        return hv.Path([{'x': x, 'y': y, 'color': c} for x, y, c in zip(xs, ys, colors)], vdims='color')

x,y  = np.mgrid[-10:10,-10:10] * 0.25
sine_rings  = np.sin(x**2+y**2)*np.pi+np.pi
exp_falloff = 1/np.exp((x**2+y**2)/8)

vector_data = (x,y,sine_rings, exp_falloff)
vf = hv.VectorField(vector_data)

datashade(vectorfield_to_paths(vf), aggregator='mean', precompute=True)

And is it reasonably responsive, or at least more than for a regular vector field?

As long as you precompute, i.e. cache the nan concatenated paths.

Note that the rescale_lengths option slows things down a lot both when used as a plot option and in the operation above. The alternative is to provide a scale yourself by experimenting a bit, although using datashader drawing large, overlapping arrows can be quite pretty:

@kcpevey Here's an updated version which is about 20x faster and much less memory hungry than my initial approach above. I've removed the rescale_lengths option entirely since it's never going to be useful for large vectorfields.
class vectorfield_to_paths(Operation):

    arrow_heads = param.Boolean(default=True, doc="""
        Whether or not to draw arrow heads.""")

    color = param.ClassSelector(class_=(basestring, dim, int), default=3)

    magnitude = param.ClassSelector(class_=(basestring, dim, int), default=3, doc="""
        Dimension or dimension value transform that declares the magnitude
        of each vector. Magnitude is expected to be scaled between 0-1,
        by default the magnitudes are rescaled relative to the minimum
        distance between vectors, this can be disabled with the
        rescale_lengths option.""")

    pivot = param.ObjectSelector(default='mid', objects=['mid', 'tip', 'tail'],
                                 doc="""
        The point around which the arrows should pivot valid options
        include 'mid', 'tip' and 'tail'.""")

    scale = param.Number(default=1)

    def _get_lengths(self, element):
        mag_dim = self.magnitude
        if mag_dim:
            if isinstance(mag_dim, dim):
                magnitudes = mag_dim.apply(element, flat=True)
            else:
                magnitudes = element.dimension_values(mag_dim)
        else:
            magnitudes = np.ones(len(element))
        return magnitudes

    def _process(self, element, key=None):
        # Compute segments and arrowheads
        xd, yd = element.kdims
        xs = element.dimension_values(0)
        ys = element.dimension_values(1)

        rads = element.dimension_values(2)

        lens = self._get_lengths(element)/self.p.scale

        # Compute offset depending on pivot option
        xoffsets = np.cos(rads)*lens/2.
        yoffsets = np.sin(rads)*lens/2.
        if self.pivot == 'mid':
            nxoff, pxoff = xoffsets, xoffsets
            nyoff, pyoff = yoffsets, yoffsets
        elif self.pivot == 'tip':
            nxoff, pxoff = 0, xoffsets*2
            nyoff, pyoff = 0, yoffsets*2
        elif self.pivot == 'tail':
            nxoff, pxoff = xoffsets*2, 0
            nyoff, pyoff = yoffsets*2, 0
        x0s, x1s = (xs + nxoff, xs - pxoff)
        y0s, y1s = (ys + nyoff, ys - pyoff)

        if isinstance(self.p.color, dim):
            colors = self.p.color.apply(element, flat=True)
        elif self.p.color is not None:
            colors = element.dimension_values(self.p.color)
        else:
            colors = None

        if self.arrow_heads:
            arrow_len = (lens/4.)
            xa1s = x0s - np.cos(rads+np.pi/4)*arrow_len
            ya1s = y0s - np.sin(rads+np.pi/4)*arrow_len
            xa2s = x0s - np.cos(rads-np.pi/4)*arrow_len
            ya2s = y0s - np.sin(rads-np.pi/4)*arrow_len
            xs = np.empty((len(x0s)*9))
            ys = np.empty((len(x0s)*9))
            cvals = np.empty((len(x0s)*9))
            for i, (x0, x1, xa1, xa2, y0, y1, ya1, ya2) in enumerate(zip(x0s, x1s, xa1s, xa2s, y0s, y1s, ya1s, ya2s)):
                slc = slice(i*9, i*9+9)
                xs[slc] = [x0, x1, np.nan, x0, xa1, np.nan, x0, xa2, np.nan]
                ys[slc] = [y0, y1, np.nan, y0, ya1, np.nan, y0, ya2, np.nan]
                if colors is not None:
                    cvals[slc] = colors[i]
        else:
            xs = np.empty((len(x0s)*3))
            ys = np.empty((len(x0s)*3))
            for x0, x1, y0, y1 in enumerate(zip(x0s, x1s, y0s, y1s)):
                slc = slice(i*3, i*3+3)
                xs[slc] = [x0, x1, np.nan]
                ys[slc] = [y0, y1, np.nan]
                if colors is not None:
                    cvals[slc] = colors[i]

        if colors is None:
            data = [(xs, ys)]
            vdims = []
        else:
            data = [(xs, ys, cvals)]
            vdims = [str(self.p.color)]

        return element.clone(data, vdims=vdims, new_type=hv.Path, datatype=['multitabular'])

Here's a 500x500 VectorField datashaded in about 5 seconds:

Much much improved! I can now render my 836k vector dataset. Initial draw time is not terrible, but I'm using this function for a dynamic map (time series). So every time I change the time, I'm waiting ~4 seconds for it to rerender. I tried precompute=True inside the datashade call, but that didn't seem to have an effect. I thought that would help with the lag when moving my time slider?

No, precompute caches the data per time step and in this case happens to be entirely unnecessary because the operation already flattens the data. Don't think there's anything we can do about that delay unfortunately.

Calling this one resolved.

This is incredibly useful - thanks @philippjfr !


tag buttons go invisible after clicking

The tag buttons become invisible (but they are still there and can be clicked) upon clicking once and coming back to the page.

Locally I made a minor CSS fix. But I am not sure if this is really a bug. I think changing the color to some lighter shade of grey after visiting is better instead of making it completely white.

@FireWithin Noticed the same thing and made a PR - #32
I think it's a bug, visited links are currently unreadable


[Question] Low it/s when training my robot

❓ Question
Hello, I am encountering an issue with low it/s when training my robot with RL Zoo. The it/s is only one it/s since it was around 120 it/s for my computer. Obviously, I accidentally configured or updated the system wrongly without any concern, so it led to low it/s.
Could you please provide any solution to take back common it/s?
Checklist

[X] I have checked that there is no similar issue in the repo
[X] I have read the SB3 documentation
[X] I have read the RL Zoo documentation
[X] If code there is, it is minimal and working
[X] If code there is, it is formatted using the markdown code blocks for both code and stack traces.

I found the issue due to pybullet implementation when I tried to set motor operation in two For loops. It seems to be a bug from Pybullet. Once one loop is removed, the it/s number is set properly again.


multipleSelector value

row.value  = [ 2, 4] as [Int] as AnyObject
In the example if i try to pre select rows it won't show up on the multipleSelector screen.
Im using the library both to create and edit objects, so i need to be able to set the values on it.

I'm having the same issue, setting the initial values, but not showing up on the multipleSelector screen.   Were you able to achieve this?

I fixed this by using .isEqual() as to ===.


storage controller: embed database migrations in binary

Problem
We don't have a neat way to carry around migration .sql files during deploy, and in any case would prefer to avoid depending on diesel CLI to deploy.
Summary of changes

Use diesel_migrations crate to embed migrations in our binary
Run migrations on startup
Drop the diesel dependency in the neon_local binary, as the attachment_service binary just needs the database to exist.  Do database creation with a simple createdb.

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

To enable compat tests to pass, moving part of this change into https://github.com/neondatabase/neon/pull/6647


app.message() doesn't work with oauth express receiver example

Description
Hey there :)
First of all this is my first time when I start an issue so apologise in advance for any mistakes ;)
I'm creating a simple slack bot that use slash commands and listening to messages. I copied/pasted the oauth with express receiver example from the examples folder. Everything seems to work fine except the message method. It doesn't respond. I tried the simple example with oauth and SocketMode enabled and it worked. I've been trying to figure it out since few days. I've gone through most of the issues and I haven't found similar one.
Am I doing something wrong?  I tried to find in the doc if I need to pass any extra option but it doesn't mention anything about it.
What type of issue is this? (place an x in one of the [ ])

[ x] bug
[ ] enhancement (feature request)
[ x] question
[ ] documentation related
[ ] example code related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x ] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[ x] I've read and agree to the Code of Conduct.
[ x] I've searched for any related issues and avoided creating a duplicate issue.

Reproducible in:
package version: 3.12.0
node version:  16.15.0
OS version(s): MacOS
Steps to reproduce:

Copy/paste oauth-express-receiver example
Run locally with ngrok
Copy/paste message method form the doc
Try to type 'knock' message

Expected result:
Message method should respond
Actual result:
Message method doesn't work
Attachments:
My example:
const receiver = new ExpressReceiver({
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  clientId: process.env.SLACK_CLIENT_ID,
  clientSecret: process.env.SLACK_CLIENT_SECRET,
  stateSecret: process.env.SECRET,
  scopes: [
    'channels:history',
    'channels:join',
    'channels:read',
    'chat:write',
    'chat:write.customize',
    'chat:write.public',
    'commands',
    'groups:read',
    'im:history',
    'im:read',
    'im:write',
    'incoming-webhook',
    'mpim:history',
    'reactions:read',
    'reactions:write',
    'team:read',
    'users.profile:read',
    'users:read',
    'users:read.email',
    'metadata.message:read',
  ],
  logLevel: LogLevel.DEBUG, // set loglevel at the App level
  installationStore: {
    storeInstallation: async (installation) => {
      // change the line below so it saves to your database
      if (
        installation.isEnterpriseInstall &&
        installation.enterprise !== undefined
      ) {
        // support for org wide app installation
        return await dbService.set({
          key: installation.enterprise.id,
          value: installation,
        });
      }
      if (installation.team !== undefined) {
        // single team app installation
        return await dbService.set({
          key: installation.team.id,
          value: installation,
        });
      }
      throw new Error(
        'Failed saving installation data to Installation Store'
      );
    },
    // @ts-ignore
    fetchInstallation: async (installQuery) => {
      // change the line below so it fetches from your database
      if (
        installQuery.isEnterpriseInstall &&
        installQuery.enterpriseId !== undefined
      ) {
        // org wide app installation lookup
        return await dbService.get(installQuery.enterpriseId);
      }
      if (installQuery.teamId !== undefined) {
        // single team app installation lookup
        return await dbService.get(installQuery.teamId);
      }
      throw new Error('Failed fetching installation');
    },
    // @ts-ignore
    deleteInstallation: async (installQuery) => {
      // Bolt will pass your handler  an installQuery object
      // Change the lines below so they delete from your database
      if (
        installQuery.isEnterpriseInstall &&
        installQuery.enterpriseId !== undefined
      ) {
        // org wide app installation deletion
        return await dbService.delete(installQuery.enterpriseId);
      }
      if (installQuery.teamId !== undefined) {
        // single team app installation deletion
        return await dbService.delete(installQuery.teamId);
      }
      throw new Error('Failed to delete installation');
    },
  },
  installerOptions: {
    directInstall: true,
  },
});

// Create the Bolt App, using the receiver
const app = new App({
  receiver,
  logLevel: LogLevel.DEBUG, // set loglevel at the App level
});

app.message('knock', async ({ message, client }) => {
  console.log('hello form test command'); <- doesn't work
});

app.command('/afk', async ({ client, ack }) => {
  ack();

  console.log('hello from slash command'); <- works
});

(async () => {
  await app.start(80);

  console.log('⚡ Bolt app is run!');
})();

Hi @fruzix, thanks for writing in. It seems that your code looks fine. I would suggest double-checking your app configuration. Perhaps, your Event Subscriptions settings may be disabled or delivering message events may not be enabled for the HTTP mode app.

@seratch Thank you for such a quick response :)
I've checked my event subscription and it works (anyway '/afk' command worked before)

I saw I missed bot's events concerning messages, I've already added them.

I reinstalled the app but it still doesn't respond when I type 'knock' :(
I'm trying figure out what do you mean by:

delivering message events may not be enabled for the HTTP mode app.

Could you explain me where should I check it?

delivering message events may not be enabled for the HTTP mode app.
Could you explain me where should I check it?

I meant that your app configuration may not have the bot event subscriptions. But it seems that the settings looks valid.
Since you're using ngrok, I would suggest checking http://localhost:4040/inspect/http to see the requests that your app received. If you see the message events there, your app has been receiving the requests as expected but your app does not have the listeners for those requests.
If you don't see any Events API requests in the ngrok admin page, you can double-check whether the Request URL is valid. Also, I would suggest testing with a brand-new Slack app configuration for the Express.js app. If any of these does not work for you, please contact our customer support team from either https://my.slack.com/help/requests/new or /feedback in your Slack workspace. The support agents can check more details of what's happening to your apps.

Okey so I'm sending you what I have. As I said before slash command works perfectly, I received 200 but for the message 'knock' nothing happened.

So that I double checked Event URL and it's verified. So none of the situations you suggested happened 😃 It works for slash commands but for the messages event it doesn't.
I thought to test the other event form the docs:
app.event('message', async ({ event, client, logger }) => {
  try {
    logger.info('hello form event');
  } catch (error) {
    logger.error(error);
  }
});

But it doesn't work either.
So I think I will try what you suggested: a brand-new Slack app configuration or contacting a costumer support.

@fruzix Have you invited your bot user to the channel where you posted the message?

I added an integration but not an invitation, I'm not sure if it's the same

Okay, this should be good. I don't have any further suggestions..

😢
Okey I'll try to restart ngrok, remove an app and rewrite my example.

Okey I found what was wrong. I saw that when I went into the direct bot chat, the event message was working. Then I went into the channel options to checked if my bot integration was added, it wasn't. I added my bot and now everything works fine.
If anyone ever faces the same problem, I am posting an image where you can find it.

So that I close the issue


Fix pylint errors.

@trivialfis Please backport this PR to the 1.6.0 branch, to unblock the CI

Will do.


Leaks with export on the same variable multiple times

This has been fixed and will be patched in the next pull request


Add Better integration between PowerShell Extention Terminal Session and New Integrated Terminal.

VSCode Version: 1.2.0-Insiders
OS Version: Windows 10

These should be able to share the same session, but first #7095 likely needs to be addresses since the PowerShell Extension uses a 64 bit session.
The Latest Version of the PowerShell Extension added a new Profile Microsoft.VSCode_profile.ps1 for use in the PowerShell Extension session, it would be beneficial if the Code Terminal could also use this profile. Right now the editor is using the default console profile Microsoft.PowerShell_profile.ps1
There are a lot of great new features in the PowerShell Extension for interacting with the editor environment, and it would be beneficial to be able to take advantage of these in the integrated terminal.

I think this one can be closed, it's coming to the PowerShell extension in a few days.


Roadmap for Mutual UART?

Hello! I am very interested to design a 3x5 split keyboard for PRK using Seeed XIAO RP2040 boards. I'm also a big fan of LEDs, and therefore would like to have mutual communication between the two halves.
I see that PRK currently has experimental support for mutual UART over a single wire, and have read through the code and seen the warnings that it works but is potentially dangerous. Do you plan to continue to develop mutual communication over a single wire? Or will you use two wires in the future? Perhaps it is not known right now?
The reason I ask is, the XIAO RP2040 has exactly enough pins for a normal matrix, one led pin, and one uart pin. If two pins are needed for mutual uart in the future, then I would need to use a duplex matrix for the switches to have enough pins. So this is a design decision that I will need to make fairly early.
Thank you for this project! I'm very excited to use Ruby for this project!

Thanks for the good question :)
I myself am using the Mutual UART for these seven months after releasing that feature, I've never experienced any damage to the RP2040.
Then, I think,

Current single-wire mutual UART is going to be an official feature
I don't have a plan to implement a two-wires UART
Neither is I2C which uses two wires going to be supported (because nobody talked to me that somebody wants the feature)

So you can design your keyboard that fits current PRK APIs in terms of hardware.
When I release version 1.0.0 of PRK,

Keyboard#mutual_uart= is going to be added as an alias of Keyboard#mutual_uart_at_my_own_risk=
They are exactly the same thing
Warning will also disappear

Fantastic! Thanks! I’ll keep you updated when I finish the board, and I hope to contribute to PRK as well. Cheers!

@rschenk
I changed my plan.

From 0.9.20 (the next release),
The original hardware one-way UART is removed
Software mutual UART becomes the default and only option
Keyboard#mutual_uart_at_my_own_risk= method works for backward compatibility but it no longer takes any effect

I decided as above regarding performance and source maintainability


How can one add a weekly maintenance window into the calculations for SLO's with sloth?

I just found out about the sloth project today and after a lot of reading of the docs I think it is totally what I look for. but the only question that still is up in my head is how I can add a weekly returning maintenance window to the SLO calculations, cause an outage in this time window it would be not counted against the SLO at all.
Greetings

At least you first need prometheus to record maintenance windows. Either some system that reports this as metric, or if its a fixed time, you could build a recording rule with the day_of_week and hour functions.
Then I'd probably cut my losses and just define a inhibit rule to avoid sending alerts during maintenance period (maybe add a buffer around the period). The slo calculations and boards would still take errors during maintenance period into account though. I would find that advantageous though as I'd anyways encourage trying to limit impact of maintenance periods.
Still if you really need calculations to exclude maintenance periods, then the approach would likely depend on your query. Assuming maintenance_period recording rule that reports 1 during mainteance, 0 otherwise, then maybe queries like this would do the trick
  error_query: |
    sum_over_time((
        sum(rate(<error_counter>[30s]))
        * scalar(1-maintenance_period)
    )[{{.window}}:])
  total_query: |
    (sum_over_time((
        sum(rate(<total_counter>[30s]))
        * scalar(1-maintenance_period)
    )[{{.window}}:]) > 0) or vector(1)

Basically if you take rate over full window period, you wouldn't know which errors happened during maintenance period. sum_over_time should still ensure the error ratio is a quite good approximation for the entire window period. > 0 or vector(1) will be quite important to include as the error ratios would otherwise have 0 denominator inside any maintenance period


[BUG] SDK LOAD Failure reporting not working

Description/Screenshot
SDK LOAD Failure is not being sent successfully with instrumentation key errors as response.
This is all due to a mix of issues in the actual snippet code but also the snippet as presented in the README: see additional context below.
Steps to Reproduce

Use latest snippet from README
Configure using connection string as copied from Azure portal:
connectionString: "InstrumentationKey=[KEY];IngestionEndpoint=[ENDPOINT];LiveEndpoint=[LIVEENDPOINT]"
Enter an invalid URL as script src to simulate loading error
Load page and inspect track request.

Notice iKey of payload containing the entire connection string and not just the instrumentation key.
Notice the http 400 response with "Invalid instrumentation key" message.

Expected behavior
Connection string to be parsed correctly and exception being tracked successfully.
Additional context

Using connection string only has not been working for quite some time due to a mistake in the snippet:

The connection string is being parsed and it's parts is being stored as lower case in the snippet https://github.com/microsoft/ApplicationInsights-JS/blob/5d7e0426892552900c24aef909a318c14d542335/AISKU/snippet/snippet.js#L37-L44
But then when the load error code tries to get the instrumentation key from the connection string, it uses a constant that is not lower case which results in no instrumentation key being found.
https://github.com/microsoft/ApplicationInsights-JS/blob/5d7e0426892552900c24aef909a318c14d542335/AISKU/snippet/snippet.js#L75-L76

The above issue used to possible to be worked around by also providing an instrumenctionKey in the snippet config that then would be used instead, but with the snippet from the current readme this no longer works due:

Someone updated the readme to remove instrumentation key config, and I suppose accidentally also replaced the constant D in the snippet from instrumentationKey to connectionString.
This leads to the entire connection string being passed as iKey as noted of the repro steps.

I am willing to post a PR if you are open for that.

I am willing to post a PR if you are open for that.

Yep, go for it


bug in parsing Number literals

found some bug in parsing Number literals.
#1: can not parse floating point literals like "5e3" or "5e-3" correctly. (maybe parsed as integer literals -> 53)
may be some problem in Lexer.read_number().
checking floating point syntax in the statement
let is_f = "eEpP".contains(last) && "+-".contains(c);
but is_f seems not properly working.
and, maybe, "eEpP" and "+-" should be "eE" and "+-0123456789".
#2: (tiny) problem in parsing integer literals like "0nnn".
0779 -> Decimal (in JS) vs Octal (parsed as octal number "77" in Rapidus)
0777 -> Octal (in JS or Rapidus)
this syntax is very confusing, and deprecated in strict mode.
I think using new Octal syntax in ECMAScript2015 ("0o777") only is better.
$ cat examples/test.js
console.log(0779)
console.log(0777)
console.log(5e3)
console.log(5e+3)
console.log(5e-3)
$ cargo run examples/test.js
Finished dev [unoptimized + debuginfo] target(s) in 0.15s
Running target/debug/rapidus examples/test.js
63
511
53
53
53
$ node examples/test.js
779
511
5000
5000
0.005

Thanks for reporting. I'll fix it ASAP.

Fixed. But the octal syntax 0oXXX is not implemented yet.

0oXXX is implemented.


Adding Adheip Singh as contributor

This PR fixes #221
Signed-off-by: Will Calcote<EMAIL_ADDRESS>

@AdheipSingh! Haha! Making waves so quickly. 🚀

Congrats, @AdheipSingh! 😄