text:
Auto Generated FK Keys Not Added with Skeema Pull

If a script file defines a foreign key but does not define a secondary index (key) for the FK column is pushed MySQL adds a secondary index but a subsequent skeema pull does not add that newly created index back into the script file.
This, in my perspective, is a bug.  It's a new entity that exists and should now be reflected in the script file.  A new skeema init will reflect this.
I'm seeing this behavior using skeema 1.4.2 against Aurora MySQL 5.6

Thank you for the report, but so far I'm not able to replicate this issue on standard MySQL. If this is consistently reproducible on Aurora, I suspect it could be a bug in Aurora, or at least non-standard Aurora behavior.
By default*, skeema pull simply uses whatever definition is returned bySHOW CREATE TABLE. Can you please confirm whether these automatically-created indexes are present in SHOW CREATE TABLE output on Aurora?
However, skeema init is also simply using SHOW CREATE TABLE output, and largely the same code paths as skeema pull... so I'd be surprised if they are behaving differently in this respect. Is it possible that Aurora is returning inconsistent output for these indexes, or perhaps only showing new indexes after some delay? I haven't ever heard anything about Aurora handling index creation in a non-standard / asynchronous / eventually consistent fashion, but I suppose it's possible.
* One thing to mention is that skeema pull uses more complex logic if using --skip-format, since in that case it needs to internally run a diff between the filesystem definitions and the DB definitions, to only touch the files that have meaningful changes. So it's possible there are edge cases involving that, but so far I still can't repro this on standard MySQL even with this option enabled.

I am using --skip-format because one of the devs formatted a significant portion of the database code so I needed to use it.  I tried testing it again without --skip-format enabled and I was able to verify that the keys are now being added to the source files.  This one particular file was VERY straightforward.  I can paste below but I have to replace the table / column names with dummy names
before:
CREATE TABLE table_a (
id_e int NOT NULL AUTO_INCREMENT,
id_c mediumint(8) NOT NULL,
id_p tinyint(3) unsigned DEFAULT NULL,
is_c tinyint(3) unsigned DEFAULT NULL,
is_i tinyint(3) unsigned DEFAULT NULL,
d_c tinyint(3) unsigned DEFAULT NULL,
d_i tinyint(3) unsigned DEFAULT NULL,
t_r_u timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id_e),
UNIQUE KEY id_c (id_c),
CONSTRAINT fk_a FOREIGN KEY (id_p) REFERENCES table_b (id_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
after skeema pull (without using --skip-format)
CREATE TABLE table_a (
id_e int(11) NOT NULL AUTO_INCREMENT,
id_c mediumint(8) NOT NULL,
id_p tinyint(3) unsigned DEFAULT NULL,
is_c tinyint(3) unsigned DEFAULT NULL,
is_i tinyint(3) unsigned DEFAULT NULL,
d_c tinyint(3) unsigned DEFAULT NULL,
d_i tinyint(3) unsigned DEFAULT NULL,
t_r_u timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id_e),
UNIQUE KEY id_c (id_c),
KEY fk_a (id_p)
CONSTRAINT fk_a FOREIGN KEY (id_p) REFERENCES table_b (id_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Thank you, that makes sense and does repro the problem consistently on MySQL. (Reviewing my shell history, I made a mistake earlier today when I tried testing with --skip-format, and didn't actually test what I intended to.)
The root cause here is that the two definitions are functionally equivalent: whether or not you include that index explicitly, the index will still be created either way, and you still end up with the same resulting table structure. So when skeema pull --skip-format runs a diff of the table structures, it actually doesn't detect any changes in this table, so it omits rewriting the .sql file.
For now, unfortunately there isn't any way for skeema pull --skip-format to tell the difference between "definition with formatting-only changes" vs "definition with/without extra optional clauses that don't affect the result". I'm actually not sure if there's a way to solve this without including a full SQL parser.
Happy to keep this open in case a solution comes to mind for anyone :) I'll also update the web docs for the format option later today to note this.

repo: skeema/skeema


text:
Expand package.json details

Append the following to package.json
"repository": {
  "type": "git",
  "url": "https://github.com/skeletonlabs/skeleton.git"
},
"bugs": {
    "url": "https://github.com/skeletonlabs/skeleton/issues"
  },
"license": "MIT",
"homepage": "https://skeleton.dev/",

@Sarenor Hey do me a favor and put something like Fixes #881 (verbatim, just like that) in your PRs. It'll connect the PR to issues like this and close both when those are merged. Basically cleans up after itself :)
Thanks for the PR and fix earlier though! I'll close this out now.

source: gharchive/issue

repo: skeletonlabs/skeleton

license: MIT

license_type: permissive

license_source: github-api


text:
Panics on sleep/wake

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x77678]

goroutine 1 [running]:
panic(0x1a6460, 0x820340100)
	/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
github.com/howeyc/fsnotify.(*Watcher).removeWatch(0x8207ba000, 0x8208f3700, 0x3b, 0x0, 0x0)
	/Users/rob/go/src/github.com/howeyc/fsnotify/fsnotify_bsd.go:269 +0x878
github.com/howeyc/fsnotify.(*Watcher).Close(0x8207ba000, 0x0, 0x0)
	/Users/rob/go/src/github.com/howeyc/fsnotify/fsnotify_bsd.go:128 +0x1ac
main.rerun(0x7fff5fbfee60, 0x27, 0x8203382d0, 0x0, 0x0, 0x0, 0x0)
	/Users/rob/go/src/github.com/skelterjohn/rerun/rerun.go:226 +0x7ad
main.main()
	/Users/rob/go/src/github.com/skelterjohn/rerun/rerun.go:283 +0x289

It looks like this happens only on sleep/wake, as I've noticed it every time I leave rerun up and re-open my laptop.
Possibly a signal is being passed that's missing some attributes? Or a unexpected signal? This is not a big deal for my use case, but I thought I'd report it anyways.
OSX 10.9.5, rerun revision e317af9469ea6d0a63244f7b985660062610237c.

I think the real answer here is to migrate to https://github.com/fsnotify/fsnotify, but I'm not sure when I'll find time to do that.
Thanks for the report, hopefully someone sees this and makes a PR :)

authors: robbles skelterjohn

repo: skelterjohn/rerun

license_source: bigquery


text:
Needs moar java

Great gif, terrible idea

authors: Shikkic skeswa

repo: skeswa/gophr


text:
Nested templates example not a good solution for plurals

Pluralisation rules vary between languages, e.g. in English, 0 is plural, 1 is singular, and 2+ are plural, but in French, 0 is singular. Plural rules should instead rely on defaults set in the locale.
I'm okay with continuing to use a nested template, for consistency of the pattern, but rather than simply relying on the count, it would be useful to have a method for checking if a pluralisation rule applies in the current locale. I've seen plural-translate functions in other implementations (e.g. gettext-based libs for PHP that say t2('You have %s apple', 'You have %s apples'), but the nested approach gives a bit more flexibility without sacrificing readability.
How about:
import t, { isPlural } from 'es2015-i18n-tag';
const appleBasket = ['macintosh', 'red delicious', 'honeycrisp'];
foo(isPlural(appleBasket.length) ? t`You have ${appleBasket.length} apples in your basket.` : t`You have ${appleBasket.length} apple in your basket.`);

I've done a 500-string translation file in 17 languages with different translators, and for the most part this reading is very natural and they were able to understand which pluralisation form to use. It does get a bit sketchy for languages like Russian which can have 3 plural forms, of course. Perhaps isPlural could return an int, not a boolean, which would by truthy enough that the basic ternary above would work, but leave the door open for higher plural forms.
This could be configurable for the singleton, so if they locale doesn't have the plurals available, you could override them.
Thoughts? I could get started on a PR on this right away since I have a project which needs to get some new translations up ASAP. I was looking at i18next before, but I found there approach to be very es5; I wrote a workalike to some translations functions a PHP app was using so they could share translations files ( https://github.com/jkoudys/janeswalk-web/blob/master/modules/janeswalk/utils/translate.js ), but I'd much rather support a lib that helps the community.

Hi @jkoudys,
good catch I haven't thought about that yet. I would welcome a PR on this topic. At the moment there is no language specific logic in this library. Thanks for your support!

How about using https://github.com/rxaviers/cldr-data-npm or a similar package to get the CLDR plural rules for this feature?

There is a polyfill for Intl.PluralRules

authors: jkoudys skolmer

license: mit


text:
Saner empty playlist check

I've moved the check to cli.cast, as that makes more sense. Otherwise, the play_playlist method of any custom controller would have to implement the check. While working on this, I came across a bug in stream_info that would make catt crash with empty playlists, so I fixed that.

Sorry

Eh?

I took a long time approving it.

source: gharchive/pull-request

authors: skorokithakis theychx

repo: skorokithakis/catt


text:
Any way with this one?

Hello! I'm trying to solve following Captcha.

I found out, that following settings are the best, but may be you have any suggestion how to improve the result?
                img.convolute([[0, -1, 0], [-1, 4.9, -1], [0, -1, 0]]);
                img.debugImage("debugPreprocessed");

                img.binarize(120);
                img.debugImage("debugPreprocessed");

                img.blur(1);
                img.debugImage("debugPreprocessed");

                img.binarize(120);
                img.debugImage("debugPreprocessed");

                img.colorRegions(50);
                img.debugImage("debugPreprocessed");

Thanks for this library! :D

You could try playing around with the pixelJump parameter of the colorRegions method. When color filling blobs it will group adjacent blobs together if they are pixelJump pixels away from each other or closer.
So if your segmentation results in a single character being split into multiple blobs like this:

Then with the pixelJump you could get something more like this:

img.colorRegions(50, false, 4);

authors: jsieler skotz

repo: skotz/cbl-js


text:
Migration of this river to a logstash input and output

Good morning,
I've just created an input [1] and output [2] for neo4j in logstash, I will be very happy to extend it's functionality with the features in here, is this ok for you? If you're happy with ruby, obviously take a look at it and contribute if you like to :-) everything is welcome!
/cheers
[1] https://github.com/logstash-plugins/logstash-input-neo4j
[2] https://github.com/logstash-plugins/logstash-output-neo4j

Yes sure.
On 3 May 2015 at 07:17, Pere Urbón notifications@github.com wrote:

Good morning,
I've just created an input [1] and output [2] for neo4j in logstash, I
will be very happy to extend it's functionality with the features in here,
is this ok for you? If you're happy with ruby, obviously take a look at it
and contribute if you like to :-) everything is welcome!
/cheers
[1] https://github.com/logstash-plugins/logstash-input-neo4j
[2] https://github.com/logstash-plugins/logstash-output-neo4j
—
Reply to this email directly or view it on GitHub
https://github.com/sksamuel/elasticsearch-river-neo4j/issues/23.

I'll do @sksamuel, if you've anything you find useful from this river that aim to see in the logstash plugin, let me know :-)

authors: purbon sksamuel


text:
Add unit test project?

When working on https://github.com/skttl/umbraco-fulltextsearch8/issues/82 I made some unit test outside of the project to make sure things did not break but I didn't want to include it in that PR so hence creating this issue.
Would you be open to adding a unit test project?
If yes, I would be happy to add the stuff that I made "on the side" in PR. I was using NUnit but if you have another preference I' happy to adjust in the PR.
Cheers!

Very much open to adding testing - so PR away :)

Added in the PR it self to avoid merge problems =D
https://github.com/skttl/umbraco-fulltextsearch8/pull/84

authors: enkelmedia skttl


text:
Make CI builds (especially skupper-router image) more production-like

This is a follow up to (my) comments on https://github.com/skupperproject/skupper-router/pull/44. This ticket suggests to consider doing (and eventually do) one or more of the following

[x] base the skupper-router image on CentOS Stream 8 or UBI 8 https://github.com/skupperproject/skupper-router/pull/84
[x] build the router with production-like flags, such as the various flavors of -fstack-protector and with -D_FORTIFY_SOURCE=2

[x] https://github.com/skupperproject/skupper-router/issues/444

[ ] use RPM .spec file to build the router in the builder image and then install it from that RPM in the deployed image

[x] https://github.com/skupperproject/skupper-router/issues/186
[x] WON'T DO, the production image is not using rpm either

[x] build qpid-proton as a static library and link it into dispatch; possibly use -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON and -fno-semantic-interposition (https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup)

https://github.com/skupperproject/skupper-router/pull/96

use catchsegv or -lSegFault in production build to always dump stacktrace on crash (use addr2line to later decrypt the trace)
LIBC_FATAL_STDERR_=1
why our libwebsockets is built with LWS_WITH_LIBUV=ON and LWS_WITH_HTTP2=OFF?

[x] fixed by @ajssmith in https://github.com/skupperproject/skupper-router/pull/369

set -Eeuo pipefail
QDROUTERD_AUTO_MESH_DISCOVERY as core skupper-router feature, instead of hacky config file editing during image startup
some tests for the container image, to be reasonably sure Skupper was not broken by changes

[ ] https://github.com/skupperproject/skupper-router/pull/169
[x] https://github.com/skupperproject/skupper-router/pull/381

Most tasks completed

authors: ganeshmurthy jiridanek

repo: skupperproject/skupper-router


text:
Fixes #769: Increased the helloMaxAgeSeconds to 10 seconds so the tes…

…t can pass if HELLOs take more than 3 seconds

Codecov Report
Base: 27.59% // Head: 27.60% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (d3a7f88) compared to base (db2a6dd).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #770   +/-   ##
=======================================
  Coverage   27.59%   27.60%
=======================================
  Files         131      131
  Lines       31452    31452
  Branches     5036     5036
=======================================
+ Hits         8679     8681    +2
  Misses      21668    21668
+ Partials     1105     1103    -2

Flag
Coverage Δ

unittests
27.60% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/router_core/route_tables.c
16.43% <0.00%> (+0.27%)
:arrow_up:

src/router_core/address_watch.c
89.65% <0.00%> (+1.14%)
:arrow_up:

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

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

authors: codecov-commenter ganeshmurthy


text:
new fields are not displayed in metrics table

for example:
in Last update metric, one node(A) has TxBytes and TxPackets and another node(B) has RxBytes and RxPackets.
If we click node A first, and click node B it is not showing RxBytes and RxPackets and vice-versa.

So I think this is due to partial metadata sending, empty (zero) metrics are not sent. We should add statically the list of the metrics to the WebUI for now. That is something that could be generated from the metrics definition. But I think that OK for now to add them statically in a separate file. That what is done for grafana.
https://github.com/skydive-project/skydive-grafana-datasource/blob/master/src/query_ctrl.js#L19

authors: masco-enovance safchain

repo: skydive-project/skydive


text:
K8s empty service links

this fixes the case in which a service (such as default/kubernetes) will point to all pods in case of an empty label selector (which is incorrect).
to check you can create a pod in the default namespace and make sure default/kubernetes service does not point to it.
to create the pod you can use:
kubectl apply -f tests/k8s/pod.yaml

NOTE: depends to https://github.com/skydive-project/skydive/pull/1690

need to be rebased

@hunchback this PR conflict since #1690 merged, can you please rebase it

run skydive-cdd-overview-tests

authors: hunchback safchain


text:
Inlined input queries (was: display search line instead of link line)

Currently, when you click on a search link (e.g. to GUS), a text box with OK and Cancel appears near the top of the window.  Instead, what about displaying it in place of the link line itself?  Visually, this could be a text box placed after the right-pointing arrowhead and followed by small icons ✅ and ❌ (or whatever icons you prefer).  If you hit ❌ or reload the page, the link line is redisplayed.  This would be more compact and eliminate unnecessary scrolling.

I have been thinking of doing something like this, although there are a couple of usability issues to consider. DocumentWidget has problems with query URLs when back/forward navigating over them. These should be addressed also to make the query UI behave more seamlessly.

I have been thinking of doing something like this, although there are a couple of usability issues to consider. DocumentWidget has problems with query URLs when back/forward navigating over them. These should be addressed also to make the query UI behave more seamlessly.

There is another very much related issue: #375

authors: johnwcowan skyjake

repo: skyjake/lagrange


text:
Context menu on text selection

I miss a context menu with some actions like "copy", "paste", etc. This when user presses secondary mouse button over selection.
Sometimes to be sure I'm doing those actions.
Any element selection should be able to be copied its caption (battlerooms and hosts too).

This was added for chat history

authors: narcisgarcia skynet-gh

repo: skynet-gh/skylobby


text:
Crash when using 'exclusion only views' after having deleted an entity

When using exclusion only views in EnTT 3.12.2 with asserts enabled, I'm hitting an assert when iterating a view after having deleted an entity. I can reliably reproduce this with the repro below. It appears that the length property in the entity_storage is not used when using the entity storage in the view. thus including deleted entities in the view.
Repro
#include "entt/entity/registry.hpp"
#include <iostream>
struct MyData{};
int main()
{
    entt::basic_registry<> registry;
    const entt::entity entity0 = registry.create();
    registry.destroy(entity0);

    const auto view = registry.view<entt::entity>(entt::exclude_t<MyData>{});
    for(auto && [entity] : view.each())
    {
        std::cout << static_cast<std::uint32_t>(entity);
    }
}

Call Stack

ENTT_ASSERT(base_type::index(entt) < length, "The requested entity is not a live one");
EnttRepro.exe!entt::basic_storage<enum entt::entity,enum entt::entity,std::allocator,void>::get_as_tuple(const entt::entity entt) Line 1093    C++
EnttRepro.exe!entt::internal::extended_view_iterator<entt::internal::view_iterator<entt::basic_sparse_set<enum entt::entity,std::allocator<enum entt::entity>>,0,1>,entt::sigh_mixin<entt::basic_storage<enum entt::entity,enum entt::entity,std::allocator<enum entt::entity>,void>>>::operator*'::2'::<lambda_1>::operator()<entt::sigh_mixin<entt::basic_storage<enum entt::entity,enum entt::entity,std::allocator,void>>>(entt::sigh_mixin<entt::basic_storage<enum entt::entity,enum entt::entity,std::allocator,void>> * <curr_0>) Line 140    C++
[External Code]
EnttRepro.exe!entt::internal::extended_view_iterator<entt::internal::view_iterator<entt::basic_sparse_set<enum entt::entity,std::allocator>,0,1>,entt::sigh_mixin<entt::basic_storage<enum entt::entity,enum entt::entity,std::allocator,void>>>::operator*() Line 140    C++
EnttRepro.exe!main() Line 13    C++

Added a couple of failing tests on the wip branch to avoid regressions. I plan to review the view tests as a whole after this rework but these should be enough to catch all errors in the meantime.
As for the fix, I've a working specialization on my local machine but I need to review it and gotta go now because of . 😅
Expect a working commit tomorrow probably. It would be great if you could test it quickly to confirm that it works as expected.

Thank you for the update @skypjack! I'll give it a try when you have the fix in GitHub :)

Sorry fat fingers on GH mobile 😭

Available on wip branch. A want still to refine a few things but this should be enough to fix your crash.
I'll be out tomorrow probably and for the weekend. Expect new commits on Monday. 👍

This works perfectly, I can't reproduce the crash anymore. Good stuff, @skypjack :)

I'm also trying to make begin/end return the right iterators. At the moment, they make you iterate the whole set of entities. However, I want them to return the same set as each.
At the end of the day, if you want the whole set, you can and should get the underlying sparse set and iterate it. This makes more sense to me and I wonder why I did it differently. 🤷♂

@teddemunnik I think this is strong enough to deserve a patch release on the v3.12 branch actually.
Are you experiencing any other problems with this release? Just to double check it before proceeding. 👍

authors: skypjack teddemunnik

repo: skypjack/entt


text:
Dev/shishir/on prem

Skyplane for on-prem to cloud object store transfers.

[ ] Rebase to upstream
[ ] Tune hyper-parameters

For the readthedocs error, some files in doc/ in this branch are not updated with the main branch. Maybe merge from main will help?

repo: skyplane-project/skyplane


text:
ikcp_recv 一直返回 -1

不知道是什么情况，在收到第一个正确的包后，接下来的包 一直返回-1.
是我发的太频繁了么？

没有正确发送过来，这边没有数据，所以返回-1（EAGAIN），能不能先看看test是怎么写的，先跑一下再说啊？

是照着例子做的,, 可能是我调试的时候 打断点了,,
还一个奇怪的问题，跑一会，就崩在了
ikcp.c  960行,
// flush data segments
for (p = kcp->snd_buf.next; p != &kcp->snd_buf; p = p->next) {
IKCPSEG *segment = iqueue_entry(p, IKCPSEG, node);//空指针
int needsend = 0;
if (segment->xmit == 0) {
麻烦您了

我觉得你进程的内存被破坏掉了。

我现在也找不到问题的所在了, 都是崩在// flush data segments里，出现了空指针，我也不知道为什么,
我照着test例程做的，只不过 我单独开了一个线程 做update, 发送比较频繁，每包数据都在1300左右, 发松了一会就崩了，都是内存访问的问题,实在摸不清头脑了

你多线程干嘛？一个连接放倒一个线程即可，莫非你还多线程处理kcp了？加锁没？

@skywind3000 是这样的， 底层UDP网络引擎 是IOCP多线程的，在OnRecive接口 我调用的咱们的kcp_input,kcp_recv,      然后在发送队列线程调用的kcp_send,, 因为要对h264数据分包， 然后又单独开了一个线程 做kcp_update,, 你说加锁的问题，，， 我都没加锁,,, 难道要所有调用都要加锁吗。，。。

多线程用当然要加锁啊

@zhaokaixs 哥们 你的kcp_recv不到数据的问题解决了么？我也是这个问题。

@zhaokaixs 解决了git上传份代码呗。 大家能学习学习。

很显然应该在同一个thread里调用所有的ikcp_xxx，不同的kcp实例可以在不同的thread里。你用iocp则应该利用iocp的WaitQueueComptionPort的最后一个参数timeout来做update。如果你非要新起一个thread来做timer，那么在timer里调用PostIocp，唤醒你的WaitQueueXxxx。

@huyuguang 问题解决了。不小心多线程使用kcp了。没有仔细看！谢谢～
我在点对点传输udp的时候是可以加kcp的。换成AtoB，BtoC的时候。AtoB部分，B收到数据不能正确ikcp_input。错误原因是conv不一致。我debug查了下A和B的kcp->conv值是一样的。传输过程中数据也没有发生改变。A encode 之后 在B做decode conv值变了。  ikcp_creat(0x11223344,(void*)1)。conv创建的时候一样的，user不同。

authors: WJunB huyuguang skywind3000 zhaokaixs


text:
migrating to swift 5

suggestion of an upgrade to swift-5 & XCode 10.2.1

Duplicate of #70

repo: skywinder/GaugeKit


text:
Make cookies extraction on AWS Lambda compatible with its format v1.0

I tried to deploy a slack bolt application on AWS Lambda with SQLAlchemy.
In the process of the verification of oauth redirect, the app could not be installed properly.
I found that the slack request handler could not extract cookie from the lambda event.
So, I modified the to_bolt_request to meet the format of the lambda event.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.nt seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @tattee, thank you very much for takin the time to make this pull request. Before my code review, I have two things to ask:

Can you associate the email address that you use for git commits with your GitHub account?
And then, would you mind signing our CLA (see the above message by the CLA bot)?

Even if your changes are great, we are unable to merge them without signed CLA. I would appreciate it if you could understand this.

HI @tattee, thanks for taking the time to make this pull request. Can you check this issue https://github.com/slackapi/bolt-python/issues/332#issuecomment-839587227 ? This project supports only AWS lambda event payload format v2.0 as the HTTP API is the currently recommended way plus it is the greatest fit for running Bolt apps.
With that being said, we are open to support format v1.0 as well. If you have more time, could you help us add the support by making the following additional work?

Add unit tests verifying if it works with v1.0 format

We already have tests with v2.0 format here, you can add more tests in the same file
The tests should have a realistic payload

Update the document after merging the change (I can do this later)

@seratch thank you for telling me the issue #322.
I looked at the unit test code for aws lambda handler and found that the test function named "test_oauth" only tests the process of outh_flow.handle_installation().
So, I added new test method named "test_oauth_redirect".
The response from SlackRequestHandler only returns success or failure of authentication, and it does not help understand whether urlStringParameters are extracted properly.
Fortunately, in the process of outh_flow.handle_callback(), the verification of the value of "state" is taken place(in oauth_flow.py).
If the value of state is correct, the statusCode of reponse changes from 400 to 401.
Although the authentication does not succeed, you can verify that the parameters in the event were read correctly by checking that the status code value changes to 401.
If my test code is OK, I will sent a pull request again.

@tattee Thanks for taking the time to work on it. Ideally, we should have some tests for /slack/oauth_redirect handling but the test does not exist yet. Thus, we don't need to add a new test pattern in this pull request. We can improve it next time.
My previous comment might not be clear enough but the tests we need this time is the same patterns with the ones for the already supported AWS payload format. Considering the number of existing test methods, adding the same to the same file may not be great. How about having test_aws_lambda_format_v1.py and test_aws_lambda_format_v2.py? Having two files should be far easier to understand the intention and maintain.

@seratch In my understanding, the format of the events in test_oauth are v2.0 (first one) and v1.0 (second one) respectively, and the processes in the tests are almost same.
I'm afraid dividing the test file would increase mental burden.
If my concern does not make sense, please ignore it.

Ah thanks. I totally forgot these tests already support both formats. So, this means that only cookies extraction is not yet fully supported for both formats, right? In the case, trying to check /slack/oauth_redirect pattern is reasonable. I'm sorry about my confusion. I will add a few comments to the changes.

It's a nice idea to add TestStateStore for consume method.
I reflected your diff on test file.
(Sorry, I don't know how to execute pytest, and I did not confirm the test succeeds.)
If your diff is enough, I will submit new commit. If not, could you tell me how to use pytest?
Best regards,

@tattee Thanks for the comment! You can run pytest for this project this way. Also, there is a tiny script too.

Thank you for telling me how to execute test scripts.
I confirmed the test succeeded.
I pushed commit reflecting your test_oauth_redirect method.
Sorry for the late submission.

this is great- thank you! i realize now that this closes the loop on this exchange we had a while ago around v1 vs v2 support, glad to see this PR & release

@seratch I too deployed a Bolt-python app to AWS Lambda, integrated with REST (format v1.0) based API GW. In the process of the verification of oauth redirect, the app could not be installed properly. Taking a look at the CloudWatch logs I could see the multivalueheader in the request had the key "cookie" instead of "Cookie" as is expected by "to_bolt_request".
   if cookies is None or len(cookies) == 0:
        # In the case of format v1
        multiValueHeaders = event.get("multiValueHeaders", {})
        cookies = multiValueHeaders.get("Cookie", [])

https://github.com/slackapi/bolt-python/blob/main/slack_bolt/adapter/aws_lambda/handler.py#L91
After modifying the following line to account for lower case "cookie", everything worked fine:
     cookies = multiValueHeaders.get("cookie", [])

Recommend this "get" operation be modified to be case-insensitive as it is blocking oauth install at the moment.

@naveensan1 Thanks for sharing this! This makes sense 👍 If you have a chance, would you mind sending a pull request to fix this?

authors: CLAassistant naveensan1 seratch tattee weallwegot

repo: slackapi/bolt-python


text:
Supression of "ComposeModifierMissing" doesn't seem to work

First of all, thank you for keeping this up, our team will benefit a lot from this.
However, while trying to add it to the project, I found that Suppress / SuppressLint doesn't work, at least with "ComposeModifierMissing", but I'm guessing possibly more/all.
version 1.2.0
agp 8.0.2
lintapi 31.0.2 (we also have a module with internal lints, not sure if this could matter)
AS Android Studio Flamingo | 2022.2.1 Patch 2
I wouldn't want to suppress this module-wide, but let me know if there's another way to suppress it case by case.
Let me know if I can help in any way.

This is a known issue with lint suppressions on composable functions
A workaround @alexvanyo suggested elsewhere

If you want a workaround // noinspection ComposeModifierMissing might work, I’ve gotten that to work with ComposeModifierWithoutDefault when @Suppress and @SuppressLint failed

I'm closing this as this isn't an issue with this project. Please file an issue on Android Studio

authors: ZacSweers raamcosta

repo: slackhq/compose-lints


text:
Single writer process

Use a single writer process to append events to the storage. A unique, incrementing id is assigned to each event to guarantee ordering of reads.
Fixes issues #3 and #8.

Fixes #3

Fixes #8

repo: slashdotdash/eventstore


text:
school-status: does not return all absences

It seems that some absences/regimes are filtered out by default (older than 30days?). This should not be the case unless filter=date parameter is specified.
Example:
https://api.sledilnik.org/api/school-status?id=297
Returns only 7 absences.
But if I check school-absences.csv I get the following data:
2020-10-09,2020-10-09,2020-10-18,OS,297,A,OS2,OSSUM
2020-10-09,2020-10-08,2020-10-18,OS,297,E,OSU,OSOKU
2020-10-09,2020-10-09,2020-10-18,OS,297,E,OSU,OSSUM
2020-10-21,2020-10-21,2020-10-23,OS,297,E,OSU,OSSUM
2020-10-23,2020-10-19,2020-11-08,OS,297,E,OSDD,OSOKU
2020-11-05,2020-10-29,2020-11-08,OS,297,E,OSDS,OSSUM
2020-11-12,2020-11-12,2020-11-21,OS,297,E,OSDD,OSSUM
2020-11-19,2020-11-18,2020-11-28,OS,297,E,OSU,OSOKU
2020-11-19,2020-11-19,2020-11-26,OS,297,E,OSDD,OSSUM
2020-12-09,2020-12-07,2020-12-13,OS,297,E,OSU,OSSUM
2021-01-15,2021-01-04,2021-01-22,OS,297,E,OSU,OSOKU
2021-01-15,2021-01-05,2021-01-22,OS,297,E,OSU,OSOKU
2021-02-01,2021-01-25,2021-02-05,OS,297,A,OS2,OSOSE
2021-02-01,2021-01-25,2021-02-05,OS,297,A,OS3,OSOSE
2021-02-01,2021-01-29,2021-02-05,OS,297,A,OS2,OSSUM
2021-02-01,2021-01-29,2021-02-07,OS,297,A,OS1,OSSUM
2021-02-04,2021-02-04,2021-02-08,OS,297,A,OS3,OSOKU
2021-02-04,2021-02-04,2021-02-08,OS,297,E,OSU,OSSUM
2021-02-04,2021-02-04,2021-02-08,OS,297,E,OSU,OSSUM
2021-02-09,2021-02-07,2021-02-23,OS,297,E,OSU,OSOKU
2021-02-09,2021-01-29,2021-02-07,OS,297,E,OSU,OSSUM

Problem is more problematic.
Here is a school with new absences - only two returned by API:
https://api.sledilnik.org/api/school-status?id=280
And many in CSV:
2020-09-28,2020-09-17,2020-09-24,OS,280,E,OSU,OSSUM
2020-09-28,2020-09-17,2020-09-24,OS,280,E,OSU,OSSUM
2020-10-09,2020-09-22,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-28,2020-10-11,OS,280,E,OSDD,OSOKU
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDS,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-09,2020-09-29,2020-10-04,OS,280,E,OSDD,OSSUM
2020-10-12,2020-10-05,2020-10-16,OS,280,A,OS2,OSSUM
2020-10-12,2020-10-05,2020-10-16,OS,280,A,OS4,OSSUM
2020-10-12,2020-10-12,2020-10-20,OS,280,E,OSDS,OSSUM
2020-10-14,2020-10-14,2020-10-21,OS,280,A,OS4,OSSUM
2020-10-16,2020-10-16,2020-10-31,OS,280,A,OS1,OSSUM
2020-10-20,2020-10-19,2020-10-23,OS,280,A,OS5,OSSUM
2020-11-05,2020-11-03,2020-11-08,OS,280,E,OSU,OSOKU
2021-02-09,2021-02-01,2021-02-03,OS,280,E,OSDS,OSOKU
2021-02-09,2021-02-01,2021-02-09,OS,280,E,OSU,OSOKU
2021-02-09,2021-02-08,2021-02-17,OS,280,E,OSU,OSOKU
2021-02-09,2021-02-09,2021-02-18,OS,280,E,OSU,OSOKU
2021-02-09,2021-02-09,2021-02-18,OS,280,E,OSU,OSOKU
2021-02-09,2021-02-09,2021-02-18,OS,280,E,OSDD,OSOKU

Seems to be fixed

repo: sledilnik/data-api


text:
ChangedStorage

Related: #89
A ChangedStorage should provide a way of lazily computing other values, only if the given component was changed before. This is similar to FlaggedStorage (#93), however it checks modifications based on equality with the previous value.

This has been decided to be too expensive in practice. One should instead use the FlaggedStorage. Also, an implementation of a ChangedStorage is only possible on the user side (or with knowledge of how far they read the modification events), thus, if there's a special case that needs equality checks, a user-provided implementation is better.

repo: slide-rs/specs


text:
Implement overview keyboard navigation

Navigation action:

[x] left
[x] right
[x] up
[x] down
[x] enter

Cypress test:

[x] left
[x] right
[x] up
[x] down
[x] enter

Resolve #565

I can't get it working locally. Is it ready?

All shortcut not working or just up an down?
I found a bug of the up and down, fixing now.

@antfu I add some cypress test to make sure it is working for now.
Plz review it if you have free time.

authors: WingLim antfu

repo: slidevjs/slidev


text:
Phpstan 1.8 level 7 compliance

I love Slimphp skeleton template have used for years, but am always making tweaks to make it phpstan compliant. Here's some changes (as safe as I can make them) so it's compatible with level 7.

You will need to fix the linting errors. You can do that automatically by running php-cs

repo: slimphp/Slim-Skeleton


text:
ERROR WHEN CONVERTING

I've tried using both on Windows, Linux and even Termux and it's not working anymore.  On a cell phone that I already had installed since January it is working normally, but the new installations are giving an error

ERROR
tgradish convert -i ~/000.mp4
Traceback (most recent call last):
File "", line 198, in run_module_as_main
File "", line 88, in run_code
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts\tgradish.exe_main.py", line 4, in
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish_init.py", line 9, in
from .converter import CmdConfig, convert_video
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\converter.py", line 7, in
from .config_model import CmdConfig, CmdParams, ArgsPlaceholder
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\config_model.py", line 77, in
class EnumFlag(CmdFlag):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\config_model.py", line 81, in EnumFlag
@pydantic.root_validator
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\deprecated\class_validators.py", line 222, in root_validator
return root_validator()(*__args)  # type: ignore
^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\deprecated\class_validators.py", line 228, in root_validator
raise PydanticUserError(
pydantic.errors.PydanticUserError: If you use @root_validator with pre=False (the default) you MUST specify skip_on_failure=True. Note that @root_validator is deprecated and should be replaced with @model_validator.
For further information visit https://errors.pydantic.dev/2.2/u/root-validator-pre-skip

tgradish convert -i 000.mp4
Traceback (most recent call last):
File "", line 198, in run_module_as_main
File "", line 88, in run_code
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts\tgradish.exe_main.py", line 4, in
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish_init.py", line 9, in
from .converter import CmdConfig, convert_video
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\converter.py", line 7, in
from .config_model import CmdConfig, CmdParams, ArgsPlaceholder
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\config_model.py", line 77, in
class EnumFlag(CmdFlag):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\tgradish\config_model.py", line 81, in EnumFlag
@pydantic.root_validator
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\deprecated\class_validators.py", line 222, in root_validator
return root_validator()(*__args)  # type: ignore
^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydantic\deprecated\class_validators.py", line 228, in root_validator
raise PydanticUserError(
pydantic.errors.PydanticUserError: If you use @root_validator with pre=False (the default) you MUST specify skip_on_failure=True. Note that @root_validator is deprecated and should be replaced with @model_validator.
For further information visit https://errors.pydantic.dev/2.2/u/root-validator-pre-skip

Thanks for reporting the issue.
Temporary fix:
pip install pydantic==1.10.2

I already got reports about this issue, basically there are incorrect comparing operators in the requirements.txt.

Thank you for your attention, it works perfectly now... thank you very much


text:
Testing2 db

add a few more tests to components

Looks good!


text:
Add function for parsing age identity

This new function will look for a line in the input string that starts
with AGE-SECRET-KEY-1. That line is then cleaned of whitespaces and
passed to age.ParseX25519Identity.
Closes #79.
Fixes #80.

Codecov Report

Merging #81 (662d509) into main (62fc672) will increase coverage by 0.16%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #81      +/-   ##
==========================================
+ Coverage   80.59%   80.75%   +0.16%
==========================================
  Files          15       15
  Lines         840      847       +7
==========================================
+ Hits          677      684       +7
  Misses        102      102
  Partials       61       61

Impacted Files
Coverage Δ

internal/key/age/age.go
60.00% <100.00%> (+4.82%)
:arrow_up:

Continue to review full report at Codecov.

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

Hi! I've added two more unit tests. Also, I've updated the specific function. I'm not sure if just finding the key in the string is okay. IMO loading a key should fail if it contains anything else besides comments and the actual key. I haven't found a spec for the private key file.

IMO loading a key should fail if it contains anything else besides comments and the actual key. I haven't found a spec for the private key file.

age.ParseX25519Identity(privateKey) will fail anyway whatever you pass if is not correct. Anyway, on your implementation, you only check until the line you have a valid key so you are already ignoring everything below that line that can be anything. Also, you can have new lines between comments that I don't see wrong either and this implementation would fail.
So, taking both ideas and merging them, I think that a good implementation to this would be removing all the comments and then trim:
var removeCommentRegexp = regexp.MustCompile("(?m)(^#.*$)")

func parseAgePrivateFunc() func(s string) (age.Identity, error) {
	return func(d string) (age.Identity, error) {
		d = removeCommentRegexp.ReplaceAllString(d, "")
		d = strings.TrimSpace(d)

		return age.ParseX25519Identity(d)
	}
}

What do you think?

New release with this fix: v0.5.1

authors: cezarmathe codecov-commenter slok

repo: slok/agebox


text:
Delete first and apply later also add option to revert that

Related to https://github.com/slok/kahoy/issues/185

Codecov Report

Merging #186 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #186   +/-   ##
=======================================
  Coverage   76.32%   76.32%
=======================================
  Files          27       27
  Lines        1263     1263
=======================================
  Hits          964      964
  Misses        223      223
  Partials       76       76

Continue to review full report at Codecov.

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

Integration tests fixed, merging.

authors: codecov-io jesusvazquez

repo: slok/kahoy


text:
Revert "Implement Tutorial Section (+ Some Minor Changes)"

ZedKay1234 reported some potential issues with this merge. Reverting until we get details sorted out and will have PR resubmitted upon resolution.
Reverts sloukit/pydew-valley-uzh#236

Found a block of code was erroneously dropped during conflict resolution. Cancelling this as @Zedkay1234 has graciously agreed to submit an amended PR to resolve.

repo: sloukit/pydew-valley-uzh


text:
[e2e]: nodejs release main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5747232774
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Aug  3 06:10:41 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v40.0.55
Run: https://github.com/slsa-framework/example-package/actions/runs/5747426286
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: release
Branch: v40.0.55
Date: Thu Aug  3 06:39:22 UTC 2023
Tests are passing now. Closing this issue.

repo: slsa-framework/slsa-github-generator


text:
"Compute importance scores" DeepExplainer Example Notebook requires DeepLIFT < 0.6.13

It looks like the first DeepExplainer example is no longer compatible with the DeepLIFT library, from which it tries to pull a now-removed function called traverse_edges.

backdated to deeplift==0.6.10.0 fixes this
my issue is now:
import shap.explainers.deep.deep_tf
ModuleNotFoundError: No module named 'shap.explainers.deep'

authors: jimbudarz jvmead

repo: slundberg/shap


text:
shap_interaction_values rows not adding up to shap values for RF classifier

Hi all,
I have some issues with getting shap_interaction_values to work with a classification problem. To use the example code in this tutorial to generate X and y:
If you then fit an sklearn RandomForestRegressor it indeed works as advertised:
from sklearn.ensemble import RandomForestRegressor
rfr = RandomForestRegressor()
rfr.fit(X, y)
reg_preds = rfr.predict(X)

reg_explainer = shap.TreeExplainer(rfr)
reg_shap_interact_vals = reg_explainer.shap_interaction_values(X)
reg_shap_vals = reg_explainer.shap_values(X)

reg_shap_vals[0].round(2)
reg_shap_interact_vals[0].round(2)
reg_shap_interact_vals[0].sum(0).round(2)

np.abs(reg_shap_vals.sum(1) + reg_explainer.expected_value - reg_preds).max()

Output for the first row (index 0):
array([ 1.  , -1.25,  0.25,  0.  ,  0.  ])
array([[ 1.  , -0.01, -0.  ,  0.  ,  0.  ],
       [-0.01, -1.5 ,  0.25,  0.  ,  0.  ],
       [-0.  ,  0.25, -0.  ,  0.  ,  0.  ],
       [ 0.  ,  0.  ,  0.  ,  0.  ,  0.  ],
       [ 0.  ,  0.  ,  0.  ,  0.  ,  0.  ]])
array([ 1.  , -1.25,  0.25,  0.  ,  0.  ])
6.124658247230741e-08

However when we turn it into a classification problem by generating random 1 and 0 depending on the value of the original y's:
y_prob =  1 / (1 + np.exp(-y)) #sigmoid
y_cls = np.where(np.random.rand(2000) > 1-y_prob, 1, 0)

from sklearn.ensemble import  RandomForestClassifier
rfc = RandomForestClassifier()
rfc.fit(X, y_cls)
cls_preds = rfc.predict_proba(X)

cls_explainer = shap.TreeExplainer(rfc)
cls_shap_interact_vals = cls_explainer.shap_interaction_values(X)[1]
cls_shap_vals = cls_explainer.shap_values(X)[1]

Then the interaction values no longer sum up to the shap values, and what's more the values on the diagonals (which should be the main effect) are simply equal to the shap_values themselves.
cls_shap_vals[0].round(2)
cls_shap_interact_vals[0].round(2)
cls_shap_interact_vals[0].sum(0).round(2)

np.abs(cls_shap_vals.sum(1) + cls_explainer.expected_value[1]- cls_preds[:,1]).max()
np.abs(cls_shap_interact_vals.sum(2).sum(1) + cls_explainer.expected_value[1] - cls_preds[:,1]).max()

Output for the first row (index 0):
array([ 0.17, -0.24,  0.07, -0.01,  0.  ])
array([[ 0.17,  0.01,  0.02, -0.  ,  0.  ],
       [ 0.01, -0.24,  0.04,  0.  ,  0.  ],
       [ 0.02,  0.04,  0.07, -0.  ,  0.  ],
       [-0.  ,  0.  , -0.  , -0.01,  0.  ],
       [ 0.  ,  0.  ,  0.  ,  0.  ,  0.  ]])
array([ 0.2 , -0.19,  0.13, -0.01,  0.  ])
1.0566299279979319e-08
0.14718125134184412

So the row sums of the interaction values sum up to array([ 0.2 , -0.19,  0.13, -0.01,  0.  ]) while the shap values are array([ 0.17, -0.24,  0.07, -0.01,  0.  ]).
However the values on the diagonal are exactly equal to array([ 0.17, -0.24,  0.07, -0.01,  0.  ]). Which begs the question: what are the values off the diagonal then?
Should interaction values for a classification problem be generated differently? Or is the algorithm malfunctioning somewhere?

So I wrote a workaround that fixes the row sums to add up to the shap_values:
def normalize_shap_interaction_values(shap_interaction_values, shap_values=None):
    """
    Normalizes shap_interactiong_values to make sure that the rows add up to the shap_values.

    This is a workaround for an apparant bug where the diagonals of shap_interaction_values
    of a RandomForestClassifier are set equal to the shap_values instead of the main effect.
    """
    siv = shap_interaction_values.copy()

    orig_diags = np.einsum('ijj->ij', siv)
    row_sums = np.einsum('ijk->ij', siv)
    row_diffs = row_sums - orig_diags # sum of rows excluding diagonal elements

    if shap_values is not None:
        diags = shap_values - row_diffs
    else:
        # if no shap_values provided assume that the original diagonal values were indeed equal to
        # the shap values, and so simply
        diags = orig_diags - row_diffs

    s0,s1,s2 = siv.shape
    siv.reshape(s0,-1)[:,::s2+1] = diags
    return siv

If you normalize the shap_interaction_values, the rows no do add up to the shap_values:
cls_shap_interact_vals2 = normalize_shap_interaction_values(cls_shap_interact_vals, cls_shap_vals)

cls_shap_vals[0]
cls_shap_interact_vals2[0]
cls_shap_interact_vals2[0].sum(0)
np.abs(cls_shap_vals.sum(1) + cls_explainer.expected_value[1]- cls_preds[:,1]).max()
np.abs(cls_shap_interact_vals2.sum(2).sum(1) + cls_explainer.expected_value[1] - cls_preds[:,1]).max()
np.abs(cls_shap_interact_vals2.sum(2).sum(1) - cls_shap_vals.sum(1)).max()

Output:
array([ 0.16847716, -0.225861  ,  0.06925555,  0.00427386,  0.        ])
array([[ 0.14725953, -0.00517753,  0.02217857,  0.0042166 ,  0.        ],
       [-0.00517753, -0.25840557,  0.03876833, -0.00104623,  0.        ],
       [ 0.02217857,  0.03876833,  0.00421705,  0.0040916 ,  0.        ],
       [ 0.0042166 , -0.00104623,  0.0040916 , -0.00298812,  0.        ],
       [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        ]])
array([ 0.16847716, -0.225861  ,  0.06925555,  0.00427386,  0.        ])
1.309327668508331e-08
1.309327668508331e-08
5.551115123125783e-17

When plotting the main effects with the original shap_interaction_values we see dispersal (which shouldn't happen for the main effect):
shap.dependence_plot((0,0), cls_shap_interact_vals, X):

Whereas with the normalized it looks better, although there is still a bit of jitter (numerical rounding errors?):
shap.dependence_plot((0,0), normalize_shap_interaction_values(cls_shap_interact_vals, cls_shap_vals), X):

Haven't looked at what caused the underlying apparant bug though...


text:
Custom Game

The custom game has never worked, Why not?

it worked for a very minor amount of time, however when the server's backend was changed to RS, custom games were simply never re-implemented. It's the same story with flags

its dieded

GET RID OF MUTE FEATURE!!! 🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕

I SAYD GET RID OF IT 🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎🤬🤬🤬🤬🖕🖕🖕👎👎👎👎

@luphoria @sm64js @everyone yuo suKC ANN ANMAL P$%$Y!!!! F^%KCING N#^SGGERS!!  I SAYD TO GET RD OF THE FOKCIN MUTT FETAURE!!!!!!!! IDTIOS!!! NT$GGERS!!!!!!!!! B!THC CU-_SMLUt!!!!!!👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠v👎🖕👎🤬😾👎🤬🖕👹👺🤬👎🤢🖕👿👿🤬🖕👹👹🔫🔫🔫😡😡😈😾👎👺👺👿👿😤😤😤😤😤😠😠😠😠

can you un-kill them so I can play on the new map?

authors: CyberNutz GETRIDOFTHEFOKINMUTFETUR ImaginaryNeon PSIPowerhouse lolxdtyuir69 luphoria

license: WTFPL


text:
🛑 Portainer Portal Website for Proxmox (tunnel) is down

In 0d2b3bf, Portainer Portal Website for Proxmox (tunnel) (https://portainer.sman3palu.sch.id) was down:

HTTP code: 502
Response time: 1082 ms

Resolved: Portainer Portal Website for Proxmox (tunnel) is back up in 8b778a0 after 7 minutes.

repo: smantriplw/uptime-services


text:
enhancement- pen draws on the fly!!

closes #815
BEFORE

AFTER

I just learned about how to use getImageData() and putImageData together to get those objects (pen lines) drawn in realtime.
So this PR just a addition to #791

- I have participated in GSSOC and CrossWoC

It's great you noticed that issue, I was about to raise one regarding it in a couple of days!

authors: ashuvssut smaranjitghose


text:
Unstable and misleading documentation

The documentation says

pen .env with your editor of choice and fill out the environment variables listed inside that file. You MUST fill in all variables in the REQUIRED (LEGACY) OR REQUIRED (BEDROCK) sections. If you wish to run both a legacy node and a Bedrock node at the same time, you MUST fill in BOTH sections.

this is WRONG. Setup tries bedrock and fails if bedrock is not configured:
simple-optimism-node-healthcheck-1  | /opt/optimism/packages/common-ts/src/base-service/base-service-v2.ts:244
simple-optimism-node-healthcheck-1  |         throw new Error(`missing required option: ${optionName}`)
simple-optimism-node-healthcheck-1  |               ^
simple-optimism-node-healthcheck-1  | Error: missing required option: referenceRpcProvider
simple-optimism-node-healthcheck-1  |     at new BaseServiceV2 (/opt/optimism/packages/common-ts/src/base-service/base-service-v2.ts:244:15)
simple-optimism-node-healthcheck-1  |     at new HealthcheckService (/opt/optimism/packages/replica-healthcheck/src/service.ts:37:5)

Documentation refers to node configurations from alchemy; whatever here, however, needs to outline how those be used. No examples of the variable input format. Very confusing to have multiple input variables for essentially the exact value of a source node.

they said they are lazy, and I am shorting the $OP : )

Are you running with --profile legacy? If you run with --profile current or without the profile option then it'll try to run a Bedrock node. If you only want to run a legacy node then you need to run with --profile legacy. See the Profiles section of the README.

Documentation refers to node configurations from alchemy; whatever here, however, needs to outline how those be used. No examples of the variable input format

I'm not sure what you mean by this

repo: smartcontracts/simple-optimism-node


text:
Why my kafka eagle cannot connect to mysql?

[2018-07-11 21:51:48] DruidDataSource.Druid-ConnectionPool-Create-287137443 - ERROR - create connection error, url: jdbc:mysql://localhost:3306/ke, errorCode 0, state 08001
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

mysql version 8
windows system
kafka eagle version:1.2.3

here is my configuration:
######################################
kafka jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://localhost:3306/ke
kafka.eagle.username=root
kafka.eagle.password=mypassword

[2018-07-11 21:51:48] DruidDataSource.Druid-ConnectionPool-Create-287137443 - ERROR - create connection error, url: jdbc:mysql://localhost:3306/ke, errorCode 0, state 08001
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
mysql version 8
windows system
kafka eagle version:1.2.3
here is my configuration:
######################################
kafka jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://localhost:3306/ke
kafka.eagle.username=root
kafka.eagle.password=mypassword

@KingWang93 Whether localhost has mapper such as 127.0.0.1, maybe you can use 127.0.0.1 replace to localhost.

@smartloli
I also configured mysql, but it only creates ke database, why is there no table under ke database?

If you use mysql has something error, also you can use default sqlite database.

authors: KingWang93 smartloli zishenlaowanjia

repo: smartloli/kafka-eagle


text:
Hostfile on host not updated on destroy of a running machine

Vagrant: 1.7.2
Hostmanager: 1.6.0
Provider: Virtualbox 4.3.30
Host OS: OSX 10.9.5
Guest OS: Ubuntu 14.04

On vagrant up, the hostfile entries are created on both host and guest, but on vagrant destroy (without halt, suspend, or any other machine action), the entries are not removed from the host.
The relevant lines from my Vagrantfile:
Vagrant.configure("2") do |config|
  config.hostmanager.enabled           = true
  config.hostmanager.include_offline   = true
  config.hostmanager.ignore_private_ip = false
  config.hostmanager.manage_host       = true

  config.vm.box = "ubuntu/trusty64"

  config.vm.define :local do |box|
    box.vm.hostname = "local.site1.com"

    box.vm.network :private_network, ip: "192.168.12.126"
    box.vm.network :forwarded_port, guest: 22, id: 'ssh', host: 2126, auto_correct: true
  end

  config.vm.provision :hostmanager
end

+2 here
Doesn't clean host OS hosts file
OS X 10.9.4
Windows 7 x64

I can confirm it.

Vagrant: 1.7.4
Hostmanager: 1.6.0
Provider: Virtualbox 5
Host OS: OSX 10.11
Guest OS: Ubuntu 14.04
/etc/hosts file is updated when running either vagrant up or vagrant destroy

I have the same problem on OSX.
Along with the sudoers mod, i even gave write permissions to myself on /etc/hosts just to be sure.
sudo chmod +a "$USER allow read,write" /etc/hosts

.. because it looks like it is trying to remove itself in both places (guest and host), but it just won't do anything. My guess was permission problems, though it does write on "vagrant up" so i don't think that is the case.
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
==> default: Updating /etc/hosts file on active guest machines...
==> default: Updating /etc/hosts file on host machine (password may be required)...

The entry remains.
Vagrant: 1.8.1
Hostmanager: 1.8.1
Provider: VirtualBox 4.3.6
Host OS: OSX 10.11.3
Guest OS: Ubuntu 14.04 trusty32

authors: EvanK HadesArchitect m3nt0r oddwheel radub

repo: smdahlen/vagrant-hostmanager


text:
Trampoline Hooking

Honestly, I do not understand this, I did not even understand anything there, if I knew English, I probably would have done everything myself.
I hope you understand this: https://pastebin.com/Krn8dZaW

Pretty bad way of hooking. VMT is working fine for me. I'm yet to be banned

So VMT is detected by Valve Anti-Cheat, it turns out that your cheat is absolutely useless ?, then it is better to do it for HVH.

It's a public source. Even then where's proof of VMT being detected I'm using this cheat just fine

@smefcc I understand, I heard that you can protect the VMT of hooking, or the cheat will never be undetected?

@smefcc so you are still not banned using this hooking method?

authors: Enclusion XakerOrden smefcc

repo: smefcc/smefs-Indigo-Remastered


text:
🛑 Home is down

In af02a59, Home (https://www.eseade.edu.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Home is back up in 9911b13 after 8 minutes.

repo: smeseade/upptime


text:
ALAxisVertical refers to horizontal centerX

centerX is really a horizontal axis isn't it? It's confusing.
[self.view1 autoAlignAxis:ALAxisVertical toSameAxisOfView:self.view2];

This in fact produces:
view1.centerX == view2.centerX

When I use lldb I query for horizontal axis to see that constraint:
po [self.view1 constraintsAffectingLayoutForAxis:UILayoutConstraintAxisHorizontal]

Hey Andrei,
This is a duplicate of #33. There's either a slight misunderstanding of how the ALAxis attributes are defined, and/or the method names are being overlooked.
Asking for the constraints that affect a view's layout in the horizontal axis is completely different from saying that you want to align the vertical axis of two views. Don't get confused that using ALAxisVertical to align 2 views will end up creating constraints that work along the horizontal axis.

authors: pronebird smileyborg

repo: smileyborg/PureLayout


text:
Dumb down calibration (An Opinion Piece)

This is a rework of calibration because the old calibration:
-Took too long to calibrate (opinion)
-Wasn't completely reproducible (some random seed thing going on)
-Felt like a black box with the random forest (main reason)
This PR yields consistent calibration results for the two raw files I tested with comparable (<1% difference) PSMs, peptides, and proteins. It requires ~500 ms between pre- and post-searches to calibrate.
All it does is take the relative mass errors for a scan and average them. It then smooths the mass errors over 50 scans to prevent over fitting. Each peak in the scan is then shifted according to the mass error.

What do you think about keeping the original method intact and making your new one a different option? That way we wouldn't have to commit to removing the old method right away, and we could rather test it over time.
A bit of duplication is fine. Maybe make a new RelativeMassErrorCalibrationEngine class.

I am more hesitant on that. When the old option is left as the default, the new method tends not to get used and just collects dust/clutters the GUI (looking at Delta Scores here). The idea is that eventually it will get tested and phased in, but I haven't seen that happen with other features.

authors: acesnik zrolfs

repo: smith-chem-wisc/MetaMorpheus


text:
[Request] Add DeepseekChat

https://twitter.com/yacinemtb/status/1753115219872846186?s=12&t=90xQ8sGy63D2OtiaoGJuww
https://chat.deepseek.com/sign_in
https://chat.deepseek.com/coder

also add
groq chat
https://gab.ai/
aistudio

add gemini separate from ai studio https://gemini.google.com/app

repo: smol-ai/GodMode


text:
How To Contribute?

I'd like to contribute to this project but can't seem to find how to use ex_admin as a local Elixir dep. Could someone point me in the right direction or add a "How To Contribute" section to the README?

Thanks!!!


text:
[FEATURE] 교양과목 목록 API 구현

상세 기능

Culture 엔티티 작성 (교양 과목 테이블)
교양과목 목록 API (동적쿼리)

Request

URL : /api/cultures
Query Parameter

이름
타입
설명
도메인
필수

subDomain
SubDomain (enum)
세부 선택영역
BASIC_ACCIDENT, BASIC_ENG_MATH, ...
X

Response{
    "code": "OK",
    "message": "OK",
    "result": {
        "count": 12,
        "content": [
              {
                  "id": 3,
                  "number": "HALF0601",
                  "name": "미와예술의이해",
                  "type": "예술",
                  "credit": 3,
              },
              {
                  "id": 4,
                  "number": "HAEA9239",
                  "name": "GPU프로그래밍",
                  "type": "예술",
                  "credit": 3,
              },
              ...
            ]
      }
}

https://github.com/smu-nity/Tools/issues/25

repo: smu-nity/SMUNITY-API


text:
可以合作开发么？

hello，大大。有时候我也闲的无聊，想看看你的代码，顺手改一改。大神可以给我开个权限么？我发现不能创建新的分支，如果可以的话，我会创建新的分支，有新代码提交的时候，会提交给你，可以的吧？

可以的~ 私聊

authors: liumengbiao smuyyh

repo: smuyyh/BookReader


text:
Check Password strength

🚀 Feature
I did like to add Password strength calculation code to the passwords folder here.
Have you read the Contributing Guidelines on Pull Requests?
yes
Pitch
Good code to check your password strength. I'll write this code in python.
Please assign this to me under DCP21

/assign


text:
"ImportError: cannot import name 'observe'"

Hi, using python 3.6.1, venv, Jupyter v 5.0.0, I just tried the bubblesort demo in a fresh venv and got "ImportError: cannot import name 'observe'". Stack trace + $ pip freee.

Hi, First of all thank you for leaving the issue. In my case, there was no problem in the same environment. I'll try a little more, but it seems to be a problem with traitlets. Can you try development installation and tell me the results?
$ git clone https://github.com/sn0wle0pard/ipytracer.git
$ cd ipytracer
$ pip install -e .
$ jupyter nbextension install --py --symlink --sys-prefix ipytracer
$ jupyter nbextension enable --py --sys-prefix ipytracer

Hi @sn0wle0pard. I don't think this is your problem. I think it's related to the Jupyter weirdness I've mentioned in the Jupyter Client issue.

Hey, I'm not sure if my system is particularly messed up right now, or jupyter notebook is kind of unstable ATM, but you might be amused to know that I had to work through two addition pretty confusing bugs before I finally got the bubblesort demo working in a fresh venv. : D


text:
'zhPopupController.h' file not found

Hi there,
I tried to use this great library in my old app, but I got an error 'zhPopupController.h' file not found, anybody have an idea what cause this problem. thanks in advance.

Whether to use cocoapods?

Yes, I'm using cocoapod, plus I got this error :

"OBJC_CLASS$_zhPopupController", referenced from:
objc-class-ref in LoyaltyProgramHome.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I want to know your compilation environment ?
zhPopupController Requires iOS 7.0 or later and  Automatic Reference Counting (ARC)

I'm using xcode 9, deployment target is 7.1 and yes i'm using ARC

https://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64
Is this article helpful to you?

thank you, you're the best

repo: snail-z/zhPopupController


text:
fix: Handle unresponsive sacct

Fix snakemake/snakemake#2411 (reposting PR snakemake/snakemake#2413 on new repo)
When sacct is non responsive (and there is a timeout), snakemake currently exits with an error. This PR aims at properly handling the timeout by trying again. Not sure if it should wait a bit more before querying sacct again.
EDIT: some more info
The job status query failed with command: sacct -X --parsable2 --noheader --format=JobIdRaw,State --name 05969656-0e62-47f1-9008-2a189069f0a7
Error message: sacct: error: get_addr_info: getaddrinfo() failed: Name or service not known
sacct: error: slurm_set_addr: Unable to resolve "db01fl"
sacct: error: slurm_get_port: Address family '0' not supported
sacct: error: Error connecting, bad data: family = 0, port = 0
sacct: error: slurm_persist_conn_open_without_init: failed to open persistent connection to host:db01fl:6819: Resource temporarily unavailable
sacct: error: Sending PersistInit msg: Resource temporarily unavailable
sacct: error: Problem talking to the database: Resource temporarily unavailable

Traceback (most recent call last):
  File "/envs/snakemake_env/lib/python3.11/site-packages/snakemake/executors/__init__.py", line 886, in _wait_thread
    asyncio.run(self._wait_for_jobs())
  File "/envs/snakemake_env/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/envs/snakemake_env/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/envs/snakemake_env/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/envs/snakemake_env/lib/python3.11/site-packages/snakemake/executors/slurm/slurm_submit.py", line 399, in _wait_for_jobs
    (status_of_jobs, sacct_query_duration) = await self.job_stati(
                                             ^^^^^^^^^^^^^^^^^^^^^
  File "/envs/snakemake_env/lib/python3.11/site-packages/snakemake/executors/slurm/slurm_submit.py", line 330, in job_stati
    return (res, query_duration)
            ^^^
UnboundLocalError: cannot access local variable 'res' where it is not associated with a value
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message

Not sure if there is a wait time between two sacct queries, but it might be a good idea (specially if the DB is temporarily unavailable).

Not sure if there is a wait time between two sacct queries, but it might be a good idea (specially if the DB is temporarily unavailable).

There is one via the rate limiter. Maybe that is sufficient for now.

authors: fgvieira johanneskoester


text:
Singularity execution of Docker image without bash does not work

Snakemake version
7.3.1
Singularity version 3.5.2.
Describe the bug

Using the official sra-tools Docker image from NCBI (https://hub.docker.com/r/ncbi/sra-tools) with Singularity does not work.
It appears that the Docker image is based on alpine, which does not contain bash but only sh.
However, snakemake executes singularity with bash, therefore I think I get the error message below.
Manually executing the command, but replacing bash by sh does the trick and the SRR is successfully downloaded.
It appears I cannot change the shell that snakemake uses. Is this the desired behaviour? Are there workarounds to this?
I did not find any documentation about the shell when executing Singularity from snakemake. The closest issue related to this seems to be #590 but it is not resolving my problem.
Logs

The error that I get with the example below (I replaced absolute paths by path/to):
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
job             count    min threads    max threads
------------  -------  -------------  -------------
fasterq_dump        1              1              1
total               1              1              1

Select jobs to execute...

[Fri Mar 25 11:10:19 2022]
rule fasterq_dump:
    output: SRR179707/SRR179707.fastq
    jobid: 0
    resources: tmpdir=/tmp

Activating singularity image path/to/.snakemake/singularity/95ce2f9c7eb6fbb0e9868a8a1c21fb00.simg
/.singularity.d/actions/exec: exec: line 21: bash: not found
[Fri Mar 25 11:10:20 2022]
Error in rule fasterq_dump:
    jobid: 0
    output: SRR179707.fastq
    shell:

        fasterq-dump SRR179707

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message

Minimal example

With snakefile example.smk downloading a randomly selected SRR:
rule fasterq_dump:
    output:
        "SRR179707.fastq"
    singularity:
        "docker://ncbi/sra-tools"
    shell:
        """
        fasterq-dump SRR179707
        """

and running
snakemake --snakefile example.smk --use-singularity --cores 1

gives the error above.
Additional context

Ideally, we would like to use the official Docker image for sra-tools.
If this is not possible because sh is not supported by snakemake, we could of course adjust it and include /bin/bash. But in the spirit of FAIR principles we would rather not duplicate official images.

Indeed Snakemake forces bash at the moment. But I agree that sh makes sense here. We could allow to set this per rule, like
rule sra:
    container:
        "docker://ncbi/sra-tools"
    shell_exec:
        "sh"
    shell:
        "sra-tools ..."

The problem with ash is that it is not available everywhere, whereas bash is virtually always available.

I meant to use sh as the default, not ash. sh then resolves to the user-defined shell, so bash in most cases, zsh or ash etc. in others. However, while this would ensure maximum compatibility, there is the trade-off that it might theoretically lead to different behavior on different systems with the exact same snakemake call, in case not every shell plays nice with Singularity. So probably best to keep bash as the default.

Hi @johanneskoester, just ran into this issue with another couple of Docker containers based on Alpine. Is there anything that is blocking the merge of #1529? :)

We still need this quite badly :-S

authors: dominikburri johanneskoester uniqueg

repo: snakemake/snakemake


text:
slurm hang in SLURM mode

Snakemake version
Snakemake 7.26.0
Describe the bug
When using --slurm for snakemake execution includes more than one rule, it hangs after the first rule is finished. In fact, snakemake cannot detect job completion and hang there. I have to use Control-C to interrupt snakemake and execute again.
Additional context
--cluster still works as before. Some other issues offered various solutions, but did not seem to work for me. From a user perspective, I would like the behavior of --slurm the same as --cluster, as slurm is a new command, at least it did not exist in 7.14.0, which is the version I was using before.

Sorry for looking into this so late - the snakemake executor for slurm now has its own repo.
Please update and test again. If the issue persists, report it in the dedicate repo. Be sure to include your SLURM version (available when running sinfo --version) and the output of sacct -X --parsable2 --noheader --format=JobIdRaw,State -u $USER.

authors: Zepeng-Mu cmeesters


text:
UCE using multi-gpu

Hi @Yanay1
Do you know why UCE repotred the following error When I setted multi-gpu True. I had launched hugging face on command line:
huggingface-cli login
(scanpy) root@iZ1pp06g2kc1mpkdbn2uzzZ:/home/jinfang/backup/jinfang/songmf/007-uce/UCE# python eval_single_anndata.py --adata_path /home/jinfang/backup/jinfang/songmf/000-Data/HCC_snRNA/HCC_MET_KM.h5ad --dir /home/jinfang/backup/jinfang/songmf/007-uce/UCE/HCC_MET_KM --species human --model_loc /home/jinfang/backup/jinfang/songmf/007-uce/UCE/model_files/4layer_model.torch --batch_size 100 --multi_gpu True Proccessing HCC_MET_KM 8222.0 HCC_MET_KM (43574, 15502) Wrote Shapes Dict 15502 Max Code: 613 Loaded model: /home/jinfang/backup/jinfang/songmf/007-uce/UCE/model_files/4layer_model.torch   0%|                                                                                | 0/436 [00:02<?, ?it/s] Traceback (most recent call last):   File "/mnt/array3/jinfang/songmf/007-uce/UCE/eval_single_anndata.py", line 155, in <module>     main(args, accelerator)   File "/mnt/array3/jinfang/songmf/007-uce/UCE/eval_single_anndata.py", line 85, in main     processor.run_evaluation()   File "/mnt/array3/jinfang/songmf/007-uce/UCE/evaluate.py", line 145, in run_evaluation     run_eval(self.adata, self.name, self.pe_idx_path, self.chroms_path,   File "/mnt/array3/jinfang/songmf/007-uce/UCE/evaluate.py", line 239, in run_eval     batch_sentences = model.module.pe_embedding(batch_sentences.long())                       ^^^^^^^^^^^^   File "/bio/anaconda3/envs/scanpy/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1614, in __getattr__     raise AttributeError("'{}' object has no attribute '{}'".format( AttributeError: 'TransformerModel' object has no attribute 'module'. Did you mean: 'modules'?

When you use multi-gpu it has to be with hugging face accelerator. So it needs to be launched with accelerate rather than just python (see: https://huggingface.co/docs/accelerate/en/index)

repo: snap-stanford/UCE


text:
Better failure messages

Eg if a proposal has not been initialised and someone tries to cast a vote, it should fail with that error message. Currently it does not.
There is most likely a few cases of this in the space contract.

The current error message is "invalid proposal id" I believe. I think this is the only occurrence of "voting on a invalid proposal". Would you like to change the error message?
https://github.com/snapshot-labs/sx-core/blob/dbc2ebda0fb395c73482bd659c189b7aacf93772/contracts/starknet/Space.cairo#L867-L871

repo: snapshot-labs/sx-core


text:
Support linking to repost that can't be bridged

Personally, I would like a complete-as-possible view of my feed to be bridged. Even if a repost (or quote) can't be bridged, I would love to see Bridgy instead create a post that includes a link to the original post, if possible.

Yes! It's really frustrating seeing posts from bs in fedi saying stuff like "I agree with this" without any context, took me some seconds to understand what's happening. Actually, this is how Misskey and forks handle quotes in fedi itself: Since Mastodon doesn't support quotes, quotes from Misskey etc just show the url when federated to fedi platforms that don't support them.

authors: luxaritas panosda

repo: snarfed/bridgy-fed


text:
CSV files missing

CSV files are missing. Could you also maybe do a more in depth instuction manual. Thanks

All CSVs are private intentionally. Simply included list of generic first and last names etc. Hope this helps.


text:
Update update.sh

test compare directly

thanks @JeffCleverley

authors: JeffCleverley calvinalkan

repo: sniccowp/php-scoper-wordpress-excludes


text:
Draft: Feat/catch2 compat

Very rought draft, but I wanted to open it so others can look and comment.
This is work to make the Catch2 XML output match up with Catch2. Like the other open MRs I notices this when integrating with my teams IDE and (more importantly) CI test reporting systems.
Without these changes CI and IDEs work ok, but failures in a section just fail the whole test. When we were using Catch2 a failure would be specific to a section allowing us to quickly drill down to the problem. So looking into the difference it is just the lack of section output in the "high" verbosity mode. Catch2 outputs section XML data by default.
It was fairly easy to make it work with basic testing, pass and fail. There are more complex edge cases around skips, nested sections, exceptions being thrown, and different verbosity levels. I am still ironing those out and need to make sure there is testing for it all.
As I have time this week i will add some examples here, and some pictures to show the different in CI/IDEs.

Thanks for spotting this. I could have sworn I got the output for sections to match Catch2 when I last tested this; but perhaps I had looked at a too simple case and missed the bigger picture.

As I have time this week i will add some examples here, and some pictures to show the different in CI/IDEs.

It would be very interesting to compare the actual XML output between the two in a real-world case; the test project I use for testing and benchmarks doesn't actually use sections.

thanks for the feedback, I will look it over in depth this coming week.
I've been working on making tests and comparing Catch2  to Snitch output in a repo on my account here: https://github.com/CrustyAuklet/snitch-xml-output. So far it's pretty close but I will have to add some more variations, especially to cover the exception stuff.

Hi there! Just wondering if this was still on your mind. Let me know if not, and I can take over.

It is, I have just had a ton on my plate. I am going to try to re-familiarize myself with it this afternoon and see if have any questions on your feedback.
I won't be offended at all if you think it's an easy fix for you to do and you want to get it done 😄

fixed some of the small easy stuff and rebased, but spent a lot of time running some example tests in that other repo with exceptions. I think most of this code needs to be moved to the registry like you said.

Thanks for looking at it further. Does snitch reporting works as expected in your tests now? If so, I can do another pass of review, and if all looks fine, I can also take care of the final refactoring.
FYI: I just hit some of the issues you were having, so I can confirm (if this was even needed!) that things are currently broken on the main branch. I'm implementing a test runner for SublimeText, and for the sake of the exercise, I implemented a test adaptor for Catch2 first, and then tried to use it with snitch without touching it. Didn't work out of the box! I'm hoping this will be solved with your PR.

Without exceptions it works as expected and I am using it on some of my work projects. But with exceptions It doesn't match up with the output of Catch2, and that is where I got a bit stuck and maybe the code does need to move into the registry as you suggested.
The test using exceptions in the repo https://github.com/CrustyAuklet/snitch-xml-output shows some of the differences. Catch2 is more verbose but the real issue is that is seems that exceptions thrown from within sections are not output until the parent section.
Here are the output XML files from that test:
exceptions.catch2.txt
exceptions.snitch.txt

I believe the remaining issues are now sorted if you try the branch cschreib/catch2-compat. I created a PR for it https://github.com/snitch-org/snitch/pull/183 to get the CI runs. If you have no objection, I suggest switching to the new PR and closing this one (unless you feel like doing the git magic to pull my changes back into your branch; you'll need to rebase though). If you wanted to review the changes I pushed over your last commit, feel free!

Superseded by https://github.com/snitch-org/snitch/pull/183; thanks again for kick-starting this!

authors: CrustyAuklet cschreib

repo: snitch-org/snitch


text:
Hello it's Babs!

Hey 👋  🐰 🐰 🐰  how are you doing?
:octocat: ❤

yo @babsbunny42 what's up?
☕  ⁉


text:
Add simple jsqsh (non-interactive) example

For example, create task to do following:
$ ./jsqsh-2.2/bin/jsqsh biginsights -C config/ -e -i foo.sql

select * from (values (1));
+---+
| 1 |
+---+
| 1 |
+---+
1 row in results(first row: 0.105s; total: 0.183s)

@pregazzoni, I did a sneaky commit that runs jsqsh from gradle.  I think using gradle is ok to download jsqsh and create the config but probably not to run the jsqsh command. This will support your workflow above.  What do you think?

I.e.
I'm not 100% sure how robust the Exec task is for running jsqsh.  I think running it directly will be much better.  I'll change the build.gradle to support the manual workflow:
task('RunJsqsh', type:Exec) {

    dependsOn SetupJsqsh

    commandLine "${projectDir}/jsqsh-2.2/bin/jsqsh","-C","${projectDir}/config/"
    standardInput = System.in
}

task('SetupJsqsh', type:Exec) {
    dependsOn DownloadJsqsh, CreateConfig
}

Thanks for fixing to use BIGSQL_HEAD.
Tidied up task names with: https://github.com/snowch/biginsight-examples/commit/f09b70aed065ce57416a98ad511c1cdd10328826

I think interactive is fine. Will add some info to README.
What about generating config for HIVE as well?

Sounds like a good idea.  Maybe the approach with jsqsh could be used and replace the existing mechanism here: https://github.com/snowch/biginsight-examples/tree/master/examples/HiveBeeline?

Still like having example with beeline. Closing this for now. The jsqshsetup task shows how interactive example works.

authors: pregazzoni snowch

repo: snowch/biginsight-examples


text:
Remove needs clause from build.yml

Pre-review checklist

[ ] I've confirmed that instructions included in README.md are still correct after my changes in the codebase.
[ ] I've added or updated automated unit tests to verify correctness of my new code.
[ ] I've added or updated integration tests to verify correctness of my new code.
[ ] I've confirmed that my changes are working by executing CLI's commands manually.
[ ] I've confirmed that my changes are up-to-date with the target branch.
[ ] I've described my changes in the release notes.
[ ] I've described my changes in the section below.

Changes description
The needs does not work across different workflows. This is probably a leftover from early CI split.

What problems did it cause?

authors: sfc-gh-jsikorski sfc-gh-turbaszek

repo: snowflakedb/snowflake-cli


text:
Add auto-detection of the collector URI protocol

With Emitter constructor we can choose HTTP method to use, but what about forcing https?
Js library offers "forceSecureTracker" configuration field. Is there something for as3 library?

Nice idea! Added to milestone

@alexanderdean
This is already possible. It is however undocumented in the wiki,
Emitter signature is
Emitter(uri:String, httpMethod:String = URLRequestMethod.GET, protocol:String = "http")
We can chose to provide a forceSecureTracker on the Emitter and make it public or expose it through the tracker.

Thanks for diving into this @nakulgan -

Does protocol:String force the protocol used to connect?
Is there no concept of auto-detection?

A simple interpretation of that argument would suggest that there is only currently forcing, and there is no auto-detection of host page protocol available currently - but no idea if that's actually true...

That is correct, protocol auto-detection is not supported.
It makes more sense to add auto-detection feature along with forcing.

Thanks @nakulgan - my recommendation is that we:

Switch the protocol:String from a string to an enum of HTTP, HTTPS, AUTO
Rename this ticket to reflect this
Don't add forceSecureTracker and forceInsecureTracker methods as they add extra complexity (you have to remember to call an additional method)

This diverges the AS Tracker from the JS Tracker, but it's closer to the mobile trackers and it's simpler to explain to people.
Thoughts @yalisassoon @jbeemster ?

All sounds good to me!

Sounds good. Thanks @alexanderdean @jbeemster

Renamed title, please update the commit...

authors: alexanderdean fram03 jbeemster nakulgan


text:
Scala Common Enrich: write out event_vendor/name/format/version fields

I think the most futureproof way of doing this would be to have a structure in atomic.events like this:
event       | event_vendor                   | event_name  | event_format | event_version
-----------------------------------------------------------------------------------------
unstruct    | com.snowplowanalytics.snowplow | ad_click    | jsonschema   | 1-0-0
page_view   | com.snowplowanalytics.snowplow | page_view   | jsonschema   | 1-0-0
struct      | com.google.analytics           | event       | jsonschema   | 1-0-0
transaction | com.snowplowanalytics.snowplow | transaction | jsonschema   | 1-0-0

The rationale here is:

Anybody using the existing event column can continue to do so
Anybody using unstructured events can use the new event_vendor/name/format/version columns, which map directly onto the Iglu URI components
As we convert our legacy events (e.g. GA-style 5-field structured events) into JSONs, then the corresponding event_vendor/name/format/version columns are futureproofed - their values won't change

Depends on #1637

@danisola will work on this

:g/will/s/will/might/g

:smile:

authors: alexanderdean pvdb

repo: snowplow/snowplow


text:
Snowplow CLI: add support for writing files to S3 with S3DistCp using server-side encryption

This will be restricted to the steps that use S3DistCp, which supports the --s3ServerSideEncryption option:
http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_s3distcp.html
Background:
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html

this has been done, closing

authors: BenFradet alexanderdean


text:
MQTT Integration

This project is exactly what I'm looking for to work on some home automation projects (Frigate is pretty heavy-weight, and I'm not looking for security video recording, just automation based on location, posture, etc.).  The tools I'm using so far often support MQTT as a way to trigger events, so one way or another I'd like to pipe the results out to MQTT.
It wouldn't be too difficult to write a separate service that just connects to the /stream WS and forwards all the returned JSON to MQTT, but it would mean a separate service to launch, monitor, etc..  Alternatively, I could try to add some MQTT info to the DetectRequest (sorry if I'm getting some of these names wrong, on a phone so it's hard to tab around) so that DOODS could just optionally send the JSON itself (at the expense of having to include MQTT libraries).
This definitely falls outside the scope of "REST service", so this isn't really a feature request.  I just figured before I fork and start playing around with things I would ask and see if you had any thoughts on which approach would work best since you know the DOODS code.

I actually had the same idea. I've even already install the MQTT module in the container. The container right now is setup to launch in  API mode but I was going to add another option to launch in "MQTT" mode. Essentially it would launch, connect to one or more video streams and MQTT server and just continuously run detections and report what it finds to MQTT if there are matches.

Well that would be exactly what I need (now that I can peruse the code more, I do see the if args.action == 'api': line in there).  DOODS has all the configuration I'm really interested from a detection standpoint and any advanced processing would be easier downstream of the MQTT anyway, so having DOODS as a lightweight stream->MQTT component would be ideal.
If I get a chance to try implementing it before you do, I'll make sure to link my code here (though I'm sure whatever you eventually implement will be a little cleaner-- Python's not my strong suit).
I'll probably just copy @self.api.websocket("/stream") but read static DetectRequests from the/a config file, and send the json to mqtt instead of the websocket.  Will give me a chance to brush up on Python concurrency too 😉.

Lol Python isn't my strong suit either. This has been good practice.

Alright, great news: I've got it working!

Basically there's a new config section that's just a list of requests to be run at startup:
  requests:
    - id: firstrequest
      detector_name: default
      preprocess: []
      detect:
        "*": 50
      regions:
      - top: 0.1
        left: 0.1
        bottom: 0.9
        right: 0.9
        detect:
          "*": 50
        covers: false
      data: rtsp://url

I'll share a commit as soon as it's presentable, but there's still some passwords and such that need to be sanitized (I've only been able to work on this an hour or so some evenings, so it might be a while unfortunately).  Also, I had at least one question (I'm sure I'll have more later):
As you can see in the screenshot, the detection generates multiple MQTT messages per video frame (one per detection result), so they pour in pretty quickly.  I'm sure MQTT is equipped to handle that, but to make things a little less crazy it probably makes sense to do some throttling.  Obviously I can throttle using throttle in the DetectRequest, but does that mean something that was detected only briefly might be missed?  E.g. if throttle: 5, and something was detectable only for 2 seconds, could it be missed entirely?  If that's the case, would it be useful to add a second throttle on the MQTT publishing instead so that we only mqtt-publish a detection result once every X-seconds but detections can keep running faster?
I feel like there's pros and cons to each approach, but wanted to ask your thoughts.
Excited to clean things up for a minimal commit, but also excited to add a few more features (like passing images in MQTT, and maybe cropping images for each object and using that in the MQTT message).

Phew, sorry that too so long: #24
Let me know if there's anything that needs adjusting for the PR.  I'll do a better job creating feature branches for the next few things like MQTT images and such)

Thanks a lot! Fantastic work!

Sure; thanks for having code that's pretty easy to understand and modify!  Happy I got it working for myself, but even better that other people can have MQTT support now too :)

This is looking good @Sammy1Am. I changed url to host. Something is wrong running more than one stream though. It seems like one stream hogs all the CPU and never gives it up. I tried changing to threading and it was slightly better but still not really working. Any thoughts? I'm no python expert especially with the async stuff.

Whoops, I guess I should have actually tested with two streams.  I'll take
a look in the next day or two, I'm not a Python expert either, but
generally pretty good with concurrency so I should be able to figure it out.
I was playing around with sending images over MQTT today (which seems to
work great), and realized I should have done a couple MQTT things
differently.  So maybe I'll try to squeeze all those changes (not the
images yet probably) in with a fix.
On Fri, Jan 28, 2022, 22:13 Zach @.***> wrote:

This is looking good @Sammy1Am https://github.com/Sammy1Am. I changed
url to host. Something is wrong running more than one stream though. It
seems like one stream hogs all the CPU and never gives it up. I tried
changing to threading and it was slightly better but still not really
working. Any thoughts? I'm no python expert especially with the async stuff.
—
Reply to this email directly, view it on GitHub
https://github.com/snowzach/doods2/issues/20#issuecomment-1024845758,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADSF6DSQITQPJHAVXPBJ43UYOAPNANCNFSM5L6EWVUA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey there, working on this a little now and I was wondering what the background on this line was: time.sleep(0.1)
It seems like this will throttle the MQTT processing to a max of 10 FPS; if the detectors are working faster than that, wouldn't that cause things to back up and eventually overflow?

So the issue turned out to be that the tensorflow lite detector really just isn't thread safe. I added a mutex into the critical path of the tensorflow lite detector (tensorflow seems time) and it's now balancing the two threads well. I removed the sleep statement as I think it was just coincidence that it managed to not cause a thread collision and made it kind of work with two streams. I will close this issue now. The other thing that could be done is to create a pool of tflite detectors that can be used.

Closing this now as it's working pretty well now.

Ah, cool, that makes sense.  Thanks for the update!

FYI @Sammy1Am the tensorflow lite detector is now multi-thread capable. See the README.md on how to add more threads. (2 is the default)

Oo, awesome!  Thanks for the heads-up!
I installed doods2 on my home server with a Coral board a while back and it worked great for a while and then stopped, but I never got a chance to figure out why.  It's on my list to look into that soon, I'll try out the multithreading too :)


text:
[Snyk] Fix for 2 vulnerabilities

Snyk has created this PR to fix 2 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

frontend/package.json
frontend/package-lock.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Regular Expression Denial of Service (ReDoS) SNYK-JS-SEMVER-3247795
  159

Cross-site Scripting (XSS) SNYK-JS-ROLLUP-8073097
  109

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)
🦉 Regular Expression Denial of Service (ReDoS)

⛔ Snyk has found 1 issues.

Icon
Severity
Issues

Critical
0

High
1

Medium
0

Low
0

⛔ security/snyk check is completed. Snyk found 1 issues. (View Details)
✅ license/snyk check is completed. No issues were found. (View Details)

repo: snyk-rfrazier/juice-shop