Feat:Add Missing Meta Tags, robots.txt, sitemaps for SEO Enhancement

Describe the feature
The current project lacks essential meta tags that are crucial for search engine optimization (SEO). To improve the visibility and ranking of the website on search engines
we need to add the following missing meta tags:
Title tags
Description tags
Keywords tags
Open Graph tags for social media sharing
Robots meta tag
and have to add sitemap.xml and robots file for search engine to crawl our site.
Add ScreenShots
we need to add the following missing meta tags:
Title tags
Description tags
Keywords tags
Open Graph tags for social media sharing
Robots meta tag
and have to add sitemap.xml and robots file for search engine to crawl our site.
Record

[X] I agree to follow this project's Code of Conduct
[X] I have starred the repository
[X] I'm a gssoc-24-extd contributor
[X] I want to work on this issue

Go for it @myselfshivams


enhancement: Need CSS Hover property

Description:
Need Hover css property to remove styled(MUI) non wrappid componenet.
Originally posted by @irkfaisal in https://github.com/wrappid/guide-module/issues/5#issuecomment-1857379620

Assign me

Assign me

Thanks for showing interest.
@PritamBag, can you validate this issue as per the current date?

Assign me

Thanks for showing interest.
@PritamBag and @samhere17 , can you validate this issue as per the current date?

@anantakumarghosh this issue is still open as on this date.
@Mdfarhan9304 thanks for showing interest. Will assign you. You may take it up.


[Question] Example for request_id_extension

Background - I created an issue https://github.com/envoyproxy/envoy/issues/7804 which is closed using https://github.com/envoyproxy/envoy/issues/7624. From the documentation i am not able to figure out how to use this request_id_extension. Can someone provide an example of how to use request_id_extension to accomplish the behavior i need for https://github.com/envoyproxy/envoy/issues/7804
Attaching few folks involved in the pr
@euroelessar @rossdylan

There is an example in tests, but I fear no real world one.
A general idea is that this configuration requires extending envoy using C++ plugin.
It should be possible to provide some alternative request-id extension implementations in upstream as well, assuming there are some well-known formats. @mattklein123 what do you think?


Fix location for the WhileNode

Handle where the statements are before the while keyword like:

foo = bar while foo != baz

~⚠ Since I am not 100% sure whether we should set the end location of the WhileNode to be the end location of the end keyword, I haven't implemented that in this PR.~
After a second thought, I've decided to take the end keyword into consideration for the location of the enclosing WhileNode.

Agreed, the location of the while node, if there is an end keyword for it should cover the end.
Thank you for the fixes, I will let someone else review though.


Missing glyphes due to SendString

I have been ""forced"" to add warn_about_missing_glyphs = false, in config because of those lines:
   { key = 'LeftArrow',  mods = mod.SUPER,     action = act.SendString '\x1bOH' },
   { key = 'RightArrow', mods = mod.SUPER,     action = act.SendString '\x1bOF' },

Because when bringing act.ActivateCommandPalette menu it cannot find special glyphes.
I am not sure how to fix that. Feel free to close if no fix can be done, the workaround warn_about_missing_glyphs = false, is enough.

I think I got a fix for it, but it's more of a janky workaround.
'\x1bOH' and '\x1bOF' are special unicode character sequences for moving the cursor to the start and end of a line.
This is just a guess on my part, but what I think was happening was that WezTerm was mistaking the character sequence to be a string representation of a glyph in the selected font and tried to render it as such.
But it couldn't find a glyph that matched that sequence, hence the missing glyph warning.
The fix that I made still gives the warning, but not just not as frequently, at least on my machine.
lmk if this works

Im gonna try it for use

It's the only fix that I can do right now.
A proper solution to this bug would probably require me to dive into wezterm's source code 😅


Allow user to set node graph direction

add button to let the user change the node-graph direction.
Currently it is left-right. Allow to set up-down

Implemented and already available in v1.2.46


Unable to accept the Chef License Acceptance

The issue
I'm new to knife solo and I'm trying to run the following command on a fresh Debian 9 VPS :
$ knife solo bootstrap root@<IP ADDRESS> --yes --node-name <NODE NAME>
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:31: warning: already initialized constant Chef::Knife::Bootstrap::SUPPORTED_CONNECTION_PROTOCOLS
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:31: warning: previous definition of SUPPORTED_CONNECTION_PROTOCOLS was here
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:32: warning: already initialized constant Chef::Knife::Bootstrap::WINRM_AUTH_PROTOCOL_LIST
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:32: warning: previous definition of WINRM_AUTH_PROTOCOL_LIST was here
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:350: warning: already initialized constant Chef::Knife::Bootstrap::DEPRECATED_FLAGS
/Users/zedtux/.rvm/gems/ruby-2.6.3/gems/chef-15.0.300/lib/chef/knife/bootstrap.rb:350: warning: previous definition of DEPRECATED_FLAGS was here
Bootstrapping Chef...
<EMAIL_ADDRESS>password:
<EMAIL_ADDRESS>password:
--2019-05-21 06:29:35--  https://www.opscode.com/chef/install.sh
Resolving www.opscode.com (www.opscode.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>
Connecting to www.opscode.com (www.opscode.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23110 (23K) [application/x-sh]
Saving to: ‘install.sh’

install.sh          100%[===================>]  22.57K   138KB/s    in 0.2s

2019-05-21 06:29:36 (138 KB/s) - ‘install.sh’ saved [23110/23110]

debian 9 x86_64
Getting information for chef stable 15.0.300 for debian...
downloading https://omnitruck-direct.chef.io/stable/chef/metadata?v=15.0.300&p=debian&pv=9&m=x86_64
  to file /tmp/install.sh.11708/metadata.txt
trying wget...
sha1	572057f9eba8c84664d4d66279e581849ce42445
sha256	5178ce5e5d43ea85647754034f61747796b7cc69579e9f2027a504e646a1a459
url	https://packages.chef.io/files/stable/chef/15.0.300/debian/9/chef_15.0.300-1_amd64.deb
version	15.0.300
downloaded metadata file looks valid...
downloading https://packages.chef.io/files/stable/chef/15.0.300/debian/9/chef_15.0.300-1_amd64.deb
  to file /tmp/install.sh.11708/chef_15.0.300-1_amd64.deb
trying wget...
Comparing checksum with sha256sum...
Installing chef 15.0.300
installing with dpkg...
(Reading database ... 33370 files and directories currently installed.)
Preparing to unpack .../chef_15.0.300-1_amd64.deb ...
removing /opt/chef...
Unpacking chef (15.0.300-1) over (15.0.300-1) ...
Setting up chef (15.0.300-1) ...
Thank you for installing Chef Infra Client! For help getting started visit https://learn.chef.io
Generating node config 'nodes/<NODE NAME>.json'...
Running Chef on XXX.XX.XXX.XX...
 View the license at
https://www.chef.io/end-user-license-agreement/

Licenses that need accepting:
  * Chef Infra Client
  * Chef InSpec

Do you accept the 2 product licenses (yes/no)?

> y
Prompt timed out. Use non-interactive flags or enter an answer within 60 seconds.

If you do not accept this license you will
not be able to use Chef products.

Do you accept the 2 product licenses (yes/no)?

> yes
Prompt timed out. Use non-interactive flags or enter an answer within 60 seconds.
+---------------------------------------------+
Chef Infra Client cannot execute without accepting the license
ERROR: RuntimeError: chef-solo failed. See output above.

Here I'm running the bootstrap with the --yes flag, but it didn't change anything
First point is I have to enter my root password many times.
Second point and the main point of this issue is that I can't accept the licence agreement even typing y or yes.
I'm using zsh 5.7.1 on a up-to-date macOS machine, with ssh -V outputting OpenSSH_7.9p1, LibreSSL 2.7.3.
A start of investigation
Now connecting to the node, running manually the chef-client command prints the same thing :
root@xxxxxxxxxx:~# chef-client
[2019-05-21T06:50:12+02:00] WARN: *****************************************
[2019-05-21T06:50:12+02:00] WARN: Did not find config file: /etc/chef/client.rb. Using command line options instead.
[2019-05-21T06:50:12+02:00] WARN: *****************************************
+---------------------------------------------+
            Chef License Acceptance

Before you can continue, 2 product licenses
must be accepted. View the license at
https://www.chef.io/end-user-license-agreement/

Licenses that need accepting:
  * Chef Infra Client
  * Chef InSpec

Do you accept the 2 product licenses (yes/no)?

Looking in the Chef documentation I found the --chef-license flag which solve the issue :
> root@ xxxxxxxxxx:~# chef-client --chef-license accept
[2019-05-21T06:50:33+02:00] WARN: *****************************************
[2019-05-21T06:50:33+02:00] WARN: Did not find config file: /etc/chef/client.rb. Using command line options instead.
[2019-05-21T06:50:33+02:00] WARN: *****************************************
+---------------------------------------------+
✔ 2 product licenses accepted.
+---------------------------------------------+
Starting Chef Infra Client, version 15.0.300
Creating a new client identity for xxxxxxxxxx.domain.net using the validator key.
[2019-05-21T06:50:34+02:00] WARN: Failed to read the private key /etc/chef/validation.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/chef/validation.pem>

================================================================================
Chef encountered an error attempting to create the client "xxxxxxxxxx.domain.net"
================================================================================

Private Key Not Found:
----------------------
Your private key could not be loaded. If the key file exists, ensure that it is
readable by chef-client.

Relevant Config Settings:
-------------------------
validation_key "/etc/chef/validation.pem"

System Info:
------------
chef_version=15.0.300
ruby=ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
program_name=/usr/bin/chef-client
executable=/opt/chef/bin/chef-client

Running handlers:
[2019-05-21T06:50:34+02:00] ERROR: Running exception handlers
Running handlers complete
[2019-05-21T06:50:34+02:00] ERROR: Exception handlers complete
Chef Infra Client failed. 0 resources updated in 01 seconds
[2019-05-21T06:50:34+02:00] WARN: Failed to read the private key /etc/chef/client.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/chef/client.pem>
[2019-05-21T06:50:34+02:00] FATAL: Chef::Exceptions::PrivateKeyMissing: I cannot read /etc/chef/client.pem, which you told me to use to sign requests!

The intent on passwords it is for people to configure key based authentication (https://www.ssh.com/ssh/key/)
The code mostly tries to keep ssh sessions to a minimum but doesn't get too crazy.
As for the license, I really can't tell you much. I haven't used chef in nearly 10 years at this point. Probably time to deprecate the gem entirely.

Gonna call this the last straw
I've updated the readme to indicate the deprecation. knife-zero looks somewhat more maintained so might hold an answer for you regarding the licensing.
If not, hopefully someone from Chef proper can point you in the right direction.

Probably time to deprecate the gem entirely.

😨
What are you using instead, and why aren't you using Chef/Knife solo anymore?

At my day job I mostly use ansible.
For personal stuff I tend toward https://aws.amazon.com/elasticbeanstalk/ or if I need to run outside AWS I'd probably be looking at a hosted kubernetes option.

Also hope you don't take my response as critical here.
Please know I appreciate the github issue report. But you've brought my attention to this new licensing flow into chef.
This has made it quite clear knife-solo has drifted too far away from current chef workflows over the last decade since I've stopped actively using it.

Well I'm using Chef to provision the nodes with Kubernetes actually.
So I guess you're using Ansible to provision k8s?
We chose Chef because of its flexibility thanks to the Ruby code and for all the available cookbooks.
Ansible looks great, but seemed like the YAML format was limiting the flexibility, does it?

Not k8s, but our internal scheduler. Probably k8s soon ;)
I wouldn't say the YAML's particularly limiting and I find I often just drop to bash+cli tooling anyway (both today in ansible and when I was doing chef).
My only real complaints with ansible have been:

it's oddly slow to do certain tasks (e.g., copy from workstation, user/group management) - so we often just shell what we need to do

it's quite chatty so latency between workstation & host compounds total run time - we drive via rundeck to help avoid this.

if a few hosts out of the fleet are slow to converge, it can be hard to figure out which one and why - but knife-solo is single host anyway, so no comparison there.


MPIJob requires service names for the pods.

The implementation in the mpi-operator repository at mpi-operator link conflicts with the one in the training-operator repository at training-operator link. BTW, considering that both repositories are actively being developed, which one should I follow for using MPIJob?

If you want to install the training-operator and mpi-operator into the same cluster, we need to disable the MPIJob in the training-operator like this: https://github.com/kubeflow/training-operator/issues/1972#issuecomment-2024456058
Also, I would recommend using the MPIJob v2 (mpi-operator) since we are preparing the deprecation and removal of the MPIJob v1. https://github.com/kubeflow/training-operator/issues/1906

/kind support


how to make the python demo to do registration on more points

I run the demo code:
import numpy as np
import teaserpp_python

src = np.random.rand(3, 10000)

scale = 1.2
translation = np.array([[1], [0], [-1]])
rotation = np.array([[0.98370992, 0.17903344, -0.01618098],
                     [-0.04165862, 0.13947877, -0.98934839],
                     [-0.17486954, 0.9739059, 0.14466493]])
dst = scale * np.matmul(rotation, src) + translation

dst[:, 1] += 10
dst[:, 9] += 15

solver_params = teaserpp_python.RobustRegistrationSolver.Params()
solver_params.cbar2 = 1
solver_params.noise_bound = 0.01
solver_params.estimate_scaling = True
solver_params.rotation_estimation_algorithm = (
    teaserpp_python.RobustRegistrationSolver.ROTATION_ESTIMATION_ALGORITHM.GNC_TLS
)
solver_params.rotation_gnc_factor = 1.4
solver_params.rotation_max_iterations = 100
solver_params.rotation_cost_threshold = 1e-12
print("TEASER++ Parameters are:", solver_params)
teaserpp_solver = teaserpp_python.RobustRegistrationSolver(solver_params)

solver = teaserpp_python.RobustRegistrationSolver(solver_params)
solver.solve(src, dst)

solution = solver.getSolution()
print("Solution is:", solution)

The maximum of number of points in the point cloud I can run successfully is 10000. If the number is greater than 10000, the program will be killed automatically. Is it possible to run the code on more points, since I'm doing face point cloud registration? Thanks!

Hi @LKeaning, can you check whether you have run out of memory?
Also, I think you might have a misunderstanding of src and dst. The src and dst are not point clouds. They are corresponding points in the source and destination clouds. Thus, it makes more sense for you to have a learned feature detector to generate features and match them, then pass the correspondences to TEASER++.

OK, I got it. Thanks!

I have exactly the same problem, I think it would be nice if you add more comments to explain this in the python example.


Add shortcut relation syntax feature for DetailView like GridView widget

//GridView
[
'attribute' => 'category',
'value' => 'category.name'
],

With grid view for get relation is work with shortcut feature
https://github.com/yiisoft/yii2/blob/master/framework/grid/GridView.php#L180
But for DetailView is not have feature for this, with configuration above only show string category.name in rendered output
must manually like :
//ListView
[
'attribute' => 'category',
'value' => $model->category->name,
],

https://github.com/yiisoft/yii2/blob/master/framework/widgets/DetailView.php#L39

GridView is designed to work with a set of models, while DetailView is used to represent the only model.
Therefore, implicit value definition makes no sense. Also, it's a major BC break, so this idea can not be accepted.

There's no real sense doing so because you can use $model->category->name directly unlike GridView which requires more code.

you can use $model->category->name directly

You can not if $model->category could be null.
@adiramardiani this feature also exists in DetailView, you just have to use it like this:
'attribute' => 'category.name'

not
'value' => 'category.name'


Enhanced gemma prediction with new flawless logit

Integration of a flawless_logit

Derived by first computing logits for each token in isolation, normalizing these logits, and then subtracting the normalized sum from the baseline_logits.
Encoding each token individually.
Applying a normalization step (final_norm).
Decoding the normalized tokens to get logits.
Normalizing these logits using a softmax function.
Summing the normalized logits.
Subtracting this sum from the gemma2 original logit

By normalizing the logits for each token, the model ensures that the predictions are more balanced and less likely to be dominated by any single token.
Subtracting the normalized sum can help reduce biases and make the logits more representative of the actual distribution of the data.
Based on initial tests conducted on Gemma2 7B, it appears that the performance at inference time has been improved.

The GitHub CLA check doesn't recognize the noreply user @a-googler<EMAIL_ADDRESS>How shall I proceed? Should I use an interactive rebase to edit the author of the related commits?


Replace blst with kilic

📝 Summary
Completely replace blst with kilic (a pure Go implementation of bls12-381).
⛱ Motivation and Context
Switching to a pure Go implementation would simplify a lot.
📚 References
BLS code is heavily inspired from:

https://github.com/protolambda/bls12-381-util/blob/master/signatures.go

Associated with:

https://github.com/flashbots/mev-boost/issues/478

✅ I have run these commands

[x] make lint
[x] make test
[x] go mod tidy

Wow, that's amazing!
Does this mean we wouldn't need a separate portable build too?

Does this mean we wouldn't need a separate portable build too?

Yes, I don't think we will need a separate portable build 👍


Fix broken links

I will merge this and then commit with you as author.

Thanks for the pull request, we added a commit with you as the author.


Onboarding wizard should be optional, with possibility to switch it off

Current Behavior
It's not possible to switch-off onboarding wizard on announced, running hostd instance.
Wallet is currently "underfunded" with less than 5000SC, so wizard  demands funding without a possibility to switch it off.
Expected Behavior
Should be possible to close the wizard window
Steps to Reproduce
No response
Version
v0.2.2-beta.2
What operating system did the problem occur on (e.g. Ubuntu 22.04, macOS 12.0, Windows 11)?
Debian 12
Anything else?
No response

@alexfreska can you change the onboarding wizard to > 0 SC


arm64版本安装失败

两台测试机器，一台商业nas，安装talebook完美运行，目测应该是x86平台，因为cpu是赛扬 J425，启动成功日志：

e2022-05-13T04:56:56.000129601Z [I 220513 04:56:55 main:124] Init library with [/data/books/library/]
{2022-05-13T04:56:56.000344163Z [I 220513 04:56:55 main:125] Init AuthDB  with [sqlite:////data/books/calibre-webserver.db]
v2022-05-13T04:56:56.000454756Z [I 220513 04:56:56 main:126] Init Static  with [/var/www/talebook/webserver/resources]
x2022-05-13T04:56:56.000540446Z [I 220513 04:56:56 main:127] Init HTML    with [/var/www/talebook/webserver/../app/dist]
x2022-05-13T04:56:56.000613506Z [I 220513 04:56:56 main:128] Init Nuxtjs  with [/var/www/talebook/webserver/../app/.env]
T2022-05-13T04:56:56.127850161Z [I 220513 04:56:56 models:41] Bind modles._session()
R2022-05-13T04:56:56.160730197Z [I 220513 04:56:56 main:147] Create tables into DB
e2022-05-13T04:56:58.806242962Z [I 220513 04:56:58 main:124] Init library with [/data/books/library/]
{2022-05-13T04:56:58.806400965Z [I 220513 04:56:58 main:125] Init AuthDB  with [sqlite:////data/books/calibre-webserver.db]
v2022-05-13T04:56:58.806525799Z [I 220513 04:56:58 main:126] Init Static  with [/var/www/talebook/webserver/resources]
x2022-05-13T04:56:58.806625851Z [I 220513 04:56:58 main:127] Init HTML    with [/var/www/talebook/webserver/../app/dist]
x2022-05-13T04:56:58.806709482Z [I 220513 04:56:58 main:128] Init Nuxtjs  with [/var/www/talebook/webserver/../app/.env]
Q2022-05-13T04:56:58.806788847Z [I 220513 04:56:58 main:131] updating configs ...
A2022-05-13T04:56:59.019573732Z [I 220513 04:56:59 main:136] done
82022-05-13T04:57:01.474612185Z Restarting nginx: nginx.
2022-05-13T04:57:08.239941341Z 2022-05-13 04:57:08,239 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
�2022-05-13T04:57:08.254983427Z 2022-05-13 04:57:08,254 INFO Included extra file "/etc/supervisor/conf.d/talebook.conf" during parsing
c2022-05-13T04:57:08.714404344Z 2022-05-13 04:57:08,714 INFO RPC interface 'supervisor' initialized
�2022-05-13T04:57:08.729379400Z 2022-05-13 04:57:08,729 CRIT Server 'unix_http_server' running without any HTTP authentication checking
\2022-05-13T04:57:08.731010433Z 2022-05-13 04:57:08,730 INFO supervisord started with pid 32
[2022-05-13T04:57:09.735276385Z 2022-05-13 04:57:09,734 INFO spawned: 'tornado' with pid 33
Z2022-05-13T04:57:09.745854295Z 2022-05-13 04:57:09,744 INFO spawned: 'nodejs' with pid 34
�2022-05-13T04:57:10.769019276Z 2022-05-13 04:57:10,748 INFO success: tornado entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
�2022-05-13T04:57:10.769381444Z 2022-05-13 04:57:10,769 INFO success: nodejs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

另外一台是N1盒子，arm64架构的，安装后打开<IP_ADDRESS>:8080 显示server error，特意看了下，挂载到/data目录的外部目录已经有成功生成的书库以及测试书籍。所以应该也不是目录权限问题。启动日志：

`
[I 220513 13:12:24 main:124] Init library with [/data/books/library/],
[I 220513 13:12:24 main:125] Init AuthDB  with [sqlite:////data/books/calibre-webserver.db],
[I 220513 13:12:24 main:126] Init Static  with [/var/www/talebook/webserver/resources],
[I 220513 13:12:24 main:127] Init HTML    with [/var/www/talebook/webserver/../app/dist],
[I 220513 13:12:24 main:128] Init Nuxtjs  with [/var/www/talebook/webserver/../app/.env],
[I 220513 13:12:24 models:41] Bind modles._session(),
[I 220513 13:12:24 main:147] Create tables into DB,
[I 220513 13:12:27 main:124] Init library with [/data/books/library/],
[I 220513 13:12:27 main:125] Init AuthDB  with [sqlite:////data/books/calibre-webserver.db],
[I 220513 13:12:27 main:126] Init Static  with [/var/www/talebook/webserver/resources],
[I 220513 13:12:27 main:127] Init HTML    with [/var/www/talebook/webserver/../app/dist],
[I 220513 13:12:27 main:128] Init Nuxtjs  with [/var/www/talebook/webserver/../app/.env],
[I 220513 13:12:27 main:131] updating configs ...,
[I 220513 13:12:27 main:136] done,
Restarting nginx: nginx.,
2022-05-13 13:12:30,462 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.,
2022-05-13 13:12:30,462 INFO Included extra file "/etc/supervisor/conf.d/talebook.conf" during parsing,
2022-05-13 13:12:30,483 INFO RPC interface 'supervisor' initialized,
2022-05-13 13:12:30,484 CRIT Server 'unix_http_server' running without any HTTP authentication checking,
2022-05-13 13:12:30,486 INFO supervisord started with pid 28,
2022-05-13 13:12:31,499 INFO spawned: 'tornado' with pid 29,
2022-05-13 13:12:31,513 INFO spawned: 'nodejs' with pid 30,
2022-05-13 13:12:32,518 INFO success: tornado entered RUNNING state, process has stayed up for > than 1 seconds (startsecs),
2022-05-13 13:12:32,519 INFO success: nodejs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs),
2022-05-13 13:12:47,887 INFO exited: tornado (exit status 1; not expected),
2022-05-13 13:12:48,271 INFO spawned: 'tornado' with pid 54,
2022-05-13 13:12:49,275 INFO success: tornado entered RUNNING state, process has stayed up for > than 1 seconds (startsecs),
2022-05-13 13:13:03,538 INFO exited: tornado (exit status 1; not expected),
2022-05-13 13:13:04,555 INFO spawned: 'tornado' with pid 56,
2022-05-13 13:13:05,559 INFO success: tornado entered RUNNING state, process has stayed up for > than 1 seconds (startsecs),
2022-05-13 13:13:19,648 INFO exited: tornado (exit status 1; not expected),
2022-05-13 13:13:20,708 INFO spawned: 'tornado' with pid 58,
2022-05-13 13:13:21,680 INFO success: tornado entered RUNNING state, process has stayed up for > than 1 seconds (startsecs),'

后续做了一下排除测试，但是问题仍然没有解决：
将成功安装后的那台机器上的talebook停止，然后把生成的数据文件夹拷贝到N1盒子上，重新挂载为/data
启动，仍然显示server error
以上都是使用的talebook/talebook:latest ，换用 talebook/talebook:master 问题依旧。

需要提供下 /data/log/talebook.log

抱歉我昨天的描述不够准确，并且昨天测试失败后没保存，今天重复操作一次，我再补充描述一下操作遇到的问题：
nas有运行着的书库，最近nas出了些问题打算把书库迁移一下，于是在这n1盒子上执行了一次全新安装后停止并删除了外部目录下的/book/library 书库目录，然后把nas上的/book/library目录先用samba的方式挂载到n1的/talebook/book/library然后重新启动容器，就复现了昨天的server error，下面是log文件。
talebook.log

应该是目录结构有变化导致的。我看log里提示没找到书库文件，尝试自动创建（然后失败退出了）
你可以再检查检查挂载的目录的参数，看看目录层级是否跟自动生成的一致

谢谢，今天又重新安装后导入书库一次，先导入library下的所有文件进行覆盖，然后导入上一级目录的calibre数据库文件覆盖，然后启动docker，成功。非常感谢作者的频繁更新。


[WIP][Bugfix] support splitting chunk into multiple TFetchDataResults to avoid failures of thrift serialization

support splitting chunk into multiple TFetchDataResults to avoid failures of thrift serialization;

try to catch std::bad_alloc in different operators

What type of PR is this：

[x] bug
[ ] feature
[x] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #5750 #5804
Problem Summary(Required) ：

The direct reason of these coredumps is that the std::bad_alloc exception is not handled in somewhere, so I add some checks in the related logics.
In addition, I also encountered such errors when testing:
ERROR 1064 (HY000): Couldn't serialize thrift object:
Internal buffer size overflow

This is because thrift has a limit on the size of the mem buffer used during serialization. It can be found in thrift/transport/TBufferTransports.h

In order to avoid serialization failure, I try to split the chunk into multiple TFetchDataResults during MysqlResultWriter::process_chunk, so that the row buffer of a single TFetchDataResult will not exceed 1GB

@Mergifyio backport branch-2.2

please run daily test.

Please ensure no performance regression

@Mergifyio rebase

@Mergifyio backport branch-2.2


Add support for namespaces

The following cannot be parsed:
@namespace "main"

BEGIN {
    x = 2
    print main::x
}

Added in v0.5.0


Migrated Mcp960x from .NET IoT to .NET

Description

migrated device Mcp960x from .NET IoT to .NET
the major changes are the replacement of the System.Convert.ToBoolean method in Mcp960x.cs line 123 to 130 with != 0

Motivation and Context

Resolves nanoFramework/Home#857

How Has This Been Tested?

i tested the changes with an ESP32 board and a MCP9600 breakout board

Screenshots

Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue with code or algorithm)
[x] New feature (non-breaking change which adds functionality to code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[ ] My code follows the code style of this project (only if there are changes in source code).
[ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
[ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
[x] I have read the CONTRIBUTING document.
[ ] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
[ ] I have added new tests to cover my changes.

@mork2020 thanks for tackling this one! 👍🏻
Please check the build log here https://dev.azure.com/nanoframework/IoT.Device/_build/results?buildId=28853&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=d1e88c09-dceb-53c1-5579-19c846f3526a

This device isn't acutally automated imported from the .NET IoT repository because the System.Convert.ToBoolean method is missing in the nanoframework. Should we create a PR for the .NET IoT repository with the changes in Mcp960x.cs line 123 to 130?

System.Convert.ToBoolean method is missing in the nanoframework

Yes, but it's just 1 line to adjust.

Should we create a PR for the .NET IoT repository with the changes in Mcp960x.cs line 123 to 130

No, it's not needed, there are changes between both because of the Span and few other elements like this or enums comparison. Some have much more.


'@objc' class method in extension of subclass of 'SwinjectStoryboard' requires iOS 13.0.0

macOS Monterey 12.4 (21F79)
Xcode Version 13.2.1 (13C100)
inside my podfile Target:
  platform :ios, '10.0'
  pod 'Swinject', '~> 2.6.2'
  pod 'SwinjectStoryboard'

Do I have to target iOS 13 to use this version of Swinject?

I've same issue, anybody has a solution?

for those who struggles with setup method in XCode 14, Either turn off dead strip option, or use this workaround:
__attribute__((constructor)) static void swinjectStoryboardSetupEntry(void);

@interface SwinjectStoryboard (SetUp)

@end

@implementation SwinjectStoryboard (SetUp)

// will never get called from outside, but allows to keep swinjectStoryboardSetupEntry away from stripping
- (void) avoidDeadStripping {
    swinjectStoryboardSetupEntry();
}

@end

__attribute__((constructor)) static void swinjectStoryboardSetupEntry(void) {
    if ([SwinjectStoryboard conformsToProtocol:@protocol(SwinjectStoryboardProtocol)] &&
        [SwinjectStoryboard respondsToSelector:@selector(setup)]) {
        [SwinjectStoryboard performSelector:@selector(setup)];
    }
}

Could you try this code? I think, it is important - using static func (not @objc func)
extension SwinjectStoryboard {
    static func setup() { // <- Static here, instead of @objc
        // ...
    }
}

I have already removed SwinjectStoryboard from my app - I will add it back in on Monday and attempt your change.

Could you try this code? I think, it is important - using static func (not @objc func).
extension SwinjectStoryboard {
    static func setup() { // <- Static here, instead of @objc
        // ...
    }
}

If it works, i create PR for fixing docs.

I use Xcode 14, but I still have the same problem. Should I remove SwinjectStoryboard in my project?

in my case is never entering the library SwinjectStoryboard, like it doesn't exists in my project


Will this still work with Gulf Power Company even though they were sold to another company?

Closing, feel free to reopen if needed


Reproducing results

I am trying to reproduce your results but having some uninspiring signs at the start. I start with your model with all the settings as you stated in the paper except that I use 15% of the train data as validation every epoch and my batch size is 8. The validation loss after 50 epochs or so stops decreasing and there emerges a noticeable gap between train and validation. I trained for more 40 epochs but validation did not fall lower, it is almost twice of that of the train loss.
The model seems to be overfitting to me. A lower batch-size than yours should cause more regularisation so that should not be the issue.
Can you please give me some advice on how to interpret this and if I should keep going? I know i am not using 100% of data like you but 85% should be suboptimial but similar. Can you share your training curves or anything as such?

Don't use the loss (you can use F1, dice or IoU) to measure the performance
in your validation process, because validation loss (BCE, which often
doesn't make much sense in evaluating segmentation results) could be very
big when your model predicting pixels with high confidence, e.g. predict 0
as 0.9 (false positive) or predict 1 as 0.01 (false negative), which often
happens especially around boundaries). For example, you may have a
relatively small validation loss by erronesly predicting 5 foreground
pixels of 10 pixels as 0.49 while getting a bigger validation loss by
predicting only 1 foreground pixel of 10 as 0.  So which model do you
prefer, I think the answer is obvious. If you want to get sharp boundaries,
just ignore the validation "loss" and continue to train. When the network
is trying to produce sharp boundaries, it may even increase the validation
loss because of the "serious" prediction errors of certain pixels but it
will give you better results in terms of region and boundary quality.
On Thu, Jun 11, 2020 at 12:16 PM Rahul Deora<EMAIL_ADDRESS>wrote:

I am trying to reproduce your results but having some uninspiring signs at
the start. I start with your model with all the settings as you stated in
the paper but use 15% of the train data as validation every epoch. The
validation loss after 50 epochs or so stops decreasing and there emerges a
noticeable gap between train and validation. I trained for more 40 epochs
but validation did not fall lower, it is almost twice of that of the train
loss.
Can you please give me some advice on how to interpret this and if I
should keep going? I know i am not using 100% of data like you but 85%
should be suboptimial but similar. Can you share your training curves or
anything as such?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NathanUA/U-2-Net/issues/34, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORKIBIHN3DCVIKR5A4DRWENP5ANCNFSM4N3UU55A
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

Thanks for your reply. Ah yes, I was aware of this property of cross-entropy but completely over looked it this time as usually I usually use dice for train and validation loss.
You stated that the model will try to produce sharp boundaries when training for long, but if we are only using cross-entropy then how is this encouraged as sharpness may be penalised heavily by cross-entropy and the model may learn much softer boundaries. Can you give some intution as to how you can make this observation? How will it produce something that it's loss may not encourage?
You pointed out something important that cross-entropy may not be the best due to the way it penalised things very harshly. When our model is fine-tuning itself and coming up with sharper edges, won't the strong gradient from the cross-entropy at some false points disturb it's learning greatly? By default in pytorch, the cross-entropy loss is clipped at 100 but even this may be large enough to send bad gradients back. I guess this is why it is used with conjugation with dice. Can you give your views on this?

When we talk about the drawbacks or possible problems of losses, we need to
take the prerequisites into consideration. For example, BCE usually gives
blurred boundaries when your dataset is relatively big and hard to be
fitted as well as the fitting capability is not very strong (which usually
happens in our applications). If you only have a simple dataset, I think
most of the networks and losses can give you a very shape and clear
boundaries with high accuracy, such as the saturated performance on MNIST
dataset. In addition, the prediction qualities are determined by both
NETWORK ARCHITECTURE and LOSSES. When your network architecture is not that
powerful, then a proper loss will boost your boundary and region qualities.
But if your network is relatively very powerful in capturing both local and
global information, the influences of losses may not be that significant
(although different losses may result different predictions, but they are
limited to certain types of images not the comprehensive evaluation
measures of the whole dataset). The strong gradient of cross-entropy are
absolutely disturbing the learning process especially there are inaccurate
labeling pixels, but the problem is what is the magnitude of disturbing.
Currently, we are not able to quantize the influence.According to our
experiences, fortunately, this problem may slow the training speed down but
not gonna collapse the whole training process. Actually, this can be a good
research direction.
On Fri, Jun 12, 2020 at 5:04 AM Rahul Deora<EMAIL_ADDRESS>wrote:

Thanks for your reply. Ah yes, I was aware of this property of
cross-entropy but completely over looked it this time as usually I usually
use dice for train and validation loss.
You stated that the model will try to produce sharp boundaries when
training for long, but if we are only using cross-entropy then how is this
encouraged as sharpness may be penalised heavily by cross-entropy and the
model may learn much softer boundaries. Can you give some intution as to
how you can make this observation? How will it produce something that it's
loss may not encourage?
You pointed out something important that cross-entropy may not be the best
due to the way it penalised things very harshly. When our model is
fine-tuning itself and coming up with sharper edges, won't the strong
gradient from the cross-entropy at some false points disturb it's learning
greatly? By default in pytorch, the cross-entropy loss is clipped at 100
but even this may be large enough to send bad gradients back. I guess this
is why it is used with conjugation with dice. Can you give your views on
this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NathanUA/U-2-Net/issues/34#issuecomment-643212572,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORJBFHJKGO355H2DKOLRWIDTBANCNFSM4N3UU55A
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

Thanks, I agree your network architecture does provide a useful learning structure for fine details. Can you think of these stacked unets as a super-resolving the features at each level?
I wanted to ask on the train loss, if my model has stagnant training loss for >50 epochs should I continue the training?

We can’ t claim that our U^2-Net is a super-resolving for any tasks because we didn’t tested on datasets other than SOD (We did test on some medical binary image segmentation tasks unofficially. It is away better than UNet.).
The loss visually looks stagnant after tens of epochs. But It is still decreasing with very slow speed. You can continue to train and try to plot the log(loss) to observe the trend.

On Jun 16, 2020, at 12:01 AM, Rahul Deora<EMAIL_ADDRESS>wrote:
Thanks, I agree your network architecture does provide a useful learning structure for fine details. Can you think of these stacked unets as a super-resolving the features at each level?
I wanted to ask on the train loss, if my model has stagnant training loss for >50 epochs should I continue the training?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/NathanUA/U-2-Net/issues/34#issuecomment-644549649, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSGORLMEKVUIVJGM76AYTDRW4DFPANCNFSM4N3UU55A.

Hey I am notching that the is a big gap in evaluation metrics in the train and test set. I have attached a screen shot below.

Does the mean the model is overfitting or the DUTS Test distribution is different from the train?

Usually, there are always gaps between train and test set. The gap partially depends on their distributions. If the training accuracy is increasing while the validation/testing accuracy is decreasing, then we can say it is probably overfitting. But in your plots, both training and testing accuracy are increasing. There is no evidences to say that is overfitting.

On Jun 25, 2020, at 6:29 AM, Rahul Deora<EMAIL_ADDRESS>wrote:
Hey I am notching that the is a big gap in evaluation metrics in the train and test set. I have attached a screen shot below.
https://user-images.githubusercontent.com/35393972/85719881-7e524480-b70d-11ea-8557-7a7a9be98023.png
Does the mean the model is overfitting or the DUTS Test distribution is different from the train?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/NathanUA/U-2-Net/issues/34#issuecomment-649510660, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSGOROHTPUNRYNDOFO4QLLRYM7KLANCNFSM4N3UU55A.


Set Bandwith limit? If so, Personalize predownloading when song is at X time to finish.

See tittle

This still doesn't make much sense.  Overall, songs still have to be downloaded to play.  Delaying that doesn't really do anything.  If you have issues with limited bandwidth you probably shouldn't be running a musicbot on that connection.


ACR TASK RUN FAILS - PRIVATE GITHUB PAT FAILS AUTHENTICATION

[Enter feedback here]
$ az acr task run --registry $ACR_NAME --name myService
Queued a run with ID: cje
Waiting for an agent...
2021/06/05 06:26:48 Downloading source code...
Run ID: cje failed after 3s. Error: failed to download context. Please check if the URL is incorrect. If it has credentials, please check if they are expired
tried testing with below username and PAT token and it works fine
git clone<EMAIL_ADDRESS>
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5f246d4b-b6bc-3058-ebf8-f7964bdf28b9
Version Independent ID: 6a0db8fa-aa31-258b-7fbe-21482c7f81c6
Content: Tutorial - Build image on code commit - Azure Container Registry
Content Source: articles/container-registry/container-registry-tutorial-build-task.md
Service: container-registry
GitHub Login: @dlepow
Microsoft Alias: danlep

@ramganesh19
Thanks for your feedback! We will investigate and update as appropriate.

Can you please elaborate your scenario? Are you following the complete tutorial step by step and then seeing an error at this step: https://docs.microsoft.com/en-us/azure/container-registry/container-registry-tutorial-build-task#test-the-build-task?

Is there an update?

We will now close this issue. Feel free to share the details when you are ready and please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Streaming Gateway

[x] update pipeline node descriptor - Api-Server - (@golanha)
[x] add api for get gateways/jobId - Api-Server - (@golanha)
[x] add new collection - mongo.db (@golanha)
[x] create, delete and validate gateway using Mongo on start/stop pipeline - Api-Server - (@NassiHarel)
[x] make gateway kind stateful by default - Api-Server - (@NassiHarel)
[x] create and delete gateway service+ingress on start/stop pipeline - Algorithm-Operator - (@NassiHarel)
[x] new lib that includes the wrapper with our stateful algorithm and rest server - (@NassiHarel)
[x] add cleaner for gateways - (@golanha)
[ ] Implement UI, add swagger link - (@?)

https://docs.google.com/presentation/d/1GklGHKuofoadK0wbVafsf4HO-FY7hbnUQlW-M7Fs_28/edit?usp=sharing
{
    "name": "gateway-test",
    "kind":"stream",
    "nodes": [
        {
            "nodeName": "A",
            "kind": "gateway",
            "spec": {
               "name": "images-gateway",
               "description": "images streaming source",
               "cpu": 1,
               "mem": "1Gi"
            }
        },
        {
            "nodeName": "B",
            "algorithmName": "green-alg",
            "input": [ {"delay": 0.01}]
        }
    ],
     "streaming": {
        "flows": {
            "analyze": "A >> B"
        }
    }
}

tested on
systemVersion: "v2.1.88",
fullSystemVersion: "v2.1.88-1631616917808",


Rethink generated namespace/interface design for TypeScript

The current generated namespace/interface design for TypeScript for a User GraphQL type looks roughly the following:
export namespace UserResolvers {
  export const defaultResolvers = {
    id: (parent: User) => parent.id,
    // more fields backed by `User` model ...
  };

  export type IdResolver = (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;

  // more resolver types...

  export interface Type {
    id: (
      parent: User,
      args: {},
      ctx: Context,
      info: GraphQLResolveInfo
    ) => string | Promise<string>;

    // more resolver definitions
  }

  export abstract class Class implements Type {
    id = (
      parent: User,
      args: {},
      ctx: Context,
      info: GraphQLResolveInfo
    ): string | Promise<string> => parent.id

    // more fields backed by `User` model ...
  }

}

In the case of a type-mismatch error, the current error messages aren't very helpful as seen below. In particular the message ... is not assignable to type 'Type' should be more concise by us picking a better name than Type.

Naive suggestion, but just prefixes?
export const UserResolverDefaults = {
  id: (parent: User) => parent.id,
};

export type UserIdFieldResolver = (
  parent: User,
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | Promise<string>;

export interface UserResolver {
  id: UserIdFieldResolver;
}

Update
We'll follow the same conventions as for flow, almost like you suggested Stephen, but with underscores to replace namespaces. eg:
export const User_defaultResolvers = {
  id: (parent: User) => parent.id,
};

export type User_Id_Resolver = (
  parent: User,
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | Promise<string>;

export interface User_Resolver {
  id: (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;
}

export interface Resolvers {
  User: User_Resolvers;
}

Hi all,
As an alternative approach to the type name prefix, here is another option.
We generate the following folder structure:
graphqlgen
├── index.ts
└── User.ts
└── ...

Where each GraphQL type is its own file that exports its Typescript type and resolver information. For example:
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.

import { GraphQLResolveInfo } from 'graphql'
import { Context } from './context'

export const defaultResolvers = {}

export type VersionResolver = (
  parent: {},
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | null | Promise<string | null>

export type MyFieldResolver = (
  parent: {},
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | Promise<string>

export interface Type {
  version: (
    parent: {},
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | null | Promise<string | null>

  myField: (
    parent: {},
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>
}

and then imported in the resolvers as:
// Note the file is imported directly by type name
import { Type, defaultResolvers } from '../generated/graphqlgen/Query'

export const Query: Type = {
  ...defaultResolvers,
  version: parent => null
}

or
import * as QueryResolvers from '../generated/graphqlgen/Query'

export const Query: QueryResolvers.Type = {
  ...QueryResolvers.defaultResolvers,
  version: parent => null
}

As a follow up step (which can be done in a separate PR),  I think we should just export the resolver map as the default export for resolver type files, which would simplify how the resolvers are imported:
import { Type, defaultResolvers } from '../generated/graphqlgen/Query'

const Query: Type = {
  ...defaultResolvers,
  version: parent => null,
  myField: parent => ''
}

export default Query

// and in resolvers/index.ts
import Query from './Query'

const resolvers: Resolvers = {
  Query
}

export default resolvers

Definitely open for feedback — but our team is available to create the PR for this 🙂
(cc @schickling)

Peanut gallery: I really like the file-per-resolver output. Bonus points if I had schema/dir1/Foo.graphql schema/dir1/Bar.graphql and they ended up as generated/dir1/Foo.ts generated/dir2/Bar.ts, e.g. the folder structure of our input graphql files would be mirrored in the output resolver types.

This is a great suggestion @mfix22. I actually think that in combination with resolver scaffolding, splitting up the graphqlgen.ts file into multiple files makes sense and leads to cleaner generated and userland code.
@stephenh that's a great point. Let's consider #201 while looking into this.

I use babel to transform the TS code. The current structure uses namespaces, but babel doesn't support them. So it is one more argument to move away from namespaces :)
@stephenh Do you need any help?

FWIW bikeshedding names a bit, but even with the per-file outputs, I wouldn't mind/would generally prefer prefix-based type names.
E.g. for a given Foo graphql type, in its graphqlgen-generated foo.ts file, have a FooType (or FooResolverType, see below) type (which is the Type in the above example), export const fooDefaultResolvers for the defaults, etc.
The short/prefix-less names like Type are admittedly succinct, but I don't like ending up with ~100-200-500 some types all in the same project that are all called Type. When I use an IDE and open "find by type" then type Type, I'm going to get a ton of results. Same thing if I type export const FooResolver: Type<control-space> when I'm implementing the Foo resolver (to have the IDE auto-import it for me), I'm going to get a ton of suggestions. It is admittedly more chars, but export const FooResolver: Foo<control-space> will be much more helpful, in terms of auto-complete + find-by-type navigation.
Granted, on the import side of things import * as QueryResolvers from '../generated/graphqlgen/Query' is a potentially nice way to leverage * as ... as a qualifier, but IIRC most IDEs when they auto-complete the import are going to use the import { Type } from path version. And it doesn't help with the find-by-type navigation.
So, my $0.02, is to still prefer type-prefixed names; granted, this is biased by medium-to-large schemas which can have a different ROI of "few more chars here/there to get better tooling/IDE experience". And also personal preference.
(I am curious what the canonical names should be, e.g. we have both an implementation const, export const FooResolver = { // application code here } as well as a type FooResolver = { // type defintion here } declaration that can both somewhat claim to be "foo resolvers". So, even without the prefix/no-prefix preference, it's nice to have different names/terminology for those, e.g. (perhaps obviously) one is the resolver implementation vs. the other is the graphqlgen'd contract definition. Which leads me to thinking the resolver implementation should be const FooResolver = { ... } and the type contract is, well, a type, so (to avoid the IMO anti-pattern of using the same name for different things), it'd be type FooResolverType. Which leads to the boilerplate-but-canonical const FooResolver: FooResolverType = { ... } to get type-checking/inference to kick in. I admit it's not the sexiest, but its clear/consistent/explicit, which as you can tell from ^ is where I generally lean on these things. :-))

Thanks a lot for sharing your thoughts on this @stephenh. I completely see your points however I think in combination with a good scaffolding workflow this actually won't be an issue assuming you'd rarely write Type<control-space> yourself but mostly rely on the auto-scaffolded resolver files.
Here are two proposals:
1. Multi-file output
Output:
.
└── generated
    └── graphqlgen
        ├── Post.ts
        ├── User.ts
        └── index.ts

export const defaultResolvers = {
  id: (parent: User) => parent.id,
  // more fields backed by `User` model ...
};

export type id = (
  parent: User,
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | Promise<string>;

// more resolver types...

export interface Interface {
  id: (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;

  // more resolver definitions
}

export abstract class Class implements Interface {
  id = (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ): string | Promise<string> => parent.id

  // more fields backed by `User` model ...
}

2. Prefixed output
Output:
.
└── generated
    └── graphqlgen.ts

export const User_defaultResolvers = {
  id: (parent: User) => parent.id,
  // more fields backed by `User` model ...
};

export type User_id = (
  parent: User,
  args: {},
  ctx: Context,
  info: GraphQLResolveInfo
) => string | Promise<string>;

// more resolver types...

export interface User_Interface {
  id: (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;

  // more resolver definitions
}

export abstract class User_Class implements User_Interface {
  id = (
    parent: User,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ): string | Promise<string> => parent.id

  // more fields backed by `User` model ...
}

Right now I'm leaning towards (1) but still open to go with (2) as well.
Also note that I'm proposing to rename Type with Interface. With this change I'm rather focussing on the TypeScript/Flow terminology of interfaces vs classes instead of GraphQL types, enums etc.

I'd toss my hat in for (1) as well if we're aiming for auto-scaffolded workflows 👍

Having interfaces called Interface and classes called Class is weird to me, but for sure +1 for per-file either way.
E.g. not a huge fan of extends Class in:
import { Class } from<EMAIL_ADDRESS>class UserResolver extends Class {
   ...
}

Historically I've seen things like class UserResolver extends UserBaseResolver or class UserResolver extends UserResolverCodegen or class UserUser extends UserResolverDefaults.
But might just be repeating my same point but with a slightly different example, so np. :-)
Also nit-picky, but if generated/graphqlgen/User.ts doesn't have a User type in it, might name it user.ts to denote it's the collection of user types and not the file-with-the-User type (granted, kind of a grey area here).

Update
After discussing with @schickling, here's the syntax we came up with (assuming we're splitting the graphqlgen.ts file):
Given the following GraphQL schema:
type User {
 ...
}

type Query {
  user(id: String!): User
}

The types for Query would be put into a Query.ts file and would contain the following types:
import { Context, User } from '../../types'
import { GraphQLResolveInfo } from 'graphql'

export const defaultResolvers = {}

export type ArgsUser = {
  id: string
}

export type IUserResolver = (
  parent: never,
  args: ArgsUser,
  ctx: Context,
  info: GraphQLResolveInfo,
) => User | null | Promise<User | null>

export interface IQuery {
  user: (
    parent: never,
    args: ArgsUser,
    ctx: Context,
    info: GraphQLResolveInfo,
  ) => User | null | Promise<User | null>
}

export abstract class BaseQuery implements IQuery {
  abstract user: (
    parent: never,
    args: ArgsUser,
    ctx: Context,
    info: GraphQLResolveInfo,
  ) => User | null | Promise<User | null>
}

What do you think?

@Weakky I'm fine with this format. To make sure I'm understanding it correctly, here's another example.
Given the GraphQL schema:
type Post {
  id: String!
  views: Int
  author: User!
}

type User {
  # ...
}

The types for Post would be put into a Post.ts file and would contain the following:
import { Context, User } from '../../types'
import { GraphQLResolveInfo } from 'graphql'

export const defaultResolvers = {
  id: (parent: Post) => parent.id,
  views: (parent: Post) => parent.views
};

export type IdResolver = (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;

export type ViewsResolver = (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => number | null | Promise<number | null>;

export type AuthorResolver = (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => User | Promise<User>;

export interface IPost {
  id: (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => string | Promise<string>;

  views: (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => number | null | Promise<number | null>;

  author: (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => User | Promise<User>;
}

export abstract class BasePost implements IPost {
  id: (parent: Post) => parent.id
  views: (parent: Post) => parent.views

  abstract author: (
    parent: Post,
    args: {},
    ctx: Context,
    info: GraphQLResolveInfo
  ) => User | Promise<User>;
}

Does this all look correct? 🙂

FYI: one unfortunate use case that I just encountered with namespacing is:
// Given this type (which is for a query predicate generated by prisma)
export type SomethingWhereInput = {
  +AND?: SomethingWhereInput[],
  +OR?: SomethingWhereInput[],
  +NOT?: SomethingWhereInput[],
  +id?: string,
  +id_not?: string,
  // ...
};

// after applying a namespace it results in
export interface FileNamespace_SomethingWhereInput {
  AND: SomethingWhereInput[];
  OR: SomethingWhereInput[];
  NOT: SomethingWhereInput[];
  id: string | null;
  id_not: string | null;
  // ...
};

Which causes flow to fail resolving the name SomethingWhereInput because it's been renamed to FileNamespace_SomethingWhereInput.

Still no update ?


bug(Dialog): Dialog don't follow M3 specs

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
It seems like dialog background is not following M3 sepcs-> should be surface-container-high but it's not.
(if it should not follow - can we know the reason why?)
Reproduction
StackBlitz link:
Steps to reproduce:
1.
2.
Expected Behavior
background is set to surface-container-high
Actual Behavior
background is of different color (much more lighter)
Environment

Angular: 18
CDK/Material:18
Browser(s): chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOs

We're taking the value directly from the Material team. The value is defined here: https://github.com/material-components/material-components-web/blob/master/packages/mdc-tokens/v0_161/_md-comp-dialog.scss#L66C6-L66C15

The values come directly from the Material Design team so the assumption is that they're correct. It's possible that the page with the spec is out of date.

@crisbeto ...or the page with tokens (scss) ...?   :)
(as components in Figma follow docs as well-> dialog bg is set to surface-high)
...I guess I would need to contact  MD team directly to get that resolve - cause at this point devs/designers don't know what to follow...


chore: add setFullScreen to component's ref and deprecate presentFullscreenPlayer & dismissFullscreenPlayer

…eenPlayer & dismissFullscreenPlayer

Summary
I added setFullScreen to handle fullScreen mode without controls.
Motivation
The user can use it to handle fullscreen mode with custom controls, specifically refactoring the codebase and fix this issue
Changes
I added a function called setFullScreen and deprecated the functions presentFullscreenPlayer and dismissFullscreenPlayer.
Test plan

I think we can implement full-screen mode with just this function. We don't need two functions to handle it. Additionally, if we remove these functions, we will eliminate an unnecessary useState from the video component, which prevents re-rendering. Specifically, we will also fix another issue in the library, #3732. The main point is that we handle this logic with just one function. What is your opinion?

@freeboub what do you think about my points?

@seyedmostafahasani We cannot change api on V6.X, if we integrate such api change, we will need to bump to V7 and all apps using the package will have to upgrade their integration. as the team have a lot of api changes in mind, we try to keep api interoperability as much as possible.
Here is a sample:
https://github.com/TheWidlarzGroup/react-native-video/pull/3867/files#diff-e2131d0631cdc1ddf0ba36827a27b86adf8e5b8ed162a280a53c6219f4df5a5f
I just move few props from the root of video to the source object, to avoid upgrade issue, I comment in doc that the old api is deprecated, and point to the new way to proceed.
It will allow easy upgrade for apps, we keep in mind that old api (deprecated) can be removed on V7.
Can you please do the same thing please ?
I think merging the 2 apis make sense, but we need to keep compatibility of old api some time

@seyedmostafahasani We cannot change api on V6.X, if we integrate such api change, we will need to bump to V7 and all apps using the package will have to upgrade their integration. as the team have a lot of api changes in mind, we try to keep api interoperability as much as possible.
Here is a sample: https://github.com/TheWidlarzGroup/react-native-video/pull/3867/files#diff-e2131d0631cdc1ddf0ba36827a27b86adf8e5b8ed162a280a53c6219f4df5a5f
I just move few props from the root of video to the source object, to avoid upgrade issue, I comment in doc that the old api is deprecated, and point to the new way to proceed.
It will allow easy upgrade for apps, we keep in mind that old api (deprecated) can be removed on V7. Can you please do the same thing please ? I think merging the 2 apis make sense, but we need to keep compatibility of old api some time

I completely agree with you about deprecating the old API and planning to remove it in V7. I will add deprecation notices for both presentFullscreenPlayer and dismissFullscreenPlayer. This approach ensures backward compatibility while allowing a smooth transition for users until V7, where we can fully remove the old API.

@seyedmostafahasani Thank you for the fix,
last remaining point, can you please remove deprecated functions in the sample please ? :)
following code shall be simplified:
  toggleDecoration() {
    this.setState({decoration: !this.state.decoration});
    if (this.state.decoration) {
      this.video?.dismissFullscreenPlayer();
    } else {
      this.video?.presentFullscreenPlayer();
    }
  }

@freeboub I removed the controls condition in the updateFullScreenButtonVisibility function. When the user sets controls={false}, the fullScreen button disappears in fullScreen mode, requiring the user to press the physical back button to exit fullScreen mode, which may cause confusion. What is your opinion?

I don't use native controls and fullscreen in this library, but I'm not sure if this breaking change is really necessary in this library.
It's not a duplicate function, so it doesn't have much effect on user DX as long as user pass an argument. Also, It's easy to remove useState and keep the existing API, so why we make breaking change?

It is not a breaking change as previous api are still working! It is just a preparation for api clean up ! (Let say for V7)

@freeboub
oh..then I misunderstood.
(If possible, it would be nice to have something like a new-arch only prop that works synchronously. ref.fullscreen = true)

Yes I agree, Fullscreen management is one of the next challenge I think...


Added andFilterHavingCompare

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Fixed issues
-

Won't make it into 2.0.


Failed to load the native TensorFlow runtime

Exception has occurred: ImportError
Traceback (most recent call last):   File "C:\Users\moham\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in      from tensorflow.python.pywrap_tensorflow_internal import *   File "C:\Users\moham\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in      _pywrap_tensorflow_internal = swig_import_helper()   File "C:\Users\moham\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper     _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)   File "C:\Users\moham\AppData\Local\Programs\Python\Python37\lib\imp.py", line 242, in load_module     return load_dynamic(name, filename, file)   File "C:\Users\moham\AppData\Local\Programs\Python\Python37\lib\imp.py", line 342, in load_dynamic     return _load(spec) ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.   Failed to load the native TensorFlow runtime.  See https://www.tensorflow.org/install/errors  for some common reasons and solutions.  Include the entire stack trace above this error message when asking for help.
File "D:\Dropbox\Ph.D\AMIR Ph.D\Python\Projects\Test_project\Machine_learning\Deep_learning\TensorFlowDL\First_example_TF.py", line 1, in
import tensorflow as ts

Please provide details about what platform you are using (operating system, architecture). Also include your TensorFlow version. Also, did you compile from source or install a binary?
Make sure you also include the exact command if possible to produce the output included in your test case. If you are unclear what to include see the issue template displayed in the Github new issue template.
We ask for this in the issue submission template, because it is really difficult to help without that information. Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


boards/x86: scripts: unset CFLAGS when running build_grub.sh

On Clear Linux, the CFLAGS is set and defines a number of aggressive checks and
optimizations. This causes a build failure when generating a GRUB2 boot loader
image using the 'build_grub.sh' script.
Unsetting it within the script allows it to proceed and successfully build a
functional GRUB2 boot loader image to be used with Zephyr.
Fixes: #14289
Signed-off-by: Geoffroy Van Cutsem<EMAIL_ADDRESS>

I have tested that this generates a functional grub_x86_64.efi on Fedora 29, Ubuntu 18.04 and Clear Linux by booting up Zephyr on UP2.
I have yet to test that this grub is functional on ACRN (using OVMF.fd) but my set-up is currently broken (unrelated to this patch).

Codecov Report

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

@@           Coverage Diff           @@
##           master   #15016   +/-   ##
=======================================
  Coverage   52.92%   52.92%
=======================================
  Files         309      309
  Lines       45268    45268
  Branches    10451    10451
=======================================
  Hits        23956    23956
  Misses      16544    16544
  Partials     4768     4768

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 d3bb3cf...d78ba64. Read the comment docs.


Simplify & clean up viewers

Simplify the viewer api by dropping the macros and requiring users to quote the :render-fn. This should make it explicit and less magic as to what part of the viewers is evaluated on the JVM and what is sent over the wire to run in the browser.

@zampino @philomates if either of you want to look over this before I merge it, please do.


Regenerating Photon causes API in development to crash

With a postinstall hook, prisma generate runs on all yarn add operations, this causes an API in development with hot reload to fail for a few moments when the generation is happening as it cleans the node_modules up.
Related issue: https://github.com/prisma/photonjs/issues/88
More on this context:

I was using ts-node-dev at the time and it totally crashed (had to re-run.)
Now switched to Babel + Nodemon, the same thing happens and I have to re-run.

A potential solution to this could be to generate photon into a temporary directory and then swapping that in the main directory atomically using symlink.
Problems with this approach (not-exhaustive):

Might not work on windows
Might not be registered as a change by editors (for auto-completion etc)

Reproduction: https://github.com/divyendu-test/photonjs-234
GIF of reproduction: https://divyendu.s3-eu-west-1.amazonaws.com/photonjs-234-2.gif
The solution I proposed earlier won't work as this is happening while yarn pruning and not prisma2 generate.

This has been fixed by introducing the facade package 🎉


Support async/await

❤ Slapp! Though I'd heart it more if I could use some ES7 bits, particularly async/await. Is there any way that you can think of to offer Babel with Slapp?

Glad you ❤  Slapp!  Definitely hear you on that, we do want to make sure we don't force a build step on people in order to use this module though.  I believe async/await will be part of node version 8, schedule to be released in a few months, so we could re-visit it then.  We'd like to make sure Slapp runs on an LTS version of node, so waiting for native async/await support in v8.0 seems like the right path.
On a similar note, we're of the opinion that a callback err-first style is preferable to promises.  That's just our cup of tea, we find it less error prone and easier to maintain.  I believe we would need to support promises if we switched to async/await, but it could be something we consider if that's how the language usage trends.  We'd like to avoid supporting both for the sake of simplicity and maintainability.

Thanks for the detailed reply @selfcontained . It looks like many libraries (e.g. superagent ) allow you to use either callbacks or promises (and by extension, async/await, which, as you rightly say, depend on promises) – but I can understand your rational about not wanting to do so until it's in an LTS version of Node.

Can we revisit this now?


⚠ Samsung has degraded performance

In af41081, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2335 ms

Resolved: Samsung performance has improved in fb7b391.


Broken link on wiki page

https://github.com/ground-context/ground/wiki - the API documentation link on this page appears to be broken.

Oops -- thanks for the catch. Fixed!


[Bug Report] Table element is causing many violation warnings in Google Chrome

Element UI version
2.13.0
OS/Browsers version
Mac OS X Catalina / Google Chrome 80
Vue version
2.6.11
Reproduction Link
https://jsfiddle.net/y70wmpv8/1/
Steps to reproduce
Just create a basic table and you will see an issue like this in the console:
[Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

What is Expected?
There is no browser violation.
What is actually happening?
There is a browser violation.

Agree, this error is so old. Is it really so hard to fix it? 🧐


[core] delay loading of NO_PROXY

until when ProxyPolicy is created
Address #14873

If looking good I will port this to core-rest-pipeline


WebSession: more user-friendly /yourgroups messages

Originally on 2010-05-04
The output messages of /yourgroups subsystem should be prettified.
Currently, when you try to edit a group that you don't have rights for
(via URL mangling), the system says:
Error: Sorry there was an error with the database.
<type 'exceptions.TypeError'> 'dict' object is not callable

which is misleading.  Moreover, invenio.err is unnecessarily
filled with ERR_WEBSESSION_DB_ERROR alarms.
The UI should report something more user friendly, like:
Error: Sorry, you don't have rights to edit this user group.

or:
Error: Sorry, group foo does not exist.

The database errors should be reported only when there are real
database problems.

Solved via invenio-groups.


Small bug fixes

add line to replace NaN with null when we encode into json since not a number cannot be serialized into json
add handling for encoding UUID's into json
use custom json encoder for all encoding

Superseded by #128


Issue with Method 1: Restart to normal (Windows10) login screen

Hello!
I tried Method 1, download and mounted the Iso, Initiate update, then in the Blue "Installing Windows Server - Your PC will restart several times (...)" Goes until 60 something percent complete, then restarts but to the it's the usual login screen. I login to my usual Windows10, no further messages.
Has anyone encountered a similar behaviour? How can I know what's causing the update to fail?
Thanks!

hi, so this means that the installation starts, runs up to about 60%, and then essentially stops, so the system continues to boot into your Windows 10 without rolling back or making any other changes?

Exactly that, no changes that I'm aware of.
When I used the ISO downloader I selected Windows 11 and English International, Release, Edition and architecture had no options to choose from (24H2, W11 Home/Pro/Edu, x64). ISO gets mounted to D: . During Windows Server Setup in the Get updates, drivers and optional features, I've tried both Download updates (recommended) and Not right now options. After that, Keep files, settings and apps.
I don't know if there are any logs I can look at or share with you.

Well well well, I tried it once more with the ISO I had already downloaded and when I came back to it bang! Windows 11 baby. I don't think I did anything different, besides maybe leaving it alone for longer.


description & keywords env var not display content in markup #0.4.0

The app.description and app.keywords content from ./config/env/defaults.js is not being rendered in the markup.
Have tried to workout why this, however I cant seam to work it out.

this seems very relevant and related to https://github.com/meanjs/mean/pull/536 so maybe we should close #536 and instead submit a new PR on the same topic for 0.4.0 branch

@lukekhamilton @lirantal
I actually just got an email this morning about this and the correct solution from @jdalton. I will submit the pull request shortly.

Confirmed #665 fixes this can be closed once merged. :)

great, thanks @codydaig and @lukekhamilton


What to do with pert_ids with conflicting information?

I am following up #7 with an additional notebook to create a simple, basic mapping file with only a handful of columns. This includes creating a pert_id column, which is a 13 character subset of the full 22 character broad_id column. The additional 9 characters contain batch info about the compound. More details about this procedure is here: https://github.com/broadinstitute/lincs-cell-painting/issues/5#issuecomment-601917321
In generating this data, I noticed that 16 perturbations (by pert_id) contain conflicting information (by pert_iname, moa, or target). I paste all of the conflicting info below:

pert_id
pert_iname
moa
target

0
BRD-A03204438
allopregnanolone
GABA receptor positive allosteric modulator
GABRA1

1
BRD-A03204438
pregnanolone
GABA receptor positive allosteric modulator
nan

2
BRD-K05674516
sofosbuvir
RNA polymerase inhibitor
nan

3
BRD-K05674516
PSI-7976
HCV inhibitor
nan

4
BRD-K17498618
betaxolol
adrenergic receptor antagonist
ADRB1

5
BRD-K17498618
cisatracurium
acetylcholine receptor antagonist
CHRNA2

6
BRD-K20672254
pyrantel-tartrate
acetylcholine receptor agonist
CHRNA1

7
BRD-K20672254
pyrantel-pamoate
neuromuscular blocker
nan

8
BRD-K25650355
physostigmine-salicylate
acetylcholinesterase inhibitor
nan

9
BRD-K25650355
physostigmine
cholinesterase inhibitor
ACHE

10
BRD-K29713308
mebhydrolin
antihistamine
nan

11
BRD-K29713308
mebhydroline-1,5-naphtalenedisulfonate
nan
nan

12
BRD-K35952844
calcium-gluceptate
nan
nan

13
BRD-K35952844
sodium-glucoheptonate
nan
nan

14
BRD-K41260949
valproic-acid
HDAC inhibitor
ABAT

15
BRD-K41260949
divalproex-sodium
benzodiazepine receptor agonist
ALDH5A1

16
BRD-K66035042
mannitol-D
diuretic
nan

17
BRD-K66035042
sorbitol
mucolytic agent
nan

18
BRD-K71013094
neomycin-sulfate
bacterial 30S ribosomal subunit inhibitor
nan

19
BRD-K71013094
neomycin
bacterial 30S ribosomal subunit inhibitor
CXCR4

20
BRD-K79450420
INCB-024360
indoleamine 2,3-dioxygenase inhibitor
IDO1

21
BRD-K79450420
epacadostat
indoleamine 2,3-dioxygenase inhibitor
IDO1

22
BRD-K87202646
isoniazid
FABI inhibitor
CYP1A2

23
BRD-K87202646
pasiniazid
cyclooxygenase inhibitor
nan

24
BRD-K93632104
salicylic-acid
cyclooxygenase inhibitor
AKR1C1

25
BRD-K93632104
sodium-salicylate
prostanoid receptor antagonist
ASIC3

26
BRD-K97799481
theophylline
adenosine receptor antagonist
nan

27
BRD-K97799481
aminophylline
adenosine receptor antagonist
ADORA1

28
BRD-K97799481
oxtriphylline
adenosine receptor antagonist
ADORA1

29
BRD-M55114534
pyrvinium
androgen receptor antagonist
nan

30
BRD-M55114534
pyrvinium-pamoate
androgen receptor antagonist
AR

It looks like these 16 compounds will need to be resolved manually.
I will use the following strategy to reconcile this list.

For pert_id with different pert_iname, look them up and select the most common pert_iname.
For compounds with one missing pert_iname, use the pert_iname entry with information. 3. Apply the same logic for compounds with different/missing targets.
Apply the same logic for compounds with different/missing moas.

I will document my findings in a notebook to be added in #7
cc @niranjchandrasekaran @shntnu

I will use the following strategy to reconcile this list.

This sounds good! Please run this plan by Josh Sacher because IIUC he maintains these lists

I'm surprised there are only 16!
This is one of the issues we're trying to address in the next update, which should be released this week (hopefully today).
What file(s) are you working from? I can send the latest and see if that helps resolve these issues.

Thanks for quick reply @jrsacher!

What file(s) are you working from?

I'm using repurposing_drugs_20180907.txt and repurposing_samples_20180907.txt, both of which I downloaded from the repurposing homepage on CLUE.

This is one of the issues we're trying to address in the next update, which should be released this week (hopefully today).
I can send the latest and see if that helps resolve these issues.

Thats amazing! Very glad @shntnu connected us.
My preference is to wait until the data is officially released on CLUE before ingesting into this repo, especially since the release date is so near. Retrieving the files from CLUE in this way makes data provenance easier than if data are handed off in harder-to-track channels.
Will the data be released on the same website, with the same filename_date.txt convention?
Thanks again!

It will all be on the same site and in the same format.
Since I generated the txt files that will be posted, here they are:
repurposing_drugs_20200322.txt
repurposing_samples_20200322.txt
Let me know if you run into any issues with them. It'll be a great test to have you use them before they're available to the entire world.

thanks for sending over @jrsacher - I ran the data through my existing pipeline. A couple of observations:

The pert_iname discrepancies in the 20180907 data that I describe in #6 are resolved
Instead of 16 perturbations (by pert_id) contain conflicting information (in pert_iname, moa, or target) (as described in this issue ☝) there is only 1 conflict.

The duplicate pert_id is BRD-K34801930.

pert_id
pert_iname
moa
target

0
BRD-K34801930
AZD5069
CC chemokine receptor antagonist
CXCR2

1
BRD-K34801930
SRT3190
CC chemokine receptor antagonist
NaN

Good catch! Thanks.
BRD-K34801930 is correct for SRT3190.
AZD5069 is BRD-K00003297.
Here's the updated repurposing_samples file:
repurposing_samples_20200322.txt

Awesome! Confirmed that of 6,806 unique pert_ids zero are duplicated

thanks again for these resources @jrsacher - if possible, can you ping this thread once the updated resources are posted on https://clue.io/repurposing? I will continue to monitor the site.
I'd like to ultimately compare the files by md5 in addition to date. Thanks!

The repurposing site and database have been updated, @gwaygenomics. All the latest should be available there and through the API.

The repurposing site and database have been updated, @gwaygenomics. All the latest should be available there and through the API.

this is amazing - thanks for the speedy turnaround on this. Closing the issue as it has now been resolved in #7


refactor: added better serializer

Codecov Report

Merging #2 (a083dec) into master (3dc6620) will increase coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
+ Coverage   89.11%   89.26%   +0.14%
==========================================
  Files           5        5
  Lines         147      149       +2
  Branches        9        8       -1
==========================================
+ Hits          131      133       +2
  Misses         16       16

Flag
Coverage Δ

unittests
89.26% <100.00%> (+0.14%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/RESTApi.ts
88.37% <100.00%> (+0.56%)
: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 3dc6620...a083dec. Read the comment docs.


[Docs] Add docs for loader

Let's add descriptions here, e.g.
inContent - loader becomes inline instead of fixed, useful for handling loading state inside single components, default: false
isBackground - adds background to fixed loader that handles global loading states, default: false


hmac.compare_digest does not exist in Python < 2.7.7

One issue I ran into with this webhooks script is that hmac.compare_digest is new in 2.7.7, and for legacy reasons I'm stuck on 2.6.
I have a few different ways to solve this problem in a general way, and I wanted to get your feedback before I submit a pull request.
Option 1: fall back to a simple string comparison if hmac.compare_digest is unavailable. This is functionally equivalent, but simply fails to provide protection against a timing attack. (It's not clear to me that a timing attack is even a concern, given the inherit network latency involved, so this may be perfectly safe.)
Option 2: have an option, disabled by default, to allow the fallback. This is what I have implemented locally. Code snippet below.
Option 3: have a fallback to a python-based version of compare_digest. This would be slower than the C implementation in the standard library, but would provide the same protection. It would also require adding a python-fallback to the repo, as I don't think there's one available in a pip package anywhere.
The code for option 2 would look something like:
        # HMAC requires the key to be bytes, but data is string
        mac = hmac.new(str(secret), msg=request.data, digestmod=sha1)

        # Python prior to 2.7.7 does not have hmac.compare_digest
        try:
            if not hmac.compare_digest(str(mac.hexdigest()), str(signature)):
                abort(403)
        except AttributeError as e:
            # What compare_digest provides is protection against timing attacks, but if
            # the user is okay with not having this protection, let's let them allow a
            # trivial fallback
            if not config.get('allow_insecure_compare_digest', False):
                logging.error('Could not call hmac.compare_digest; are you running python < 2.7.7?', exc_info=True)
                abort(500)

            if not str(mac.hexdigest()) == str(signature):
                abort(403)

Let me know your thoughts, and I can prepare a pull request.

+1 for this.  Tried running this on an Ubuntu 14.04 server (with python 2.7.6) and it did not work.

@PHLAK: If you want a quick kludge, just replace "hmac.compare_digest(str(mac.hexdigest()), str(signature))" with "str(mac.hexdigest()) == str(signature)" and it'll work fine.

Sounds about right. @kpriceyahoo could you please prepare a merge request?
Thanks.

I went with a modified version of option 2 and just enabled the fallback automatically based on the Python version. Since the secret feature is unusable for earlier versions of python otherwise, I don't see any reason to add the option.

@kpriceyahoo great, I was about to recommend the same. Thanks.


[FLINK-31839][filesystems] Fix flink-s3-fs-hadoop and flink-s3-fs-presto plugin collision

What is the purpose of the change
At the moment it's not possible to add flink-s3-fs-hadoop and flink-s3-fs-presto plugins at the same time.
Brief change log

Now both the plugins are having a provider with a different name
Fixed bad error message in the DefaultDelegationTokenManager
Added a warning message when multiple providers are loaded with the same prefix.

Verifying this change
Existing + additional unit tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: yes

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

cc @mbalassi @gyfora

Let us make sure to backport this to 1.17.1, @gaborgsomogyi.

OK, when the PR is approved and merged I'm intended to create a PR against 1.17.

There is a workaround if no tokens are expected: security.delegation.token.provider.s3.enabled=false

In tests and example execution it's fine to add all the plugins to the classpath just for testing purposes but discouraged to do it in production because of the written down unintended consequences.

I've also seen patterns that users are just adding plugins to the main classpath of the job as normal maven/gradle dependency which is also bad practice. Such cases the plugins are loaded by the Flink's main classloader which can cause dependency issues easily. Just for the record the good example can be found here how a plugin must be added in a proper way.


[Slider] Add ability to name each thumb for more flexibility

Fixes #2454

hey guys, I've been searching for the packages versions on this repo but cannot find them, wondering if this is on an npm package already released and/or how can I search for that


MBEDTLS_ERR_THREADING_MUTEX_ERROR consistency

There is inconsistency between returned error of mbedtls_mutex_lock and mbedtls_mutex_unlock within mbed TLS.
most functions that call mbedtls_mutex_lock, return the mutex return code, while most functions that call mbedtls_mutex_unlock, return MBEDTLS_ERR_THREADING_MUTEX_ERROR.
Raised  by Anton Lavrentiev

ARM Internal Ref: IOTSSL-1317

Hi, I actually pointed out that code in x509.c should return the mutex error as returned by the callback
rather than replacing it with a generic error, that is:
if( mbedtls_mutex_lock( &mbedtls_threading_gmtime_mutex ) != 0 )
    return( MBEDTLS_ERR_THREADING_MUTEX_ERROR );

should be
if( (ret = mbedtls_mutex_lock( &mbedtls_threading_gmtime_mutex )) != 0 )
    return( ret );

and so with the _unlock calls within that module, just as it is done everywhere else throughout the library.
Also, I noticed in 2.4.2, ssl_cookie.c uses the lock/unlock inconsistently (dare I say incorrect), too:
if( ( ret = mbedtls_mutex_lock( &ctx->mutex ) ) != 0 )
    return( MBEDTLS_ERR_SSL_INTERNAL_ERROR + ret );

...
if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 )
return( MBEDTLS_ERR_SSL_INTERNAL_ERROR +
MBEDTLS_ERR_THREADING_MUTEX_ERROR );
The first "if" should return just "ret", not a sum;  the second if should capture the return code and pass it through,
not return a sum of two errors, just shown above, "return( ret );"
Unfortunately, I cannot edit the bug report myself.  I'd appreciate if you could add this clarification in there.
Thanks again,
Anton Lavrentiev
Contractor NIH/NLM/NCBI

@alavrentiev Hi, you are correct, however after you rightfully pointed us to this issue, we deep dived for all occurrences of mbedtls_mutex_lock and mbedtls_mutex_unlock we noticed that most of mbedtls_mutex_unlock failures return MBEDTLS_ERR_THREADING_MUTEX_ERROR , like in x509.c , and most of 'mbedtls_mutex_lock failures return the error code of the failure, as you mentioned. However, there are some locations, such as in `mbedtls_ssl_cache_get' , that failures return 1, and no other error code.
The purpose of this issue is to define what should be the correct behavior of this inconsistency

We're using the MBEDTLS_THREADING_ALT implementation for the locks so expect to see the errors that our lock/unlock callbacks have actually returned.


refresh svi part i tutorial

updated to modern semantics
checked the code snippet works as expected
made all code inline markdown except for the final code snippet
added smoke_test thingy to the final snippet. does this look right? how do we make this notebook run in CI?

smoke test thingy?

You've already successfully added svi_part_i to the smoke tests: see logs :smile:


Minor fixes

Just three really minor fixes: a typo, a more helpful error message, and removal of some unused javascript library.

Much appreciated. Thanks!


fix: clear entry tracking opened feed when closed

Another part of the fix that was missed in https://github.com/mafintosh/hypercore-archiver/pull/8#issuecomment-269551558
cc @mafintosh

published 3.2.2


TDP - CRTool Documentation updates

I would like to initiate the documentation review for the Customer Review Tool.
This PR includes some edits to the Customer Review Tool README.md and the INSTALL.md file.
I am asking for you to review the following documentation and let us know what we are missing or what you would like changed to enhance.
Please review the README.md file and let me know what else if any you would like added or any questions you might have:
README.md
Review

@dcmouyard @nbucknor @Scotchester @willbarton @virtix @chosak @contolini @higs4281 @stephanieosan @hillaryj

Preview this PR without the whitespace changes
Screenshots

Rebased on top of master

@Scotchester To answer your question about reconstruction of the snapshot data. That will be required any time the content changes for any of the pages.  Also you will need to execute that command while writing tests around screens where the content or ui design is in flux.
I have added a comment to that area of the README to make this more obvious


Rotary Embedding for different q, k sequence length

In the attention layer, only the rotary embedding for the x input (query) is calculated, which would leads to error when key's sequence length does not equal the seqlen of the input x.
https://github.com/lucidrains/x-transformers/blob/4b395abae6792a5166c43f186ff3fdd548c59820/x_transformers/x_transformers.py#L566
        rotary_pos_emb = self.rotary_pos_emb(x)

Hi, I have a similar scenario where I want to use rotary embeddings in a cross-attention scenario, but found it gets disabled when context exists.
Couldn't we simply generate two sets of rotary embeddings? Applying the first to the Q and the second to K? Is there some reason I am missing that would mean this isn't possible?

Hi, I have a similar scenario where I want to use rotary embeddings in a cross-attention scenario, but found it gets disabled when context exists.
Couldn't we simply generate two sets of rotary embeddings? Applying the first to the Q and the second to K? Is there some reason I am missing that would mean this isn't possible?

@lucidrains
Following up on this as I'm running into the same question while chasing down a torch dynamo bug. Would the solution mentioned above work? If not, what's the preferred way to make sure the cross-attention layers have some sort of positional info (e.g., for a text to image model)?

@zaptrem how does relative positions make sense in your scenario? what kind of positions would a single token of text have to an image token?

the only place where relative positions would make sense is when you are doing cross resolution attention of the same input. but that's a special case that i don't think it warrants the extra complexity in this repository for

@zaptrem how does relative positions make sense in your scenario? what kind of relative positions would a single token of text have to an image token?

I was thinking more position within the sentence itself (e.g., "A sign that says 'We Like Ike'" needs the sign to say that instead of 'Ike We Like').  Why would only absolute work in this case? Also, it seems like absolute position encodings (even when enabled in xtransformers) aren't applied to context?

@zaptrem llama only uses relative, because there's research that shows with a causal mask, the transformer emergently figures out absolute, so it is redundant. however, this is unclear for encoders, so you can just stick another absolute position embedding on top of rotary

@zaptrem i automatically disable absolute positions when rotary embeddings are present, but if somehow you are using an encoder and wish to have both (so that cross attention can utilize it) try the following
model = TransformerWrapper(
    num_tokens = 20000,
    max_seq_len = 512,
    attn_layers = Decoder(
        dim = 512,
        depth = 6,
        heads = 8,
        rotary_pos_emb = True,
        disable_abs_pos_emb = False # set this to False
    )
)

@zaptrem i automatically disable absolute positions when rotary embeddings are present, but if somehow you are using an encoder and wish to have both (so that cross attention can utilize it) try the following in the latest version
model = TransformerWrapper(
    num_tokens = 20000,
    max_seq_len = 512,
    attn_layers = Decoder(
        dim = 512,
        depth = 6,
        heads = 8,
        rotary_pos_emb = True,
        disable_abs_pos_emb = False # set this to False
    )
)

Thanks! but wouldn't this only apply the abs_pos_emb to x and not the context (which it is my understanding we need to know the sign order)? Also, before moving to this repo I was using my own transformer that only had RoPE (no absolute) and it seemed to be working okay in small test sequences.

you can just add your own absolute positions to your context. if your context is coming from another decoder, then it should be present already

you can just add your own absolute positions to your context, if it is coming from an encoder that only has relative positions (quite rare). if your context is coming from another decoder, then it should be present already

Makes sense. Half is coming from T5, they use a non-RoPE non-alibi relative embedding so I'd need my own for that right? The other half is tokens passed through a single embedding layer so definitely I'll add my own there.


Date and/or holiday name modification required? (Subdivision: US-GA / Year: 2020)

It appears from https://georgia.gov/popular-topic/state-holidays that in 2020 in Georgia, "State Holiday" is 2020-04-10 (Friday).
Your project is currently recording Confederate Memorial Day on 2020-04-27 (Monday), and does not record "State Holiday" on 2020-04-10 (Friday).
It would be great if could investigate and determine what, if any changes, are necessary to your project for this holiday. Thanks in advance!

mmmm... I see, it looks like we need to investigate. Thank you for the input!


Figure out how to make Test run PR gates mandatory

Ideally all of our tests would be 100% reliable, but due to the nature of interactive UI testing, we sometimes end up with spurious test failures. This can reduce confidence in the accuracy of the test reports and could cause a legitimate issue to be initially ignored.
TAEF does not support re-running failed tests. But since we have a step between TAEF running and the results being reported, we have an opportunity to re-run any failed tests. That way we can report a test failure only if it fails again on retry.

Tests passes are now stable enough to be mandatory.


Add a Beginner Level Data Science Project

Hi @MohammedHamzaMalik  I would love to work on this issue. Kindly consider my application.

Assigned to you @Rohit-Sharma-RS


Globbing/Wildcard support for -d

First of all: Thanks for the awesome tool. I really appreciate the rewrite in Go, easy to install in systems without any root privileges or package manager access.
I have one little feature request: I would like run following command to delete all matching contexts: kubectx -d migration-demo-1592*
Work-a-round: kubectx |grep migration-demo-1592 | xargs kubectx -d
Thanks

I believe that’s how most unix tooling work, you can put tools together that way. Globbing is a rare use case, so we most likely wouldn’t implement.
Also, when you type * in your shell, it is evaluated on local files and doesn’t get passed to the program.


Some suggestions

Here are some of my suggestions after the first pass. Please feel free to accept/edit/decline as you see fit. Main points:

Reduce frequency of "allow"
When we start a sentence with "this", I try to specify what "this" is
When reporting P value, I think it's clear that BioChatter yields significantly higher accuracy based on confidence intervals. I don't think we need to report the exact value for P. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8005799/#:~:text=If p values are reported,and for p values greater

One comment I have is wrt Fig. 3 biochatter_benchmark: it's a little difficult for me to read/interpret this figure, e.g. I can't find values for chatglm3. I know it's challenging because we don't have the full grid of models x sizes x quantisation levels, but I wonder if jittering or faceting would help somehow.
Also, in the main text, we haven't discussed model "size", and given that there is not really an association between size and performance, maybe we don't need to visualize this dimension? (We can include a table of all the values and sizes in Supplement) And if so, I wonder if a graph of Mean Accuracy vs. Model would be a little clearer, and the point size would refer to the quantisation level instead. Just a thought.

Good points, thanks a lot for the feedback! Will go over and merge.