ansible bug impacts openstack environments

After trying to use the playbook/reboot-hosts.yml to reboot my servers, I got the following error:
fatal: [cchub-dc1-01] => Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 582, in _executor
    exec_rc = self._executor_internal(host, new_stdin)
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 785, in _executor_internal
    return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args)
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 1032, in _executor_internal_inner
    result = handler.run(conn, tmp, module_name, module_args, inject, complex_args)
  File "/usr/lib/python2.7/site-packages/ansible/runner/action_plugins/normal.py", line 57, in run
    return self.runner._execute_module(conn, tmp, module_name, module_args, inject=inject, complex_args=complex_args)
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 470, in _execute_module
    tmp = self._make_tmp_path(conn)
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 1288, in _make_tmp_path
    result = self._low_level_exec_command(conn, cmd, None, sudoable=False)
  File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 1169, in _low_level_exec_command
    in_data=in_data)
  File "/usr/lib/python2.7/site-packages/ansible/runner/connection_plugins/ssh.py", line 295, in exec_command
    vvv("EXEC %s" % ' '.join(ssh_cmd), host=self.host)
TypeError: sequence item 20: expected string, list found

I went through making sure all modules are upgraded to the latest versions based on requirements.txt and then started debugging why a debug statement would cause a failure.
The self.host value which is set using the nova_compute core module to host.private_ip.
When a host is created the output from the module works like this:
    private = openstack_find_nova_addresses(getattr(server, 'addresses'), 'fixed', 'private')
    public = openstack_find_nova_addresses(getattr(server, 'addresses'), 'floating', 'public')

    module.exit_json(changed = True, id = info['id'], private_ip=''.join(private), public_ip=''.join(public), status = server.status, info = server._info)

But after the server has been created and the state is gathered the output from the module works like this:
        private = openstack_find_nova_addresses(getattr(server, 'addresses'), 'fixed', 'private')
        public = openstack_find_nova_addresses(getattr(server, 'addresses'), 'floating', 'public')
        module.exit_json(changed = ip_changed, id = server.id, public_ip = public, private_ip = private, info = server._info)

As a result the state returns private_ip as a list and not a string such that the debug statement is unable to handle a string join on a list that contains another list.
As such anything depending on openstack hosts that already exist will hit this problem as the issue is triggered within the connection_plugins/ssh.py.
The module nova_compute is being deprecated in ansible v2.0 in favor os a new one os_server which leverages shade instead of novaclient directly.

Thanks @kenjones-cisco for a fantastic bug report. Do you have any ideas of how we can address this in our project?

Basically the reason openstack/provision-hosts.yml is included at the beginning of every playbook is to do dynamic inventory discovery, after the initial creation of the hosts. Or when someone needs to update those hosts. But the other 90% of the time you just need to discover the IP addresses of your inventory.
At which point either leverage an inventory plugin to acquire similar information, or statically update the inventory file to provide the IP address of each host.
For my project, I use an inventory plugin. Which is why the PR to include metadata was provided such that tagging a group on the hosts generates the ansible host groups for me.
My experience on the existing openstack inventory plugins.
I've looked at both the two existing inventory plugins for openstack, openstack.py and nova.py.
openstack.py uses shade which seems to be a nice library but talk about dependency nightmare requiring a large number of the clients as it tries to be the swiss-army knife of clients (probably while openstack-sdk is being built).
nova.py is pretty simple but it makes all kinds of decisions for me like naming every variable from the host with "os_", converting to lower-case, etc.
So I created local plugin that is more like openstack.py but simpler like nova.py.
Dynamic is the way to go ultimately.

I encountered this issue yesterday and had reported this issue.
I was suggested to downgrade ansible to <IP_ADDRESS> as a work around for this
and downgrading to <IP_ADDRESS> actually fixed the issue.
Thanks,
Saswat
On Wed, May 20, 2015 at 10:29 AM, Kenny Jones<EMAIL_ADDRESS>wrote:

Basically the reason openstack/provision-hosts.yml is included at the
beginning of every playbook is to do dynamic inventory discovery, after the
initial creation of the hosts. Or when someone needs to update those hosts.
But the other 90% of the time you just need to discover the IP addresses of
your inventory.
At which point either leverage an inventory plugin to acquire similar
information, or statically update the inventory file to provide the IP
address of each host.
For my project, I use an inventory plugin. Which is why the PR to include
metadata was provided such that tagging a group on the hosts generates the
ansible host groups for me.
My experience on the existing openstack inventory plugins.
I've looked at both the two existing inventory plugins for openstack,
openstack.py and nova.py.
openstack.py uses shade which seems to be a nice library but talk about
dependency nightmare requiring a large number of the clients as it tries to
be the swiss-army knife of clients (probably while openstack-sdk is being
built).
nova.py is pretty simple but it makes all kinds of decisions for me like
naming every variable from the host with "os_", converting to lower-case,
etc.
So I created local plugin that is more like openstack.py but simpler like
nova.py.
Dynamic is the way to go ultimately.
—
Reply to this email directly or view it on GitHub
https://github.com/CiscoCloud/microservices-infrastructure/issues/316#issuecomment-103968569
.

@saswatp Thanks for the information! That was very helpful.

Closing this issue due to pull #320 getting merged.


Fix: clearStore fails when no image loaded yet

Hello Team,
This PR fixes #16, opened by my friend.
I check the existence of the folder before unlinking it.
Anyway, I still do the logic of cleaning after all.
Although, I think it's a good thing to call the callback with an error as param. If not, users of the library will see their apps frozen when having a random error. what do you think ?
Kind regards,
Robin

Thank you @robinbiondi :) Great work! I will push a new release soon.

@jjayasagar Thank you for the release! Regards.


[[FIX]] Throw W119 instead of "Unexpected '`'" when using templates in ES5 mode

Commit message:

Previously, linting this code:

var a = ``;

JSHint threw three errors:

Unexpected '`'
Unexpected early end of program
Unrecoverable syntax error.

Now it throws "'template literal syntax' is only available in ES6 (use 'esversion: 6')."

So JSHint doesn't stop if it encounters a template literal and esversion is less than 6

LGTM, will merge after the next release

Rebased

Merged to master at commit 87064e8801dbea77ae66acbac8054d51bd5d10e4. Thanks!


IOException with "Connection reset" message causes loss of requests

Hi,
I have stumble upon an error scenario that is difficult to reproduce. I am using OkHttp3 (5.0.0-alpha.11) and Retrofit (2.9.0) with Java 11.
I use Retrofit with OkHttp3 on a backend service that makes quite a lot of post requests to another backend server using the asynchronous mode, but, although it works perfectly fine almost all the time, we had a few cases where the OkHttp3 client closed many of the active requests with the IOException with message "Connection reset" (sorry, I don't have the stacktrace).  This, per se, is not an issue as we do retry these requests and the retries did succeed.
The real problem here is that a few post requests we created just a few hundred milliseconds after we got the above exception for the active requests, NEVER got a response. And when I say a response, it even includes a failure response such as an exception or a timeout. It was like these requests never existed.   The problem is that the application rely on any response (successful or failure) to move on, and not getting anything is very bad.
I suspect this could be a sign of some kind of race condition somewhere. Unfortunately, I can't reproduce it locally...
I tried to understand what the "Connection reset" error meant, but I couldn't find documentation about that, even a search on the square libraries in GitHub didn't give me information.
OkHttp3 default client configuration:
        ConnectionSpec connectionSpec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                .tlsVersions(TlsVersion.TLS_1_2, TlsVersion.TLS_1_3)
                .build();

        client = new OkHttpClient.Builder()
                .connectionSpecs(Arrays.asList(connectionSpec))
                .connectionPool(new ConnectionPool(2_000, 300, TimeUnit.SECONDS))
                .addInterceptor(getUserAgentHeaderInterceptor())
                .build();

        client.dispatcher().setMaxRequests(10_000);
        client.dispatcher().setMaxRequestsPerHost(10_000);

New client based on default client:
    protected OkHttpClient createHttpClient(OkHttpClient defaultClient, BaseClientConfig config) {
        OkHttpClient.Builder builder = defaultClient.newBuilder();

        builder.callTimeout(Duration.ofMillis(30_000));
        builder.connectTimeout(Duration.ofMillis(5_000));
        builder.readTimeout(Duration.ofMillis(30_000));
        builder.writeTimeout(Duration.ofMillis(10_000));

        return builder.build();
    }

Thanks,
Camiel

There are a bunch of fixes in 5.0.0-alpha.12, see https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-500-alpha12
While I'm not suspecting it will fix it, it would be good to rule it out first.

Yep, I upgraded our app recently with the latest version... Let's see if that helps...
Thanks,
Camiel

Yep, I upgraded our app recently with the latest version... Let's see if that helps...
Thanks, Camiel

hi,do you try i find it is also has the connection reset problem


[Snyk] Upgrade sse.js from 2.2.0 to 2.4.1

This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade sse.js from 2.2.0 to 2.4.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.

The recommended version was released 2 months ago, on 2024-03-13.

Release notes

Package name: sse.js

2.4.1 - 2024-03-13Patch release to bring the SSE constructor type definition back.

2.4.0 - 2024-03-12This releases rebuilds the types definitions, including the missing definition of the start option.
WarningDo not use this release in a TypeScript project; it mistakely removed the type definition for the SSE constructor. Use v2.4.1 instead.

2.3.0 - 2024-03-01This release provides support for the Last-Event-ID header per the Server-Sent Events specification (#50).

2.2.0 - 2024-01-09This release includes further bug fixes in event parsing for improved compliance with the SSE specification, and additional fixes to the TypeScript type definitions for the sse.js library.

    from sse.js GitHub release notes

Commit messages

Package name: sse.js

febdf09 2.4.1
4ea0d04 fix: add back missing constructor in type definition
810afa5 Update README structure and add release instructions
d3ed3a6 2.4.0
e904830 Rebuild types
0d5cab1 Add README badges
8b7c909 2.3.0
d8a6654 Update copyright header with ASLv2 info
538c69f Implement Last-Event-ID support (closes #50)
4cf1158 Fix Javascript warnings and type definition gaps

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs
Note: This is a default PR template raised by Snyk. Find out more about how you can customise Snyk PRs in our documentation.

@michalJakubis can we please rerun checks once #26 is pulled to main branch?

I see, there is no need for this PR after you merged https://github.com/Kentico/xperience-by-kentico-universal-migration-tool/pull/26. Closing.
This PR was automatically created by Snyk, when it identifies some updates or vulnerable packages the tool will create another PRs.


Don't work with large Json

I'm trying to edit a large json (about 4GB) and the editor crashs, even when compiled for 64bits...

The app probably does no list virtualization... And hence your whole document is loaded in the UI... I'm not sure if there's a simple fix for this... Can you provide sample files?

Sure, here is: http://1drv.ms/1M1UXcx
I will remove it in 24 hours.

Can you also provide a JSON schema?


Authenticate against Google Cloud Source repositories

Fixes gh-1260

It would be good if you could add some tests

I did not find testable and useful test cases. I could test if response from getRequestMetadata() (Map<String, List<String>>) is properly converted to Map<String, String>. But I'd need to mock a static method to do so. And the conversion code is simple. So cost and benefit are not balanced.
It would be useful to test if JGit can actually authenticate against a Google Cloud Source repository. But I see no practical way to do this. The Google OAuth2 lib talks directly to Google servers when generating auth headers. I'd have to use an actual Google user for this to succeed. I have no knowledge of a Google Cloud Source repository stub implementation. I'd have to use a real Google Cloud Source repo.

Codecov Report

Merging #1264 into master will decrease coverage by 6.74%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1264      +/-   ##
============================================
- Coverage     79.27%   72.53%   -6.75%
+ Complexity      988      125     -863
============================================
  Files           117       13     -104
  Lines          3518      466    -3052
  Branches        489       59     -430
============================================
- Hits           2789      338    -2451
+ Misses          556      100     -456
+ Partials        173       28     -145

Impacted Files
Coverage Δ
Complexity Δ

...nvironment/NativeEnvironmentRepositoryFactory.java

...rver/environment/EnvironmentNotFoundException.java

...pport/GitSkipSslValidationCredentialsProvider.java

...server/environment/VaultEnvironmentProperties.java

...nitor/GitlabPropertyPathNotificationExtractor.java

...onitor/GiteePropertyPathNotificationExtractor.java

...g/monitor/EnvironmentMonitorAutoConfiguration.java

...d/config/server/config/CompositeConfiguration.java

.../server/environment/JdbcEnvironmentRepository.java

...config/server/environment/RepositoryException.java

... and 95 more

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 ab26f7c...3461534. Read the comment docs.

The failing tests show, that my PR was premature. Will close it for improvement.


Don't use mask in the colored Dentacoin svg

Related issue: https://github.com/cjdowner/cryptocurrency-icons/issues/89

Addressed and re-exported from my source file. Neo and Gas also fixed.
https://github.com/cjdowner/cryptocurrency-icons/commit/f31fb4bf8371f113d502036bae066d3d88fb2980
Thanks!


NetInfo.fetch() selecting network interface

Describe the Feature
Nowadays, most devices can handle multiple connections via different interfaces at the same time. This library automatically gets the current active connection given by the OS. However, there could be other connections going into the device.
The idea would be to maintain the current standard NetInfo.fetch() but adding the possibility to look for the NetInfoState of a specific network interface.
Possible Implementations
We could have an overloaded NetInfo.fetch(). Maybe like this:
NetInfo.fetch() // Returns the usual NetInfoState of the default current network
NetInfo.fetch('wifi') // Returns the WiFi interface NetInfoState
NetInfo.fetch('cellular') // Returns the cellular interface NetInfoState
NetInfo.fetch('ethernet') // Returns the ethernet interface NetInfoState
...

Related Issues
#51
#52
#208
https://github.com/react-native-community/react-native-device-info/issues/635

While at it, would it be possible to add some more network features?
I'm in need of routing network requests through a specific interface (WiFi) that has no internet, but is actually a device. This is most of the time troublesome since RN will route requests through the interface that has internet.
I've thought about Android's bindProcessToNetwork as a way of doing this, but I don't know if something similar can be done on iOS.
Not entirely sure if such feature would even make sense in this library, but since it's pretty much the only net info library around...

While at it, would it be possible to add some more network features?
I'm in need of routing network requests through a specific interface (WiFi) that has no internet, but is actually a device. This is most of the time troublesome since RN will route requests through the interface that has internet.
I've thought about Android's bindProcessToNetwork as a way of doing this, but I don't know if something similar can be done on iOS.
Not entirely sure if such feature would even make sense in this library, but since it's pretty much the only net info library around...

It is not related to this feature. There is a library called react-native-iot-wifi which sort of does what you need. However, it looks unmaintained.

@matt-oakes or @Salakar, if you give me the go-ahead, I will start working on this feature PR .

@Rapsssito Do you have plans to support this cross platform, or will this be specific to Android?

@matt-oakes my plan is to create an initial NetInfo.fetch('wifi') supported cross-platform because that is what my current project needs.

@matt-oakes, are you still interested in this enhancement?

In theory, yes. Take a look at #230 to see the direction the codebase is moving in.

I'll start working on it. Should I send my PRs to the [v5] branch?

What's the progress on this?

@cristianoccazinsp you can check the progress from the PR #256. I am waiting for @matt-oakes' review.

Awesome! Looking forward to trying it.


add info on 2fa

This PR adds information for students who already have a Github account and have two factor authentication enabled. This was raised in #33 and #2.

Ops duplicated something that's already there! Closing this and the related issue!

my bad ! I was thinking this had been changed in the instructors but it was actually change here. Sorry @cimendes


Background example

https://instagram.com/stories/lucasmateos13/2930994660600421517?igshid=MDJmNzVkMjY=

solved


Suggestion: Consider fetchTitlesFromPreflabel for CONSTRUCT/DESCRIBE output

Particularly in these results the display of a label at uri hover would be helpful.

Just cleaning up old issues.
I'll close this one, because:

another dependency on preflabel (which still works, but is unsupported atm) is not preferable
this requires a parsing lib (for a variety of rdf serializations) that would make the dependency list even bigger than it is now


Missing browser context

Hey, I am wondering if there is a way to add browser context. Currently it will always be Unknown Browser:

I dug into the code and tried to add 'browser' into Raven_Context, then modify capture() in RavenClient, this works.

A solution is being dicussed in https://github.com/getsentry/sentry/issues/8555.
And if any changes on the PHP client side is required, we'll implement it in the base SDK.

Same here!


no gpt4all.py

Readme says, "ou can also follow the examples of module_import.py, gpt4all.py and chatgpt_api.py to create API support for your own model." There are similarly named files but not that one exactly.

Sorry that would be a typo. Please check gpt4all_api.py here


dbt_cloud_api_token in warehouse yaml breaks soda scan

Describe the bug
when the dbt_cloud_api_token key is added into the warehouse.yaml file, soda scan fails because the parsing of the warehouse yaml encounters a key that is not valid.
We probably want to make sure that this key is ok with soda scan when the dbt package is installed  or just fine full stop
version: latest main
  [warning] (dbt_cloud_api_token) Invalid key in telemetry/warehouse.yml : dbt_cloud_api_token
  | If you think this is a bug in Soda SQL, please open an issue at: https://github.com/sodadata/soda-sql/issues/new/choose
  | Exiting with code 1
  | Starting new HTTPS connection (1): collect.soda.io:443
  | https://collect.soda.io:443 "POST /v1/traces HTTP/1.1" 200 0

1   | 2.1.2
  | Scanning /Users/bastienboutonnet/repos/intelligence_analytics/soda_checks/telemetry/tables/soda_sql_datasource_sessions.yml ...
  | Injecting ssl_wrap_socket_with_ocsp
  | cache directory: /Users/bastienboutonnet/Library/Caches/Snowflake
  | Failed to import pyarrow. Cannot use pandas fetch API
  | Failed to import ArrowResult. No Apache Arrow result set format can be used. ImportError: No module named 'snowflake.connector.arrow_result'
  | Invalid key in telemetry/warehouse.yml : dbt_cloud_api_token
  | Scan failed: telemetry/warehouse.yml configuration errors:
  [warning] (dbt_cloud_api_token) Invalid key in telemetry/warehouse.yml : dbt_cloud_api_token
Traceback (most recent call last):
  File "/Users/bastienboutonnet/repos/soda-sql/core/sodasql/cli/cli.py", line 460, in scan
    scan = scan_builder.build(offline=offline)
  File "/Users/bastienboutonnet/repos/soda-sql/core/sodasql/scan/scan_builder.py", line 165, in build
    parser.assert_no_warnings_or_errors()
  File "/Users/bastienboutonnet/repos/soda-sql/core/sodasql/scan/parser.py", line 118, in assert_no_warnings_or_errors
    raise AssertionError(f'{self.description} configuration errors: \n  '
AssertionError: telemetry/warehouse.yml configuration errors:
  [warning] (dbt_cloud_api_token) Invalid key in telemetry/warehouse.yml : dbt_cloud_api_token

For now, I'm changing it not to raise an exception so Scan can continue when an unknown key is specified. Checking which keys are needed at the parsing level with packages installed might need bigger changes to parsing logic, I'll defer it to later.


Add matches to HTTP processors.

Now, every HTTP processors can have a "matches" section to enable it.
The default is !acceptAll to make it backward compatible.
This closes #347.

Looks good for me :-)

This works great. Thanks.

Then can we close #321?


MMM-voice sendSocketNotification is not a function

1|mm       | MMM-voice: Checking files.
1|mm       | MMM-voice: Starting pocketsphinx.
1|mm       | Whoops! There was an uncaught exception...
1|mm       | TypeError: this.sendSocketNotification is not a function
1|mm       |     at fs.appendFile (/home/pi/MagicMirror/modules/MMM-voice/node_helper.js:311:22)
1|mm       |     at /home/pi/MagicMirror/modules/MMM-voice/node_modules/graceful-fs/graceful-fs.js:43:10
1|mm       |     at FSReqWrap.oncomplete (fs.js:112:15)

This is not related to the core system. Please head to the forum for further questions.

looks like a duplicate of https://github.com/fewieden/MMM-voice/issues/12


Resulting link from Map View > Copy URL isn't working

Per the documentation if I copy a Map View URL into a Markdown link:
[Link name](url...)

[My Map View](obsidian://mapview?d=open&....)

The resulting link doesn't open Map View. Clicking the link does nothing.
Is this a bug in my setup or is this broken for everyone?

Nevermind. This is a me problem. I need to setup the obsidian:// URI handler in Linux for this to wrok.


WIP: Make bender work with Ansible 2.8

Fixes #130
Need to test this more w/ 2.7 and 2.8.

Fedora 29: ansible 2.7 === 60 passed, 1 skipped in 669.08 seconds ===
Fedora 30: ansible 2.8 === 61 passed in 762.13 seconds === (I enabled here a test to push to dockerd)


network: Setup localhost when running as init

When the agent is running as PID 1 it needs to setup the localhost
network interface. If not done, not only will "lo" not be available, but
the netlink library will cause the agent to segfault as it implicitly
assumes lo is "up".
Also added in extra parameter validation and error handling improvements.
Fixes #265.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

Ping @liwei, @bergwolf.

CI gocyclo error:
/home/travis/gopath/src/github.com/kata-containers/agent/protocols/mockserver
network.go:333::warning: cyclomatic complexity 16 of function (*sandbox).updateRoutes() is high (> 15) (gocyclo)

Branch updated.
Given the unlikelihood of lo not being available, I don't think it's worth pursing an upstream patch at this point. I suspect it might be viewed as "user error" anyhow since it's not unreasonable to assume lo is available on any system.

crio test failed randomly, I think it's unralated
not ok 7 ctr logging [tty=true]
# (in test file ctr.bats, line 243)
#   `grep --binary -P "^[^\n]+ stdout F here is some output\x0d$" "$logpath"' failed
# 0

Jenkins ubuntu 17-10 failed on exit code checking but that is not related to this PR.
• Failure [60.114 seconds]
run
/tmp/jenkins/workspace/kata-containers-agent-ubuntu-17-10-PR/go/src/github.com/kata-containers/tests/integration/docker/run_test.go:25
  container with docker
  /tmp/jenkins/workspace/kata-containers-agent-ubuntu-17-10-PR/go/src/github.com/kata-containers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table.go:92
    with 'exit 123' as workload [It]
    /tmp/jenkins/workspace/kata-containers-agent-ubuntu-17-10-PR/go/src/github.com/kata-containers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46

    Expected
        <int>: 123
    to equal
        <int>: -1

Given that ci-centos and ci-fedora both passed. Let's merge this!

Just a passing note - the metrics CI is not live on github yet (still have some stability problems being ironed out), but whilst checking failures, I did spot that this PR failed the metrics memory footprint size as it bumped the KSM memory footprint from ~46.5M to ~53M (which went pass my ~51M metrics check high water mark ;-) ). Interestingly, the non-KSM footprint looks to have stayed about the same.

@grahamwhaley The extra lo setup must have dirtied more memory and thus bumped the KSM memory footprint. Is the ~51 high water mark an experience value or a target that we aim to achieve at?

I think we'll need more info on that increase as we can't really do without lo :)

@jodh-intel Indeed, I think the change is unavoidable, and we probably have no alternatives - so, yes, this is mostly for information - I'm not expecting anything to get changed :-)
@bergwolf The high watermark is currently set as roughly 'max+10%', where max is the largest value I've seen in 10 or so runs. The low watermark is set similarly (min-10%).
Sadly the metrics CI system (at least the build slaves) do not have access to historical data, so for the 'quick PR CI' check, we hard code a +/- range we expect the results to fall within. The longer term plan is to have a separate system that does collect the historical data and can then do some smarter trend analysis on the results.
The values are also build machine dependent to some extent. The memory footprint is now less machine dependant I think since we no long use vCPUs==physCPUs as the default for the VMs (we now use vCPUs==1 as default I believe, so apprx. the same on all machines).


1.32 Crashing since update on macOS.. disappointing

Like really guys? .. if a stable UI cannot be released, how can we talk about the whole Sia project? .. really getting disappointed 👎 ..
BUG REPORT
Stack Trace or error message
Sia Daemon v1.3.2
Git Revision 72938f5
Loading...
(0/6) Loading siad...
(1/6) Loading gateway...
(2/6) Loading consensus...
(3/6) Loading transaction pool...
(4/6) Loading wallet...
(5/6) Loading host...
(6/6) Loading renter...
Finished loading in 1.781235923 seconds
panic: page 795069 already freed
goroutine 67 [running]:
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*freelist).free(0xc420069d70, 0x4375c, 0xccd69000)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/freelist.go:143 +0x4ad
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Bucket).free.func1(0xccd69000, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/bucket.go:682 +0x51
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Bucket)._forEachPageNode(0xc42562f180, 0xc21bd, 0x0, 0xc424fa8288)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/bucket.go:504 +0x87
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Bucket).forEachPageNode(0xc42562f180, 0xc424fa8288)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/bucket.go:497 +0x7c
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Bucket).free(0xc42562f180)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/bucket.go:680 +0x5f
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Bucket).DeleteBucket(0xc4243b16d8, 0xc420c49f60, 0xd, 0x10, 0x10, 0xc42562f180)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/bucket.go:248 +0x2ab
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*Tx).DeleteBucket(0xc4243b16c0, 0xc420c49f60, 0xd, 0x10, 0xc42562f180, 0xc420c49f60)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/tx.go:121 +0x4f
github.com/NebulousLabs/Sia/modules/consensus.deleteDSCOBucket(0xc4243b16c0, 0x2550a)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/consensusdb.go:550 +0x11f
github.com/NebulousLabs/Sia/modules/consensus.applyMaturedSiacoinOutputs(0xc4243b16c0, 0xc4257609a0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/maintenance.go:101 +0x6d0
github.com/NebulousLabs/Sia/modules/consensus.applyMaintenance(0xc4243b16c0, 0xc4257609a0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/maintenance.go:191 +0x4d
github.com/NebulousLabs/Sia/modules/consensus.generateAndApplyDiff(0xc4243b16c0, 0xc4257609a0, 0xc425bfc060, 0x2)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/diffs.go:231 +0x1e8
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).applyUntilBlock(0xc4200bdb80, 0xc4243b16c0, 0xc4257609a0, 0x0, 0x0, 0x0, 0x400000000000000, 0x864e011d93d0a10d)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/fork.go:84 +0x221
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).forkBlockchain(0xc4200bdb80, 0xc4243b16c0, 0xc4257609a0, 0x0, 0x9753874825273784, 0x4c58c4186be4e2ea, 0x3f906023e99b5da2, 0x95883084, 0x5aea25e1, 0xc42577e400, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/fork.go:111 +0xac
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).addBlockToTree(0xc4200bdb80, 0xc4243b16c0, 0x0, 0x9753874825273784, 0x4c58c4186be4e2ea, 0x3f906023e99b5da2, 0x95883084, 0x5aea25e1, 0xc42577e400, 0x1, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/accept.go:165 +0x106
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedAcceptBlocks.func1(0xc4243b16c0, 0x16f0920, 0xc4243b16c0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/accept.go:262 +0x3c6
github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt.(*DB).Update(0xc420116780, 0xc424fa92f8, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/vendor/github.com/coreos/bbolt/db.go:673 +0x9a
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedAcceptBlocks(0xc4200bdb80, 0xc425c14000, 0xa, 0xa, 0x0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/accept.go:244 +0x41d
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedReceiveBlocks(0xc4200bdb80, 0x19fb800, 0xc421ca7a20, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchronize.go:225 +0x4f9
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).(github.com/NebulousLabs/Sia/modules/consensus.managedReceiveBlocks)-fm(0x19fb800, 0xc421ca7a20, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchronize.go:445 +0x3e
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).managedRPC(0xc4200b46e0, 0xc42026f9c0, 0x12, 0x16c0900, 0xa, 0xc425cfc340, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:66 +0x2c2
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).RPC(0xc4200b46e0, 0xc42026f9c0, 0x12, 0x16c0900, 0xa, 0xc425cfc340, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:76 +0xd1
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threadedInitialBlockchainDownload.func1(0xc4200bdb80, 0xc424fa9ef0, 0xc424fa9e98, 0xc424fa9ea0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchronize.go:580 +0x127
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threadedInitialBlockchainDownload(0xc4200bdb80, 0xc4200297c0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchronize.go:601 +0x14a
github.com/NebulousLabs/Sia/modules/consensus.New.func1(0x1, 0xc42015e5d0, 0xc4200bdb80, 0x19fbf00, 0xc4200b46e0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/consensusset.go:151 +0x3e4
created by github.com/NebulousLabs/Sia/modules/consensus.New
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/consensusset.go:144 +0x64f
Expected Behavior
Sia-UI should not crash
How to reproduce it (as minimally and precisely as possible)
While launching Sia-UI it crashes with error
Environment

Sia version: 1.32
OS: MAC OSX 10.13.3 High sierra

Well negative feedback is also constructive, otherwise the project will be living in a dream scenario.. when things go south someone has to point it out.. The user experience is at its lowest, and if the developers fail to see that it is utopic.. find a solution, charge for the client or fix all these bugs or phase out the Mac version if they cannot cope! the last 3 releases failed to run properly on a Mac


WYSIWYG editor (issues, wiki) "revert to plaintext" action seems irreversible

The issue was tested on the official demo @ https://try.gitea.io

Gitea version (or commit ref): 1.14.0+dev-605-gd2ea21d0d

Tl;DR;
The `"revert to plaintext mode"' action in WYSIWYG editor mode ( issues, wiki ) seems to be irreversible from a UX POV.
Issue Description
While writing / editing an issue with the WYSIWYG editor there is an icon labeled "Revert to simple text area" ( screenshot No.1 below)
Screenshot No.1

Expected behavior:
The expected behavior is to be able to switch back when needed - while currently  Clicking the icon will result in hiding the toolbar.
Simply put - there seems to be no apparent way of turning the WYSIWYG toolbar back in case of a user mistake or need - see screenshot No.2 below.
Screenshot No.2

Proposed solution :
Since the toolbar is hidden maybe create another menu item ( menu screenshot below ) to revert back to WYSIWYG mode - or move the whole function of reverting to this menu itself ( with or without icon )
Screenshot No.3

This should not hold up 1.14 - moving this to 1.15

The editor has been fundamentally improved in 1.20, welcome to try.


Whitelist keys

Is it possible to create a white list of keys for a hash? I'm using DryValidation instead of StrongParameters and it's sometimes fine, but in some other places I have to ensure that only whitelisted attributes are allowed to be passed. Basically that's what params[:foo].permit(:bar, :baz) does.

Dry::Data['hash'] is your friend.
https://github.com/dryrb/dry-types#hashes

Sorry, I don't really understand how it is related to whitelisted attributes. I don't want to enforce key presence, I want to make sure that no other keys but allowed can be passed.

It is not forcing you to have certain keys.
white_lister = Dry::Data['hash'].schema(bar: 'string', baz: 'string')
white_lister.call(params) # => only "white listed keys"

Using Dry::Validation::Schema
result = my_form_validation_schema.call(params)
if result.errors.empty?
  result.params # => only contains keys specified in the schema, i.e "white listed"
end

Note that you can have optional keys in a validation schema too.

That's exactly what I needed, thank you.
Do I have to use Dry::Validation::Schema::Form for this to work? As of dry-validation 0.6.0 Schema::Form seems to be broken:
[1] pry(main)> UpdateProfileSchema.new.call('foo' => 123).params
NoMethodError: undefined method `each_with_object' for nil:NilClass
from /home/ineu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/dry-data-0.5.1/lib/dry/data/type/hash.rb:51:in `schema'

where UpdateProfileSchema is empty:
class UpdateProfileSchema < Dry::Validation::Schema::Form
end

Hey,
I don't see this happening with params method (which, by the way, has been renamed to output in master):
require 'dry-validation'

class Schema < Dry::Validation::Schema
  key(:email) { |email| email.filled? }

  key(:age) do |age|
    age.int? & age.gt?(18)
  end
end

schema = Schema.new

schema.call(email<EMAIL_ADDRESS>age: 19, other: 'aha!').params
# =><EMAIL_ADDRESS>:age=>19, :other=>"aha!"}

I'd consider this as a bug. schemas should only output defined keys. I'll fix that in next release.

@waiting-for-dev yeah, currently you need to check the result for errors first.

Ok, thanks you both for the quick feedback

BTW I'm planning to experiment with a setup where separate schemas are used for pre-filtering input and then actual validation schemas can be inferred from these in order to apply additional business validation rules.  The benefit would be a really good separation of concerns where input is sanitized and properly coerced so that we don't have to worry about our business validation process to crash on some stupid type-related issues. Currently my thinking is that handling both in one place is too much complexity and it mixes too many concerns (ie type coercions vs applying a business rule to a coerced value).

And do you think this should be in dry-validation library or in a new one? I'm not taking side, yet, but I'm thinking whether sanitizing and validating business logic rules are too different responsibilities or not.
I have these doubts because, in my current situation, I need to perform one sanitation or another depending on the user, because not all users are allowed to update the same set of attributes.
In this scenario and with current dry-validation approach, I would need different schemes for each situation and I should perform the appropriate schema selection in a controller or service layer. I'm thinking whether this is too overkilling or it may exists a different kind of schemes (or whatever name) which would take the user as an argument... Something like:
# Everybody can update `quantity` attribute, but only users with `amount_updater` role can update `amount` attribute
class Schema < Dry::SanitationSchema
  key(:amount) { |amount, user| user.has_role?(:amount_updater) & amount.str? }
  key(:quantity) { |quantity| quantity.float? }
end

user = User.give_me_an_user
schema = Schema::New
schema.call(user)

On the other side, different schemas would be better for very complex scenarios (but anyway you would be able to do that).

@waiting-for-dev I don't think you you would need separate schemas for each scenario. You just need a context-aware schema where your user is the context. So we can make something like that possible:
class Schema < Dry::Validation::Schema
  key(:amount).maybe

  rule(:amount_valid) do
    account_updater? & value(:amount).filled?
  end

  def account_updater?
    user.has_role?(:amount_updater)
  end
end

schema.with(user: user).call(params)

@waiting-for-dev oh and no, there's no need for a new library, I'm just trying to figure out how exactly I want to use this one :)

@solnic , running validation against certain context (with(x: :y)) definitely sounds like a good idea :+1:

Oh, great, I didn't know about the with method :D My fault. Thank you!!

@waiting-for-dev uhm, I wrote that we can make it possible, it's not implemented yet :)

Damn, I was already excited by that =P

I'll add it tomorrow

❤

@waiting-for-dev @kwando Schema#with is in master, see spec

Anyhow, I'm now wondering if Schema should remove undefined keys or not. Form does do that because it uses hash type from dry-types to pre-process the input. I feel like this should actually be optional for "plain" schemas. I don't think that schemas must absolutely always sanitize the input...any thoughts?

Hey! Many, many thanks @solnic :) Now I'm out for three weeks without the computer, but when I come back I'll try it.
About your comment, to be honest I'm not sure. Looking for a way to sanitize has been my first approach to dry-validation in a project, so I haven't experience in any other use case. But surely it makes more sense to make it optional, or you'll end with another issue asking for the opposite :)

This is now done. You can configure schema's input processor, ie:
Dry::Validation.Schema do
  configure do
    config.input_processor = :sanitizer
  end

  key(:email).required

  key(:age).maybe(:int?, gt?: 18)

  key(:address).schema do
    key(:city).required
    key(:street).required
  end
end

result = schema.(
  email: 'jane@doe',
  age: 19,
  such: 'key',
  address: { city: 'NYC', street: 'Street', wow: 'bad' }
)

result.output
# {  email: 'jane@doe', age: 19, address: { city: 'NYC', street: 'Street' }

This comes with a bonus - a sanitization input processor holds information about the schema structure and types. It's using dry-types' hash with a safe constructor (which provides sanitization), and you have type definitions that you can use for some introspection. In example:
schema = Dry::Validation.Schema do
  configure { config.input_processor = :sanitizer }

  key(:email).required(:str?)
  key(:admin).required(:bool?)
  key(:age).maybe
end

types = schema.input_processor.type.options[:schema]

puts types[:email]
# #<Dry::Types::Definition primitive=String options={}>

puts types[:admin]
# #<Dry::Types::Sum:0x007fe86b53c270 @left=#<Dry::Types::Definition primitive=TrueClass options={}>, @right=#<Dry::Types::Definition primitive=FalseClass options={}>>

puts types[:age]
# #<Dry::Types::Sum:0x007fe86b9da250 @left=#<Dry::Types::Definition primitive=NilClass options={}>, @right=#<Dry::Types::Definition primitive=Integer options={}>>

Hey, that's great! Thank you very much for your effort on this :)

That's great. Thank you, @solnic


undefined URL constructor base argument for Safari

TypeScript Version:  3.6.4
Though the types are still the same
https://github.com/microsoft/TypeScript/blob/a03227d60e2da470a8a964903016e2b3d0106950/lib/lib.dom.d.ts#L16068-L16073
Search Terms:
undefined URL constructor base argument Safari
Code
class FooURL {
  private _url: URL

  constructor(url: string, base?: string | URL) {
    this._url = new URL(url, base)
  }
}

// Throws `TypeError: Type error` in Safari
new FooURL('https://example.com')

Expected behavior:
The constructor for URL should not allow undefined constructor argument for base
Something more appropriate could look like
new(url: string): URL;
new(url: string, base: string | URL): URL;

Actual behavior:
Both Safari Version 13.0.2 (146<IP_ADDRESS>.3), and Safari Technology Preview Release 94 (Safari 13.1, WebKit 146<IP_ADDRESS>) throw an error when the base constructor argument is undefined.
Essentially typescript treats new URL('example.com', undefined) as valid
Other browsers are able to handle this case just fine.
I did look at the whatwg spec
Maybe it's a problem with how TSJS-lib-generator generates optional arguments?
I'm not sure if this is something that should be handled by TypeScript. Interested to hear what others think!
Playground Link
Related Issues:
#15246

I have report this to core-js that Safari doesn't have valid URL implementation: https://github.com/zloirock/core-js/issues/656, the types are indeed correct.

Ahk, I was unsure if that was the case. That clarifies things for me. Thanks for the response!


How to make released catalogues immutable

For released catalogues we need to find a way to make sure they are immutable.
Sectors and estimates exist, but these should not be open for editing anymore.
We could either flag a dataset to be immutable, change its type to RELEASED_CATALOGUE or block editing via user rights which we will have to do at some point anyways.

altering name/taxon/synonym/reference data should also only be allowed in managed or catalogue datasets

New dataset type RELEASED is implemented


ScalePrecicisonValidator has ambiguous error message

System Details

FluentValidation version: 8.5.0-preview4 (but it applies to all versions that have ScalePrecicisonValidator)

Issue Description
The error message for ScalePrecicisonValidator is ambiguous with what digit means.
Translate<ScalePrecisionValidator>("'{PropertyName}' must not be more than {ExpectedPrecision} digits in total, with allowance for {ExpectedScale} decimals. {Digits} digits and {ActualScale} decimals were found.");
When an input of 1234.12 is validated to have a precision of 4 and scale of 2. The error message given is:

'{PropertyName}' must not be more than 4 digits in total, with allowance for 2 decimals. 4 digits and 2 decimals were found.

To a normal user this will be very confusing to encounter. I know that the precision is total individual digits in the number, and scale is total digits right of the decimal separator.
However the second sentence makes it unclear that {Digits} is supposed to be the digits to the left of the decimal separator. However if is the intented behaviour, then the user is expected to be familiar with the logic of precision and scale, and that Digits = actualprecision - actualscale.
I think an easy fix would be to return the actual precision of the number, so that way the error message would change to:

'{PropertyName}' must not be more than 4 digits in total, with allowance for 2 decimals. 6 digits and 2 decimals were found.

This way no re-translation is needed for any language (except, if any individual language manually fixed the {Digits} placeholder to something else).
This would work for small numbers, because the user can then re-evaluate what they had entered, and deduct how digits were counted, to realize what the problem is.

6 digits were found, I can count 6 digits in total, but it says it needs 4 digits in total. So I can only enter values like "x", "xx", "xxx", "xxxx", "x.x", "x.xx", "xx.x", "xx.xx", "xxx.x".    -  Possible thought process of a not completely potato user.

However on large precision and scale values, it would be extremely difficult to count with the naked eye, how many digits are where.
Although the issue may lay in the functions of precision and scale allowing vastly different values than a regular common sense user may expect. A precision of 4 and scale of 2 would allow inputs like [4000, 400.1], but not allow [3999.9, 400.15]. To a normal user this sort of logic may not make sense.

I'd be happy with this change. If you'd like to open a pull request that updates the validator, associated tests and documentation then I'd be happy to review it. If not then I'll take a look at doing it sometime after the 8.5 release.

Cool. I'll try to get back to you on this, hopefully soon.


Bash On Windows "cannot allocate memory" for dotnet build command

Hi,
I have configured the Bash on windows in my machine and installed the necessary packages as mentioned by Microsoft.
Now, I have created one dotnet project and execute the dotnet restore command also executed successfully. But, when I'm trying to execute the **dotnet build** command will always show the "cannot allocate memory" issue.

Thanks for any help.

Hi @manikandan05 -- thanks for reporting this!  Could you please provide more of the information in the ticket template?  In particular, your Windows version ("OS Build") would be useful, as would an strace of the specific affected command.

Hi @aseering ,
I have used Windows 10 machine with Bash option enabled, i have completed all the necessary configurations based on this below link
https://blogs.msdn.microsoft.com/commandline/2016/04/06/bash-on-ubuntu-on-windows-download-now-3/
My system details are

My Ubuntu version as 14.04 so I have followed the dotnet installation based on Microsoft described way

But, i don't know why I'm stuck in this issue?
Thanks for any help!

Hi @manikandan05 -- thanks for providing more information, but I'm afraid that simply providing random extra factoids is not going to help here.  I'm specifically looking for your Windows version ("OS Build") and an 'strace' of the specific affected command, or other answers to the specific questions in the issue template.
Do you not know how to gather some of that information?  If not, and if you can't figure it out on your own, please feel free to ask; it'll work much faster than guessing :-)  For example, you can find the OS Build by typing "About your PC" into Cortana -- this will open up a Settings panel; "OS Build" will be about halfway down the page.
Incidentally, the short answer to why you're stuck at this issue is that WSL is beta software and does not yet fully and exactly emulate all edge cases of a Linux environment.  And dotnet has a very sophisticated runtime that depends on some rather specific behavior of the Linux kernel.  This particular error sounds to me like a compatibility issue that was theoretically fixed (or at least much-improved) in recent Windows pre-release Insider builds, which is why I asked for your exact "OS Build".  If you're running stable Windows, I would advise you to try this out on an Insider build if possible.  If you're already running a recent-enough Insider build, then things get more interesting, and the strace would indicate exactly what syscall is failing.

Hi @aseering ,
I have not installed Insider builds in my machine. Now, i will install and check this case. Apart from this, now i have shared my machine OS build version.

Hi @aseering,
I have tried all possibilities after "Insider build" option enabled in my system. But, unfortunately the same issue persists when run my ASP.NET Core application.

Thanks for any help!

Hi @manikandan05 -- you have still not answered my questions.  Because you have chosen to not answer my questions, I will not be able to help you further.

Er, sorry @manikandan05 -- I did not see your previous post until now.

Thanks @manikandan05 for sharing your OS Build!
It says that you are on build 14393.  (The numbers after the decimal are less important in this case, as it turns out.)  This indicates that you are using the stable version of Windows, not a more-recent Insider build.
The screen shot that you have shared indicates that you are currently requesting the "Release Preview" Insider build.  Updated versions of WSL have only been released to the "Slow Ring" and the "Fast Ring".  So you will have to choose one of those options in the dropdown menu.
Note that this window says that "It will take some time to receive a build after changing your settings."  What this means is that, after you change the setting in this dropdown box, you may have to wait as long as 24 or 48 hours (sometimes longer, though that's unusual in my experience).  Then, new builds will start showing up as regular Windows Updates.
If you want to try out a new Slow Ring build more quickly, there are two options:

Download the "Preview" VM from Microsoft
Download a Windows Insider .iso; burn it to a DVD and use it to install Windows on your machine.

Note that these options will give you a more-recent build, but they may not give you the very latest build.  If you want the latest build, you have to choose the "Fast Ring" option in the window above and wait a day or two.
If you're new to Insider builds, please be aware that they can cause system crashes and other problems:  The version of WSL that they include is much-improved, but they bundle other new features that may introduce new bugs as well.  If you're not comfortable with that risk, the safest approach is to download the VM.

The dotnet hello world example does seem to compile and run on 14986 for what it's worth. Fifty cents says the "can't allocate memory" problem originally reported is #851 though, which hasn't actually flushed to fast ring yet.

I did LXR reinstall - and problem is still there. Maybe windows is not allowing console to use memory.

@spagu  - What windows build are you on?

@benhillis https://github.com/Microsoft/BashOnWindows/issues/1403 , some error there.

Now, i have tried with latest OS build : 15014.1000 Preview from the below mentioned link. The ASP.NET Core sample will be working fine while creating and deploying Bash on Windows. The sample also launched in browser without any issues (like previously mentioned cannot allocate memory not reprodued).
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

This is happening to me when running even basic programs compiled with golang

Calling this a dupe for want.


Simplify BatchIteratorBackpressureExecutor

This simplifies the BatchIteratorBackpressureExecutor by using a single
Semaphore to restrict the consumeIterator to a single thread instead
of using multiple AtomicBooleans/booleans.
This makes it possible to always use the same callback on each
"execute-batch" invocation.

Codecov Report

Merging #5952 into j/upsert-future-encapsulation will decrease coverage by 0.05%.
The diff coverage is 97.61%.

@@                         Coverage Diff                         @@
##             j/upsert-future-encapsulation    #5952      +/-   ##
===================================================================
- Coverage                            83.18%   83.12%   -0.06%
+ Complexity                           12374    12358      -16
===================================================================
  Files                                 1429     1429
  Lines                                46736    46731       -5
  Branches                              5740     5741       +1
===================================================================
- Hits                                 38876    38845      -31
- Misses                                5201     5217      +16
- Partials                              2659     2669      +10

Impacted Files
Coverage Δ
Complexity Δ

.../projectors/BatchIteratorBackpressureExecutor.java
97.01% <97.61%> (+1.18%)
18 <16> (-3)
:arrow_down:

...io/crate/protocols/postgres/types/VarCharType.java
70.83% <0%> (-29.17%)
9% <0%> (-2%)

...in/java/io/crate/lucene/match/CrateRegexQuery.java
47.82% <0%> (-26.09%)
5% <0%> (-3%)

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
60% <0%> (-25%)
2% <0%> (ø)

...o/crate/analyze/SafeExpressionToStringVisitor.java
83.33% <0%> (-16.67%)
7% <0%> (-1%)

...ain/java/io/crate/lucene/GenericFunctionQuery.java
63.82% <0%> (-6.39%)
6% <0%> (-4%)

...in/java/io/crate/breaker/RamAccountingContext.java
81.66% <0%> (-3.34%)
20% <0%> (-2%)

...ration/collect/collectors/LuceneBatchIterator.java
86.81% <0%> (-3.3%)
36% <0%> (-1%)

...er/src/main/java/io/crate/sql/tree/AstVisitor.java
28.12% <0%> (-3.13%)
36% <0%> (-4%)

...ort/executionphases/InterceptingBatchConsumer.java
78.78% <0%> (-3.04%)
10% <0%> (-1%)

... and 19 more

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 40ca7fd...55666e8. Read the comment docs.


Add nickname as searchable property

Summary

Adds the ability to find users by nickname when searching using @. Also displays the users nickname, if set, in parenthesis next to the users display name. Matches functionality of the web app.
Added nickname property to profiles in autocomplete.test.js.
Ticket Link

N/A
Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] All new/modified APIs include changes to mattermost-redux (please link)
[x] Has UI changes
[ ] Includes text changes and localization file updates

Device Information
This PR was tested on:

iPhone 11, iOS 13.4 (simulator)
Pixel 3, Android 9 (simulator)

Screenshots

iPhone 11, iOS 13.4 (simulator)
Pixel 3, Android 9 (simulator)

@esethna please check this out!

Building app in separate branch.

Thanks @shred86! Can you help attach any screenshots of the UI updates?

@esethna there are screenshot links in the description

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/4734
https://circleci.com/gh/mattermost/mattermost-mobile/4733

Thanks @shred86! Screenshots look good. @josephbaylon can we make sure when testing that if the full name, username and nickname cannot fit in the autocomplete horizontally, truncate it with ...

Opened a ticket here: https://mattermost.atlassian.net/browse/MM-23755

Artifact links:
https://4734-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa
https://4733-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk

@esethna I think this needs a UX pass first unless the ellipsis is the desired UI/UX

@enahum @shred86 truncation with ellipses is fine (as we do on webapp). ^
Thanks for finding @josephbaylon

I'm new to JavaScript and React Native so I apologize in advance if this isn't the best solution. After doing a little research, numberOfLines={1} seems to be the recommended solution with the style property of flex: 1 set. I just created a new <Text> tag around the first/last name and nickname <Text> tag to cover both cases (long full name or long nickname) and to reduce some repeated code.

@shred86 is quite alright to be new to the tech, I'll be suggesting some changes in the morning for you to learn an implement.

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/4854
https://circleci.com/gh/mattermost/mattermost-mobile/4853

Artifact links:
https://4854-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://4853-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa

to be included in the 1.32 release


[Reference PR] Attempt on adding mutli cursor to TextEdit

Add a multi cursor feature to TextEdit (very breaking compat)

According to https://github.com/godotengine/godot/issues/31739, Paulb23 is working on a refactor on TextEdit and the script editor nodes, which will likely make this PR incompatible with the final result. I'm going to abandon this PR for now, and leave this here

Seems like https://github.com/godotengine/godot/pull/61902 is the more recent equivalent of this proposal, so is there more to salvage?


Does this work in 1.21.1?

in my 1.21.1 server i dont know why the lava cant rise, it stuck in Y bottom and not fill it with lava. i wait until 3 minutes and still same not change

hello, i have just tested it on a fresh server, and it works as expected for me. could you confirm if the GameArea is set correctly? if possible, could you share the contents of the arenas.yml file?

Oh sorry it's my fault xD


Enable action cancellation

Players should be able to cancel their actions. Cancel them by calling DELETE on /actions/{actionType}/{id}

This is not a desired behavior. Once submitted, the action should not be reverted.


How do I use with socket.io instead of Primus?

As I understand, we set up a node.js server to listen for socket.io connections. Something like this:
const app = require('express'),
  server = require('http').Server(app),
  io = require('socket.io')(server),
  Xmpp = require('xmpp-ftw'),
  Disco = require('xmpp-ftw-disco'),
  Muc = require('xmpp-ftw-muc');

server.listen(5000, function() {
  console.log('XMPP-FTW listening on port %d', server.address().port);
});

io.sockets.on('connection', socket => {
  const xmpp = new Xmpp.Xmpp(socket);
  socket.xmpp = xmpp;

  socket.on('disconnect', () => {
    console.log(
      `A client just disconnected, there are ${io.engine.clientsCount} clients.`
      socket.xmpp.logout();
    );
  });
});

The client simply has to connect:
import SocketIOClient from 'socket.io-client';

const createXmppFtwSocket = () => {
  const socket = SocketIOClient('http://localhost:5000', {
    transports: ['websocket'],
  });
  return Promise.resolve(socket);
};

createXmppFtwSocket().then(socket => {
     socket.on('connect', () => {
      console.log('Connected to XMPP-FTW server.');
    });

    socket.on('xmpp.connection', data => {
      console.log('Connected as', data.jid);
    });

    console.log('Logging in to XMPP server', name);
    const options = {
      jid<EMAIL_ADDRESS>      password: 'password',
      host: 'my.xmpp.server',
    };
    this.xmppFtwSocket.send('xmpp.login', options);
})

The above creates the socket.io connection from client to XMPP-FTW server, then defines some event handlers for the custom XMPP-FTW events like 'xmpp.connection' which is fired when we get logged in. Then, the client actually sends the message to login. This is not working, as the event 'xmpp.connection' is not firing.
Is this the correct way to do this with socket.io?

To get the above code working I had to use xmppFtwSocket.emit instead of xmppFtwSocket.send.

You can also use socket.io as a backend for primus. Primus is an excellent websocket library abstraction layer :)

I am trying to use XMPP-FTW in a React application, and I didn't really understand how I would best use the Primus generated client code in my React app. That's why I switched to socket.io at this stage. Maybe when I figure it out I'll switch back.

Primus isn't really that different to socket.io in terms of API. If you get really stuck at any point please do let me know :)


[Bug Report] ElScrollbar throws TypeError: Cannot read property 'resizeListeners' of undefined

Element UI version
2.13.2
OS/Browsers version
macOS 10.15.6 /  Chrome 85.0.4183.83
Vue version
2.6.12
Reproduction Link
https://codepen.io/codeapi/pen/qBZxadX
Steps to reproduce

Create el-dialog and add destroy-on-close
In dialog add el-tooltip and put el-select inside
Open dialog
Close dialog -> error occurs

What is Expected?
No error
What is actually happening?
TypeError: Cannot read property '__resizeListeners__' of undefined
    at Ye (index.js:1)
    at VueComponent.mounted (index.js:1)
    at invokeWithErrorHandling (vue.js:1863)
    at callHook (vue.js:4220)
    at Object.insert (vue.js:3146)
    at invokeInsertHook (vue.js:6341)
    at VueComponent.patch [as __patch__] (vue.js:6558)
    at VueComponent.Vue._update (vue.js:3949)
    at VueComponent.updateComponent (vue.js:4067)
    at Watcher.get (vue.js:4478)

[Vue warn]: Error in mounted hook: "TypeError: Cannot read property '$el' of undefined"

found in

---> <ElSelectDropdown> at packages/select/src/select-dropdown.vue
       <ElSelect> at packages/select/src/select.vue
         <ElTooltip>
           <ElDialog> at packages/dialog/src/component.vue
             <Root>

+1
"vue": "2.5.16"
"element-ui": "2.13.2"


change cake and CI configuration

:x: Build AElf <IP_ADDRESS>44 failed (commit https://github.com/AElfProject/AElf/commit/71b57058ae by @)

:white_check_mark: Build AElf <IP_ADDRESS>45 completed (commit https://github.com/AElfProject/AElf/commit/0f2b49c7d6 by @)

:white_check_mark: Build AElf <IP_ADDRESS>77 completed (commit https://github.com/AElfProject/AElf/commit/3bdacd3719 by @)


Update README.md

I think Copyright 2015 is needed

Thanks for the hint, but maybe "(c) Stefan Buck" is enough – I have to do some research on this.

Thanks for the hint, but maybe "(c) Stefan Buck" is enough – I have to do some research on this.

Facebook does "start year-present" in their licenses: https://github.com/facebook/react/blob/master/LICENSE
So, "(c) 2014-present" should be sufficient.

Thanks @teokitan and @timdorr. I've updated the copyright https://github.com/octo-linker/chrome-extension/pull/64


[MODFISTO-355] "Encumbered" value is changed in repeatedly downloaded ".csv" file after the next test rollovers, "Encumbered (Exp Class)" value is doubled

Purpose
Bug was observed when run test rollover. Expense class totals values was doubled after getting preview results.
Approach

tmp_encumbered_transactions  is moved to conditional block.

TODOS and Open Questions

Learning
MODFISTO-355
Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added, or removed?
[ ] Are there new interface dependencies?
[ ] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.


[non functional changes] Update of meeting calling info.

Right now, the meeting is hardwired in the README page. I moved it to the wiki page, with only a reference here to the wiki page. Easier to maintain.
Signed-off-by: Alexandre Eichenberger<EMAIL_ADDRESS>

Jenkins Linux ppc64le Build #8595 [push] update of meeting contac... started at 23:21

Jenkins Linux amd64 Build #9530 [push] update of meeting contac... started at 22:16

Jenkins Linux s390x Build #9549 [push] update of meeting contac... started at 23:16

Jenkins Linux amd64 Build #9530 [push] update of meeting contac... passed after 1 hr 40 min

Jenkins Linux s390x Build #9549 [push] update of meeting contac... passed after 2 hr 10 min

Jenkins Linux ppc64le Build #8595 [push] update of meeting contac... passed after 3 hr 4 min


socat: Update from <IP_ADDRESS> to <IP_ADDRESS>, fixes a possible denial of service attack

socat: Update from <IP_ADDRESS> to <IP_ADDRESS>, fixes a possible denial of service attack
(CVE Id pending), improves SSL client security, and provides a couple of bug and
porting fixes.
Among new features, socat now enables OpenSSL server side use of ECDHE ciphers,
providing PFS (Perfect Forward Secrecy)
http://www.dest-unreach.org/socat/doc/CHANGES

cc: @edolstra

Update
To enable ECDHE, I've added 'enable-ecdhe.patch' (per Gerhard Rieger) and updates commit.
To test ECDHE works:
# server side: generating EC key and the certificate based on it:
# openssl ecparam -name secp521r1 -genkey -out priv.key
# chmod 0400 priv.key
# openssl req -x509 -sha256 -new -key priv.key -out my.site.org.crt -days 365 -subj<EMAIL_ADDRESS>
# client side connect
$ openssl s_client -connect <IP_ADDRESS>:7443 -cipher ECDHE-ECDSA-AES256-GCM-SHA384

Looks fine, thanks.


Update Node.JS to the latest stable version (v0.12)

The latest stable Node.JS is at v0.12. Karma should be updated to support this latest stable Node version.

+1.

+1.

+1.

+3 (me and my team)

#1304

+2 (me and my office dog)

+1 to this.

+1

+1

+1

+1!

+1

+1

+1

+6 (my team and I)

+3

+1

++1

Hi guys,
I see that the commit to up the supported nodejs version is there.
Any idea when this will be released?
It is currently a blocker for my team as we need to enforce NodeJS 0.12.x
regards,
Joeri

+1

+1

+1

+++1

+1 -- it works if you pull from master, but it'd be much better if a new version could be cut (v0.12.32)...

+1

+1, any release date?

+1

+1

+1

+1

+1

We will release a new version with fixed engine support in the next couple of days, promised.
There will be a stable release supporting 0.8, 0.10, 0.12 and iojs > 2.0 and an unstable release which will drop the 0.8 support as it will feature connect3 which drops support for 0.8.
I'm very sorry for the long wait, and hope to avoid any long running issues like that in the future.
Thanks for understanding.


Support HDR notification in DASH via essential / supplemental property

Have you read the FAQ and checked for duplicate open issues?
👍
Is your feature request related to a problem? Please describe.
Currently the only way that a HDR stream is identified (when parsing DASH) is via the approach described in DASH-IF IOP v4.3 10.3.3. (profiles and codecs).
However, in HLS, HDR is indicated through the VIDEO-RANGE attribute on the EXT-X-STREAM-INF, which corresponds to the CICP (ISO/IEC 23001-8) value for transfer characteristics. According to the description of the VIDEO-RANGE attribute the following applies:
// (per description of VIDEO-RANGE in draft-pantos-hls-rfc8216bis-09)
switch (trasnferCharacteristicsCICP) {
  case 1:
  case 6:
  case 13:
  case 14:
  case 15:
    return 'SDR';
  case 16:
    return 'PQ';
  case 18:
    return 'HLG';
}

Per DASH-IF IOP v4.3 <IP_ADDRESS>. the CICP for transfer characteristics can be indicated in an essential or supplementary property at the AdaptationSet level (given that representations within a set shall not differ for that property), using schemeIdUri="urn:mpeg:mpegB:cicp:TransferCharacteristics".
Describe the solution you'd like
For consistency with HLS, we should also allow essential / supplementary property indication of HDR property in DASH (with schemeId="urn:mpeg:mpegB:cicp:TransferCharacteristics").
Describe alternatives you've considered

Additional context

I'm working on a solution 👍


Allow calling app to cancel enumeration and handle scanning directory errors in traverser

Enable calling app to cancel enumeration

Used appCtx in parallel-walk so that the app can cancel the enumeration as it requires.
It doesn't effect azcopy working.

Handle scanning directory errors in traverser.

Fail visibly when scanning fails for files and directories
Add in more error paths
Fix processOneDirectory changes and add more comments

Please rebase with dev branch. The PR is missing unit test cases. Please write test cases to test the fuctionalities.


Controller Action that throws an exception is invoked twice

Describe the bug
A controller action that throws an exception is invoked twice.
To Reproduce
Steps to reproduce the behavior:

Using version 3.0 preview 6 of ASP.NET Core and .NET Core
Create a new MVC project using the default template
Update the HomeController to add a method that throws an exception like the following public IActionResult ThrowException() { throw new Exception("Test exception"); }.
Build and run the application
Send a request to the /Home/ThrowException endpoint
Notice that the ThrowException method is invoked twice for this single request

Expected behavior
The ThrowException method should only be invoked once.
Sample Console Output
Here's some command line output which includes the number of times that ThrowException was invoked by a single request to /Home/ThrowException.
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\dev\TestingStuff\NetCore3\Preview6Testing\AspNetCoreWebApp\bin\Debug\netcoreapp3.0
*************Exception # 1
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
      An unhandled exception has occurred while executing the request.
System.Exception: Test exception 1.
   at AspNetCoreWebApp.Controllers.HomeController.ThrowException() in C:\dev\TestingStuff\NetCore3\Preview6Testing\AspNetCoreWebApp\Controllers\HomeController.cs:line 35
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
*************Exception # 2
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[3]
      An exception was thrown attempting to execute the error handler.
System.Exception: Test exception 2.
   at AspNetCoreWebApp.Controllers.HomeController.ThrowException() in C:\dev\TestingStuff\NetCore3\Preview6Testing\AspNetCoreWebApp\Controllers\HomeController.cs:line 35
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HLNGUKLQIEU9", Request id "0HLNGUKLQIEU9:00000001": An unhandled exception was thrown by the application.
System.Exception: Test exception 1.
   at AspNetCoreWebApp.Controllers.HomeController.ThrowException() in C:\dev\TestingStuff\NetCore3\Preview6Testing\AspNetCoreWebApp\Controllers\HomeController.cs:line 35
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.HandleException(HttpContext context, ExceptionDispatchInfo edi)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

Thanks for contacting us, @nrcventura.
@pranavkm can you please look into this? Thanks!

@nrcventura, I am not able to repro this issue. Please provide a small repro project so we can investigate this further.

Looks like you've configured the action to be your error handler ::
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[3]
      An exception was thrown attempting to execute the error handler.
System.Exception: Test exception 2.
   at AspNetCoreWebApp.Controllers.HomeController.ThrowException()

That would explain the second error.

Here's the sample project that I used to trigger the problem. The ThrowException method is not configured as the error handler. The error handler is configured to be app.UseExceptionHandler("/Home/Error") which is the default setting created by the new project template.
AspNetCoreWebApp.zip

@nrcventura I'm sorry for closing the issue earlier. This does look like a particularly nasty bug.
@rynowak here's what's happening:

Endpoint routing executes and sets the endpoint to an action
The action throws
Request unwinds to the error handler which updates the request path and re-executes: https://github.com/aspnet/AspNetCore/blob/f45250ce5e423dad083fe99967a4d65782c5301e/src/Middleware/Diagnostics/src/ExceptionHandler/ExceptionHandlerMiddleware.cs#L100-L104
Routing re-uses the endpoint from the previous iteration: https://github.com/aspnet/AspNetCore/blob/f45250ce5e423dad083fe99967a4d65782c5301e/src/Http/Routing/src/EndpointRoutingMiddleware.cs#L59-L64

My guess is that we should always clear endpoint metadata prior to returning from the middleware:
https://github.com/aspnet/AspNetCore/blob/f45250ce5e423dad083fe99967a4d65782c5301e/src/Http/Routing/src/EndpointRoutingMiddleware.cs#L112.

Yeah, it sounds like we missed this. @davidfowl - should this be part of Reset()?

Yeah, it sounds like we missed this. @davidfowl - should this be part of Reset()?

Which reset?
So it needs like we have conflicting behaviors:

We want having an end point set to mean, noop for most middleware (like the matcher or static files)
Anything that re-executes the pipeline really wants to clear the selected endpoint or route matching won't work.

Seems like we need to find the places that re-execute the pipeline to clear the endpoint.

It's cleanest if each middleware clears its own state in a finally block, or overwrites its state if re-executed.
Why is this check here?
https://github.com/aspnet/AspNetCore/blob/f45250ce5e423dad083fe99967a4d65782c5301e/src/Http/Routing/src/EndpointRoutingMiddleware.cs#L59-L64
In what scenarios would the endpoint be assigned before this?

In what scenarios would the endpoint be assigned before this?

Middleware can run before routing to skip the matching process, (like a future version of static files).

Note for static files the plan is to move it into the matching process, not before.

@Tratcher That's good, replace static files with a middleware that sets the endpoint metadata for a different reason.

I'm missing something here - why wouldn't clearing it after next has executed suffice?

@pranavkm that's fine, but you also need a finally block in case next throws.

Yup, that's what I'd done here. I'm not sure why the fix is being attempted to be made in other middlewares

The performance tho, measure plz

Verify https://github.com/aspnet/AspNetCore/issues/11555 is also fixed

Just for infos and maybe more related to #11555
We are using the following that hit a custom diagnostics controller
app.UseStatusCodePagesWithReExecute("/Error", "?status={0}");

And we already have
app.Use(async (context, next) =>
{
    await next();

    if (context.Response.StatusCode < 200 || context.Response.StatusCode >= 400)
    {
        string contentType;
        if (_contentTypeProvider.TryGetContentType(context.Request.Path, out contentType))
        {
            var statusCodePagesFeature = context.Features.Get<IStatusCodePagesFeature>();
            if (statusCodePagesFeature != null)
            {
                statusCodePagesFeature.Enabled = false;
            }
        }
    }
});

routes.MapAreaControllerRoute(
    name: "Diagnostics.Error",
    areaName: "OrchardCore.Diagnostics",
    pattern: "Error",
    defaults: new { controller = "Diagnostics", action = "Error" }
);

Then, to hit again our Diagnostics controller i needed to explicitly set the route values and the endpoint, before the StatusCodePagesMiddleware will re-execute the pipeline.
app.Use(async (context, next) =>
{
    await next();

    if (context.Response.StatusCode < 200 || context.Response.StatusCode >= 400)
    {
        string contentType;
        if (_contentTypeProvider.TryGetContentType(context.Request.Path, out contentType))
        {
            var statusCodePagesFeature = context.Features.Get<IStatusCodePagesFeature>();
            if (statusCodePagesFeature != null)
            {
                statusCodePagesFeature.Enabled = false;
            }
        }
        else
        {
            // Workaround of c.f. https://github.com/aspnet/AspNetCore/issues/11555
            var endpointDataSource = context.RequestServices.GetRequiredService<EndpointDataSource>();

            var routeValues = new RouteValueDictionary(new
            {
                area = "OrchardCore.Diagnostics",
                controller = "Diagnostics",
                action = "Error"
            });

            var endpoint = endpointDataSource.Endpoints
                .Where(e => Match(e, routeValues))
                .FirstOrDefault();

            if (endpoint != null)
            {
                var routingFeature = new RoutingFeature()
                {
                    RouteData = new RouteData(routeValues)
                };

                var routeValuesFeature = new RouteValuesFeature()
                {
                    RouteValues = routeValues
                };

                var endpointFeature = new EndpointFeature()
                {
                    Endpoint = endpoint,
                };

                context.Features.Set<IRoutingFeature>(routingFeature);
                context.Features.Set<IRouteValuesFeature>(routeValuesFeature);
                context.Features.Set<IEndpointFeature>(endpointFeature);
            }
        }
    }
});

We're working around this with:
    app.UseExceptionHandler("/error");
    app.Use(async (context, next) =>
    {
        try
        {
            await next();
        }
        catch
        {
            context.Features.Set<IEndpointFeature>(null);
            throw;
        }
    });

No idea whether there will be unpleasant consequences due to dropping out IEndpointFeature from the HttpContext, but it seems to work just fine..... :D

@nblumhardt that's fine. Here's an even simpler variant:
https://github.com/dotnet/dotnet-core-website/pull/1360/files

@Tratcher thanks 👍 - don't think I have the privs to view that PR, though.

Woops, try this:
            app.Use((context, next) => {
                context.SetEndpoint(null);
                return next();
            });

Aha, makes sense, thanks!


[🐛 Bug Report]: saving state_dict with torch or pickle causes an error

Describe the bug
As from the title, saving a state_dict with torch causes an error
_pickle.PicklingError: Can't pickle <java class 'java.lang.String'>: attribute lookup java.lang.String on jpype._jstring failed

Steps to reproduce the behavior
Assuming torch is loaded and we have a (trained) model initialised by model = template.build(settings), the error occurs with the following code
state_dict = model.state_dict()
torch.save(state_dict, save_file)

Expected behavior
The code does not cause a pickling error.
Environment
No response
Additional context
I have an easy workaround which does not seem to cause any issues by converting the strings into Python strings
state_dict = model.state_dict()
state_dict["weight_names"] = {k: str(v) for k, v in state_dict["weight_names"].items()}
torch.save(state_dict, save_file)

I don't seem to have any unexpected behaviour while doing this, e.g. loaded models have the same predictions.

Hi, thanks for opening an issue. I've prepared a fix (which works basically the same way as your workaround),  and it will be released once have more changes implemented (hopefully soon). Will keep the issue open till then.

Hi, this should be fixed in the latest version (0.7.14). Could you please confirm it works for you now? Thanks

Hi Lukas,
I can confirm it works perfectly now. Thanks


Missing hint message for platformatic dependencies using pnpm package manager

How to reproduce:
Node v18.4.0
pnpm v7.25.0
npm init -y
pnpm install platformatic
npx platformatic db init

I've received the error

From the video "I would never use an ORM" there is a message, that needs to install: fastify, sql-mapper etc

@mcollina Hi Matteo, could you configure a template for issues in github, it is much easier to create issues with templates. github templates

@marcopiraccini could you take a look?


Feature request:

What's you idea or suggestion?
Hi, thanks for your great work. Can you implement tappable tweak. For example when we tap a section, it will open lists of actions, we can choose any of the action by touching and it happens. We can think of it like tappable action .
We can add this as a section and also list of tappable action when tapping a section?
For example :
Action list section user taps, then 5 actions show

do A
do B
..
..
do E

when user touches doA do action will happen, no need to save this to cache or file, only do it and forget.

SwiftTweaks library has this feature, in their sample app there is a Actions section when I tap it will print log to xcode console. @Cokile

Also if one action should be taken, then you can add directly add tappable action as a section.

Hi @BayramInanc, thanks for the feedback!
That's the difference between SwiftTweaks and TweaKit. From the perspective of TweaKit, a tweak is something whose value can be tweaked(changed) at runtime. Action does not fit in this context. So there is no plan to add support for action(at least for now).
An alternative solution is to write your own DebugVC with a table view, each cell is bound to the action you need and there is a cell to show tweaks.

Ha, I get it. Thanks for response @Cokile


Switch to using the native API Gateway CloudFormation resources

As of a couple of weeks ago AWS launched native CloudFormation support for the API Gateway.
It would make a lot of sense to start using it instead of the current implementation based on lambda-backed custom resources.

👍  Or if not then at least a message clarifying that it is using custom resources rather than the native resources since this scores well on google :)

@sihil and @cristim thanks for the feedback! This repo was originally just a test to see how difficult it was to create an entire serverless API using CloudFormation. Since the time I made this and several other repos I've adopted https://github.com/serverless/serverless instead. In their upcoming 1.0.x release (they're at RC1 now) they make your entire API - including APIGW, Lambda, IAM, etc, all into a CloudFormation stack. I'd highly recommend you evaluate the https://github.com/serverless/serverless framework yourself.

@jthomerson thanks for your message!
I'm also using serverless nowadays for one of my projects and I'm familiar with it.
Regarding this project, you should perhaps make it more clear in the README that this is not maintained anymore and that people should look into alternatives such as serverless or apex.


Add hotjar to some pages

Who is this for?
@taceybadgerbrook
What is it doing for them?
Adding Hotjar to the homepage.
homepage.js is a Class component, so the hook can't be used in a straightforward manner. I tried creating an HOC but failed. I also had an abortive attempt at converting it to a FunctionComponent with getServerSideProps instead of getInitialProps – there is much stricter checking for the former in development and I didn't think this was the time to solve those problems necessarily, so this seemed like the sensible approach in the end (and can still be backed out of easily at the point we want to stop using Hotjar on the homepage).
@alicerichmond while doing this work I noticed we still have Hotjar running on works search pages. Do you need this still, or can it be removed?

Darn. If there aren't any other list pages (other than /collections) set up, could you set up tracking for whats-on?

@taceybadgerbrook  could you put a list of links to the pages you'd like tracking on please?

@davidpmccormick Here are the list pages I'd like tracking on in order of preference (if you can only set up 3, then I'll take the top 3. If you can set up more but just for a few days each, I'll take them all in stages):
https://wellcomecollection.org/
https://wellcomecollection.org/whats-on
https://wellcomecollection.org/events
https://wellcomecollection.org/visit-us
https://wellcomecollection.org/stories
https://wellcomecollection.org/get-involved
https://wellcomecollection.org/about-us
https://wellcomecollection.org/collections
https://wellcomecollection.org/pages/YGSEhxAAACgAXL4E

I've added them all for now. Please let us know when you're done tracking and we can clean it up.

Star. Thanks so much!

@davidpmccormick @alicerichmond Hotjar has collected 100% of the page views it needs for a heatmap, so this code can be deactivated. I'm happy for you to deactivate visit-us, collections and whats-on have as well as these have collected over 1,000 page views.
For the rest of the pages, I'm going to need tracking in place for a little longer.

Just checking, we can remove the code from

homepage
visit-us
collections
whats-on

is that right?

Yes, please!


Adjust the Parquet engine classes to allow more easily subclassing

Reduces code duplication when subclassing and provides a hook for adjusting arrow / pandas conversion behavior more precisely
Add passthough for arrow_to_pandas options.

[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Background for this is that I need a place to put a hook to deal with data that has weird fat fingered parquet datetimes which cause issues when converting into pandas.
Turns out that 3019-01-05 00:00:00 is not a timestamp that pandas appreciates :D

Can you add a test specifically with your "fat-fingered" timestamp that would have caused pandas overflow? That is your specific use-case here, so it also serves to show why this change is useful.

Given that these methods are only called explicitly from our own code, I have no problem with these changes. @rjzamora , do you have any objections or thoughts?

Thanks for contributing here @mariusvniekerk !
Only had a chance to take a quick look on my phone, but I suspect the changes are fine.  Since we do  use these methods in dask_cudf, I would like to double check that this doesn't break anything there and report back.

Thanks @rjzamora , This should also allow you to be more specific with other fancy stuff you want to do in dask_cudf.


⚠ Bofrost.de has degraded performance

In 5678809, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2226 ms

Resolved: Bofrost.de performance has improved in 34e3207 after 9 minutes.


Allow tip_fetchedImage to know about how it was set

By setting tip_fetchedImage after setting fetchSource and the _flags, an implementation of tip_fetchedImage can ask the TIPImageViewFetchHelper about where it came from, it's progress, etc. One use of this is being able to animated the setting of the image if the source was from the network.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I'm still working on the CLA :)

this is a fair change, however it is incomplete.  The same consideration needs to be made for setImageAsIfLoaded: and setImageAsIfPlaceholder:.
The latest internal code for TIP has this change already.  Feel free to wait for our drop.

See https://github.com/twitter/ios-twitter-image-pipeline/pull/33 for this same improvement to be integrated.


Improve Signal format handling

Try to support parsing of message in the following format
Symbol
Entry targets
Take-Profit targets
Stop targets
Leverage
Trade type (Regular or Breakout)
Short/Long

Example 1
Symbol: STMX/USDT
Exchange: Kraken
Trade Type: Short
Leverage: 10
Entry Orders:

0.01577  - 50.008%
0.01609 - 49.991%

Take-Profit Orders:

0.01553 - 50.0%
0.01538 - 16.666%
0.01514 - 16.666%
0.01451 - 16.666%

Example 2
💱EURUSD
⚫BUY
🔵1.7509, 1.8509, 1.9509, 2.7509
🛑1.5558

Example 3
buy BTCUSD sl=10000 tp=1000 q=1%

Example 4
buy BTCUSD


Why am I not eligible for zksync airdrop after translating the ZK Credo?

I commit 2 times and pr got merged but not eligible for github airdrop. Why is that sir?

My wallet needs correction asap


How To Start The Service Without using a button

I Want To Track The User Location Of User But Without Using The Button

write on button oncreate

write on button oncreate

please give clear explaination

Simply take the code inside the RequestLocationUpdates on click listener, paste in a void function and simply call that function in OnServiceConnected. The service immediately starts on launching the main activity.
void requestlocationupdate()
    {
        if (!checkPermissions()) {
            requestPermissions();
        } else {
            mService.requestLocationUpdates();
        }

    }
@Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            MeterService.LocalBinder binder = (MeterService.LocalBinder) service;
            mService = binder.getService();
            mBound = true;
            requestlocationupdate();
        }