HADOOP-16767 Handle non-IO exceptions in reopen()

Contributed by Sergei Poganshev.
Catches Exception instead of IOException in closeStream()
and so handle exceptions such as SdkClientException by
aborting the wrapped stream. This will increase resilience
to failures, as any which occuring during stream closure
will be caught. Furthermore, because the
underlying HTTP connection is aborted, rather than closed,
it will not be recycled to cause problems on subsequent
operations.
NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HADOOP-XXXXX. Fix a typo in YYY.)
For more details, please see https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute

Hi @steveloughran , sorry I'm behind getting HADOOP-17338 to 2.10 branch. I have a version ready, but before that, I'd like to get HADOOP-16767 to 2.10. Here are the test results I have with both together (largely some timeout failures). Would you please help getting this one in and I will put HADOOP-17338 on top of it.
Thanks a lot.
[WARNING] Tests run: 11, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 64.07 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractCreate
[INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 171.593 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractGetFileStatus
[INFO] Tests run: 48, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 168.231 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractSeek
[ERROR] Tests run: 9, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 558.659 s <<< FAILURE! - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractRootDir
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.078 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractRename
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 457.171 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractDistCp
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 110.398 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractMkdir
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 65.483 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractDelete
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.233 s - in org.apache.hadoop.fs.contract.s3a.ITestS3AContractOpen
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 6.871 s - in org.apache.hadoop.fs.s3a.ITestS3ATemporaryCredentials
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.107 s - in org.apache.hadoop.fs.s3a.impl.TestDirectoryMarkerPolicy
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.985 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextStatistics
[WARNING] Tests run: 17, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 242.879 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextURI
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.15 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContext
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.962 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextUtil
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 87.202 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextCreateMkdir
[WARNING] Tests run: 63, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 643.64 s - in org.apache.hadoop.fs.s3a.fileContext.ITestS3AFileContextMainOperations
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.531 s - in org.apache.hadoop.fs.s3a.TestListing
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.121 s - in org.apache.hadoop.fs.s3a.TestS3AExceptionTranslation
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.151 s - in org.apache.hadoop.fs.s3a.ITestS3GuardCreate
[INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.917 s - in org.apache.hadoop.fs.s3a.TestSSEConfiguration
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 39.734 s - in org.apache.hadoop.fs.s3a.ITestS3AEncryptionSSES3
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.955 s - in org.apache.hadoop.fs.s3a.ITestS3ABlocksize
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.49 s - in org.apache.hadoop.fs.s3a.ITestS3AFailureHandling
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 15.067 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AHugeFilesByteBufferBlocks
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.267 s - in org.apache.hadoop.fs.s3a.scale.ITestS3ADeleteFilesOneByOne
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 14.164 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AHugeFilesArrayBlocks
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 7.357 s - in org.apache.hadoop.fs.s3a.scale.ITestDynamoDBMetadataStoreScale
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 14.207 s - in org.apache.hadoop.fs.s3a.scale.ITestS3ADirectoryPerformance
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.388 s - in org.apache.hadoop.fs.s3a.scale.ITestS3ACreatePerformance
[WARNING] Tests run: 8, Failures: 0, Errors: 0, Skipped: 8, Time elapsed: 22.418 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AInputStreamPerformance
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.524 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AConcurrentOps
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 14.804 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AHugeFilesSSECDiskBlocks
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.647 s - in org.apache.hadoop.fs.s3a.scale.ITestS3ADeleteManyFiles
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 6.706 s - in org.apache.hadoop.fs.s3a.scale.ITestLocalMetadataStoreScale
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 5, Time elapsed: 14.39 s - in org.apache.hadoop.fs.s3a.scale.ITestS3AHugeFilesDiskBlocks
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.855 s - in org.apache.hadoop.fs.s3a.ITestS3ADelayedFNF
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.084 s - in org.apache.hadoop.fs.s3a.ITestS3AEncryptionSSEKMSDefaultKey
[INFO] Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.345 s - in org.apache.hadoop.fs.s3a.ITestS3AConfiguration
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.855 s - in org.apache.hadoop.fs.s3a.ITestS3AInconsistency
[ERROR] Tests run: 10, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 103.302 s <<< FAILURE! - in org.apache.hadoop.fs.s3a.ITestS3AEncryptionSSEC
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.618 s - in org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.258 s - in org.apache.hadoop.fs.s3a.yarn.ITestS3A
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.81 s - in org.apache.hadoop.fs.s3a.ITestBlockingThreadPoolExecutorService
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.178 s - in org.apache.hadoop.fs.s3a.ITestS3GuardWriteBack
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.037 s - in org.apache.hadoop.fs.s3a.ITestS3ABlockOutputByteBuffer
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.654 s - in org.apache.hadoop.fs.s3a.ITestS3AFileOperationCost
[WARNING] Tests run: 9, Failures: 0, Errors: 0, Skipped: 8, Time elapsed: 49.644 s - in org.apache.hadoop.fs.s3a.ITestS3GuardListConsistency
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.189 s - in org.apache.hadoop.fs.s3a.ITestS3AEncryptionSSEKMSUserDefinedKey
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 21.4 s - in org.apache.hadoop.fs.s3a.ITestS3ABlockOutputDisk
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.999 s - in org.apache.hadoop.fs.s3a.ITestS3ABlockOutputArray
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.596 s - in org.apache.hadoop.fs.s3a.TestS3AGetFileStatus
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.316 s - in org.apache.hadoop.fs.s3a.ITestS3AMiscOperations
[INFO] Tests run: 31, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 221.542 s - in org.apache.hadoop.fs.s3a.ITestS3AFileSystemContract
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.298 s - in org.apache.hadoop.fs.s3a.s3guard.TestPathMetadataDynamoDBTranslation
[WARNING] Tests run: 21, Failures: 0, Errors: 0, Skipped: 21, Time elapsed: 53.878 s - in org.apache.hadoop.fs.s3a.s3guard.ITestS3GuardToolLocal
[WARNING] Tests run: 10, Failures: 0, Errors: 0, Skipped: 10, Time elapsed: 28.464 s - in org.apache.hadoop.fs.s3a.s3guard.ITestS3GuardToolDynamoDB
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.58 s - in org.apache.hadoop.fs.s3a.s3guard.ITestS3GuardConcurrentOps
[INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.127 s - in org.apache.hadoop.fs.s3a.s3guard.TestS3GuardCLI
[INFO] Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.1 s - in org.apache.hadoop.fs.s3a.s3guard.TestDirListingMetadata
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 s - in org.apache.hadoop.fs.s3a.s3guard.TestS3Guard
[INFO] Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.595 s - in org.apache.hadoop.fs.s3a.s3guard.TestNullMetadataStore
[INFO] Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.544 s - in org.apache.hadoop.fs.s3a.s3guard.TestLocalMetadataStore
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.103 s - in org.apache.hadoop.fs.s3a.ITestS3ATestUtils
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 s - in org.apache.hadoop.fs.s3a.TestDataBlocks
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 4.197 s - in org.apache.hadoop.fs.s3a.ITestS3GuardEmptyDirs
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.287 s - in org.apache.hadoop.fs.s3a.ITestS3AAWSCredentialsProvider
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.229 s - in org.apache.hadoop.fs.s3a.TestS3AAWSCredentialsProvider
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.091 s - in org.apache.hadoop.fs.s3a.TestS3AInputPolicies
[INFO] Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 150.313 s - in org.apache.hadoop.fs.s3a.performance.ITestDirectoryMarkerListing
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.538 s - in org.apache.hadoop.fs.s3a.ITestS3AEmptyDirectory
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.017 s - in org.apache.hadoop.fs.s3a.ITestS3AEncryptionAlgorithmValidation
[ERROR] Tests run: 603, Failures: 3, Errors: 3, Skipped: 95

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
11m 38s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-2.10 Compile Tests _

+1 :green_heart:
mvninstall
16m 14s
branch-2.10 passed

+1 :green_heart:
compile
0m 33s
branch-2.10 passed

+1 :green_heart:
checkstyle
0m 24s
branch-2.10 passed

+1 :green_heart:
mvnsite
0m 45s
branch-2.10 passed

+1 :green_heart:
javadoc
0m 29s
branch-2.10 passed

+0 :ok:
spotbugs
1m  8s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
1m  4s
branch-2.10 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 34s
the patch passed

+1 :green_heart:
compile
0m 28s
the patch passed

+1 :green_heart:
javac
0m 28s
the patch passed

+1 :green_heart:
checkstyle
0m 16s
the patch passed

+1 :green_heart:
mvnsite
0m 35s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 20s
the patch passed

+1 :green_heart:
findbugs
1m  7s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
0m 39s
hadoop-aws in the patch passed.

+1 :green_heart:
asflicense
0m 31s
The patch does not generate ASF License warnings.

38m 40s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2685/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2685

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 59949fa7ed62 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
branch-2.10 / ef14e16

Default Java
Oracle Corporation-1.7.0_95-b00

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2685/1/testReport/

Max. process+thread count
195 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2685/1/console

versions
git=2.7.4 maven=3.3.9 findbugs=3.0.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Thanks a lot @steveloughran !
I just uploaded HADOOP-17338 PR for 2.10 branch, but somehow it's not visible in the jira yet. Wonder if you were able to see. Thanks.

Has yetus started on the PR? as that's what really matters. You can always just link the JIRA to the PR by hand

https://github.com/apache/hadoop/pull/2688 Seems the build failed, maybe because I uploaded the diff before your merge thus the base is different.  As of now, I don't see your merge of HADOOP-16767. I will rebase to the latest 2.10 branch once your merge shows up and recreate the PR. Thanks Steve.


Support for static-role with password rotation in Vault 1.2

I find no way to rotate password with static role (with a static username, but the password should be rotated) based in current documentation or examples as dynamic creds.
Is it possible to rotate static role password as dynamic creds ?

This ticket somewhat duplicates https://github.com/spring-projects/spring-vault/issues/645.

Revisiting this one, static roles are an approach to serve compliance issues and not so much an approach where each application instance receives its own login that can be destroyed if there was a disclosure of credentials or someone compromised the system.
That being said, we do not plan to implement this feature as there are already solutions in place that address the need for dynamic database secrets.


swap_backgrounds not working

I'm using lazy.nvim. I found out that swap_background option is not working. I tried to swap them with on_palette option and figured out that it is called twice and therefore not working. I believe it is a cause why swap_backgrounds is broken.
    {
      'AlexvZyl/nordic.nvim',
      event = 'VeryLazy',
      config = function()
        local counter = 0
        require('nordic').setup({
          on_palette = function(palette)
            counter = counter + 1
            print(counter, palette.gray0, palette.black1)
            local gray0 = palette.gray0
            palette.gray0 = palette.black1
            palette.black1 = gray0
            return palette
          end,
          -- swap_backgrounds = true,
        })
        vim.cmd('colorscheme nordic')
      end,
    },

Disclaimer: I have not checked if this is the case with your issue, but...
A lot of the options don't work if you run setup more than once (but some do).
extend_palette is now being called twice after #107, thereby calling on_palette twice.
Either you're right, and it's getting swapped twice, or it's being called with the default value of false and then not updating.
Again, I have not checked if I am right; this is just a guess...
The whole thing is a stateful mess courtesy of Lua, and I think it needs a major refactor.

I would be willing to refactor it but not if I need to split it up into a few dozen PRs, which will take weeks to merge.

Yes, pretty sure I messed up or misunderstand how state works in Lua.
Sorry for being silent, and thanks for sticking around @5-pebbles
I am going to sort it out this weekend.

I would be happy to sort it out, however I don't like merge conflicts, so I have been waiting on #100.
@arkrost is right the values are being switched [color/init.lua - 23]:
    -- Swap background
    if O.swap_backgrounds then
        local gray0 = C.gray0
        C.gray0 = C.black1
        C.black1 = gray0
    end

This will be accidentally fixed in #100.

So I just looked it up...
This returns a ref
require("module")

This returns a clone
require("module").value

In colors/init.lua you have:
local O = require('nordic.config').options

So after the first import that value is not being updated, which would also explain why the tests are running with the same config twice.
#101 is using this:
local options = require('nordic.config').options

So its getting a updated clone each time.
Example<EMAIL_ADDRESS>

So I just looked it up...
This returns a ref:
require("module")

Are you sure?  I thought all tables are references?

I'm using lazy.nvim. I found out that swap_background option is not working. I tried to swap them with on_palette option and figured out that it is called twice and therefore not working. I believe it is a cause why swap_backgrounds is broken.
    {
      'AlexvZyl/nordic.nvim',
      event = 'VeryLazy',
      config = function()
        local counter = 0
        require('nordic').setup({
          on_palette = function(palette)
            counter = counter + 1
            print(counter, palette.gray0, palette.black1)
            local gray0 = palette.gray0
            palette.gray0 = palette.black1
            palette.black1 = gray0
            return palette
          end,
          -- swap_backgrounds = true,
        })
        vim.cmd('colorscheme nordic')
      end,
    },

Oh, yeah... That's not good.  Sorry just properly read this.  Though the problem was something else this entire time.

Sorry for the delay.  Should be fixed in the next merge.

Are you sure? I thought all tables are references?

Yup your right, but what is it?
This import is definitely the changing factor, I tested that.
As far as I know only other thing that it could be, is changing the order of imports.
I don't even remember why I moved the import location but it must have caused me some issue.
I will open a issue for a refactor just to make the code more clear, so we can avoid issues like this in the future.


Feature request for having decorate be a local "node" function.

Why
Make it easier to define complex behaviors in javascript.
From my understanding the decorate behavior must be a single line function with no external variables.  This makes it hard inject any non-trival behavior.  It would be nice to be able to pass in a string reference to a local function which can be required by a naming convention.  I can work on a pr with it requiring a path local to the current running process.
How
For example if decorate is set to injectScriptToHtml
It would could do something like:
const {join} = require('path');
const fns = require(process.cwd(), 'mbBehaviors');

exports.getDecoratorFn = function (functionName) {
  return fns[name];
}

Then behaviors.js would just have to change to allow local functions to be called.
https://github.com/bbyars/mountebank/blob/master/src/models/behaviors.js#L225
 try {
            var locaFn = getDecoratorFn(fn);
           if(localFn) {
                 result = localFn(request, response, logger);
          }
         else {
                  result = eval(injected);
         }

//local behaviors that the end user would have on their machine/repo
const cheerio = require('cheerio')
exports.injectScriptToHtml = function(request, response, logger) {
   const $ = cheerio.load(response.body)
   $.add('head', ...
  response.body = $.html()
}

Does this seem like something worth doing?  The other two approaches right now require a complex almost near impossible build process to build a single line function that can be eval'd properly or write a shell script in node that read vars in, calls the js function and returns the result to stdout.

Yes, this does look valuable. Happy to accept a PR if you're interested. Thanks for the suggestion.
(One note - I've indexed versions of node that mountebank supports to those still on node's LTS schedule, which at the moment bottoms at out v4. The only reason that matters is that I believe v4 doesn't support a lot of the ES6 syntax like the object destructuring you used above. That doesn't matter for the local function, obviously, as the user can run whatever version of node they want, but it matters for any code added to the core of mountebank since I haven't wired up Babel or anything similar to transpile).


BadRequest on registering a push token

Hi! Thanks for adding push notifications to the repository. I made the appropriate changes to my app, but I am not receiving push alerts on my Android phone. I think it's because of the following error I am receiving:

E/flutter (10209): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Instance of 'BadRequestError'
[        ] E/flutter (10209): #0      HttpClient._response (package:sendbird_sdk/services/network/http_client.dart:258:9)
[        ] E/flutter (10209): #1      HttpClient.post (package:sendbird_sdk/services/network/http_client.dart:115:12)
[        ] E/flutter (10209): <asynchronous suspension>
[        ] E/flutter (10209): #2      ApiClient.registerPushToken (package:sendbird_sdk/services/network/api_client.dart:1228:5)
[        ] E/flutter (10209): <asynchronous suspension>
[        ] E/flutter (10209): #3      ChannelListViewModel._registerTokenIfNeeded (package:nl/providers/sendbird/channel_list_view_model.dart:123:7)
[        ] E/flutter (10209): <asynchronous suspension>

The token is definitely being sent. I have not yet tested this on iOS

did you update your sdk to 3.0.10? I don't see this error

feel free to reopen if you still face this issue on latest sdk.

Thanks, @intoxicated  after updating the SDK i am not seeing the error any more and the token is registered for the user although also not receiving the notifications currently.


Flake8 compliace

Edit code and documentation to make the project flake8 compliant.

@cmungall , after some clarification about the x variable in different places, I think we will be ready to merge this PR.


smaller/faster benchmark charting lib

hey @ry
any interest in migrating the benchmark charts from Apex to uPlot?
https://github.com/leeoniya/uPlot#performance
there's no log scale support yet, but everything else looks doable.
cheers!

Closing as stale


[rv_dm,dv] Expand sec_cm_dm_en_ctrl_lc_gated testpoint and implement it

Detailed comments in individual commit messages. The second commit turns out to be necessary because the DV environment imagined "is debug enabled?" to be a yes/no question. Very reasonable! But not correct if we're forcing internal signals.

Ah nuts. It looks like this syntax is not allowed by VCS, which is what we use for CI. I'll try to come up with a better solution tomorrow.

Hmm, this has been surprisingly difficult. It turns out that VCS really didn't like my attempt to read or force the debug enable copies and I think the root of the problem was that the number of copies (5) came from an enum value which isn't visible outside of rv_dm.sv.
This version seems to compile sensibly. I'll do a little more local testing to make sure everything is correct, but (obviously) we're touching the RTL. I don't think there's any way to achieve this test with VCS without such a change. I'm not sure what the right approach is at this point.

Huh. My idea for "an easier way" doesn't actually work because you then need to do a hierarchical reference from the vseq, which is not allowed (because it's starting from a package rather than some instance). I'm reasonably convinced that this is the cleanest approach I can do, so marking it ready for review.

I've just force-pushed with a (much) simpler version. Thanks, @vogelpi and @andreaskurth for suggesting the non-enum signal that I could force in the middle. Much easier and doesn't touch the RTL.

Merging. I've checked and the CI failures are unrelated to this change:

"Private CI / Run top_earlgrey DV test regression 1" seems to have failed because of an IT issue (failing to open a deleted zip file from Bazel)
"CI (CW340's Earl Grey Bitstream)" failed to download OpenOCD.


Allow file-based configuration and add tests

CI fixed now, seems to have been a problem with caching / releasing this before the library. Also rebased onto upstream/main, since some unrelated tests were failing.


[CARBONDATA-3717] Fix inconsistent configs in docs

Why is this PR needed?
Now there are more and more configs in CarbonData(maybe is too many that is hard to maintain).
I found a lot of confusing configs when I was using Carbon:
- `table_block_size` -> `table_blocksize`
- `sort.inmemory.size.in.mb` -> `sort.inmemory.size.inmb`
- unused config(useless):
  - carbon.number.of.cores
  - carbon.graph.rowset.size
  - carbon.enableXXHash
  - ....

What changes were proposed in this PR?

Fix wrong config docs;
Remove unused/meaningless config docs;

Does this PR introduce any user interface change?

No

Is any new testcase added?

No

Build Success with Spark 2.4.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.4/390/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2091/

LGTM


Create supabase backend

Manual creation and CSV upload

(index added but not shown on this picture)

[ ] Create a separate table for tags
[ ] Add user field to articles table
[ ] Add public/private field to articles table


[csolution] should list outdated config files, especially those with major version differences (low prio)

csolution should inform the user about outdated config files similar to uVision
There should be three different levels:
<flie>: info: new config file fully backward compatible - update not required
<file>: warning: new config file fully backward compatible with new features - update recommended
<file>: error: new config file with incompatible modifications - update required

This information should be available also in the *.cbuild.yml file
An IDE or a CLI process can then decide how to implement a merge process.
See also Open-CMSIS-Pack/Open-CMSIS-Pack-Spec#104, https://github.com/Open-CMSIS-Pack/devtools/issues/1315
Proposal for implementation:
csolution convert outputs:

only error to console
all three levels to *.cbuild.yml

new command:
csolution list configs lists all three levels to console.

Implemented in CMSIS-Toolbox 2.6.0


TypeLoadException on an implementation of an abstract class

I'm using NSwag to automatically generate a swagger.json and a C# Client at compile time. I'm running an ASP.NET Core 2 application, but I'm getting the following exception when I run the nswag command:
System.TypeLoadException: Method 'StartAsync' in type 'SuperCoolNamespace.JobService' from assembly 'SuperCoolAssembly, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Server stack trace:
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at NSwag.Commands.SwaggerGeneration.WebApiToSwaggerCommand.<GetControllerTypesAsync>d__91.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\WebApiToSwaggerCommand.cs:line 285
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.SwaggerGeneration.WebApiToSwaggerCommand.<RunIsolatedAsync>d__88.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\WebApiToSwaggerCommand.cs:line 188
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedCommandBase`1.IsolatedCommandAssemblyLoader`1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths) in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedCommandBase.cs:line 59
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at NSwag.Commands.IsolatedCommandBase`1.IsolatedCommandAssemblyLoader`1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths)
   at NSwag.Commands.IsolatedCommandBase`1.<>c__DisplayClass13_0.<RunIsolatedAsync>b__0() in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedCommandBase.cs:line 49
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedCommandBase`1.<RunIsolatedAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedSwaggerOutputCommandBase.<RunAsync>d__4.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedSwaggerOutputCommandBase.cs:line 24
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.NSwagDocumentBase.<GenerateSwaggerDocumentAsync>d__40.MoveNext() in C:\projects\nswag\src\NSwag.Commands\NSwagDocumentBase.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.NSwagDocument.<ExecuteAsync>d__8.MoveNext() in C:\projects\nswag\src\NSwag.Commands\NSwagDocument.cs:line 76
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.Document.ExecuteDocumentCommand.<ExecuteDocumentAsync>d__9.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 77
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.Document.ExecuteDocumentCommand.<RunAsync>d__8.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 43
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.<ProcessSingleAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.<ProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.Process(String[] args, Object input)
   at NSwag.Commands.NSwagCommandProcessor.Process(String[] args) in C:\projects\nswag\src\NSwag.Commands\NSwagCommandProcessor.cs:line 54

Here's some of the code I'm using. StartAsync is implemented in HostedService, thus the error message is confusing me.
JobService:
public class JobService : HostedService
    {
        private ILogger _logger;
        public JobService(ILogger<JobService> logger)
        {
            _logger = logger;
        }

        protected override async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            while(!cancellationToken.IsCancellationRequested)
            {
                Stopwatch stopwatch = new Stopwatch();
                _logger.LogDebug("Job Service started doing things...");

                _logger.LogDebug("Job Service completed {0}ms ({1} sec).",
                    stopwatch.ElapsedMilliseconds, stopwatch.Elapsed.TotalSeconds);

                await Task.Delay(TimeSpan.FromMinutes(1)); // Run only once every minute.
            }
        }
    }

I feel like I'm doing it right. Any feedback would be appreciated.

Can you provide a sample project?

Thanks for the quick reply. I'll do that.

Just tried it with version v11.13.3, with the .NET Core 2.0 runtime:

Update NSwag to v11.13.3 (e.g. npm i nswag -g)
Run with .NET Core 2.0 runtime: nswag run /runtime:NetCore20

Still no luck for me after updating NSwag. What version of dotnet are you running? I'm on 2.1.4, which seems to be the latest version.

It's important to run nswag in the .NET Core runtime with /runtime:NetCore20, did you do that?

Yes I did. It does not appear to make a difference on my end. I get the exact same stack trace (according to KDiff3) with and without specifying the runtime.
PS C:\Users\joeri\source\repos\nswag1175\nswag1175> dotnet --version
2.1.4
PS C:\Users\joeri\source\repos\nswag1175\nswag1175> nswag version
NSwag command line tool for .NET 4.6.1+ WinX64, toolchain v<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>))
Visit http://NSwag.org for more information.
NSwag bin directory: C:\Program Files (x86)\Rico Suter\NSwagStudio\Win

NSwag version: <IP_ADDRESS>
NJsonSchema version: <IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>)

Duration: 00:00:00.0073422
PS C:\Users\joeri\source\repos\nswag1175\nswag1175> dotnet publish -o ./bin/Publish
Microsoft (R) Build Engine version <IP_ADDRESS>428 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 88.29 ms for C:\Users\joeri\source\repos\nswag1175\nswag1175\nswag1175.csproj.
  Restore completed in 76.86 ms for C:\Users\joeri\source\repos\nswag1175\nswag1175\nswag1175.csproj.
  nswag1175 -> C:\Users\joeri\source\repos\nswag1175\nswag1175\bin\Debug\netcoreapp2.0\nswag1175.dll
  nswag1175 -> C:\Users\joeri\source\repos\nswag1175\nswag1175\bin\Publish\
PS C:\Users\joeri\source\repos\nswag1175\nswag1175> nswag run /runtime:NetCore20
NSwag command line tool for .NET 4.6.1+ WinX64, toolchain v<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>))
Visit http://NSwag.org for more information.
NSwag bin directory: C:\Program Files (x86)\Rico Suter\NSwagStudio\Win

Executing file 'C:\Users\joeri\source\repos\nswag1175\nswag1175\config.nswag'...
System.TypeLoadException: Method 'StartAsync' in type 'nswag1175.MyService' from assembly 'nswag1175, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' does not have an implementation.

Server stack trace:
   at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at NSwag.Commands.SwaggerGeneration.WebApiToSwaggerCommand.<GetControllerTypesAsync>d__91.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\WebApiToSwaggerCommand.cs:line 285
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.SwaggerGeneration.WebApiToSwaggerCommand.<RunIsolatedAsync>d__88.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\WebApiToSwaggerCommand.cs:line 188
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedCommandBase`1.IsolatedCommandAssemblyLoader`1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths) in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedCommandBase.cs:line 59
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at NSwag.Commands.IsolatedCommandBase`1.IsolatedCommandAssemblyLoader`1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths)
   at NSwag.Commands.IsolatedCommandBase`1.<>c__DisplayClass13_0.<RunIsolatedAsync>b__0() in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedCommandBase.cs:line 49
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedCommandBase`1.<RunIsolatedAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedSwaggerOutputCommandBase.<RunAsync>d__4.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\IsolatedSwaggerOutputCommandBase.cs:line 24
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.NSwagDocumentBase.<GenerateSwaggerDocumentAsync>d__40.MoveNext() in C:\projects\nswag\src\NSwag.Commands\NSwagDocumentBase.cs:line 266
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.NSwagDocument.<ExecuteAsync>d__8.MoveNext() in C:\projects\nswag\src\NSwag.Commands\NSwagDocument.cs:line 76
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.Document.ExecuteDocumentCommand.<ExecuteDocumentAsync>d__9.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 77
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.Document.ExecuteDocumentCommand.<RunAsync>d__8.MoveNext() in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 43
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.<ProcessSingleAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.<ProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NConsole.CommandLineProcessor.Process(String[] args, Object input)
   at NSwag.Commands.NSwagCommandProcessor.Process(String[] args) in C:\projects\nswag\src\NSwag.Commands\NSwagCommandProcessor.cs:line 54
PS C:\Users\joeri\source\repos\nswag1175\nswag1175>

The problem here is that the /runtime only works with the NPM package of NSwag - but in your case the NSwagStudio MSI installer installation is used where you cannot change the runtime via cmd line (only the UI). Running this should work for you (just a temporary fix):
dotnet "C:\Program Files (x86)\Rico Suter\NSwagStudio\NetCore20\dotnet-nswag.dll" run

Btw: This line shows that you are still running the full .NET version even if you used /runtime:

If it is a temporary fix, I'd rather use the npm package. I'm not specifically tied to the UI, it just looked like the easiest way to get the CLI at the time (little did I know..). I just tried the npm package, and it indeed works. Thanks!
By the way, would there be a possibility to save the runtime in the config.nswag? I generated the configuration file using NSwagStudio and I didn't know I had to specify the runtime on the command line separately. Especially because the runtime option is part of the same UI as all the other settings.

Also, some kind of error message for an unsupported runtime would probably be helpful in this scenario.

If you set the runtime in UI then the command line checks whether the runtime is correct and prints an error otherwise... If you leave "Default" then it will run with the current runtime...

I'll remember that for next time. That however doesn't take away that I didn't receive any notification about the unsupported/missing runtime when I used the CLI that came with the MSI. The documentation also doesn't state it. Through the Wiki I ended up on this wiki page, from which I then proceeded to install the NSwagStudio using Chocolatey. I previously said I generated the config file using NSwagStudio, but I actually didn't even do that. I copied it somewhere from the wiki. So basically I should've just installed the NPM package. I never had the intention to use NSwagStudio since I'm integrating it in a build script.
Anyway, thanks for helping out.

The biggest problem with the NSwagStudio MSI installer is that it registers the command line path so that you can use "nwag" in your command line but you cannot use /runtime and this is not expected... Maybe we should not register the command line path and use the NSwagStudio MSI installer just for the UI. And if you need the command line tools you can either download them manually or use NPM alongside NSwagStudio. Would this make it easier to use the tools?

TL;DR: Probably, but updating the documentation would already make a huge difference.
I think the CLI and NSwagStudio are two different products, and from what I feel right now the methods to download these products are kind of mixed up. I use CakeBuild for my build scripts and I found that there was no NuGet package. Since we already use Chocolatey for other things, I opted for that next.
I didn't expect the CLI in NSwagStudio to be different. This is where the documentation can be more clear and that would already help tremendously. For example on this wiki section, it isn't explicitly listed that the CLI that comes with NSwagStudio is different.
And perhaps offering the CLI in a separate NuGet/Chocolatey/NPM package would make NSwag easier to download, but that's just nitpicking.

Just to clarify: The CLI is not different - there are four CLI version distributed via NSwagStudio or NPM: Full .NET (x64 and x86), Core 1/1.1/2.0... The only difference is that NSwagStudio calls the correct CLI depending on the Runtime dropdown, the NPM package chooses the CLI depending on the /runtime parameter, but the NSwagStudio installer only registers the /Win (full .NET CLI) and thus the full .NET CLI is always used when installing NSwagStudio and using nswag via CLI (/runtime does not work because it is handled by the NPM package)...

FYI: I added a nswag.cmd file to the NSwagStudio installer so that you can use /runtime also if NSwag is installed via MSI installer: https://github.com/RSuter/NSwag/commit/04576e4d1b714ac5bd9b5df11d72469a23f7c0ff#diff-66d5022663832f3a9a2b8cc682a9ef83


Hanging in Chrome Web Store

Using 121.0.6167.81 on Windows 7 x64 SP1 with latest non-ESU updates (I couldn't figure out how to enable it).
Twice when visiting https://chromewebstore.google.com/ or a subpage, the entire browser froze with practically no CPU activity in any of the chrome.exe processes. A few processes were at 0.1% CPU, but usually blocked on waiting on Windows objects (blocked on a mutex/etc?).
Unfortunately I cannot reproduce this on demand, and even if I could, debugging a multi-process deadlock spanning C++ and JS JITs is likely beyond my abilities (possibly even with symbols or building from source?).

I have never been able to reproduce this issue. I was able to fix it in the GPU process, but I think this issue is in the renderer process (which does get consolidated into the main process with the --single-process switch). Debugging information is insufficient and dumps are not produced as Chromium does not watch renderer hangs like it does GPU process hangs.
I suspect this is ultimately an upstream issue and a new major release is now coming out there. It will be time to rebase and produce a new release which can be tested for these issues. And if not, I will try to build a "watchdog" for the renderer main loop and see if any particular renderer messages cause these problems.

Using 121.0.6167.81 on Windows 7 x64 SP1 with latest non-ESU updates (I couldn't figure out how to enable it).

You can use this guide to enable ESU updates but you need Professional or Enterprise as otherwaise updates can fail installing (updates also failed installing on my hardware aka my Acer Aspire One D270 with x64 Windows 7 even with Professional but probably that's a problem on my end)


Cannot (clean) master

I have done make clean, then ./configure and I still get the following errors (when I hadn't before):
                                                                                ^
1 warning generated.
findlib: [WARNING] Interface pparse.cmi occurs in several directories: src/ocaml_aux, src/ocaml/utils
File "src/ocaml_aux/pparse.ml", line 1:
Error: The files src/ocaml/parsing/location.cmi
       and src/ocaml/utils/pparse.cmi make inconsistent assumptions
       over interface Warnings
make[2]: *** [src/ocaml_aux/pparse.cmx] Error 2
make[1]: *** [native-code] Error 2
make: *** [debug] Error 2

If I checkout a fresh clone of merlin, then I can correctly build merlin.

Yes you just have some leftovers from a different version.
The build system only remove files belonging to the current version, so in theory you should clean before checking out. This is not satisfying.
What about a "sanitize tactic" removing all .cm from src?
Please check that find src/ -name '*.cm*' -delete works as expected with BSD find (on OSX).

The build system only remove files belonging to the current version, so in theory you should clean before checking out. This is not satisfying.

Makes sense, thanks!


IdentityServer4 host solution is looking for non-existent IdentityServer4.Storage v3.0.1

attempting to build the solution in /src/IdentityServer4/host and it can't find v3.0.1 because it doesn't exist in https://api.nuget.org/v3.
Severity	Code	Description	Project	File	Line	Suppression State
Error	NU1102	Unable to find package IdentityServer4.Storage with version (>= 3.0.1)
  - Found 18 version(s) in NuGet [ Nearest version: 3.0.0 ]
  - Found 0 version(s) in C:\dev\authN\IdentityServer4\nuget	IdentityServer4	C:\dev\authN\IdentityServer4\src\IdentityServer4\src\IdentityServer4.csproj	1
Error	NU1102	Unable to find package IdentityServer4.Storage with version (>= 3.0.1)
  - Found 18 version(s) in NuGet [ Nearest version: 3.0.0 ]
  - Found 0 version(s) in C:\dev\authN\IdentityServer4\nuget	IdentityServer.UnitTests	C:\dev\authN\IdentityServer4\src\IdentityServer4\test\IdentityServer.UnitTests\IdentityServer.UnitTests.csproj	1
Error	NU1102	Unable to find package IdentityServer4.Storage with version (>= 3.0.1)
  - Found 18 version(s) in NuGet [ Nearest version: 3.0.0 ]
  - Found 0 version(s) in C:\dev\authN\IdentityServer4\nuget	IdentityServer.IntegrationTests	C:\dev\authN\IdentityServer4\src\IdentityServer4\test\IdentityServer.IntegrationTests\IdentityServer.IntegrationTests.csproj	1
Error	NU1102	Unable to find package IdentityServer4.Storage with version (>= 3.0.1)
  - Found 18 version(s) in NuGet [ Nearest version: 3.0.0 ]
  - Found 0 version(s) in C:\dev\authN\IdentityServer4\nuget	Host	C:\dev\authN\IdentityServer4\src\IdentityServer4\host\Host.csproj	1

enable include pre-release, search, install & build.

check the readme how to build

apologies


Gitea doesn't recognize my GPG key

Gitea version (or commit ref): 1.2-rc1
Git version: 2.1.2
Operating system: Debian 8.9
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (https://try.gitea.io/sondr3/test1)
[ ] No
[ ] Not relevant

Log gist:

Description
I've added my GPG key to a 1.2-rc1 version of Gitea that I'm running, and it says that it can't find any key matching my email for that address. Github recognizes it and supports it just fine, but Gitea for some reason doesn't. I can't recall what settings I used to generate the GPG key anymore, it's been a while since I created it.
Screenshots

It seems that it's not the key you used to sign the commit. When I clone your repo example on try.gitea.io, I get that you sign with RSA D78D17BB14716F42

To verify that :
git clone https://try.gitea.io/sondr3/test1.git
cd test1
git log --show-signature

Yeah, this was my fault. Apparently I had exported a subkey and not the actual GPG key itself, so I was using the wrong one. My bad, thanks for pointing it out, it works fine now that I'm using the correct one.

Glad to here that. enjoy :smile:

I was having this issue with key 29104A46C5615BF978A083F20C207F07B2F32B67 until I removed it from Gitea and added again with gpg --export-options export-minimal --export 29104A46C5615BF978A083F20C207F07B2F32B67.
Gitea kept saying No known key found for this signature in database and the person running the Gitea instance thought that it may be a problem with amount of subkeys that I have.

@Mikaela Please fire another issue since your problem is different from this one.

@lunny I don't know what subject to use or anything and I managed to get it workarounded. As the symptom is the same as in  the subject of this one, I think this should be reopened in case you can reproduce the issue.

I have a similiar/the same problem, but when i imported the public gpg key on my pc it shows the signature is verified (git log --show-signature).
But when i use the exact same String (public gpg key in ascii form) in my Gitea Account, it does not recognize the signature of commits.
(Its a 2048 Bit rsa gpg key, maybe thats a problem? Because my 4096 Bit rsa gpg key does work)
The fingerprints of the key shown by git log --show-signature and on Gitea are also the same :/

Hmmm i created a new keypair (2048 Bits rsa) and signed it via my ios app (where i had problem with signed commits) and it did not work.
Then i importet this keypair on my pc and signed a new commit from the pc.
Now Gitea recognizes the key.
But in both cases my local git recognized both signatures made from the ios app and the pc...

@Panzer1119 any log on your backend?

What kinda log? I believe the App is creating the signature different than the computer?

I'm using gnupg 1.4.18 from Debian with a 4096Bits key, I am not able to confirm signed tags either.
My key pair (master + one subkey) was imported correctly on my account.
Using git verify-tag I can verify that the tag is signed with one of the keys displayed on my settings page. I can't make Gitea display the tag's signature key ID though.

I am having this same problem but for commits. Can verify the commits locally all good, all using the same key.
But in Gitea, they are now marked as
 WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS. GPG Key ID: EDE939629F5C1A6A
https://git.autonomic.zone/kawaiipunk/walkaway-wiki/commits/branch/master
As far as I know, nothing has changed in my configs.

@georgeowell Please don't write on closed issues - comments are very likely to be missed.
This is a different problem to the above issue. My initial suspicion is that you are hitting #10420 but without knowing your version I cannot confirm.
We need to know what version of Gitea you are running.


Cannot connect to MSSQL: Timed out in bb8

What language are you using?

Polars
Can you describe your bug?
Establishing a connection with pyodbc works, times out with connector-x
What are the steps to reproduce the behavior?
import urllib

import connectorx

driver = "ODBC Driver 18 for SQL Server"
username = 'myusn'
password = 'my_pass_with_special_chars_e.g._#'
password_url_encoded = urllib.parse.quote_plus(password)  # required because of special chars in passw
server = "<IP_ADDRESS>\\MYSQLINSTANCE1"
server_url_encoded = urllib.parse.quote_plus(server)
database = 'MYDB1'
query = "select top 10 * from test.test2"

# this works
connstr = "DRIVER=" + driver + ";" + f"SERVER={server};DATABASE={database};UID={username};PWD={password};ENCRYPT=no"
conn = pyodbc.connect(connstr)

# this times out (also when using `=no` instead of `=false` or without both flags)
connstr2 = f"mssql://{username}:{password_url_encoded}@{server_url_encoded}/{database}?encrypt=false&trusted_connection=false"
connectorx.read_sql(connstr2, query)

Database setup if the error only happens on specific data or data type
Not applicable
Example query / code
"select top 10 * from test.test2"

What is the error?
RuntimeError                              Traceback (most recent call last)
Cell In[102], line 2
      1 connstr2 = f"mssql://{username}:{password_url_encoded}@{server_url_encoded}/{database}?encrypt=false&trusted_connection=false"
----> 2 connectorx.read_sql(connstr2, query)

File ~/mambaforge-pypy3/envs/venv/lib/python3.10/site-packages/connectorx/__init__.py:264, in read_sql(conn, query, return_type, protocol, partition_on, partition_range, partition_num, index_col)
    261 except ModuleNotFoundError:
    262     raise ValueError("You need to install pandas first")
--> 264 result = _read_sql(
    265     conn,
    266     "pandas",
    267     queries=queries,
    268     protocol=protocol,
    269     partition_query=partition_query,
    270 )
    271 df = reconstruct_pandas(result)
    273 if index_col is not None:

RuntimeError: Timed out in bb8

Same issue here. I believe it is caused by incorrect handling of connection string when connecting to a specific instance of SQL server. In you case server = "<IP_ADDRESS>\\MYSQLINSTANCE1"  and database = 'MYDB1', MYSQLINSTANCE1 is not parsed correctly.

@wangxiaoying This is an ongoing issue that has been reported several times. Is it something you will look into?

@lyngc SQL server uses instance mechanism as kind of proxy for inbound port 1433 to relay it to a port that corresponds to actual instance. You can find "instance" port by running:
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on', N'any', NULL, NULL, N'asc'
GO

and then connect to the server:port without specifying instance.
It is sort of workaround until the issue with parsing of connection string is fixed.


Stage 4 infinite refresh error

I first noticed this on #608, but it turns out it was a general issue on main.
From @nmearl: "My immediate suggestion is to check load_class_data.finished instead of load_class_data.value on line 136. This stops the infinite refresh for me."

What I did and observed:

Create a fresh student
use class demo2024
Make velocity measurements in Stage 1
Make distance measurements in Stage 3
Jump to Stage 4.
On marker tre_dat1, no viewer appears.
When I try to refresh, I get these errors:

Traceback (most recent call last):
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/reacton/core.py", line 1707, in _render
    root_element = el.component.f(*el.args, **el.kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Pat/Documents/GitHub/hubbleds/src/hubbleds/pages/04-explore-data/__init__.py", line 80, in Page
    solara.lab.use_task(_load_student_data)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/tasks.py", line 846, in use_task
    return wrapper(f)
           ^^^^^^^^^^
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/tasks.py", line 840, in wrapper
    raise task_instance.exception
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/tasks.py", line 259, in runner
    self._last_value = value = await self.function(*args, **kwargs)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Pat/Documents/GitHub/hubbleds/src/hubbleds/pages/04-explore-data/__init__.py", line 78, in _load_student_data
    measurements = LOCAL_API.get_measurements(GLOBAL_STATE, LOCAL_STATE)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Pat/Documents/GitHub/hubbleds/src/hubbleds/remote.py", line 111, in get_measurements
    measurements.set(parsed_measurements)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 571, in set
    self._field.set(value)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 645, in set
    self._parent.set(parent_value)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 620, in set
    self._parent.set(value)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 358, in set
    self._storage.set(value)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 266, in set
    self.fire(value, old)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/toestand.py", line 148, in fire
    with contextlib.ExitStack() as stack:
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/contextlib.py", line 601, in __exit__
    raise exc_details[1]
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/contextlib.py", line 586, in __exit__
    if cb(*exc_details):
       ^^^^^^^^^^^^^^^^
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/reacton/core.py", line 1194, in __exit__
    self._possible_rerender()
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/reacton/core.py", line 1391, in _possible_rerender
    self.render(self.element, self.container)
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/reacton/core.py", line 1463, in render
    raise RuntimeError(msg)
RuntimeError: Too many renders triggered, your render loop does not stop
Last reason: Reason: state changed with key auto_subscribe_force_update_counter
Value changed from 61 to 62

Previous reasons: Reason: state changed with key auto_subscribe_force_update_counter
Value changed from 60 to 61

Originally posted by @patudom in https://github.com/cosmicds/hubbleds/issues/608#issuecomment-2359187105

I just tried making the suggested stage 4 changes locally, and I'm still stuck in an infinite loop.
@johnarban figured out that brand new students are not being added to classes, which we're guessing is contributing to these issues. @Carifio24 or @nmearl, can one of you please investigate this?
Terminal errors we are getting are:
[2024-09-23 16:46:50][    INFO][ STAGE 4]:Loading class data
INFO:STAGE 4:Loading class data
ERROR:    'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/Users/Pat/anaconda3/envs/common-solara/lib/python3.11/site-packages/solara/tasks.py", line 259, in runner
    self._last_value = value = await self.function(*args, **kwargs)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Pat/Documents/GitHub/hubbleds/src/hubbleds/pages/04-explore-data/__init__.py", line 32, in load_class_data
    class_measurements = LOCAL_API.get_class_measurements(GLOBAL_STATE, LOCAL_STATE)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/Pat/Documents/GitHub/hubbleds/src/hubbleds/remote.py", line 293, in get_class_measurements
    f"{global_state.value.student.id}/{global_state.value.classroom.class_info['id']}"
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
TypeError: 'NoneType' object is not subscriptable
ERROR:solara.task:'NoneType' object is not subscriptable

Okay, it sounds like this might be a server-side issue. I'll investigate if that's the case.

Thank you, @Carifio24! https://github.com/cosmicds/cosmicds/pull/337 is fixing this issue for me, so I will close it.


Allow dodo which foo instead of dodo which --script foo

The which command should have optional switches, e.g. dodo which --dir src. If you leave out the switch, then the command should try to figure out what you meant by trying things out. So dodo which src will try to find the src.py script, and if it doesn't exist, should try to find the src_dir config value.

Fixed


fix: revm bn254 mul issue + cancun support

Two fixes:

Our revm incorrectly set the bn 254 mul precompiles in revm which made them not work correctly, it seems this was introduced only sometime last week when switching to the feat/zk-op revm branch. This is now fixed in the v35_taiko_v2 branch: https://github.com/taikoxyz/revm/commit/ec20417a94bd9b6092c6d5c205c1b68f5851b7e8
Cancun support did not always work correctly because the point precompile is only enabled for cancun when the c-kzg feature is enabled, so each block containing a call to this precompile would not work correctly. For cancun support in non-native provers we will also have to make sure that KzgProof::verify_kzg_proof (https://github.com/taikoxyz/revm/blob/a5c01f345f4362f4d5d8bbddf37e9d8aeb27b0d3/crates/precompile/src/kzg_point_evaluation.rs#L73) works correctly without file IO. I haven't tested it yet, but I think it should be okay because revm also avoids using file io to load in the trusted setup data: https://github.com/taikoxyz/revm/blob/a5c01f345f4362f4d5d8bbddf37e9d8aeb27b0d3/crates/primitives/src/kzg/env_settings.rs#L51. In any case, Taiko doesn't support cancun yet so we don't really need this to work for all provers yet.

Both issues can be triggered in ethereum block 19899808 at tx 65, so that block can be used for testing.

Should we start doing PR in revm main instead of using branches?

The difficulties of having different repos. We should do PRs but not sure what mechanism would be best. Maybe we should do PRs to the main branch on revm side and use specific revs on the raiko side, each revm update also requires a PR in raiko which I guess is fine.


Possible improvement for startup version check

When the startup endpoint is not yet know to the server (e.g. "v5/startup"), the client/server version-check is not done. Therefore, the nice "incompatible versions"-exception message is not shown, instead an exception is thrown with "Server doesn't support '/v5/startup'." We should check if this is intended behaviour or if we should have an independant version check apart from the startup itself.

The version check on server-side works with every startup endpoint not just v5. If you use e.g. /mystartup as endpoint, it also won't work because the server doesn't know the endpoint.
So in your use-case, you have a newer client and are trying to connect to an older server, right?
Sure, this is a problem.
In this case, we should show a different message, because the server is too old... but we don't know the server version.
If startup fails with 404, it's possible that the server is available but the app name is wrong...
So it's hard to find the root cause of the problem.
The client side version check is not the solution!

So in your use-case, you have a newer client and are trying to connect to an older server, right?
If startup fails with 404, it's possible that the server is available but the app name is wrong...

Yes, correct. That was the problem. Because we always show this message "Server does not support /v5/startup" on 404, we can't be sure if this is the problem, but we show this as beeing the problem.
Not that big of a problem, just wanted to document this behaviour as it has happened to me.

From my point of view, everything is fine and the message has enough details. The version check is more or less important for the client-side and the server-side should be up-to-date.... It's easy to update the server-side but it's not so easy to update the mobile clients.
I'm always open for improvements but in this special case, I have no idea what's better.


New version: ArduinoSA.IDE.stable version 2.3.2

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] Is there a linked Issue?
Resolves #152145

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@MatthewA1, kindly take a look at my review.

Automatic Validation ended with:

2024-05-03T20:43:45.6652098Z ##[error]Manifest Validation Failed
2024-05-03T20:43:50.7470601Z ##[section]Finishing: Validate Manifest

(Automated response - build 880.)

@MatthewA1, kindly take a look at my review.
Verified my review manually:
This is the suggestion if you are unable to see it:
AppsAndFeaturesEntries:
- DisplayVersion: 2.3.2
  DisplayName: Arduino IDE 2.3.2

I corrected the AppsAndFeaturesEntries > DisplayVersion entry to be the correct version, 2.3.2. I did not add the DisplayName attribute as it does not appear in the old version's manifest. Does it have to be there in the new manifest version?

The DisplayName attribute helps with matching. I'm not sure if it's necessary.


F6 Sites Motion UI: slide-out-down is not working correctly

When I use the slide-out-down animation on my local foundation and the foundation website it's animating just like the slide-out-up motion. Go to this url http://foundation.zurb.com/sites/docs/motion-ui.html#built-in-transitions and toggle between the two motions to see. Thanks.

Bugfix in motion-ui repo PR 48

Merged zurb/motion-ui#48


JSDoc autocomplete should not apply to classes

Version: TS 1.8.2 / VS 2015
I find the following JSDoc autocomplete terribly annoying:

My JSDoc for classes is almost always a one-liner:
/** This is the documentation for this class */
export class Position {
}

Please consider removing this autocomplete feature for classes, or at least provide an option for turning it off.
Thanks!

I don't think we'd have construct-level options or behavior for this, but an option to turn it off entirely seems reasonable.

The autocomplete for methods and functions is certainly useful, as it can save having to type out parameters, e.g.
/**
    *
    * @param instance
    * @param startPosition
    * @param endPosition
    * @param durationMS
    */
public top(instance: {}, startPosition: string, endPosition: string, durationMS: number)

It just doesn't make sense at the class-level.

Another case that I think interferes with the normal flow is then a function or method has no parameters:

My JSDoc for this case is, again, typically a single line:
/** Gets a short description for each rating type. */
public getDescriptions() {

    return this.descriptions;
}

Just want to point out that parameter-less functions can still have @return, @template, etc annotations, so unless globally turned off with an LS option it should still be emitted.

In my case I find that the return is already normally in the description, e.g "Adds an item to persistent storage and returns the id".

Yes, I understand. I'm just saying that it shouldn't be disabled completely, but only if the new option that Ryan mentioned proposed is enabled.

Discussed and several people felt that having multi-line comments here made sense too. So without a consensus that one is better than the other and a desire to not have tons of skeletoning options, the current behavior is what we'd like to continue with

Oh dear. I have disliked JSDoc from day one, and it only gets worse with use with its intrusive and awkward  style. This is bad news.
Sent from my iPhone
On 17 May 2016, at 00:02, Ryan Cavanaugh <notifications<EMAIL_ADDRESS>wrote:
Discussed and several people felt that having multi-line comments here made sense too. So without a consensus that one is better than the other and a desire to not have tons of skeletoning options, the current behavior is what we'd like to continue with

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/TypeScript/issues/7325#issuecomment-219573956


windows version is too slow, using almost half of cpu

what the matter with the desktop application?

We haven't received an update so we'll assume that the problem is fixed or is no longer valid.
If you still experience the same problem, try upgrading to the latest version.
If the issue persists, reopen this issue with the relevant information and we'd be glad to help you where we can.


Get ETag from put-object response

s3 PutObject will return ETag, and the minio private API putObjectDo also return the ObjectInfo, but all public API will only return object size.

@TennyZhuang We generally like to keep our APIs simple. Will check internally and get back to you on this.

@TennyZhuang can you explain further why do you need ETag in the response?

We split big object to small objects manually instead of using multipart in
our scene, then we need to calculate a big object etag with md5(part_etags)
manually.
Harshavardhana<EMAIL_ADDRESS>周四04:59写道：

@TennyZhuang https://github.com/TennyZhuang can you explain further why
do you need ETag in the response?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/minio/minio-go/issues/1131?email_source=notifications&email_token=ACF4VXVJGX3BCWWFNGPSOYLP5UHLPA5CNFSM4H5B5IQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZFVGHA#issuecomment-508252956,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACF4VXTXAUAEOXRAPRQLZSTP5UHLPANCNFSM4H5B5IQA
.

Why are you doing that and not using multipart API ?

We need to migrate some data to other storage and may break multipart upload.

@TennyZhuang, it might be better for you to compute ETag on the client side by using a wrapped stream and computing MD5 on the big object rather than relying on the SDK to return per part ETag and using that to compute final ETag. Trying to understand your use case and how your application is using this ETag.
You might also want to consider doing a StatObject after each PUT operation to get ETag info.

ping @TennyZhuang, did you try this suggestion?

In the fact, our case is implement an S3-compatible object store, and use
minion as hot storage backend (with a bit capacity) . Any data in hot
storage may rotate to cold storage in a short time, and the lifecycle of a
valid multipart may be 7 days, and multiple multipart uploads may happen
with overlap, it’s uncontrollable in our case. And because of we implement
the s3 API by ourselves, we have to return every part’s md5 to user to
respect the S3 protocol, whether user need it.
poornas<EMAIL_ADDRESS>周四04:22写道：

ping @TennyZhuang https://github.com/TennyZhuang, did you try this
suggestion?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/minio/minio-go/issues/1131?email_source=notifications&email_token=ACF4VXTHOXJEFZMUFW6GO2LQDMVH5A5CNFSM4H5B5IQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ZTDYQ#issuecomment-519254498,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACF4VXRBWFHJLXYWBS4DWGDQDMVH5ANCNFSM4H5B5IQA
.

@TennyZhuang, you can use the Core API to get ETag from the PutObject call. Just fyi, start minio server with --compat flag if you want it to return S3 compatible MD5Sum.

Awesome! This is exactly I need. Thank you.
poornas<EMAIL_ADDRESS>周四08:24写道：

@TennyZhuang https://github.com/TennyZhuang, you can use the Core API
https://github.com/minio/minio-go/blob/master/core.go to get ETag from
the PutObject call. Just fyi, start minio server with --compat flag if you
want it to return S3 compatible MD5Sum.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/minio/minio-go/issues/1131?email_source=notifications&email_token=ACF4VXQULIN4LQMEMJNPWLLQDNRTVA5CNFSM4H5B5IQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD32CAUI#issuecomment-519315537,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACF4VXQR3L6RIHK7SVJ4MNTQDNRTVANCNFSM4H5B5IQA
.


Verification Icon does not Render in Exported Image

Fixed: http://playlist.wiki/playlist/for-the-love-of-food


[PE-D][Tester D] Edit person command does not show an error message when no edits are made

In this test, I added a new Person named Alex. I then ran the edit_person command as follows:

In this case, the Person was not edited at all, since the name remains the same. However, instead of returning an error message, the command is taken to be successful, and the following message is returned:

This case should be handled as it should be made clearer to the user that the person is not edited (for instance, they may have missed out a parameter).

Labels: severity.Low type.FunctionalityBug
original: yytan25/ped#1

TODO:

Fix error message

Fix by @leezhengjing


Error: Failed to configure Jira client: no viable authentication method was configured

Description
I have set up the jira server authentication method for the xray plugin, and tested my PAT using postman. However, the authentication is still not succeeding
Cypress version
13.6.2
Plugin version
6.0.0
Jira/Xray type
Server
Configuration
run: pnpm nx e2e app-e2e --skip-nx-cache --prod JIRA_API_TOKEN=${{ secrets.JIRA_API_TOKEN }} JIRA_TEST_EXECUTION_ISSUE_KEY=${{ inputs.testKey }} -- --baseUrl=https://app-${{ inputs.env || 'dev' }}.domain.com --record --parallel --key=${{ secrets.CYPRESS_DASHBOARDS_KEY }} --ci-build-id=${{ github.run_id }} --tag "${{ inputs.ENV }}, ${{ github.run_id}}"

await configureXrayPlugin(config, {
    jira: {
      projectKey: 'PREZ',
      url: 'https://jira.me.com',
      attachVideos: false,
    },
    xray: {
      uploadScreenshots: true,
    },
    cucumber: {
      featureFileExtension: '.feature',
      downloadFeatures: false,
      uploadFeatures: true,
    },
  });

Acknowledgements

[X] I have made sure not to include any sensitive data in screenshots or obfuscated all occurrences.
[X] I have made sure not to include any sensitive data in descriptions or replaced all values with placeholders.
[X] I have made sure not to include any sensitive data in code snippets or replaced all values with placeholders.

Ah my bad... indeed I was already inputing the env config externally, so I just had to add them to the list..
 This almost always means that you or some other plugin, are overwriting this plugin's event handlers. For more information & workarounds, see https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/event-handlers.md (if neither workaround work, please report at https://github.com/badeball/cypress-cucumber-preprocessor)
I'm guessing this is because I did not define a prefix config, and I will have to create a few hundred jira test issues so that I can correctly tag my tests right? From what I see in the documentation, it will not automatically create background issues.

Yes, the plugin refuses to create new Jira issues apart from test execution issues for maintainability reasons and because in the past, there was a lot of confusion. So you will unfortunately need to add the comments containing precondition tags to your backgrounds.
Whether an additional prefix configuration will become necessary I cannot really tell you, it depends on your configuration.

Error: Unexpected state in beforeSpecHandler: uninitialized. This almost always means that you or some other plugin, are overwriting this plugin's event handlers. For more information & workarounds, see https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/event-handlers.md (if neither workaround work, please report at https://github.com/badeball/cypress-cucumber-preprocessor)

I haven't encountered such an issue yet. Are you using the cypress-on-fix package as described here?
import fix from "cypress-on-fix";

// [...]
// It's very important to use the fixed version
const fixedOn = fix(on);
// [...]
await addCucumberPreprocessorPlugin(fixedOn, config);
await addXrayResultUpload(fixedOn);

Hm interesting, would you mind sharing your cleaned up/minimal cypress.config.ts file (make sure to replace sensitive data with garbage)?
This would help me trace the issue further.

Sure;
`import fs from 'fs';
import path from 'path';
import { addCucumberPreprocessorPlugin } from '@badeball/cypress-cucumber-preprocessor';
import { createEsbuildPlugin } from '@badeball/cypress-cucumber-preprocessor/esbuild';
import createBundler from '@bahmutov/cypress-esbuild-preprocessor';
import fix from 'cypress-on-fix';
import { addXrayResultUpload, configureXrayPlugin, syncFeatureFile } from 'cypress-xray-plugin';
import deepmerge from 'deepmerge';
import { baseConfig } from '../config/cypress';
const projectIds: Record<string, string> = { '1251241': 'app-name-gherkin-e2e', '125121': 'app-name-gherkin-e2e' }; // eslint-disable-line @typescript-eslint/naming-convention
export type CypressOptions = Cypress.PluginConfigOptions & Partial<Omit<Cypress.RuntimeConfigOptions, 'configFile'>> & { projectId: string };
export async function sharedPlugins(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions): Promise<Cypress.PluginConfigOptions> {
const projectId = projectIds[config.projectId ?? ''];``
const fixedOn = fix(on);
console.log(config.env);
await configureXrayPlugin(config, {
jira: {
projectKey: 'FIRZ',
url: 'https://jira.app.com',
attachVideos: false,
},
xray: {
uploadScreenshots: true,
},
cucumber: {
featureFileExtension: '.feature',
downloadFeatures: false,
uploadFeatures: true,
},
});
await addCucumberPreprocessorPlugin(on, config);
await addXrayResultUpload(fixedOn);
const mergedConfig = (
config.configFile
? deepmerge(config, baseConfig(projectId ?? ''), require(config.configFile)) // dynamic import causes cypress crash (after long debugging) :(
: deepmerge(config, baseConfig(projectId ?? ''))
) as CypressOptions;
fixedOn('file:preprocessor', async file => {
await syncFeatureFile(file);
const cucumberPlugin = createBundler({
plugins: [createEsbuildPlugin(mergedConfig)],
});
return cucumberPlugin(file);

});
on('before:browser:launch', (browser, options) => {
const downloadDirectory = mergedConfig.downloadsFolder;
if (browser.family === 'chromium') {
  if (options.preferences.default) {
    options.preferences.default['download'] = {
      // eslint-disable-next-line @typescript-eslint/naming-convention
      default_directory: downloadDirectory,
    };
  }

  return options;
}
if (browser.family === 'firefox') {
  options.preferences['browser.download.dir'] = downloadDirectory;
  options.preferences['browser.download.folderList'] = 2;
  options.preferences['browser.helperApps.neverAsk.saveToDisk'] = 'text/csv';

  return options;
}

console.table(options);

return options;

});
on('task', {
pathsExists: (paths: string[]): Promise => hasPaths(mergedConfig, paths),
fileExists: (fileName: string, timeout = 4000): Promise => hasFile(mergedConfig, fileName, timeout),
copyFixture: (obj: { source: string; target: string }, timeout = 4000): Promise => copyFixture(mergedConfig, obj, timeout),
});
console.log(clearing downloads folder: ${mergedConfig.downloadsFolder});
fs.rmSync(mergedConfig.downloadsFolder, { force: true, recursive: true });
return mergedConfig;
}
function hasPaths(config: CypressOptions, paths: string[]): Promise {
return hasFile(config, path.join(...paths), 4000);
}
function hasFile(config: CypressOptions, fileName: string, timeout: number): Promise {
const delay = 10;
return new Promise((resolve, reject) => {
if (timeout < 0) {
return reject(new Error(Could not find file ${config.downloadsFolder}/${fileName}));
}
const found = fs.existsSync(${config.downloadsFolder}/${fileName});
if (found) {
return resolve(true);
}
setTimeout(() => hasFile(config, fileName, timeout - delay).then(resolve, reject), 10);
});
}
function copyFixture(config: CypressOptions, obj: { source: string; target: string }, timeout: number): Promise {
const fixturesDirectory = config.fixturesFolder || '';
return new Promise((resolve, reject) => {
if (timeout < 0) {
return reject(new Error(Could not copy file ${obj.source}));
}
fs.copyFileSync(path.join(fixturesDirectory, obj.source), path.join(fixturesDirectory, obj.target));
return resolve(true);

});
}
`

From a quick glance, I think you forgot to pass the fixed on to the Cucumber preprocessor as well:
-  await addCucumberPreprocessorPlugin(on, config);
+  await addCucumberPreprocessorPlugin(fixedOn, config);
   await addXrayResultUpload(fixedOn);

Can you check if this solves your issue?

Indeed that works and I should've spotted this, thank you I'll close this now.


Gets stuck on checking an update

Hi,
Just started to use this, its working great but it seems to stop on a particular container, can you help ?
I mean I have quite a few services - and all isn't listed here but it seems to have stopped on the last run - there is no output saying "no updates...."
Enabling synchronous service updates

Trying to update service bitcoin-testnet_bcoin with image iangregsondev/bcoin:latest

No updates to service bitcoin-testnet_bcoin!

Trying to update service bitcoin-testnet_bitcoind with image iangregsondev/bitcoind:<IP_ADDRESS>

No updates to service bitcoin-testnet_bitcoind!

Trying to update service bitcoin-testnet_lnd1 with image iangregsondev/lnd:latest

No updates to service bitcoin-testnet_lnd1!

Trying to update service bitcoin-testnet_lnd2 with image iangregsondev/lnd:latest

No updates to service bitcoin-testnet_lnd2!

Trying to update service bitcoin-testnet_loop1 with image iangregsondev/loop:latest

Am I doing something wrong?
The only thing I can see with this particular service is that it's not currently deployed. Would this be a problem?

@iangregsondev Well, if it shows 0/1 it is currently flapping/broken. You should have a look in the logs on why it is not starting correctly. That could be a problem why the service update hangs.
You can also try the update manually in order to see what goes wrong:
docker service update --detach=false --with-registry-auth --image iangregsondev/loop:latest bitcoin-testnet_loop1

Hi, thanks @djmaze, yes, in fact, that container was broken. I fixed it and all is working well now.
I just thought that shepherd would timeout if that container hadn't finished updating - so it would continue.
Anyway all working now!
Thanks again, by the way - great little container, thanks for your hard work - it makes my life easier.

In my case, I'm intentionally having services with
    deploy:
      restart_policy:
        condition: none

so they run once and exit.
It seems that docker service update gets stuck forever, so Shepherd also gets stuck:
$ docker service update "base_nfs_helper" --image="myimage:latest"
base_nfs_helper
overall progress: 0 out of 1 tasks
1/1:

Regardless of why a service update gets stuck, I think it makes sense for Shepherd to enforce a reasonable timeout and continue its job so that a single service "problem" doesn't stop other updates.
Should I send a PR skipping services that use restart_policy none?

@DDuarte Sorry for the late answer. I am [swarm-cronjob] for scheduling services. Those have their restart_policy to condition: none and replicas set to 0 (so they don't automatically start when being (re-)deployed). Still, it would be cool if their image reference could be updated automatically.
So I think we should not skip those services if replicas is set to 0. Does this make sense to you?

It does! In that case I think it would be good to review that timeout. I tried with the builtin timeout in the docker service update call but without much success.

Regardless of why a service update gets stuck, I think it makes sense for Shepherd to enforce a reasonable timeout and continue its job so that a single service "problem" doesn't stop other updates.


Ensure namespaces are organized and named properly

Changed Matrix namespace from tsvd to matrix
Changed DeviceContext namespace to device
Moved util.cu from tsvd/ to src/gpu/utils and changed namespace to h2o4gpu
Removed use of typedef in Matrix class and opted to just use float and double

LGTM

Yes, that’s odd. I do see this branch is one commit behind master though. But that shouldn’t restart the build right?


look into profiling (memory, efficiency) of the api and server

Is your feature request related to a problem? Please describe.
Maybe we should look into this to optimize some of our code.
Describe the solution you'd like
N.A.
Describe alternatives you've considered
N.A.
Additional context
either memery
https://slides.com/cheukting_ho/memray-lane
efficiency
https://pypi.org/project/pytest-profiling/

https://docs.codspeed.io/ beta


chore(uart): Move to D3

This commit moves UART to D3 state. CDC has been reviewed at the
top-level and waived

chore? :)


[Request] Add stand alone download for sqlstresscmd

sqlstresscmd is a very useful tool in many cases. But it has to be installed from the Internet. Some of my servers don't have an Internet connection, so it's not possible to install sqlstresscmd. Is it possible to provide an offline install option? Thanks!

Download the package from nuget and unzip?

Oh, thank you! I didn't know that is possible.

I will Update to docs.


Faculty and Batch unable to update

Backend code push nagarera ho, ekchin ma solve huncha

Issue Solved at Backend


Fix arg value parsing for flags that allow multiple inputs

lsd --icon never --icon always

This now takes the last one (always) instead of the first one (never).

TODO

[x] Use cargo fmt
[x] Add necessary tests
[x] Add changelog entry

Codecov Report

Merging #487 (977cff8) into master (24e6335) will increase coverage by 0.12%.
The diff coverage is 96.42%.

@@            Coverage Diff             @@
##           master     #487      +/-   ##
==========================================
+ Coverage   86.88%   87.00%   +0.12%
==========================================
  Files          36       36
  Lines        3408     3455      +47
==========================================
+ Hits         2961     3006      +45
- Misses        447      449       +2

Impacted Files
Coverage Δ

src/flags/recursion.rs
91.52% <84.61%> (-0.93%)
:arrow_down:

src/flags/color.rs
93.33% <100.00%> (+0.47%)
:arrow_up:

src/flags/date.rs
95.27% <100.00%> (+0.13%)
:arrow_up:

src/flags/icons.rs
98.57% <100.00%> (+0.10%)
:arrow_up:

src/flags/size.rs
94.23% <100.00%> (+0.48%)
:arrow_up:

src/flags/sorting.rs
99.53% <100.00%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


File is put in a dir with the same name of the file

When I run this on, say "fmc.js", and its to place the file in the "extension/scripts" dir, the file is placed in "extension/scripts/fmc.js/fmc.js". The first fmc.js is a folder. Did I set this up wrong? Here's the code:
        uses: dmnemec/copy_file_to_another_repo_action@main
        env:
          API_TOKEN_GITHUB: ${{ secrets.FILE_SHARING_PAT }}
        with:
          source_file: "fmc.js"
          destination_repo: "exampleperson/example"
          destination_folder: "extension/scripts"
          user_email<EMAIL_ADDRESS>          user_name: "exampleperson"
          commit_message: "🤖 Update Script"

okay, try wit the latest too. There's been a few updates that aren't in the newest release.


minAudioLength

Hi,
I want to set minAudioLength like the maxAudioLength so that the frame get fixed.
Can we do that? Please let me know.
Thanks in advance.

I got it, we can achieve that by setting allowAudioSelection to false "allowAudioSelection: false"


Support For Swift Package Manager Xcode 11

https://developer.apple.com/videos/play/wwdc2019/408/

Duplicate of #3136


Status decisions are not saved when a document is uploaded

To reproduce:

Approve checks for benefit, relationship and visit confirmation etc.
Click 'Add' to go to the upload page
Return to the view-claim page. The decisions made for each check will have reverted to 'Select'

Want to check if this is an issue with Caseworkers first.


ux_onboarding

closes #301
closes #286 ? not sure.. I'm using svg's as backgound and logo.. so it's possible
TODO: Now adding a new account doesn't understand the logic yet, that no new pin needs to be entered! after account name entered, account should be set with the cached pin. EDIT: Done
TODO: ImportAccountPage now needs to also handle when to go to pin page and when not! EDIT: Done
I added here a functionality to remove all accounts, doesn't work yet.. i can also just remove it again

looks pretty good already. some details:

[ ]  it is not clear the "import" is an active text button. please underline
[ ]  please add spacing between the first, blue text line and the black below
[ ]  instead of going to home screen, please go to community selector map after successful create or import

question: do we have an integration test for onboarding? testing both create and import?
and yes, let this close #286 as well, even if not all bitmaps have been replaced. From now on we shall use SVG

Is import not clear in the EntryPage or the addAccountPage?
In the entrypage its the whole text: with underline it would be:

but the whole

Underline only Import please

so you also only want the Import part to be clickable? (this would be clear from figma). For now, you can click on the whole text

Issue for refactoring: #330

looks pretty good already. some details:

[x]  it is not clear the "import" is an active text button. please underline
[x]  please add spacing between the first, blue text line and the black below
[x]  instead of going to home screen, please go to community selector map after successful create or import

question: do we have an integration test for onboarding? testing both create and import?
and yes, let this close #286 as well, even if not all bitmaps have been replaced. From now on we shall use SVG

Regarding the integration test: in this pr i adapted the integration test to go through this pages. I had to add one step since there is one additional page (account name and pin are split)

@clangenb would you like to have another look on the code changes?

Yes

@anizeani you screwed the integration tests, please fix


Strange in use settings

New settings system some strange and inconvenience...
Why not working this?
    $('.list-of-tariffs').stickit({
        top: 40,
        screenMinWidth: 544,
        scope: StickScope.Document
    }, {
        top: 0,
        screenMaxWidth: 768
    });

It is assumed first object of settings will use always and if screenMaxWidth: 768 then top is 0, but this not working :(

Hi,
Do expect this settings?
< 544
```JavaScript
    {
        top: 0
    }

544 ~ 768
    {
        top: 0,
        scope: StickScope.Document
    }

768

    {
        top: 40,
        scope: StickScope.Document
    }

Hi,
Previous versions use default values to merge and get wrong result.
v0.2.6 fixed this problem and should work.
Please try it.
Thanks.

According documentation, first object is global and work all time.
I expect stickit will destroy when screenMinWidth: 544, but now (v0.2.6) he still work without this:
{
        top: 40,
        scope: StickScope.Document
}

"first object is global and work all time." is not correct.
the correct thing is that it will apply all if screenMinWidth and screenMaxWidth are unset.
The design is similar with CSS.
And your setting should get the result as I commented above.
If the result is not what you want, you should change the settings.
or you can describe what you want.

Thanks :)

ok, what you want is:
544 ~ 767
    {
        top: 0
    }

>= 768
    {
        top: 40,
        scope: StickScope.Document
    }

544 ~ 767 means
screenMinWidth: 544,
screenMaxWidth: 767,

>= 768 means
screenMinWidth: 768,

so your final setting should be
    $('.list-of-tariffs').stickit({
        screenMinWidth: 544,
        screenMaxWidth: 767,
        top: 0
    },
    {
        screenMinWidth: 768,
        top: 40,
        scope: StickScope.Document
    });

Ok, thanks, its work, but inconvenience to use.
If i need more options, i need dublicate their in all objects for all screens?

Hi,
The usage is same with media query. You need to define or overwrite css for each screen size.
The option is also can apply all screen size depends on how you use.
For example, if you want:
544 ~ 767
    {
        top: 0
        scope: StickScope.Document
    }

>= 768
    {
        top: 40,
        scope: StickScope.Document
    }

You could write this:
    $('.list-of-tariffs').stickit({
        screenMinWidth: 544,
        screenMaxWidth: 767,
        top: 0,
        scope: StickScope.Document
    },
    {
        screenMinWidth: 768,
        top: 40,
        scope: StickScope.Document
    });

But you could also write this, it will get the same result:
    $('.list-of-tariffs').stickit({
        screenMinWidth: 544,
        top: 0,
        scope: StickScope.Document
    },
    {
        screenMinWidth: 768,
        top: 40
    });

Ok, big thanks, now i understand :)


Adjusting the size of the visNetwork widget to take up most of the pa…

…ge, maximizing the view

@tbrittoborges can you please check if this works for you as well? If so, ping me & merge directly, ideally 😉

Hi @federicomarini, thanks for the prompt follow up on this issue. I will test it and get back to you.


Refactor dockerfile

Looks like an issue in dependencies, though.

AttributeError: module 'numpy.random' has no attribute 'BitGenerator'

We should probably create a constraints file using pip-compile


The example in example/functional doesn't compile

https://github.com/rust-lang/futures-rs/blob/7153ba06eefae260665a5450fa3e95c6b57a74a6/examples/functional/src/main.rs#L3
error[E0432]: unresolved import `futures::executor::ThreadPool`

Add this to your Cargo.toml
futures = { version = "0.3.1", features = ["thread-pool"] }

Yeah, I just tested building locally after removing the path dependency and it worked fine, if you're copying the example into a new project you need to copy the same features from the Cargo.toml.

Ah. Thank you for that :)


Only syntax highlighting works, nothing else

I installed the TypeScript package via Package Control. Typescript files get syntax highlighting now. But I do not get intellisense. I can not navigate to a definition. Renaming does not work, etc. Basically nothing works except the syntax highlighting.
I am on win 10 Pro x64
What I am I missing here?

You need to have Node JS installed. Hope this helps someone else.


Add a function to create a new mapset initialized with given values

When working with sets it is convenient to have an api for creating and initializing the set in one go.
This adds a new function to mapset to do exactly that. Example:
set := mapset.Of[string]("foo", "bar", "baz")

@zyedidia can you take a look at this and https://github.com/zyedidia/generic/pull/23? :)