Coverage errors

Hi guys, I do see a lot of coverage errors when run npm run test. Is it something that you can fix?
865 tests complete
Test duration: 7804 ms
No global variable leaks detected
Coverage: 99.44% (82/14713)
client/actions/api.js missing coverage from file(s):
	client/actions/api.js on line(s): 11
client/actions/return-url.js missing coverage from file(s):
	client/actions/return-url.js on line(s): 10
client/components/alert.jsx missing coverage from file(s):
	client/components/alert.jsx on line(s): 25
client/components/admin/delete-form.jsx missing coverage from file(s):
	client/components/admin/delete-form.jsx on line(s): 29
client/components/form/button.jsx missing coverage from file(s):
	client/components/form/button.jsx on line(s): 34
client/components/form/control-group.jsx missing coverage from file(s):
	client/components/form/control-group.jsx on line(s): 33
client/components/form/select-control.jsx missing coverage from file(s):
	client/components/form/select-control.jsx on line(s): 40
client/components/form/spinner.jsx missing coverage from file(s):
	client/components/form/spinner.jsx on line(s): 25
client/components/form/text-control.jsx missing coverage from file(s):
	client/components/form/text-control.jsx on line(s): 40
client/components/form/textarea-control.jsx missing coverage from file(s):
	client/components/form/textarea-control.jsx on line(s): 35
client/pages/account/app.jsx missing coverage from file(s):
	client/pages/account/app.jsx on line(s): 26
client/pages/account/footer.jsx missing coverage from file(s):
	client/pages/account/footer.jsx on line(s): 19
client/pages/account/index.jsx missing coverage from file(s):
	client/pages/account/index.jsx on line(s): 13
client/pages/account/not-found.jsx missing coverage from file(s):
	client/pages/account/not-found.jsx on line(s): 22
client/pages/account/settings/actions.js missing coverage from file(s):
	client/pages/account/settings/actions.js on line(s): 13
client/pages/account/settings/reducers/details.js missing coverage from file(s):
	client/pages/account/settings/reducers/client/pages/account/settings/reducers/details.js on line(s): 20
client/pages/account/settings/reducers/password.js missing coverage from file(s):
	client/pages/account/settings/reducers/client/pages/account/settings/reducers/password.js on line(s): 16
client/pages/account/settings/reducers/user.js missing coverage from file(s):
	client/pages/account/settings/reducers/client/pages/account/settings/reducers/user.js on line(s): 17
client/pages/admin/app.jsx missing coverage from file(s):
	client/pages/admin/app.jsx on line(s): 26
client/pages/admin/footer.jsx missing coverage from file(s):
	client/pages/admin/footer.jsx on line(s): 19
client/pages/admin/not-found.jsx missing coverage from file(s):
	client/pages/admin/not-found.jsx on line(s): 22
client/pages/admin/accounts/details/actions.js missing coverage from file(s):
	client/pages/admin/accounts/details/actions.js on line(s): 15
client/pages/admin/accounts/details/reducers/delete.js missing coverage from file(s):
	client/pages/admin/accounts/details/reducers/client/pages/admin/accounts/details/reducers/delete.js on line(s): 11
client/pages/admin/accounts/details/reducers/details.js missing coverage from file(s):
	client/pages/admin/accounts/details/reducers/client/pages/admin/accounts/details/reducers/details.js on line(s): 18
client/pages/admin/accounts/details/reducers/note.js missing coverage from file(s):
	client/pages/admin/accounts/details/reducers/client/pages/admin/accounts/details/reducers/note.js on line(s): 17
client/pages/admin/accounts/details/reducers/status.js missing coverage from file(s):
	client/pages/admin/accounts/details/reducers/client/pages/admin/accounts/details/reducers/status.js on line(s): 18
client/pages/admin/accounts/details/reducers/user.js missing coverage from file(s):
	client/pages/admin/accounts/details/reducers/client/pages/admin/accounts/details/reducers/user.js on line(s): 17
client/pages/admin/accounts/search/actions.js missing coverage from file(s):
	client/pages/admin/accounts/search/actions.js on line(s): 15
client/pages/admin/accounts/search/filter-form.jsx missing coverage from file(s):
	client/pages/admin/accounts/search/filter-form.jsx on line(s): 35
client/pages/admin/accounts/search/results.jsx missing coverage from file(s):
	client/pages/admin/accounts/search/results.jsx on line(s): 25
client/pages/admin/accounts/search/reducers/create-new.js missing coverage from file(s):
	client/pages/admin/accounts/search/reducers/client/pages/admin/accounts/search/reducers/create-new.js on line(s): 14
client/pages/admin/accounts/search/reducers/results.js missing coverage from file(s):
	client/pages/admin/accounts/search/reducers/client/pages/admin/accounts/search/reducers/results.js on line(s): 14
client/pages/admin/admin-groups/details/actions.js missing coverage from file(s):
	client/pages/admin/admin-groups/details/actions.js on line(s): 15
client/pages/admin/admin-groups/details/reducers/delete.js missing coverage from file(s):
	client/pages/admin/admin-groups/details/reducers/client/pages/admin/admin-groups/details/reducers/delete.js on line(s): 11
client/pages/admin/admin-groups/details/reducers/details.js missing coverage from file(s):
	client/pages/admin/admin-groups/details/reducers/client/pages/admin/admin-groups/details/reducers/details.js on line(s): 18
client/pages/admin/admin-groups/details/reducers/permissions.js missing coverage from file(s):
	client/pages/admin/admin-groups/details/reducers/client/pages/admin/admin-groups/details/reducers/permissions.js on line(s): 17
client/pages/admin/admin-groups/search/actions.js missing coverage from file(s):
	client/pages/admin/admin-groups/search/actions.js on line(s): 15
client/pages/admin/admin-groups/search/filter-form.jsx missing coverage from file(s):
	client/pages/admin/admin-groups/search/filter-form.jsx on line(s): 35
client/pages/admin/admin-groups/search/results.jsx missing coverage from file(s):
	client/pages/admin/admin-groups/search/results.jsx on line(s): 25
client/pages/admin/admin-groups/search/reducers/create-new.js missing coverage from file(s):
	client/pages/admin/admin-groups/search/reducers/client/pages/admin/admin-groups/search/reducers/create-new.js on line(s): 15
client/pages/admin/admin-groups/search/reducers/results.js missing coverage from file(s):
	client/pages/admin/admin-groups/search/reducers/client/pages/admin/admin-groups/search/reducers/results.js on line(s): 14
client/pages/admin/admins/details/actions.js missing coverage from file(s):
	client/pages/admin/admins/details/actions.js on line(s): 15
client/pages/admin/admins/details/reducers/delete.js missing coverage from file(s):
	client/pages/admin/admins/details/reducers/client/pages/admin/admins/details/reducers/delete.js on line(s): 11
client/pages/admin/admins/details/reducers/details.js missing coverage from file(s):
	client/pages/admin/admins/details/reducers/client/pages/admin/admins/details/reducers/details.js on line(s): 18
client/pages/admin/admins/details/reducers/groups.js missing coverage from file(s):
	client/pages/admin/admins/details/reducers/client/pages/admin/admins/details/reducers/groups.js on line(s): 18
client/pages/admin/admins/details/reducers/permissions.js missing coverage from file(s):
	client/pages/admin/admins/details/reducers/client/pages/admin/admins/details/reducers/permissions.js on line(s): 17
client/pages/admin/admins/details/reducers/user.js missing coverage from file(s):
	client/pages/admin/admins/details/reducers/client/pages/admin/admins/details/reducers/user.js on line(s): 17
client/pages/admin/admins/search/actions.js missing coverage from file(s):
	client/pages/admin/admins/search/actions.js on line(s): 15
client/pages/admin/admins/search/filter-form.jsx missing coverage from file(s):
	client/pages/admin/admins/search/filter-form.jsx on line(s): 35
client/pages/admin/admins/search/results.jsx missing coverage from file(s):
	client/pages/admin/admins/search/results.jsx on line(s): 25
client/pages/admin/admins/search/reducers/create-new.js missing coverage from file(s):
	client/pages/admin/admins/search/reducers/client/pages/admin/admins/search/reducers/create-new.js on line(s): 14
client/pages/admin/admins/search/reducers/results.js missing coverage from file(s):
	client/pages/admin/admins/search/reducers/client/pages/admin/admins/search/reducers/results.js on line(s): 14
client/pages/admin/statuses/details/actions.js missing coverage from file(s):
	client/pages/admin/statuses/details/actions.js on line(s): 15
client/pages/admin/statuses/details/reducers/delete.js missing coverage from file(s):
	client/pages/admin/statuses/details/reducers/client/pages/admin/statuses/details/reducers/delete.js on line(s): 11
client/pages/admin/statuses/details/reducers/details.js missing coverage from file(s):
	client/pages/admin/statuses/details/reducers/client/pages/admin/statuses/details/reducers/details.js on line(s): 19
client/pages/admin/statuses/search/actions.js missing coverage from file(s):
	client/pages/admin/statuses/search/actions.js on line(s): 15
client/pages/admin/statuses/search/filter-form.jsx missing coverage from file(s):
	client/pages/admin/statuses/search/filter-form.jsx on line(s): 36
client/pages/admin/statuses/search/results.jsx missing coverage from file(s):
	client/pages/admin/statuses/search/results.jsx on line(s): 25
client/pages/admin/statuses/search/reducers/create-new.js missing coverage from file(s):
	client/pages/admin/statuses/search/reducers/client/pages/admin/statuses/search/reducers/create-new.js on line(s): 16
client/pages/admin/statuses/search/reducers/results.js missing coverage from file(s):
	client/pages/admin/statuses/search/reducers/client/pages/admin/statuses/search/reducers/results.js on line(s): 14
client/pages/admin/users/details/actions.js missing coverage from file(s):
	client/pages/admin/users/details/actions.js on line(s): 15
client/pages/admin/users/details/roles-form.jsx missing coverage from file(s):
	client/pages/admin/users/details/roles-form.jsx on line(s): 27
client/pages/admin/users/details/reducers/delete.js missing coverage from file(s):
	client/pages/admin/users/details/reducers/client/pages/admin/users/details/reducers/delete.js on line(s): 11
client/pages/admin/users/details/reducers/details.js missing coverage from file(s):
	client/pages/admin/users/details/reducers/client/pages/admin/users/details/reducers/details.js on line(s): 21
client/pages/admin/users/details/reducers/password.js missing coverage from file(s):
	client/pages/admin/users/details/reducers/client/pages/admin/users/details/reducers/password.js on line(s): 17
client/pages/admin/users/search/actions.js missing coverage from file(s):
	client/pages/admin/users/search/actions.js on line(s): 15
client/pages/admin/users/search/filter-form.jsx missing coverage from file(s):
	client/pages/admin/users/search/filter-form.jsx on line(s): 35
client/pages/admin/users/search/results.jsx missing coverage from file(s):
	client/pages/admin/users/search/results.jsx on line(s): 25
client/pages/admin/users/search/reducers/create-new.js missing coverage from file(s):
	client/pages/admin/users/search/reducers/client/pages/admin/users/search/reducers/create-new.js on line(s): 17
client/pages/admin/users/search/reducers/results.js missing coverage from file(s):
	client/pages/admin/users/search/reducers/client/pages/admin/users/search/reducers/results.js on line(s): 14
client/pages/contact/actions.js missing coverage from file(s):
	client/pages/contact/actions.js on line(s): 13
client/pages/contact/index.jsx missing coverage from file(s):
	client/pages/contact/index.jsx on line(s): 14
client/pages/login/actions.js missing coverage from file(s):
	client/pages/login/actions.js on line(s): 18
client/pages/login/index.jsx missing coverage from file(s):
	client/pages/login/index.jsx on line(s): 13
client/pages/login/not-found.jsx missing coverage from file(s):
	client/pages/login/not-found.jsx on line(s): 22
client/pages/login/forgot/store.js missing coverage from file(s):
	client/pages/login/forgot/client/pages/login/forgot/store.js on line(s): 15
client/pages/login/home/store.js missing coverage from file(s):
	client/pages/login/home/client/pages/login/home/store.js on line(s): 15
client/pages/login/logout/store.js missing coverage from file(s):
	client/pages/login/logout/client/pages/login/logout/store.js on line(s): 15
client/pages/login/reset/store.js missing coverage from file(s):
	client/pages/login/reset/client/pages/login/reset/store.js on line(s): 15
client/pages/signup/actions.js missing coverage from file(s):
	client/pages/signup/actions.js on line(s): 14
client/pages/signup/index.jsx missing coverage from file(s):
	client/pages/signup/index.jsx on line(s): 14
client/pages/signup/store.js missing coverage from file(s):
	client/pages/signup/client/pages/signup/store.js on line(s): 15
Linting results: No issues

Yup, https://github.com/jedireza/aqua/issues/95 talks about this. It's a bug in Babel.


Allowing virtual clusters to share a single port

Type of change
Select the type of your PR

Enhancement / new feature

Description
Fix #265. Allowing virtual clusters to share a single port with SNI used to route the traffic to the correct virtual cluster/broker.
This is helpful in the kubernetes use-case, where you may wish to expose a single port through your load balancer.
Additional Context
Why are you making this pull request?

@SamBarker @robobario I think this is a sufficient forward step. I intend to continue under #271

@robobario @SamBarker I've addressed many of your comments and left some commentary on some of the others.  Please have another look.


restfool.New() should accept public Config object

Problem
Imagine you have a application who use yaml as configuration file format. That's why you cannot use restfool at this point.
Solution
Make config object public accessible and paste it as parameter to New().
Result
If a user has a different format he can convert it on his own into a restfool.Config object and paste it to New().
see this PR

not maintained anymore


Unable to login with PAT

I'm having problems getting the PAT to work. I've created a PAT with admin:org, repo, workflow permissions and copied the token. Then clicked login in the extension and pasted the token into the command pallete that appears. Every time I get the error:
:( An error has occured while retrieving workflows: Token required
I've deleted the credentials in Windows, restarted VSCode and tried a few times but no joy.
My account has 2FA enabled if that matters. Any idea what I'm doing wrong?

Had the same issue, the plugin works after VS Code reload

I have just released version 0.7.0 with integrated VS Code authentication support, please give this a shot


cannot import name 'TYPE_CHECKING'

I need to run python 3.5.1
everytime I start with simple import cirq, I get:
ImportError: cannot import name 'TYPE_CHECKING'
Any ideas?

TYPE_CHECKING is not available in python 3.5.1(https://github.com/sphinx-doc/sphinx/issues/4725#issuecomment-372331201). Please upgrade your Python interpreter.
@Strilanc  Should we support these Python versions hence reverting TYPE_CHECKING?  I found some Sphinx code that does it: https://github.com/sphinx-doc/sphinx/pull/4735/files

Hi @omarcostahamido,
Unfortunately, I think this issue will be resolved by adding version 3.5.0 and 3.5.1 to the unsupported versions lists in setup.py. Thank you for letting us know this incompatibility was present. We use TYPE_CHECKING pretty extensively and don't intend to remove it. The type information we expose won't work without it (or at least won't work as well).
My recommended workaround is to update your version of python, which presumably requires fixing whatever is forcing you to use 3.5.1.


Query: Alias subquery if being used in order by clause

For query like this
selection = db.Nodes.Include(x => x.NodeRecords)
        .Select(s => new HighNode()
        {
            Name = s.Name,
            Change = s.NodeRecords.OrderByDescending(o => o.NodeRecordId).Skip(days).FirstOrDefault().Change
        }).OrderByDescending(t => t.Change).Take(100).ToList();

We generate Sql like this
SELECT TOP(@__p_1) [x].[Name], (
    SELECT [o0].[Change]
    FROM [NodeRecords] AS [o0]
    WHERE [x].[Name] = [o0].[Node_Name]
    ORDER BY [o0].[NodeRecordId] DESC
    OFFSET @__days_0 ROWS FETCH NEXT 1 ROWS ONLY
)
FROM [Nodes] AS [x]
ORDER BY (
    SELECT [o].[Change]
    FROM [NodeRecords] AS [o]
    WHERE [x].[Name] = [o].[Node_Name]
    ORDER BY [o].[NodeRecordId] DESC
    OFFSET @__days_0 ROWS FETCH NEXT 1 ROWS ONLY
) DESC

We can just alias the subquery in projection and use alias in order by clause as enhancement.
For model and more info see #6257

Another expression to alias is COALESCE

This is a necessity for the case of coalesce when it is inside a subquery because we need to copy order by on outer query but the columns for coalesce are not projected out hence generates invalid query like this.
exec sp_executesql N'SELECT [t].*
FROM (
    SELECT TOP(@__p_0) [c].[CustomerID], [c].[CompanyName], COALESCE([c].[Region], N''ZZ'') AS [c0]
    FROM [Customers] AS [c]
    ORDER BY COALESCE([c].[Region], N''ZZ'')
) AS [t]
ORDER BY COALESCE([t].[Region], N''ZZ'')
OFFSET @__p_1 ROWS',N'@__p_0 int,@__p_1 int',@__p_0=10,@__p_1=5

@anpete @maumar - I was looking this in my current work. For complex expressions, we are able to alias the projection and use it in order by but for subquery it is failing because we generate different select expression (essentially the table aliases are different) because our subquerymodelvisitor will run twice on same qm. Thoughts where we should optimize this?

@anpete @maumar - For all cases except subquery, alias-ing of ordering should be working. As explained above, to alias select expression in order by we need that subqueryExpression referencing same QM generating same SelectExpression. Do we want to keep this issue open now? Or merge into the larger issue?

Do we want to keep this issue open now? Or merge into the larger issue?

@smitpatel this got closed automatically when you pushed the commit, that might explain why no one answered :smile: Should it be reopen? Otherwise closed as fixed?

We do alias complex projections appearing in projection & order by both and refer to the alias in order by clause.
For subqueries, the generated select expressions are different so we have no way to match them and use alias.
All possible work for this issue has been done at this point.


WIP: Specialization constant overhaul and StorageBuffer support

Output from clspv has uncovered some problems with the current implementation.
I've also added support for the future looking StorageClassStorageBuffer, which replaces BufferBlock.

@billhollings This touches on MSL, could you please have a look?

I've tested it and it looks good so far. I'm happy to have this pulled into master.

Great, thanks!


Uncaught ReferenceError: isPlainObject is not defined

Hi,
I'm having an issue using counterpart with webpack. When doing:
import counterpart from 'counterpart';

It fails with Google chrome with the following error:
Uncaught ReferenceError: isPlainObject is not defined

When I open the web developer tools console and reload, it works. It only works with the developer tools open, but fails again when I close it. It doesn't fail in Firefox or Safari.
Do you have any ideas about what may be causing this issue?
Thanks in advance

It's hard to tell what is actually going wrong here. Could you provide a stripped-down sample app that I could try out in order to reproduce this behavior?

see https://github.com/justmoon/node-extend/issues/31 and https://github.com/justmoon/node-extend/pull/32

@greelgorke So this seems to be an issue when using node-extend and counterpart together with webpack, am I right? Will your node-extend 'strict mode' PR "fix" this counterpart issue then?

@greelgorke @martinandert sure, I've uploaded a test repo: https://github.com/danderu/counterpart-test
Just importing counterpart in my component makes it crash.

@martinandert i've applied it manually in my local project and it solved it

@danderu I've tried your test repo and can reproduce this issue now.
Counterpart depends on node-extend ^2.0.0 which, as @greelgorke pointed out (thanks!), does not utilize the 'use strict' pragma correctly. When @greelgorke's PR is applied and node-extend v2.0.2 is released, simply reinstalling the counterpart package should fix this issue. Until then, applying @greelgorke's patch in app/node_modules/counterpart/node_modules/extend/index.js fixed it for me, too and your test repo run fine in chrome.

@greelgorke @martinandert You are great! It's fixed now, thanks :) :+1:

@danderu @martinandert it's merged, but as a breaking change, so your ^2.0.0 might not be enough

I just published counterpart v0.16.8 which depends on node-extend ^3.0.0.


Magic in the emitter callback?

Expected behavior
choo should accept valid JS code in the emitter callback.
Actual behavior
choo throws

"Unexpected token: punc ()) while parsing file: /app/index.js"

when an ES6 arrow function is used the emitter callback.
Steps to reproduce behavior
This is working code (adapted from the intro tutorial, running on glitch)
const choo = require('choo');
const html = require('choo/html');
const main = require('./templates/main.js');

const app = choo();

app.use(function (state, emitter) {
  state.animals = [
    { type: 'lion', x: 200, y: 100 },
    { type: 'crocodile', x: 50, y: 300 }
  ];

  emitter.on('addAnimal', function () {
    const obj = { type: 'lion', x: 100, y: 200 };
    state.animals.push(obj);
    emitter.emit('render');
  });

});

app.route('/', main);
app.mount('div');

When I replace function ()with  () =>
emitter.on('addAnimal', () => {
   const obj = { type: 'lion', x: 100, y: 200 };
   state.animals.push(obj);
   emitter.emit('render');
 });

choo throws the above error. Some kind of magic going on?

That's odd. I tried to reproduce the error but couldn't. Have I missed something here?
Source: https://glitch.com/edit/#!/cliff-peridot
https://cliff-peridot.glitch.me
I'm using Bankai here to bundle the app, what are you using? Or are you maybe using an old version of Node which doesn't support arrow functions?

I have remixed the starter tutorial linked from https://handbook.choo.io/your-first-choo-app/ keeping the original configuration. I just specified node version 10 just to be sure. If I copy in your code it breaks as well.
https://glitch.com/~magical-apple
https://glitch.com/edit/#!/magical-apple?path=index.js:1:0
Anything I could be missing?

It uses an old version of uglifyify that doesn't support arrow functions. Update to v5 and it works, see remix here: https://glitch.com/edit/#!/cedar-manuscript?path=package.json:14:0

Confirmed. Thanks a lot. @tornqvist that should be updated in the
https://glitch.com/edit/#!/project/choo-animals-starter as well.


Added dynamic description and fixed typo error

PR Fixes:

1 Added dynamic description.
2 Fixed verified typo issue

Resolves #720
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

@hkirat

Dynamic description + Dynamic description always as center, The description will automatically generate according to user enrolled in course lilke 0-1 / 0-100 / 1-100, Cleaned the UI of certificate changed name from harkirat sing to Harkirat Singh, Verified typo is also fixed. @hkirat

/bounty $25


Append -experimental to packages with experimental features

Without this commit, it's impossible to differentiate packages built
with experimental features without installing the package and running
commands to test.
Signed-off-by: Ryan Beck-Buysse<EMAIL_ADDRESS>

$ ./bin/get_version
0.4.1-dev1
$ export 'CARGO_ARGS=-- --features experimental'
$ ./bin/get_version
0.4.1-dev1-experimental


From time to time "Connection reset by peer" error while sending event to the server

Environment
SaaS (https://sentry.io/)
Version
No response
Steps to Reproduce
I tried to debug this issue however I am not 100% sure what is the root cause. I think the problem is related to:
https://github.com/urllib3/urllib3/issues/944#issuecomment-237471302
I have applied following workaround and it fixed the problem:
https://github.com/psf/requests/issues/4937#issuecomment-788899804
It seems that for the Python client, the keep alive option is disabled by default. Maybe this is causing connection problems.
Even that this looks like a Python client issue, and that the workaround on the client side worked fine - I wonder if there is a way to fix this on the server side. This is why I am opening the issue here.
Maybe changing the idle connection timeout on the server side would help. I would appreciate your expertise on that part.
It is not easy to reproduce this error. I tried to reproduce it from local machine by sending events every x seconds (1, 10, 60, 300, 1800). I have reproduced it only twice using 1800 secs delay between two events. However often, even for 1800 it was working fine.
After enabling DEBUG logs on client side, I have realised that this issue happens few times a day for my service. I am happy to gather some more logs if needed.
Below I am sending full Python traceback logs for the issue:
[2021-09-01 15:34:10,901] [] [] [DEBUG] [] Sending event, type:null level:error event_id:xxx project:xxx host:xxx.ingest.sentry.io
[sentry] ERROR: Internal error in sentry_sdk
Traceback (most recent call last):
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_urllib3.py", line 32, in _nr_wrapper_make_request_
    return wrapped(*args, **kwargs)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 102, in getresponse
    rv = real_getresponse(self, *args, **kwargs)
File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_httplib.py", line 77, in httplib_getresponse_wrapper
    return wrapped(*args, **kwargs)
File "/usr/lib/python3.8/http/client.py", line 1322, in getresponse
    response.begin()
File "/usr/lib/python3.8/http/client.py", line 303, in begin
    version, status, reason = self._read_status()
File "/usr/lib/python3.8/http/client.py", line 264, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
File "/usr/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 339, in send_event_wrapper
    self._send_event(event)
File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 245, in _send_event
    self._send_request(
File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 179, in _send_request
    response = self._pool.request(
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/request.py", line 78, in request
    return self.request_encode_body(
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/request.py", line 170, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_urllib3.py", line 32, in _nr_wrapper_make_request_
    return wrapped(*args, **kwargs)
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
File "<string>", line 3, in raise_from
File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 102, in getresponse
    rv = real_getresponse(self, *args, **kwargs)
File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_httplib.py", line 77, in httplib_getresponse_wrapper
    return wrapped(*args, **kwargs)
File "/usr/lib/python3.8/http/client.py", line 1322, in getresponse
    response.begin()
File "/usr/lib/python3.8/http/client.py", line 303, in begin
    version, status, reason = self._read_status()
File "/usr/lib/python3.8/http/client.py", line 264, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
File "/usr/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
[2021-09-01 15:34:10,903] [] [] [ERROR] [] Internal error in sentry_sdk Traceback (most recent call last):   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen     httplib_response = self._make_request(   File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_urllib3.py", line 32, in _nr_wrapper_make_request_     return wrapped(*args, **kwargs)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request     six.raise_from(e, None)   File "<string>", line 3, in raise_from   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request     httplib_response = conn.getresponse()   File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 102, in getresponse     rv = real_getresponse(self, *args, **kwargs)   File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_httplib.py", line 77, in httplib_getresponse_wrapper     return wrapped(*args, **kwargs)   File "/usr/lib/python3.8/http/client.py", line 1322, in getresponse     response.begin()   File "/usr/lib/python3.8/http/client.py", line 303, in begin     version, status, reason = self._read_status()   File "/usr/lib/python3.8/http/client.py", line 264, in _read_status     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")   File "/usr/lib/python3.8/socket.py", line 669, in readinto     return self._sock.recv_into(b)   File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into     return self.read(nbytes, buffer)   File "/usr/lib/python3.8/ssl.py", line 1099, in read     return self._sslobj.read(len, buffer) ConnectionResetError: [Errno 104] Connection reset by peer  During handling of the above exception, another exception occurred:  Traceback (most recent call last):   File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 339, in send_event_wrapper     self._send_event(event)   File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 245, in _send_event     self._send_request(   File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/transport.py", line 179, in _send_request     response = self._pool.request(   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/request.py", line 78, in request     return self.request_encode_body(   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/request.py", line 170, in request_encode_body     return self.urlopen(method, url, **extra_kw)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen     response = conn.urlopen(method, u.request_uri, **kw)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen     retries = retries.increment(   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/util/retry.py", line 532, in increment     raise six.reraise(type(error), error, _stacktrace)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise     raise value.with_traceback(tb)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen     httplib_response = self._make_request(   File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_urllib3.py", line 32, in _nr_wrapper_make_request_     return wrapped(*args, **kwargs)   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request     six.raise_from(e, None)   File "<string>", line 3, in raise_from   File "/usr/app/venv/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request     httplib_response = conn.getresponse()   File "/usr/app/venv/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 102, in getresponse     rv = real_getresponse(self, *args, **kwargs)   File "/usr/app/venv/lib/python3.8/site-packages/newrelic/hooks/external_httplib.py", line 77, in httplib_getresponse_wrapper     return wrapped(*args, **kwargs)   File "/usr/lib/python3.8/http/client.py", line 1322, in getresponse     response.begin()   File "/usr/lib/python3.8/http/client.py", line 303, in begin     version, status, reason = self._read_status()   File "/usr/lib/python3.8/http/client.py", line 264, in _read_status     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")   File "/usr/lib/python3.8/socket.py", line 669, in readinto     return self._sock.recv_into(b)   File "/usr/lib/python3.8/ssl.py", line 1241, in recv_into     return self.read(nbytes, buffer)   File "/usr/lib/python3.8/ssl.py", line 1099, in read     return self._sslobj.read(len, buffer) urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

Dependencies versions on client side:
ubuntu:18.04 - Python 3.8.0
sentry-sdk==1.3.1
urllib3==1.26.6

Expected Result
Client is able to successfully send all events to the server.
Actual Result
Due to connectivity problems, some events fail on the client side.

I believe this is a longer-standing issue with the Python SDK, but the web platform folks may know if we have similar issues in other SDKs (in that case ingest-team should investigate it)

I think this issue is a major one and has to be fixed in the near future.

Are there any updates related to this specific issue? The idea shared here was to expose socket_options.
@sl0thentr0py could you please tell me if that is still preferable way to approach this issue or maybe you have some other ideas? :)

closing in favor of https://github.com/getsentry/sentry-python/issues/2391

we encountered similar issues while trying out the new metrics stuff in prod so i'm reopening
exception: "Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 128, in getresponse
    rv = real_getresponse(self, *args, **kwargs)
  File "/usr/local/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/local/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.8/http/client.py", line 277, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/sentry_sdk/transport.py", line 532, in send_envelope_wrapper
    self._send_envelope(envelope)
  File "/usr/local/lib/python3.8/site-packages/sentry_sdk/transport.py", line 431, in _send_envelope
    self._send_request(
  File "/usr/src/sentry/src/sentry/utils/sdk.py", line 229, in patched_send_request
    return _send_request(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/sentry_sdk/transport.py", line 242, in _send_request
    response = self._pool.request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 78, in request
    return self.request_encode_body(
  File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 170, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/usr/local/lib/python3.8/site-packages/urllib3/poolmanager.py", line 376, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.8/site-packages/sentry_sdk/integrations/stdlib.py", line 128, in getresponse
    rv = real_getresponse(self, *args, **kwargs)
  File "/usr/local/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/local/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.8/http/client.py", line 277, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.8/socket.py", line 669, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.8/ssl.py", line 1241, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/local/lib/python3.8/ssl.py", line 1099, in read
    return self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))"

ok there’s no keepalive but it is reusing the same connection object
bumping maxsize will not help since the worker only picks up one request at a time so we're always basically using the same connection from the same connection pool

Starting new HTTPS connection (1): o447951.ingest.sentry.io:443
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>
[https://o447951.ingest.sentry.io:443](https://o447951.ingest.sentry.io/) "POST /api/5461230/envelope/ HTTP/1.1" 200 41
put back conn: <urllib3.connection.HTTPSConnection object at 0x105f77220>

investigation so far

the underlying socket used by urllib3 is the same across requests
there is some timing issue - either timeouts on the load balancer or something else where this doesn’t clean up gracefully

possible action items

enable experimental SO_KEEPALIVE for the socket as per this and try out in prod
somehow tell urllib3 to not use the same socket too long - but idk how to do this without patching really low level code

I tried the scenario

do some stuff, wait 15 min (more than LB timeout), do some stuff again

and in this case, the connection RESETS GRACEFULLY as seen in the logs
https://o447951.ingest.sentry.io:443 "POST /api/5461230/envelope/ HTTP/1.1" 200 0
 [sentry] DEBUG: Sending envelope [envelope with 2 items (error, attachment)] project:5461230 host:o447951.ingest.sentry.io
https://o447951.ingest.sentry.io:443 "POST /api/5461230/envelope/ HTTP/1.1" 200 0
 [sentry] DEBUG: Flushing HTTP transport
 [sentry] DEBUG: background worker got flush request
 [sentry] DEBUG: Sending envelope [envelope with 2 items (error, attachment)] project:5461230 host:o447951.ingest.sentry.io
Resetting dropped connection: o447951.ingest.sentry.io.  <--------------------
 [sentry] DEBUG: 11 event(s) pending on flush
https://o447951.ingest.sentry.io:443 "POST /api/5461230/envelope/ HTTP/1.1" 200 0

Hello!
It is great to see that you are looking into this issue!
This is the workaround that I am currently using:
import socket
from sentry_sdk import transport
from sentry_sdk.transport import HttpTransport
from urllib3.connection import HTTPConnection

class KeepAliveHttpTransport(HttpTransport):
    def _get_pool_options(self, ca_certs):
        opts = super()._get_pool_options(ca_certs)
        opts['socket_options'] = HTTPConnection.default_socket_options + [
            (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
            (socket.SOL_TCP, socket.TCP_KEEPIDLE, 45),
            (socket.SOL_TCP, socket.TCP_KEEPINTVL, 10),
            (socket.SOL_TCP, socket.TCP_KEEPCNT, 6),
        ]
        return opts

def fix_connection_resets_on_sentry():
    transport.HttpTransport = KeepAliveHttpTransport

So basically I am injecting the socket_options into the sentry internals. Of course I discourage of using that approach as it relies on sentry internals and may stop to work at any time.
Yet I am sending it to let you know that with above workaround I reached the acceptable reliability level - meaning that so far I have not found any missing event. However note that I disabled the sentry debug logs already and I am not looking very closely into that anymore. Which means there could be some that I missed - I guess I will know once I will start to use those new metrics that you mentioned about.
Long story short - there is a chance that updating the socket_options will improve the reliability significantly 👍
But there is also a bad news. I have been investigating the RemoteDisconnected errors for the calls between the Python services.
I have not monitored the same for the calls between services and sentry server - but I guess it is affected as well.
When we use requests Session object for handling calls, above RemoteDisconnected error will happen from time to time and that cannot be fixed.
I know this project uses urllib3 for calls but if it uses persisted connections it is affected as well (correct me if I am wrong).
From my observation this problem happens once every 200k-300k calls -> which does not make it a major issue. Yet still I am letting you know so you are aware of the problem. It is currently impossible to achieve high level of reliability while using persisted connections.
As RFC say :

A client, server, or proxy MAY close the transport connection at any time. For example, a client might have started to send a new request at the same time that the server has decided to close the “idle” connection. From the server’s point of view, the connection is being closed while it was idle, but from the client’s point of view, a request is in progress.
This means that clients, servers, and proxies MUST be able to recover from asynchronous close events. Client software SHOULD reopen the transport connection and retransmit the aborted sequence of requests without user interaction so long as the request sequence is idempotent (see section 9.1.2). Non-idempotent methods or sequences MUST NOT be automatically retried, although user agents MAY offer a human operator the choice of retrying the request(s). Confirmation by user-agent software with semantic understanding of the application MAY substitute for user confirmation. The automatic retry SHOULD NOT be repeated if the second sequence of requests fails.

There are 2 ways to mitigate the problem:

Stop using requests sessions - this has performance implications - we need to pick, either being faster and less reliable or being slower and more reliable.
Retry idempotent requests (GET) - this brings some complexity and mitigates only idempotent requests

More details:
Explanation
Why it cannot be retried for idempotent requests

ty @sliwinski-milosz for the detailed explanation!
Most of what you said is consistent with my research so far. Retries are not an option for us as well.
We will increase throughput through the SDK with the new metrics offering so we need to make sure there is a certain level of reliability.

Hey folks, we've just released SDK version 1.41.0 which includes support for setting socket options directly via an init option without the need for a custom transport, so the workaround above can now be written as:
import socket
from urllib3.connection import HTTPConnection
import sentry_sdk

sentry_sdk.init(
    # ...your usual settings...
    socket_options=HTTPConnection.default_socket_options + [
        (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
        # note: skip the following line if you're on MacOS since TCP_KEEPIDLE doesn't exist there
        (socket.SOL_TCP, socket.TCP_KEEPIDLE, 45),
        (socket.SOL_TCP, socket.TCP_KEEPINTVL, 10),
        (socket.SOL_TCP, socket.TCP_KEEPCNT, 6),
    ],
)


Selecting an optional type results in None?

I have a field that can be Null and I've wrapped the type in an Option, something like:
struct MyRow {
  val: Option<String>,
}

When I select it, I get back no rows! If I remove this field and try again I get the rows.

If the value is set, however, the rows are also returned. So it's the Null values which appear to invalidate the whole row!

I see that this test should mean it's handled:
https://github.com/nooberfsh/prusto/blob/master/tests/data_set.rs#L151
Which makes me think that it must be happening after parsing?

Continuing to debug... I inserted some debug code in the send method where we deserialize from the response into a QueryResult and the code before the deserialization shows the row in the data set. However, after it deserializes the data field is empty.

Traced it back to the data_set visitor:
after next value seed
[src/types/data_set.rs:155] &e = Error("invalid type: null, expected varchar", line: 0, column: 0)

I don't see this error inside prusto, so it must come from serde_json. However, the test for the option type doesn't hit the visit_map code path and seems to not break.

Debugging continues and it looks like the deserialization from flatten ends up treating the null as a unit type (()) while serde_json treats it only as either some or none. Not sure why it's going another direction, but adding a visit_unit to the option deserializer fixes the issue.
Will put up a PR with this.


Upgrading Slurm-GCP to V5.3.0

Signed-off-by: Carlos Boneti<EMAIL_ADDRESS>Submission Checklist

[x] Have you installed and run this change against pre-commit? (pre-commit install)
[x] Are all tests passing? (make tests)
[ ] Have you written unit tests to cover this change?
[x] Is unit test coverage still above 80%?
[x] Have you updated all applicable documentation?
[x] Have you followed the guidelines in our Contributing document?

All tests passed.


Smaller/Adjustable Item Spacing

What's the Problem?
Files cannot display as many items either in the sidebar or in the main window as Windows Explorer. It makes it hard to scan through due to the big spacing between each item. I believe the issue is more about the spacing between the items than the font size of the text.
Solution/Idea
An option to adjust the size would be great, or just have the spacing smaller in general.
Alternatives
Using Windows Explorer as opposed to Files.
Priorities

Capability
Priority

This proposal will allow developers to accomplish seamless transition from Windows Explorer to Files for the end users.
Must

Files Version
v2.0.34
Windows Version
Windows 10 21h2
Comments
No response

Merging with #1940


Add toHaveFocus functionality

What:
Adding ability for user to check to see if the current element has focus
Why:
To aid when the user has code that affects which element should be focused at a specific time / event.
How:
Checked the element against the document.activeElement.
Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged
[x] Added myself to contributors table

@kentcdodds I'm going to make @smacpherson64 a collaborator. Can you please post here the few things they need to be aware of regarding commit messages conventions for semantic versioning to work, and anything else relevant? It'd be a good reminder for me too 😅. Maybe they can merge this PR them self.

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)

Here's how I'd merge this PR:

Thank you @kentcdodds  and @gnapse for letting me be involved! Blows me away honestly. I will make sure to read through the items above and continue to watch the repo. I will likely keep doing pull requests to keep it clean.

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Move snmp into the bosun.org repo since third party source is gone

This was moved to the bosun repo and already has a few issues / pull requests https://github.com/bosun-monitor/snmp/pulls

Will work on getting the PRs moved to bosun. Rather have it our repo since
changes happen in both places. This isn't really a "snmp" for everyone I
don't think, it is an snmp for scollector's uses of it.
We also never changed anything over to using that repo in Bosun /
scollector it seems
On Fri, Dec 11, 2015 at 3:48 PM, Greg Bray<EMAIL_ADDRESS>wrote:

This was moved to the bosun repo and already has a few issues / pull
requests https://github.com/bosun-monitor/snmp/pulls
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/pull/1512#issuecomment-164044042.

yeah... I think I moved it because someone started working on new features and Matt indicated he wasn't working on it anymore.
Sounds good to me. Just delete the bosun-monitor/smtp repo when things are moved over.


[Media-Query] Easy way to add media query cases

maybe don't do this --- its a bit strange and hard to combine with e.g. canvas

leave this for now may do this in the future


Fix broken link

The link hide the name of the project in the sidebar at the bottom of this page: https://pradyunsg.me/furo/customisation/logo/
is broken. It should point to: https://pradyunsg.me/furo/customisation/#sidebar-hide-name
Hopefully this PR fixes it (not sure, not super familiar with the markdown format for sphinx).

Looks like it's working as intended from the readthedocs CI.


Installing fresh env, make installdeps-dev, and running single test file wouldn't work until make test was run

Not sure if this is reproducible or was just a weird state I got myself into, but after creating a new virtualenv on python 3.8.2 and following contributing.md (running make installdeps-dev and then brew install libomp), running a direct pytest command on a single file (ex pytest '/Users/tamar.grey/repositories/evalml/evalml/tests/component_tests/test_target_encoder.py') resulted in
ImportError while loading conftest '/Users/tamar.grey/repositories/evalml/evalml/tests/conftest.py'.
evalml/__init__.py:6: in <module>
    import sklearn
E   ModuleNotFoundError: No module named 'sklearn'

I then ran make test, and the tests ran. After deactivating and reactivating my env, running the pytest command on a single file worked.
I'm not sure what was going on with the env, but, if this is reproducible, it might be worth investigating and understanding what's going on there.

This might be env specific. make installdeps-dev should do pip install -e .[dev] which should install core reqs + dev reqs


fix(table): allow BehaviorSubject as initial data in constructor

Directly passing a BehaviorSubject as initial data allows sorting and pagination to work with dynamic data.
Closes #8381

Alternative approach discussed in issue #8381.


Remove isolated trace

This is a tiny fix to address #1768 by replacing the generated array of trace types with a hardcoded one. @TADraeseke could you take a quick look?

Thanks Trevor!


feat: show RAG query results as citations

Pull Request Checklist

[x] Description: Briefly describe the changes in this pull request.
[ ] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[x] Testing: Have you written and run sufficient tests for the changes?
[ ] Code Review: Have you self-reviewed your code and addressed any coding standard issues?

Description
Return RAG query results as citations to show to the user. This is done by injecting a new event/object into the streaming responses in the RAG middleware, and handling this on the frontend. To avoid breaking external clients, this is an opt-in behaviour with citations: true.
Some open questions:

Right now the file loaders use the full file path as the source for metadata, do we want to sanitize this before returning it?
Web loader has more metadata such as a title and description, do we want to use any of these bits of metadata?

Changelog Entry
Added

[List any new features, functionalities, or additions]

Fixed

[List any fixes, corrections, or bug fixes]

Changed

[List any changes, updates, refactorings, or optimizations]

Removed

[List any removed features, files, or deprecated functionalities]

Security

[List any new or updated security-related changes, including vulnerability fixes]

Breaking Changes

[List any breaking changes affecting compatibility or functionality]

Additional Information

[Insert any additional context, notes, or explanations for the changes]

[Reference any related issues, commits, or other relevant information]

it is so great

Long awaited feature 🚀
Looks good so far, maybe it is possible to make the source path clickable to open the actual file.

Yes, I think so too. Is it possible to open all uploaded pictures and files with a single click? This is also one of the expected features

Amazing work 🙌 LGTM!


Created product card 4 white

Closes #1890
This is the screenshot of the component

This is the screenshot of the component in a smaller view

align the button in center vertically

@RavindraP04  I have updated the component


io: change read mode of file in read_griddata_ascii() to raw text

When the read mode is set to rb, Python 3 throws the TypeError Type str doesn't support the buffer API, although Python 2 doesn't mind.
Changing rb to r makes both Python 2 and 3 happy.
This error is only triggered when importing a new supernova model. And
even then only some models invoke read_griddata_ascii(), e.g.,
'nugent-sn1a', but not 'hsiao'.
This fixes #85.
Signed-off-by: Brian Friesen<EMAIL_ADDRESS>

I fixed this in a couple more places in commit 28610b3. Also added this fix to the changelog.


Capture Form Data

Requirements

Create a form to add tasks
Add error handling

Completed by @gsaaad , Great work!

Completed by @gsaaad , Great work


invalid destination for symbolic link in bundle

i'm using the macos-alias package which contains a python3 symlink.
i managed to sucessfully sign my app with the following configuration:
    osxSign:{
            identity: '<my-identity>',
            ignore: 'node_gyp_bins/python3',
            strictVerify: false,
          },

when i open my app on a different device i get the following error message: “My App” is damaged and can’t be opened. This file was downloaded on an unknown date.
i get a more detailed error with spctl --assess --type execute --verbose --ignore-cache --no-cache My-App.app:
My-App.app: rejected (invalid destination for symbolic link in bundle)
How can i fix this issue?

It looks like this was an issues in node-gpy which has been fixed in this PR https://github.com/nodejs/node-gyp/pull/2721
It's yet to be released, so for now you'll need to use something like patch-package to patch it youself locally until a new release of node-gyp.


SAA-955: Sensitive events

Codecov Report
Patch coverage: 78.00% and project coverage change: -0.12% :warning:

Comparison is base (44fe1c5) 85.34% compared to head (3d25c3c) 85.22%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #515      +/-   ##
============================================
- Coverage     85.34%   85.22%   -0.12%
- Complexity     2397     2399       +2
============================================
  Files           295      295
  Lines          8686     8706      +20
  Branches        553      564      +11
============================================
+ Hits           7413     7420       +7
- Misses          992     1000       +8
- Partials        281      286       +5

Files Changed
Coverage Δ

...managementapi/resource/ScheduledEventController.kt
91.66% <0.00%> (-8.34%)
:arrow_down:

...tiesmanagementapi/util/PrisonApiTransformations.kt
96.35% <50.00%> (ø)

...tiesmanagementapi/service/ScheduledEventService.kt
84.94% <78.78%> (-3.37%)
:arrow_down:

...agementapi/client/prisonapi/api/PrisonApiClient.kt
83.41% <92.30%> (+0.07%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add CallModelSaliency, and implement for GradientSaliency, IG, BlurIG, XRAI, and GradCAM.

@googlebot I signed it!

@googlebot I signed it!

Closed because duplicate of #49.


Add option to swap horizontal and vertical axes in .imshow.

Sometimes we want wavelength on the vertical, sometimes we want it on the horizontal. Let's add an option to do either! I think it's not too bad, mostly just a transpose, some fiddling with extent, and some swapping x + y labels.

Closed by #111


Implements the multi-thread async server for vineyardd, with necessary concurrency control.

What do these changes do?
Use a threadpool to process asio events.
Related issue number
Related to #127.

Codecov Report

Merging #230 (f6f063c) into main (23d5551) will decrease coverage by 9.51%.
The diff coverage is 66.84%.

@@            Coverage Diff             @@
##             main     #230      +/-   ##
==========================================
- Coverage   63.04%   53.52%   -9.52%
==========================================
  Files          57       57
  Lines        4819     4923     +104
==========================================
- Hits         3038     2635     -403
- Misses       1781     2288     +507

Impacted Files
Coverage Δ

src/client/allocator.h
0.00% <0.00%> (ø)

src/client/client.h
72.50% <ø> (ø)

src/client/ds/object_meta.h
92.00% <ø> (ø)

src/client/rpc_client.cc
72.61% <ø> (+2.50%)
:arrow_up:

src/common/memory/payload.cc
65.21% <0.00%> (-34.79%)
:arrow_down:

src/common/memory/payload.h
100.00% <ø> (ø)

src/common/util/status.cc
3.70% <0.00%> (-14.48%)
:arrow_down:

src/common/util/status.h
36.27% <0.00%> (-3.93%)
:arrow_down:

src/common/util/uuid.cc
100.00% <ø> (+12.50%)
:arrow_up:

src/server/async/socket_server.cc
39.37% <0.00%> (-16.29%)
:arrow_down:

... and 38 more


[TODO TDX] Convert apicid and vpid from the TDX module

In arch/x86/hyperv/hv_vtl.c: hv_vtl_wakeup_secondary_cpu(),
/* TODO TDX: we cannot trust the hypervisor to perform this mapping...
Instead, we need hypervisor support for TDX 1.5 ENUM_TOPOLOGY to query
this directly from the tdx module. */
(Migrated internal issue #1261)

yjiang5 on Oct 30:
This will not be needed once we have the ACPI mailbox code merged.

Confirm Yunhong's assessment - remove after ACPI mailbox code is merged.

@chris-oo once https://github.com/microsoft/openvmm/issues/581 is merged, what should we do about the below code?
    /*
     * TODO TDX: we cannot trust the hypervisor to perform this mapping...
     * Instead, we need hypervisor support for TDX 1.5 ENUM_TOPOLOGY to
     * query this directly from the TDX module.
     */
    vp_id = hv_vtl_apicid_to_vp_id(apicid);

    if (vp_id < 0) {
            pr_err("Couldn't find CPU with APIC ID %d\n", apicid);
            return -EINVAL;
    }
    if (vp_id > ms_hyperv.max_vp_index) {
            pr_err("Invalid CPU id %d for APIC ID %d\n", vp_id, apicid);
            return -EINVAL;
    }

    if (hv_isolation_type_tdx())
            return hv_vtl_bringup_tdx_vcpu(vp_id, start_eip);
    else
            return hv_vtl_bringup_vcpu(vp_id, cpu, start_eip);


retPerLayer=True not working as expected

While trying different parameters for the LPIPS class, I encountered that when using retPerLayer=True in the forward method the returned values are not as I would expect.
I think the problem is due to the following lines:
107.   val = res[0]
108.   for l in range(1,self.L):
109.       val += res[l]

After debugging I notice the following:
Before doing the for on line 108
res = [tensor([[[[0.1195]]]...ackward1>), tensor([[[[0.0963]]]...ackward1>), tensor([[[[0.1021]]]...ackward1>), tensor([[[[0.1396]]]...ackward1>), tensor([[[[0.1210]]]...ackward1>)]

so val is 0.1195 at first, but after iterating through the for res[0] keeps updating at the same value of val so at the end I get the following:
res = [tensor([[[[0.5785]]]...ackward1>), tensor([[[[0.0963]]]...ackward1>), tensor([[[[0.1021]]]...ackward1>), tensor([[[[0.1396]]]...ackward1>), tensor([[[[0.1210]]]...ackward1>)]
val = 0.5785

Could maybe be solved by assigning val to 0 at line 107?
107.   val = 0
108.   for l in range(1,self.L):
109.       val += res[l]

I'm trying to use only the output of some layers instead of the accumulation of all the layers.
Thanks in advance!!!

retPerLayer simply returns the layer-wise results, in addition to the accumulated results https://github.com/richzhang/PerceptualSimilarity/blob/master/lpips/lpips.py#L119. Try looking at the 2nd output

What I was saying is that when the layer-wise results are activated the first position res[0] is the same as the accumulated value instead of being the value of the first layer.

Could you look at the 2nd output, which has a list containing every layer?

That's exactly what I'm referring to. The second output is a list, yes. But the first element of that list is exactly the same as the accumulated value! res[0] == val and that is not correct, as the first element should be the output of the first layer not the accumulated value.


cleaner handling of unicode

The prior fix to the issue was kind of a mess. Also, this fixes the problem with the columns not aligning right:
tower-cli inventory list
== =============================== ============
id              name               organization
== =============================== ============
 2 Alan AWS                                   1
 4 Custom Script Example                      1
 8 Custom script inventory                    4
 3 ❤ ☀ ☆ ☂ ☻ ♞ ☯ devstack                     1
 1 Farmington_animals                         1
 6 localhost                                  1
 5 other_org_inventory                        2
 7 Production                                 3
 9 tower-cli manual examples                  1
10 tower-cli SCM inventory example            1
== =============================== ============

What it used to do:
tower-cli inventory list
== ==================================== ============
id                 name                 organization
== ==================================== ============
 2 Alan AWS                                        1
 4 Custom Script Example                           1
 8 Custom script inventory                         4
 3 ❤ ☀ ☆ ☂ ☻ ♞ ☯ devstack            1
 1 Farmington_animals                              1
 6 localhost                                       1
 5 other_org_inventory                             2
 7 Production                                      3
 9 tower-cli manual examples                       1
10 tower-cli SCM inventory example                 1
== ==================================== ============

The root of the problem was not that we had a non-unicode type for the name. The problem was the the string that we combined it with wasn't marked with the magic u at the beginning.

Coverage decreased (-0.02%) to 90.35% when pulling bbad2912596e7f9a2f06b291fabbcfa23169df3b on AlanCoding:more_unicode into 71d452452420f8241a5709c3746375dbca23ea65 on ansible:master.


Wallet restore

Wallet restore
This adds support for restoring a BIP44 wallet with a default or custom root path.
With the cli it's enough to run ocean wallet restore --password <password> --mnemonic <mnemonic> [--root-path <path>] to restore the wallet based on the given seed. And thanks to the electrum blockchain scanner the operation is incredibly fast.
Changes

Proto: RestoreWallet rpc has been changed from unary to server-side stream in order to send notification messages during the restoration to notify the client about the status of the process. Added also a root_path string field to the request message.
CLI: added wallet restore command and related flags.
Domain: fix storing given accounts within NewWallet factory function
Pg Repo: fix utxo nullable fields & fix persisting existing wallet accounts when creating wallet into the db
Bc scanner: added 2 new APIs RestoreAccount and GetUtxosForAddresses used in wallet restore process. Added their implementation and related required changes to the electrum-based scanner.

How it works
To restore a wallet, the app service initially interacts with the bc scanner to restore all the wallet accounts and related used internal and external addresses. Once all the accounts are restored the wallet is initialized and persisted in the repository.
After that, the app service interacts with the scanner again to restore the utxo pool of the wallet, which include spent and unspent tx outputs.
The restoration is now complete, the only thing missing so far was to store not only the utxos but also the txs related to all accounts. This is done asynchronously after unlocking the wallet. This operation doesn't affect the behavior of the wallet at all.
Please @tiero @sekulicd review this.

@tiero @sekulicd I want to point out that at the moment for the restoration process we use hardcoded values for the account threshold (3 - the number of consecutive accounts to be found empty in order to consider the restoration completed) and addresses threshold (100 - the number of consecutive addresses to be found unused to consider the restoration of a wallet account completed).
Do you think these values should be configurable? If yes, maybe would be better to let the user specify them within the proto request message?

Yes gapLimit should be configurable via request.
Also, shouldt Restore RPC be fired for each "account" (I mean namespace here)?
Ie.

CreateWallet(mnemonic, password)
RestoreAccount(namespace,rootPath,scriptTypes)

I'm afraid this adds too much interactivity to the process though.
At the moment the accounts are discovered and the discovery stops when 3 consecutive accounts are found empty, and, also, there's only one dedicated rpc RestoreWallet for the process.

Yes gapLimit should be configurable via request.

Done.


How to map DbDataReader to IEnumerable

hello,i want to map DbDataReader to  IEnumerable
like Mapper.Map<IDataReader, IEnumerable>(reader);
Is there a similar method?

No support for data reader. For data access, I would recommend Dapper.

No support for data reader. For data access, I would recommend Dapper.

oh,support datatable?

No support for data reader. For data access, I would recommend Dapper.

I Use Sql in EFCore，So I Want to map  DbDataReader to IEnumerable or map  datatable to IEnumerable

Sorry, Mapster also not support DataTable. However, I would like to understand more. Why not you use EF to convert to class directly. Why you need to use DataReader & DataTable before converting to class?

thanks


TypeError: import_url.URL is not a constructor

Describe the bug
When trying to upgrade from 3.1.4 to a newer version (does not matter which one), I'm getting an error when running any of the following scripts:

vite
vite build
vitest
cypress open --component
start-storybook

The error: TypeError: import_url.URL is not a constructor
Fix
If I change the import syntax in my vite.config.ts from:
import { fileURLToPath, URL } from "url";

to
import { fileURLToPath, URL } from "node:url";

the error no longer shows up.
Reproduction
Working on this, but can't seem to get it to reproduce easily
Steps to reproduce
Run yarn && yarn dev
System Info
System:
    OS: Linux 5.13 Ubuntu 20.04.5 LTS (Focal Fossa)
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz
    Memory: 6.57 GB / 15.32 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 18.2.0 - ~/.nvm/versions/node/v18.2.0/bin/node
    Yarn: 1.22.19 - ~/.yarn/bin/yarn
    npm: 8.9.0 - ~/.nvm/versions/node/v18.2.0/bin/npm
  Browsers:
    Chromium: 106.0.5249.91
    Firefox: 105.0
  npmPackages:
    @vitejs/plugin-vue: 3.1.2 => 3.1.2
    vite: 3.1.7 => 3.1.7

Used Package Manager
yarn
Logs

Click to expand!
$ yarn dev
yarn run v1.22.19
$ vite
failed to load config from /home/joost/projects/aw20/app/vite.config.ts
error when starting dev server:
TypeError: import_url.URL is not a constructor
    at Object.<anonymous> (/home/joost/projects/aw20/app/vite.config.ts:49:42)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at _require.extensions.<computed> [as .js] (file:///home/joost/projects/aw20/app/node_modules/vite/dist/node/chunks/dep-0ebb5606.js:63533:24)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at loadConfigFromBundledFile (file:///home/joost/projects/aw20/app/node_modules/vite/dist/node/chunks/dep-0ebb5606.js:63541:21)
    at loadConfigFromFile (file:///home/joost/projects/aw20/app/node_modules/vite/dist/node/chunks/dep-0ebb5606.js:63409:34)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This comment is describing a similar (or exactly the same) error: https://github.com/vitejs/vite/issues/10365#issuecomment-1270496498

I got exactly the same problem with the same config, upgrading to vite 3.1.5 or latest and the bug appears, so I stay in 3.1.4 for now…
My dependencies :
{
  "dependencies": {
    "vue": "3.2.40"
  },
  "devDependencies": {
    "@rushstack/eslint-patch": "1.2.0",
    "@types/node": "18.8.0",
    "@vitejs/plugin-vue": "3.1.2",
    "@vue/eslint-config-prettier": "7.0.0",
    "@vue/eslint-config-typescript": "11.0.2",
    "@vue/tsconfig": "0.1.3",
    "axios": "1.1.2",
    "eslint": "8.25.0",
    "eslint-plugin-vue": "9.6.0",
    "npm-run-all": "4.1.5",
    "prettier": "2.7.1",
    "rollup-plugin-visualizer": "5.8.2",
    "typescript": "4.8.4",
    "vite": "3.1.4",
    "vue-tsc": "1.0.3"
  }
}

If I change the import syntax in my vite.config.ts from:
import { fileURLToPath, URL } from "url";

to
import { fileURLToPath, URL } from "node:url";

the error no longer shows up.

Can confirm, this resolves the issue but shouldn't be needed

Same for me @adamdehaven
import { fileURLToPath, URL } from "node:url";
This worked for me 👍


feat: Add datadog monitor prop builders

Use advanced JSII type system features to generate strongly typed Interface

superseded by:

#4

Strongly typed interfaces added to upstream cdk8s-datadog library in:
https://github.com/vincentgna/cdk8s-datadog/pull/1


[Bug]: Stax not handling Fuliza option when sending money

Description
My mpesa balance is 0 but I have access to fuliza loan. I want to send money. On the app, I am unable to complete the transaction as seen in the screen recording below. On ussd, it works because it gives me the option of using my fuliza loan.
Steps to reproduce

Open the stax app
Send money
Enter mpesa number to send to
Enter pin

Expected result
When I have 0 mpesa balance but access to fuliza loan, the ussd option asks me whether I want to fuliza or not. Then I respond with 1 or 2 to accept the cost of the loan or decline and terminate the operation.
Actual result
On the app, sending money fails even though I can use fuliza. There is no option for the customer to select whether to fuliza or not.
Link to screenshots/screen recordings
https://drive.google.com/file/d/1pLN-GLsGEA84iRd-LFYsUv07oyAj_OSy/view?usp=drivesdk
Device name
Huawei y5 2019
Android OS
9
Is your phone dual SIM or single SIM?
Dual SIM
Which telco are you using for this test?
Safaricom
Stax device ID or email address
<EMAIL_ADDRESS>

@suemnjeri thank you for this, an interesting edge there for us.

So, sending money doesn't work on fuliza, but buying Airtime works as seen in this screen recording. The app goes ahead and accepts for me the option 1 to fuliza.
https://drive.google.com/file/d/1pnUZGCALpo8cOj2Iw8ZnFnP3-JPH3z0P/view?usp=drivesdk


Sprite images can not be loaded from different sources

Context
We do not support cross origin image loading. There is an example in this gist:
const viz = new carto.Viz(`
      symbol: sprite('https://cartodb.github.io/carto-vl/examples/expressions/marker.svg')
`);

This issue was detected by @oriolbx when trying to use the marker.svg file we have in 'https://cartodb.github.io/carto-vl/examples/expressions/marker.svg'.
The following error is shown:

Expected behaviour
We should allow users to load sprites from different sources.
Solution
One possible solution that has already been tested is to set 'crossOrigin' property for images to 'anonymous' in the Sprite constructor:
    this.image.onerror = reject;
    this.image.src = this._url;
    this.image.crossOrigin = 'anonymous';

hi @elenatorro i see this was merged, but when we test this HTML:
index.html.zip
which contains this svg:
http://geopacific.org/carto/cartocss/triangle.svg
we see the tainted canvases may not be loaded error:

Can you help us figure out if we should open a different issue? Thank you.

@elenatorro I think you fixed this, right?

Hi :)
Yes, it is fixed. I have tested the URL @ztephm provided, and the problem is that if you want to use images from an external source, you have to ensure that it serves the assets with the headers properly set.
If you replace the URL with this one https://cartodb.github.io/carto-vl/examples/expressions/marker.svg it works because, as it is shown in the screenshot, the header Access-Control-Allow-Origin: is set to *.

If you want to use .svg images, you have to serve your assets with the header options configured to allow the "origin" to access the assets. There is more information about this here.
Hope it helps! :)

thanks for the explanation @elenatorro ! closing


Generator didn't show an error that bower was not installed globally and just skip bower task

At least it should show that bower not installed and will be skipped.

C:\t>yo aspnet
 _-----_
|       |    .--------------------------.
|--(o)--|    |      Welcome to the      |

---------´   |  marvellous ASP.NET Core |     ( _´U_ )    |      1.0 generator!      |
/A\    '--------------------------'
|  ~  |
'..'_
´    |° ´ Y
? What type of application do you want to create? Web Application Basic [without Membership and Authorization]
? Which UI framework would you like to use? Bootstrap (3.3.6)
? What's the name of your ASP.NET application? yoaspnet
create yoaspnet\gulpfile.js
create yoaspnet\Dockerfile
create yoaspnet.bowerrc
create yoaspnet.gitignore
create yoaspnet\bower.json
create yoaspnet\appsettings.json
create yoaspnet\package.json
create yoaspnet\project.json
create yoaspnet\Program.cs
create yoaspnet\Properties\launchSettings.json
create yoaspnet\README.md
create yoaspnet\Startup.cs
create yoaspnet\web.config
create yoaspnet\Controllers\HomeController.cs
create yoaspnet\Views_ViewImports.cshtml
create yoaspnet\Views_ViewStart.cshtml
create yoaspnet\Views\Home\About.cshtml
create yoaspnet\Views\Home\Contact.cshtml
create yoaspnet\Views\Home\Index.cshtml
create yoaspnet\Views\Shared_Layout.cshtml
create yoaspnet\Views\Shared\Error.cshtml
create yoaspnet\wwwroot\css\site.css
create yoaspnet\wwwroot\css\site.min.css
create yoaspnet\wwwroot\favicon.ico
create yoaspnet\wwwroot\images\banner1.svg
create yoaspnet\wwwroot\images\banner2.svg
create yoaspnet\wwwroot\images\banner3.svg
create yoaspnet\wwwroot\images\banner4.svg
create yoaspnet\wwwroot\js\site.js
create yoaspnet\wwwroot\js\site.min.js
I'm all done. Running npm install & bower install for you to install the required dependencies. If this fails, try running the command yourself.
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained. Upgrade to<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible.
Your project is now created, you can use the following commands to get going
cd "yoaspnet"
dotnet restore
dotnet build (optional, build will also happen when it's run)
dotnet run

Doesn't the warning let you know that?

'bower' is not recognized as an internal or external command,
operable program or batch file.

My bad. Could we highlight it somehow better in a console? I didn't recognize it.


Closes #781

Remove the fs::File import and fout instance.
image.save() now handles the saving and only needs 1 argument

Thanks!


runtime: runtime error: cgo argument has Go pointer to Go pointer

I had a crash alexbrainman/odbc#65 after compiling my program with latest version of Go.
I simplified my crash down to this:
# go version
go version devel +e7524d5 Tue Feb 23 03:42:38 2016 +0000 linux/386
# cat -n main.go
     1  package main
     2
     3  import (
     4          "unsafe"
     5  )
     6
     7  /*
     8  typedef void* VOIDPTR;
     9
    10  void cfunc(VOIDPTR p) {
    11  }
    12  */
    13  import "C"
    14
    15  type stru struct {
    16          a   []byte
    17          buf [8]byte
    18  }
    19
    20  func main() {
    21          var s stru
    22          s.a = s.buf[:]
    23          C.cfunc(C.VOIDPTR(unsafe.Pointer(&s.buf[0])))
    24  }
# go run main.go
panic: runtime error: cgo argument has Go pointer to Go pointer

goroutine 1 [running]:
panic(0x809e300, 0x1830a040)
        /root/go/src/runtime/panic.go:483 +0x331
main.main()
        /root/src/t/main.go:23 +0x8c
exit status 2
#

I don't undestand what this program doing wrong that CGO function parmeter checker crashed it. Can someone explain it to me, please? Also, if I remove line 22, the program runs with no problem. Why?
Thank you.
I suspect @ianlancetaylor will be interested.
Alex

I believe this is because the 8 bytes are in the same memory allocation, contiguous with the pointer in the slice of the a field. The cgo checker doesn't know you're only sharing memory to the *byte, as it only sees the address and the address is within a range which contains Go pointers.

Hmmm, it works fine if you remove the C.VOIDPTR type conversion.  I'll look into this.

it works fine if you remove the C.VOIDPTR type conversion

It does indeed.
Alex

@bradfitz By the way, this kind of thing is supposed to work if the address operation is one of the direct arguments to the C call.  In that specific case, cgo is supposed to know that only that particular field needs to be checked for pointers, not the entire object to which the pointer points.


ProofPurpose types

This is still a work in progress. I have no idea what I am doing yet, still experimenting how typescript works. I have to push the branch to see how the tests run because locally I get so many errors they don't fit the console buffer.

All that is needed is creating interfaces for the ProofPurposes. The functions/classes to use these are already available. We simply cannot expose them as the underlying project isn't a TS project. That is why the current typeof constructs give errors in ES6.

What you could consider is creating classes to delegate it to the original lib, to make them more easily available for people using the SSI-SDK

Why are there so many classes in what should be interfaces probably? Why all of the requires instead of imports? We need to move to ES modules, so why use requires then?
Also exposing classes in interfaces should be avoided

You are talking about the classes in exttypes/purposes. I did not make those, it came from a command
npx -p typescript tsc src/**/*.js --declaration --allowJs --emitDeclarationOnly --outDir types
I assumed that is valid typescript. I am still struggling with the constructors containing these inline {objects, like, this }

What you could consider is creating classes to delegate it to the original lib, to make them more easily available for people using the SSI-SDK
Will look into it


zenbot trade web page url not working

System information

Have I written custom code (as opposed to using zenbot vanilla):
No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Odroid C2, DietPi
Zenbot version:
4.1.0
NodeJS version:
8.4.0
Python version:
2.7.9
Exact command to reproduce:
**I use binance API
Run zenbot trade of trade --paper
Start browser with displayed url. (has random port)

Problem 1:
http://<IP_ADDRESS>:20099/
Shows a blank screen without error. What is supposed to be shown?
http://<IP_ADDRESS>:20099/trades
Seems to work.
Problem 2:
http://<IP_ADDRESS>:20099/stats
Error: ENOENT: no such file or directory, stat '/root/zenbot/extensions/output../stats/index.html'
This can easily be fixed by adapting the path in de source code (Saw this similar issue before)**
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in Zenbot or a feature request.
The default url should show something. Other url shows error.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
Don't know where to find.

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖


fix: correct the error code from EACCESS to EACCES

The error code is actually EACCES, not EACCESS.

Great, thanks for the contribution! Could you rewrite the commit so the message is prefixed with fix: - something like fix: correct the error code from EACCESS to EACCES, such that the automation works for release.

thanks @bruderstein ❤

:tada: This PR is included in version 3.1.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[elastic] Support the cross-repo jump when the dependencies contain uppercase letter

There is a case that dependency's name contains upper case letters, like
'https://github.com/Shopify/sarama'. Go will download the dependencies
into local filesystem with the name 'repo name' + 'version code',
however will encode the uppercase letter in the 'repo name' with '!'
with corresponding lowercase letter, like<EMAIL_ADDRESS>Convert the uppercase letters back to construct the correct repo uri.
And make some variable names more meaningful.
Related issue: https://github.com/elastic/code/issues/1631

:white_check_mark: Build go-langserver 1.0.242 completed (commit https://github.com/elastic/go-langserver/commit/d9a45a2366 by @movie-travel-code)

The current issue will be invalid once https://github.com/elastic/go-langserver/pull/93 merged


Numeric Keypad missing on lovelaceUI Alarm Panel

Home Assistant release with the issue:
Home Assistant 0.87.0

Last working Home Assistant release (if known):
Worked on 0.84.6. Problem started with 0.86.1 for me.
Operating environment (Hass.io/Docker/Windows/etc.):
Raspbian with Docker and HASSIO
https://github.com/dale3h/hassio-installer

Component/platform:
Raspberry Pi 3 model B
https://www.home-assistant.io/components/envisalink/

Description of problem:
Numeric keypad disappeared, making it impossible to add pin to disarm.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
# Envisalink/EyezOn
envisalink:
  host: <IP_ADDRESS>
  panel_type: DSC
  user_name: YOUR_USERNAME
  password: YOUR_PASSWORD
  code: '1234'
  port: 4025
  evl_version: 3
  keepalive_interval: 60
  zonedump_interval: 30
  panic_type: Police
  zones:
    1:
      name: 'Front&Garage Doors'
      type: 'opening'
    2:
      name: 'Downstairs Windows'
      type: 'opening'
    3:
      name: 'Patio Door'
      type: 'opening'
    4:
      name: 'Upstairs South Windows'
      type: 'opening'
    5:
      name: 'Upstairs North Windows'
      type: 'opening'
  partitions:
    1:
      name: 'Home Alarm'

Traceback (if applicable):

Additional information:

Had the numeric keypad working on HASSbian v0.84.6, but not on Aly release I have tried after. Did a re-install of Raspbian/Docker/HASS.io on v0.86.4, and upgraded yesterday to v0.87.0 just to exclude it being my fault for trying to fix it in config files per suggestions in a thread (https://community.home-assistant.io/t/lovelace-alarm-card/59831/137).

/move to home-assistant-polymer


fix(migration): Fix imports in default migration

Hi @C0chett0, can you give some context on this change?

Hi.
Sure in the default migration file you import both Illuminate\Database\Schema\Blueprint and Illuminate\Support\Facades\Schema which are both unused in the file. But not importing the Illuminate\Support\Facades\DB which is actually used, making the migration crash when trying to run it.

Thanks, can confirm those imports are unused.
Can you paste the error message and stack trace? DB seems to autoload for me on a fresh app.

Well I'll be damned it is indeed autoloaded.
But both my IDE (VSCode with intelephense) and a few tools (phpstan and php-cs-fixer) still complain about the missing use when not present.
I let you decide if you want to remove the import since it runs fine without it. But my two cents would be to keep it since I (along with my friends VSCode, phpstan and php-cs-fixer) see it as a best practice to explicitly import needed classes.

Good to know, let's keep it.


Can't choose subfolders from symlink to USB stick

I am using an USB stick and have symlinked linked folders on it to ~/RPi-Jukebox-RFID/shared/audiofolders like this:
$ mount | grep Media
/dev/sda1 on /home/pi/Media type ext4 (rw,noatime,data=ordered)

pi@musicbox:~/RPi-Jukebox-RFID/shared/audiofolders $ ls -al
total 24
drwxrwxr-x 5 pi   www-data 4096 Nov  5 21:14 .
drwxrwxr-x 4 pi   www-data 4096 Nov  4 22:49 ..
lrwxrwxrwx 1 pi   pi         30 Nov  4 22:03 Audiobooks -> /home/pi/Media/Audiobooks
drwxr-xr-x 3 pi   pi       4096 Nov  5 21:14 Compilations
-rwxrwxrwx 1 root root       98 Nov  4 10:32 folder.conf
lrwxrwxrwx 1 pi   pi         26 Nov  4 22:02 Music -> /home/pi/Media/Music/

In the home screen I can browse all subfolders of i.e. Audiobooks, see this screenshot where it shows correctly 3 subfolders:

But I can't choose any subfolder below Audiofiles in /cardRegisterNew.php:

Compilations is a real folder beneath ~/RPi-Jukebox-RFID/shared/audiofolders and I can select subfolders from the card register page though.
www-data can read all subdirs so I think this is not a permission problem:
root@musicbox:~# sudo -u www-data ls -al /home/pi/Media/Audiobooks/
total 20
drwxrwxr-x  5 pi www-data 4096 Jun 19 15:37 .
drwxrwxr-x  4 pi www-data 4096 Jun 19 12:42 ..
drwxrwxr-x  3 pi www-data 4096 Jun 19 14:54 Janosch
...

Any idea how to register a new card to symlink subfolders ?
I'm using the Version-1.1.5-dynamicRFIDreader branch.

Weird - I symlinked the whole audiofolders dir to the mountpoint of the usb stick (/home/pi/Media) and with this it works.

Might be a access rights issue. Following symlinks via http daemon often requires that the parent also has access rights granted for the webserver.

Ok, closing for now.


Builder::withDefault()

When attempting to generate models I appear to be getting the following and I'm unsure how to resolve this.
vagrant@homestead:~/dev/project$ php artisan ide-helper:models

 Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (Yes/No):  (yes/no) [no]:
 >

Exception: Call to undefined method Illuminate\Database\Query\Builder::withDefault()
Could not analyze class App\Job.
Model information was written to _ide_helper_models.php

I use withDefault() pretty liberally in my model for relationships such as:
/**
* Get the primary Contact for the Job.
*/
public function contact()
{
    return $this->hasOne('App\Contact', 'id', 'contact_id')->withDefault([
        'name' => 'n/a',
    ]);
}

Consider this an error on my part. As it turns out I had an old relationship.
/**
 * Get the Contacts for the Job.
 */
public function contacts()
{
    return $this->belongsToMany('App\Job', 'job_contacts', 'job_id', 'contact_id')->withDefault([
        'name' => 'n/a',
    ]);
}

Should have been removed during a refactor. Once that was out the issue was resolved and ide-helper:models is running correctly.