Problems searching products by SMILES or SMARTS

As reported by a user, and observed by me in #122, the chemical searcher is not finding the expected results.

Searching for "[C,c]=" in Products, using SMARTS does not find anything on either the production or staging version of interface.
Searching for "[C,c]#" in Products, using SMARTS does not find anything on either the production or staging version of interface.
Searching for an exact SMILES of a known product (e.g. CC=C1C=C(OC)N=C(N)N1   ) does not find anything on production or staging version.
Same as above for searching by similarity or exact structure

Running the following on my (out of date) clone of ord-data, I get 411 records.
SELECT compound.smiles AS smiles, compound.reaction_role FROM ord.compound WHERE smiles LIKE 'OCCS' ;
Running the search in the online interface returns no results for 'Reactants & Reagents' = "OCCS" with the exact, similarity or substructure search options.
The same search with the SMARTS option returned 100 entries (limited by the query) but note that when replicating the query it now returns no results.

Running the following on my (out of date) clone of ord-data, I get 181 records.
SELECT compound.smiles AS smiles, compound.reaction_role FROM ord.compound WHERE smiles LIKE 'O=C1C=CC(=O)C=C1' ;
Running the search in the online interface returns no results for 'Reactants & Reagents' = "O=C1C=CC(=O)C=C1" with the exact, similarity or substructure search options. SMARTS search also failed to return results. This was on the production and staging instances of ord.

@skearnes @miori-nd who wants this one?

I'll look into this
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Ben Deadman @.>
Sent: Tuesday, August 6, 2024 1:12:12 PM
To: open-reaction-database/ord-interface @.>
Cc: miori @.>; Mention @.>
Subject: Re: [open-reaction-database/ord-interface] Problems searching products by SMILES or SMARTS (Issue #125)
@skearneshttps://www.google.com/url?q=https://github.com/skearnes&source=gmail-imap&ust=1723569134000000&usg=AOvVaw3DIRgGStY81yK4rZCM4pCL @miori-ndhttps://www.google.com/url?q=https://github.com/miori-nd&source=gmail-imap&ust=1723569134000000&usg=AOvVaw2wx0aNSCsUSEgtl_FrZwJJ who wants this one?
—
Reply to this email directly, view it on GitHubhttps://www.google.com/url?q=https://github.com/open-reaction-database/ord-interface/issues/125%23issuecomment-2271760232&source=gmail-imap&ust=1723569134000000&usg=AOvVaw2GFvCsYhccbPDNXi-sU4a-, or unsubscribehttps://www.google.com/url?q=https://github.com/notifications/unsubscribe-auth/BFLMMVRW2CPPXESLKVZ45CTZQD7WZAVCNFSM6AAAAABMCWPQCWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZRG43DAMRTGI&source=gmail-imap&ust=1723569134000000&usg=AOvVaw0MfPVe9bSVSWqlAw-vD0Me.
You are receiving this because you were mentioned.Message ID: @.***>

I looked at the product SMILES search; this is a timeout on the backend. I'll dig into the SQL query and see if I can optimize it.

I can definitely speed up the "exact" queries. Will push up soon.

Thanks @skearnes. I was working of this resource https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html. For my future reference the correct SMARTS pattern would be "[c,C]=[c,C]" and this validates in the tester you linked. The problem was I hadn't ended the SMARTS with a node (an atom).
I'll run some tests on the prod tomorrow.

Testing on production interface today. Values in table represent the number of reactions returned. Results limited to 100.

Search Term
Exact
Similar(0.5)
Substructure
SMARTS

"Reactants & Reagents" =

"SCCO"
100
0
0
0

"OCCS"
100
0
0
0

"O=C1C=CC(=O)C=C1"
100
0
0
0

"C1=CC(=O)C=CC1=O"
100
0
0
0

"c1ccncc1"
0
0
100
100

"[c,C]=[c,C]"
NA
NA
NA
100

"[c,C]#[c,C]"
NA
NA
NA
0

"Products" =

"SCCO"
0
0
0
0

"OCCS"
0
0
0
0

"CC=C1C=C(OC)N=C(N)N1"
1
0
0
0

"c1ccncc1"
7
0
100
100

"[c,C]=[c,C]"
NA
NA
NA
100

"[c,C]#[c,C]"
NA
NA
NA
0

Outcomes from above testing:

Exact searches are working and giving results that seem reasonable.
The exact search is parsing the SMILES as SMILES and not just a string. The reversed "OCCS" was also found even though this string is not a component in the database.
Substructure searching only works when small fragments given. I was expecting the substructure search to also output the exact search results.
I also expected "SCCO" substructure search to find reactants and products like in the image in this comment.
Similarity searching - same as for substructure searching. I expected it to at least output the exact search results.
I suspect the above problems with substructure and similarity searching could be a timeout issue.

Exact search seems to be very slow. I've left the exact search for a reagent "c1ccncc1" going for almost 2 hours today and the blue circle keeps spinning. I had a similar experience searching for "SCCO" last Friday. I would expect the exact search to be quicker so this suggests something has gone wrong. The exact search for "OCCS" worked for me at one point but now I can't replicate. Could be an issue with how to restart a search whilst one is still going. I'll try to do some more testing later.


atsec/3 - Section <IP_ADDRESS>.3 - "common application developer" not allowed

paragraphs 257 and 259
Comment:
"common application developer" is mentioned in paragraphs 257 and 259 regarding the test requirements for FCS_STG_EXT.1, but the DSC cPP does not allow selection of "common application developer".
Proposal:
Resolve the inconsistency
Priority: 1

move to v1.1

Combine into editorial SD TD rollup

https://github.com/DSC-iTC/DSC-iTC.github.io/pull/4


[Bug]: intro_function_calling.ipynb - prompt for stock in Mountain View never calls get_store_location function

File Name
gemini/function-calling/intro_function_calling.ipynb
What happened?
About 40% into the lab, there is a prompt that asks for the Pixel 8 stock levels in Mountain View as follows:

prompt = """
What about the Pixel 8? Is there a store in
Mountain View, CA that I can visit to try one out?
"""
response = chat.send_message(prompt)
response.candidates[0].content.parts[0]`

The expected response in the notebook is as follows:

Again, you get a response with structured data. This time, the Gemini model selected the get_store_location function.

I've run this prompt many times and I always get the following output

function_call {
name: "get_product_info"
args {
fields {
key: "product_name"
value {
string_value: "Pixel 8"
}
}
}
}

Since the following step provides a mock api response, it's able to continue but the above response is incorrect.
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for catching this and reporting! This is likely happening because of changes in the behavior of Gemini Function Calling from Gemini 1.0 Pro to Gemini 1.5 Pro. I'll open a PR to fix the function calling order and add more explanatory text regarding the expected behavior.


OpenAPI tool

Take the following implementation and add it to the framework.
https://github.com/i-am-bee/bee-api/blob/main/src/runs/execution/tools/api-call-tool.ts#L42C1-L43C1
Are there any blockers or things to consider? @pilartomas, @xjacka

The tool should accept the apiKey parameter.
The tool should accept the http_proxy_url parameter and use this proxy for all requests.

The second should be optional. I would allow the user to pass custom overrides for underlying fetch parameter calls.

I'd be interested to take a look as a first issue within the framework/api.
Previously I've been looking at the stack and raising a few issues/PRs
I think the request here is to add the API tool into the built in tools (as documented here), similar to how we have google, wikipedia, openMeteo etc.
I'm not certain on what then needs to be added/left in the bee-api itself since in general custom tools are found dynamically. For core tools, mostly it just seems to require creating an instance of the tool

Yes, this issue is about migrating this basic implementation to the framework and making it more robust. After that, we will use this tool instead of the current implementation in the API. This issue is only about the framework part.

@planetf1 I just assigned you the ticket, feel free to reach out if you have any questions/blockers!

@mmurad2 thanks
I'm making a first-pass at the change. I have implementation code, and just debugging a simple e2e test.
Will share as a draft PR once a basic test works

I've added a first-pass draft PR. There is still more to do, but since I am just learning about the bee framework, it would be great if you could check the nature of the change I'm proposing matches your expectations.
I made a few changes from the original code

http proxy is now a parameter
I removed the encryption of the api key (we don't have it in meteo, and it would require configuration + the crypto implementation from the framework)

Tests need more work

what endpoint could we test against?

do we need to spin up a simple server for our e2e test ?
or is there a public endpoint it's ok to use
similar for proxy

only a simple 'happy path' is coded to check something is sent and received. The response isn't valid, and may not be correct.
many more parm combinations need testing

There's also improvements to the tool itself - such as how error responses are handled, timeout configuration etc.

@planetf1 I provided you with feedback a few weeks ago. Are you will to work on this?

Hi @Tomas2D thanks for the feedback. I'm not going to be able to spend time on this in the short term, so please do reassign if needed.


EDC - Soft equivalence between ODRL Policies

Problem: A contract negotiation currently only succeeds if the consumer replays the policy in the exact manner it was discovered in the catalog. However, there may be several semantically equivalent ways to say the same thing. For instance, the order of AtomicConstraints in a LogicalConstraint "odrl:and" should not be relevant while "odrl:andSequence" should.
Proposed Solution: Similarly, a single AtomicContraint has the same truth table as the same AtomicContraint wrapped in "odrl:or" which currently would not be recognized. According to odrl, policies and constraints may have identifiers that (if unequal) would also cause a contract negotiation to fail.
Impacted components

Upstream EDC
CX-0018

https://github.com/catenax-eV/sig-roadmap/issues/70

@arnoweiss and I discussed this a bit. This should likely be handled holistically in the DSP spec rather than focusing on workarounds involving collection semantics that will not be interoperable. One way to handle this holistically would be to define an algorithm in the DSP specification for handling policy comparisons based on constructing a canonical serialized form. This same feature could then be used for contract signing.
I think it would be more helpful to outline the requirements here. These can be presented to the DSP specification group, which can then decide on the appropriate technical approach (assuming the requirement is accepted).

Presented in the DRAFT Feature Freeze -> Committer is available

@jimmarino : Please raise the issue in the Eclipse Dataspace Working Group

I agree that's what's needed long-term. A canonicalization algorithm could specify rules like "sort sets alphabetically and leave ordered lists as-is".
Currently however, EDC doesn't implement the semantics that odrl:and defines - the implementation is sensitive to ordering. This is appropriate behavior for odrl:andSequence which isn't interpreted.

@DanielaWuensch @arnoweiss Can you help us here, what is the exact requirement, that you see here. Some acceptance criteria that helps us to understand what you want to have changed?
The idea of the team currently is, to have a canonicalization in DSP spec on policies.

@hemantxpatel will provide a detailed description including Payload descriptions and exceptions and link it here. This was discussed in tractus-X edc sync on Aug 6, 2024.

@hemantxpatel will provide a detailed description including Payload descriptions and exceptions and link it here. This was discussed in tractus-X edc sync on Aug 6, 2024.

We are looking for a business case for why this is needed, not what triggers it. Understanding the non-technical motivation will help us assess the most appropriate technical approach. Also, this is an upstream EDC issue, not a TX-EDC one.
As I mentioned, "soft-equivalence" is a very slippery slope and not one I think we should go down. If what is required is a reliable way to determine the equivalence of an "infoset" that may have multiple serialized forms, the proper way to solve this is in a general (and interoperable) way at the specification level (DSP) using a canonicalization algorithm, as this will serve multiple purposes. Introducing piecemeal equivalence rules will lead to errors and edge cases that are difficult to reason about and will not be interoperable with other connector implementations.
However, we should first understand what the non-technical motivation is before discussing possible technical solutions.

During the negotiation process between two connectors, the policies defined in the data provider connector must be compared with the acceptable policies defined by the data consumer. It must be possible to do this comparison automatically. Therefore, the soft equivalence between equal policies from a business point of view must be ensured. So, the idea is that a single AtomicContraint has the same truth table as the same AtomicContraint wrapped in "odrl:and" or in an "odrl:or".

During the negotiation process between two connectors, the policies defined in the data provider connector must be compared with the acceptable policies defined by the data consumer. It must be possible to do this comparison automatically. Therefore, the soft equivalence between equal policies from a business point of view must be ensured. So, the idea is that a single AtomicContraint has the same truth table as the same AtomicContraint wrapped in "odrl:and" or in an "odrl:or".

We are talking in circles here. I understand the technical issues very well, that is not the issue. My point is this twofold:

The issue is with upstream EDC, not TX-EDC.  The proposed solution will not be accepted by the EDC committers because the general consensus of those who have looked at it is that it is not a good one based on the reasons we have already given.

Our (EDC and DSP specification committer) technical opinion is that the correct solution must be achieved at the specification level and will likely involve the adoption of a canonicalization algorithm. We have already laid out our reasoning for this.

Again, no motivation has been provided to justify another approach. For example, what does "the policies defined in the data provider connector must be compared with the acceptable policies defined by the data consumer" actually mean? As a consumer, I could choose to only select a subset of policies. Should the data provider accept that?
This sounds as if the request arises from some form of tooling issue: policies may be read on a client and serialized back to the provider DSP in a different form.  At this point, I don't see any way forward other than to follow the recommendation of the EDC and DSP committers and raise this as a DSP specification issue in the form of a request for the adoption of a canonicalization algorithm.

As pointed out by @jimmarino , this is something to be solved upstream. As we cannot expect anything from upstream in time, this item is pushed to "Not in Release" state

In release 25.03 the policy management will be approached in a generic way to ensure any CX specific anchors in the VC verification. So, I will close this issue.

Issue already closed -> new status DONE


build(devs-infra): update Renovate bot config

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 96.508%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
3971

Relevant Lines:
4062

💛  - Coveralls


Issue 212

The timeline has been refactored and is functional. Filters and the vertical timeline now reflect the events shown based on the zoomed in/out view. Please confirm that it's working.
#234  column overflow has not been implemented yet. It's up to you if you want to merge it now or wait for me to implement the column overflow hovering feature.

@andymeneely I fixed merge conflicts with #209. I believe the pretty dates still work but please double check.


SqlToolkit ignoring database-specific prompt from SQL_Utils

I was looking into enabling a new database type (SAP HANA) for the SqlDatabaseChain, similar to the changes made in PR #1169 for MSSQL.
I noticed that the database-specific coding is mainly done in the SQL Utils module (/langchain/src/util/sql_utils.ts), which is then used/referenced in the SqlDatabaseChain module (langchain/src/chains/sql_db/sql_db_chain.ts).
However, the SqlToolkit agent (langchain/src/agents/toolkits/sql/sql.ts) is only partially using/referencing these utils, and partially hardcoding the 'sqlite' dialect. For example: retrieving the prompt from its own prompt file (langchain/src/agents/toolkits/sql/prompt.ts) instead of the getPromptTemplateFromDataSource function from Utils as is done in the SqlDatabaseChain.
Is there a specific reason that the agent is not using the prompt-generation of the utils? The prompt for SAP HANA is slightly different than SQLite hence it would be beneficial if the database-specific coding is used there as well.

It's probably an oversight - will look into it!


Fix bug where duplicate recipient bars incorrectly appear around anchor message in /near/ views

As detailed in https://chat.zulip.org/#narrow/stream/9-issues/topic/extra.20recipient.20bars.20around.20.2Fnear.2F.20message/near/1347490, we appear to have a non-deterministic bug where in some circumstances, the target message will appear with extra recipient bars above and below it.
There's substantial debugging work in the chat.zulip.org thread.
Tagging as a release goal since I believe this to be a regression in Zulip 5.0.

This appears to be rare enough and hard enough to reproduce that while we will certainly want to backport a fix for it, it's no longer considered a release goal.


How do you do a simple write?

I am just testing my stream and lambda function, I want to write some dummy data. I'm doing this:
var kinesis = require('kinesis')
var testing = kinesis.stream('testing')
testing.write('hello kinesis!')
testing.on('finish', () => {
	console.log('done sending...')
})

But get this error:
TypeError: LRU: key must be a string or number. Almost certainly a bug! undefined

Kinesis uses binary data. Try testing.write(new Buffer('hello kinesis!'))
I should probably check for people trying to write strings directly and either convert to Buffers or error

@justinmchase how'd you go with this?

I haven't tried it yet to be honest. I just found out that I can press the Test button in aws console and it crams a record into the function for testing. I will eventually give this a try though. I'll close it for now, thanks!


knexjs.raw sending proper bindings but getting results for some bindings

Environment
Angular 6 (typescript) frontend -> expressjs (javascript) backend -> mysql
Knex version:
Database + version: MySql 5.7.17
OS: OSX 10.11.6 (15G20015)
Select applicable tempalate from below.
If issue is about oracledb support tag @ atiertant. For MSSql tag @ smorey2 .
Rest of dialects doesn't need tags.
Bug

Explain what kind of behaviour you are getting and how you think it should do

I am calling a knex.raw() to call a stored procedure on mysql.  Tested and working from mysql.
The call is knex.raw('call getPosts(?)', category).  It works with some but not other strings.
I test with
.then(rows => {

  console.log(rows[0]);
  console.log(rows.length);
  return rows[0][0];
})

No error messages.  Either the proper results (when returning rows[0][0]:
req:
{ name: 'computers' }
Getting posts for category computers
{ method: 'raw',
sql: 'call getPosts(?)',
bindings: [ 'computers' ],
options: {},
__knexQueryUid: 'be99971d-0db3-4157-80f2-ff5b45ced06f' }
[ [ TextRow {
id: 3,
catId: 3,
userId: 1,
createdOn: 2018-06-05T17:00:32.000Z,
editedOn: null,
expiresOn: 2018-06-05T17:00:32.000Z,
title: 'Nvidia Graphics card',
body: 'Graphics card thing $0.' } ],
ResultSetHeader {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
info: '',
serverStatus: 34,
warningStatus: 0 } ]
2
Closing knex connection for retrieving posts for cat: computers
GET /posts/computers 304 32.089 ms - -
OR
an empty response set ([]) (but tested and working in mysql):
req:
{ name: 'jobs' }
Getting posts for category jobs
{ method: 'raw',
sql: 'call getPosts(?)',
bindings: [ 'jobs' ],
options: {},
__knexQueryUid: 'a7162f00-1103-4b2d-b517-c9f41218adc4' }
[ [],
ResultSetHeader {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
info: '',
serverStatus: 34,
warningStatus: 0 } ]
2
Closing knex connection for retrieving posts for cat: jobs
GET /posts/jobs 200 22.992 ms - 2

Error message

None

Reduced test code, for example in https://npm.runkit.com/knex or if it needs real
database connection to mysql or postgresql, then single file example which initializes
needed data and demonstrates the problem.

Here is the test script statements from my sql:
set @bs := 'Buying and Selling'; #Jobs works too
set @f := 'free';
call getPosts(@f);
call getPosts('Buying and Selling');

My stored_procedure:
CREATE DEFINER=`me`@`host` PROCEDURE `getPosts`(IN categoryName VARCHAR(50))
BEGIN
DECLARE categoryId INT;
DECLARE RESULT_SET VARCHAR(50);

#get Id
set categoryId = (SELECT id from Categories where name = lower(trim(categoryName)));

#find if isroot
IF  ( (select isRootCat from Categories c where c.id = categoryId) = TRUE) THEN
    #it is root get all the subcategories... i.e (2,3,4)
	set RESULT_SET = ((select GROUP_CONCAT(c.id SEPARATOR ',') from Categories c where c.parentCatId = categoryId));
	SELECT * from Posts WHERE find_in_set(catId, RESULT_SET);

ELSE
	#not a root, get all post pertaining to categoryId i.e.'free' = 2
	select * from Posts where catId = categoryId;
END IF;
END

edit: removed ampersand (from copy and paste)

Complete (single file) reproduction example with database initialization code for being able to reproduce the results is missing. Maybe reopened if  complete code for reproduction is provided.

Cleared all cache, restarted system.  Works now.  Sorry for bothering.


[#1619] ConcurrentHashMap doesn't secure insertion order.

Fixes #1619

Actuaaly I prefer to integrating https://github.com/ben-manes/concurrentlinkedhashmap to provide ConcurrentLinkedHashMap, but I need your @testng-team confirmation.
Thanks.

@eyehwan - I believe @cbeust has always tried to reduce the number of artifacts that TestNG requires for its functioning. That is perhaps why we haven't used a lot of other artifacts for TestNG.
@juherr your thoughts ?

No new artifact when possible.

What does it provide as a value add to see test results in a report, in the same exact order in which they were executed ?

Because testng users starts complaining that test case results on the emailable-report.html doesn't follow the execution order. They are always using this report to show the result on a big screen for customers outside.  Test case name defined and execution order have test logic behind them.
Using this report, everyone can understand test as a flow.

And what about concurrent tests ?

Oh, in the above use case, no concurrent test executed.


Getting dvm to work with zsh

After installing it, in order to make it work with zsh (oh-my-zsh in my case) all I needed to do was add
source $HOME/.dvm/dvm.sh

to the .zshrc file.
Since I'm running oh-my-zsh, I put this line right before
source $ZSH/oh-my-zsh.sh

and it works nicely.

I'm glad to hear that it works! Since you opened this issue is there something that needs to change in the readme or code?

It might be helpful to have such instructions on the readme as an optional step. Since we already mentioned it here, it's up to you.
Remember; these instructions are for .zsh users who do not want to type
~$ source /.dvm/dvm.sh

every time they need to use dvm.
Users should be aware that the more scripts/environment variables are added to the terminal's boot, the slower it will load.

Gotcha thanks! I'll add that to the readme.


Hebrew Language - RTL insted LTR

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I use the system with the Hebrew language, and the system should be RTL but is still set to LTR, how can I change so that the system direction is RTL
📝 Error Message(s) or Log
No response
🐻 Uptime-Kuma Version
1.23.11
💻 Operating System and Arch
WIndows
🌐 Browser
Chrome
🖥 Deployment Environment

Runtime:
Database:
Filesystem used to store the database on:
number of monitors:

how can I change so that the system direction is RTL

That is not possible, but we can change the code for that.
Would you like a bugfix against the 1.23.X-branch to be associated with your account?
https://github.com/louislam/uptime-kuma/blob/bc077cc536ee95b904f9a4a730b1fcedcf1788dd/CONTRIBUTING.md

[!TIP]
Hebrew (Israel) is he-IL.
The line where we define what language is RTL and what is LTR is here:
https://github.com/louislam/uptime-kuma/blob/bc077cc536ee95b904f9a4a730b1fcedcf1788dd/src/i18n.js#L60

A question as a non-expert (discussion from https://github.com/louislam/uptime-kuma/pull/4394#issuecomment-1906007083):
What is the difference between Hebrew (Israel) and Hebrew?


Updated VS versions

This change updates the tool with the latest Visual Studio versions.

Codecov Report

Merging #92 (7a3bfc4) into main (93e63f9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #92   +/-   ##
=======================================
  Coverage   96.08%   96.08%
=======================================
  Files          13       13
  Lines         383      383
=======================================
  Hits          368      368
  Misses         15       15

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Layout tests with animation Test circle with value = 0.5, image background and reverse FAILED

I am seeing the following error when running npm test.  Not sure if anyone else is seeing this or this is just my setup:
Firefox 48.0.0 (Ubuntu 0.0.0) Layout tests with animation Test circle with value = 0.5, image background and reverse FAILED
Died on test #1 QUnit.asyncTest@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:106:3
@/home/dougt/builds/jquery-circle-progress/tests/tests.js:143:9
@/home/dougt/builds/jquery-circle-progress/tests/tests.js:1:2
: a.indexOf is not a function
r.fn.load@/home/dougt/builds/jquery-circle-progress/bower_components/jquery/dist/jquery.min.js:4:18715
@/home/dougt/builds/jquery-circle-progress/tests/tests.js:151:13
Test.prototype.run@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:790:4
run/<@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:877:5
process@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:593:4
QUnit.start/<@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:182:5
Expected 9 assertions, but 1 were run
QUnit.asyncTest@/home/dougt/builds/jquery-circle-progress/node_modules/qunitjs/qunit/qunit.js:106:3
@/home/dougt/builds/jquery-circle-progress/tests/tests.js:143:9
@/home/dougt/builds/jquery-circle-progress/tests/tests.js:1:2

Firefox 48.0.0 (Ubuntu 0.0.0): Executed 7 of 7 (1 FAILED) (4.023 secs / 4.004 secs)
npm ERR! Test failed.  See above for more details.

#117 fixes it.

@dougt: I've merged #118 to master. Could you try again now?

Didn't work for me:
https://gist.github.com/dougt/51cd638baa3e0fa733eb63220588f7bc
Maybe missing some step?

@dougt Run this.
We probably should move this into an npm post-install script. I'm pretty sure we'll have to execute this commands even after switching to npm from bower, the repo will stay the same.

wfm!


[Class Modifiers] Possible over-reporting of diagnostics for class modifiers

If I'm understanding the semantics of class modifiers correctly, I think we're reporting a diagnostic that we shouldn't be in some cases.
Given a file named a.dart containing:
base class A {}

The following code:
import 'a.dart';

class B implements A {}

produces two diagnostics:
CompileTimeErrorCode.SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED (24, 1) The type 'B' must be 'base', 'final' or 'sealed' because the supertype 'A' is 'base'.

CompileTimeErrorCode.BASE_CLASS_IMPLEMENTED_OUTSIDE_OF_LIBRARY (37, 1) The class 'A' can't be implemented outside of its library because it's a base class.

I think we should only produce the second of these diagnostics, because I think that adding modifiers to B won't fix the second diagnostic.
@kallentu @pq

If I'm understanding you correctly, I feel like they are both useful. The fix for the first one won't fix the second, but the same is true the other way around.
I can see a use case where if a user only gets the second error and then fixes it (say they meant to extend instead) and then they need to refresh/rebuild only to find a new CompileTimeErrorCode.SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED they didn't see before because it was hidden by the CompileTimeErrorCode.BASE_CLASS_IMPLEMENTED_OUTSIDE_OF_LIBRARY error.
Well, okay, I guess that's also fine, but I thought it'd be good to show both so users can be aware of both simultaneously? Do we want to only show the user one error at a time?

Do prefer to show the user one error at a time in this scenario?

I thinks so, but please check my reasoning. I think it's the case that in the event that the user can't modify the imported library, the only way for the user to fix the CompileTimeErrorCode.BASE_CLASS_IMPLEMENTED_OUTSIDE_OF_LIBRARY is to stop implementing the base class.
If that's true, then it seems like there's no point in telling the user to add a modifier because they still won't be able to implement the class. It seems like there's an order in which the diagnostics need to be addressed, and by only showing the user the diagnostic that needs to be addressed first we can help guide the user to a valid solution. By showing both diagnostics we risk wasting the user's time as they attempt to fix the wrong diagnostic first.

I also think it's fine to report both errors: The change from implements to extends is required because class B must inherit member implementations from A (in particular, if A has some private instance members then B will have them, too), and the change from class to base class (final will do, too, and sealed) is required because this guarantee must be propagated to subtypes of B as well. So each error is referring to a separate required source code change, and that seems to justify having two error messages.

Given that information, I agree. Thanks.

We should also discuss:

What to do for final superclass. I think we should report an error that says that you cannot extend / implement / mixin it. And should not report SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED.

Whether we want a specific error code for base, to exclude FINAL_  from it, because outside of the defining library nothing could be done for final.

It makes sense to me to not report SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED for final.
Can separate the errors to SUBTYPE_OF_BASE_IS_NOT_BASE_FINAL_OR_SEALED and SUBTYPE_OF_FINAL_IS_NOT_BASE_FINAL_OR_SEALED and use them based on the modifier we find. And avoid using SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED for outside of library subtypes.

OK
I understand using SUBTYPE_OF_BASE_IS_NOT_BASE_FINAL_OR_SEALED outside of the library.
I don't understand where we can use SUBTYPE_OF_FINAL_IS_NOT_BASE_FINAL_OR_SEALED. Inside the library? We cannot subtype a final class outside, right?

SUBTYPE_OF_FINAL_IS_NOT_BASE_FINAL_OR_SEALED would be reported only inside the library, yes.
Outside, you can't do anything about this, so we don't report this error.

Would we use SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED then?
Or is it completely covered by SUBTYPE_OF_BASE_IS_NOT_BASE_FINAL_OR_SEALED and SUBTYPE_OF_FINAL_IS_NOT_BASE_FINAL_OR_SEALED?

Nope! I would then remove SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED and replace it with SUBTYPE_OF_BASE_IS_NOT_BASE_FINAL_OR_SEALED and SUBTYPE_OF_FINAL_IS_NOT_BASE_FINAL_OR_SEALED where we specified before.
These two errors would replace and completely cover SUBTYPE_OF_BASE_OR_FINAL_IS_NOT_BASE_FINAL_OR_SEALED.


In Add Certificate, Name is required but doesn't have the * next to it.

Version - master 01/14
Steps:

Go to Add Certificate
Click on Save

Results: Says one of the fields required it "name" and it won't let me save without it.  But the Name field does not have * by the title text like Private Key and Certificate.
Expected: * by Name to show it's required

version - master ui 1/22
Verified fixed


SEO in AET

As the AET User I want to be able to run sample SEO checks on the pages that I have defined in my XML suite. It can be a sample check with some free library/tool available on the web that can be integrated with AET.
This feature should also add the user to make use of the following set of filters (to be verified after the solution is chosen):

error pattern,
line,
error message.

Please remember about documentation with examples explaining the user how to make use of the feature.

It would be great if we could integrate AET with Lighthouse SEO audit

Note that a similar issues has been raised for the performance audit - perhaps these two can be done together. For details see #368.


fix(test): update EE test to generate screenshots for failing tests t…

…o aid in debugging

There were the following issues with your Pull Request

Commit: d471f5922c8dc212d4cb083f93e47d529eac506b
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

@ldimaggi snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-820-fabric8-ui.int.rdu2c.fabric8.io

@ldimaggi snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-820-fabric8-ui.int.rdu2c.fabric8.io


Grid refinement

Hi Dion,
Could you please take a look at wave propagation case with refined around equator latitude grid?
The case has an issue (when grid refinement and coastal shelfs are included) with convergence of Poisson solver, but workers fine without coastal shelfs.
I have tried to reduce time steps, but it didn't work :(
Best,
Roman

Sorry, I had already fixed this, but apparently forgot to push the fix :disappointed:
I will push some adjustments soon. Are you sure that we want to stretch the grid so much? It seems a bit aggressive to me, but I haven't compared it to the POP grid.

Markus, told me to make latitude grid with grid step of 0.25 deg. between 6 S and 6 N, and then gradually stretch it towards poles to ~1 deg. resolution. The stretching is done in a way that minimises growing truncation error.

There is one extra thing we need to add to wave propagation case, i.e. the Southern Ocean (SO) wind stress changes by factors 0.5 and 1.5. In total, there will be three cases to run - control, taux(SO)  * 0.5 and taux(SO) * 1.5.
Could you please add the relevant code below to the next commit?
condition = (yt[np.newaxis, :,  np.newaxis]<=-69.) | (yt[np.newaxis, :, np.newaxis]>=-27.)
taux_0p5 = np.where(condition, taux, taux*0.5)
taux_1p5 = np.where(condition, taux, taux*1.5)
taux_0p5[taux_0p5 < 0.] = taux[taux_0p5 < 0.]
taux_1p5[taux_1p5 < 0.] = taux[taux_1p5 < 0.]

from IPython import display
import time
for m in range(12):
    plt.plot(yt, np.mean(taux[...,m], axis=0))
    plt.plot(yt, np.mean(taux_0p5[...,m], axis=0))
    plt.plot(yt, np.mean(taux_1p5[...,m], axis=0))
    display.clear_output(wait=True)
    display.display(plt.gcf())
    time.sleep(1.0)
    plt.close()

I think we should create a separate repository for the actual experiments we want to run. The setups in the Veros repository are mostly meant as templates that can be adapted easily. I will think about how we can set this up in a convenient way.

That should do the trick. I changed the grid to the one-sided version of Vinokur's stretching functions and removed the constant part around the equator to achieve a smoother grid. Thanks to the reference to the Vinokur paper, it was really interesting, and I think we have a nice grid toolset now.
Also implemented a switch for the southern ocean winds.


Include install_requires and replace requirements.txt

So it stays a well-behaved python package

Stop using no-deps for main install
move requirements.txt into install_requires

hmm - been a lot of drift since last time tests passed (last year) - going to hand this off to other folks like @hrichards . We shouldn't get rid of install_requires - definitely necessary to be able to use baya effectively.

Hey @jtratner, very nice work on getting the setup in Baya modernized!
I took what you started with and ran with it to try to get a green build for this library.  By moving over my changes from https://github.com/counsyl/baya/pull/20, updating a call to django-auth-ldap:authenticate in the Baya tests in a way justified in the django-auth-ldap release notes, and dropping unsupported Django versions, I think I've got a justifiable green build here.
Your changes/commits LGTM; what do you think of mine?

Thanks, @jdavisp3 and @krhaas!  I'm going to change the version declared in these changes to 1.2.0 since we're dropping support for Django versions and that's backwards-incompatible, but after I push that I'll merge.
Really appreciate the help here.


my mxnet was automatically installed under python 2.7 while I use anaconda for python 3.5

Hi,
I installed mxnet in linux mint. I use anaconda for python 3.5. I followed the instruction and it was successfully installed. Both mxnet and the anaconda are latest version. However, when I tried the code:
import mxnet as mx
res = mx.nd.array([1,2,3])
I got the error: AttributeError: module 'mxnet' has no attribute 'nd'
if I  typed "mx", I got: <module 'mxnet' (namespace)>
after repeating the installation and checking the scripts, I saw mxnet was installed under python 2.7. How can change it to python 3.5? Thanks.
Regards,

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Added final logo to tax scheme

Issue Number
fixes #121
Describe the changes you've made
I have a added the final logo to tax scheme popup window, see below,

Also added the Learn More instead of title in learn more popup window, see below,

Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Additional context (OPTIONAL)
Add any other context or screenshots about the feature request here.
Test plan (OPTIONAL)
A good test plan should give instructions that someone else can easily follow.
How someone can test your code?
Checklist

[ ] I have added my name in the contributors list at the end of README.md file.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.
[ ] Open Source Program names(OPTIONAL: If you participated in any open-source program then please mention the program name here)

@QAZIMAAZARSHAD , i have updated both issue, adding final logo to tax scheme popup window, and adding Learn More instead of title in learn more pop up window.


Different font family between { headless: false } and { headless: true }

Sorry, I report here because I did not understand where this issue should be reported to (DevTools Protocol or Chromium or Puppeteer) :bow:
A default font family is Times New Roman in headless: true, however it is Hiragino Kaku Gothic ProN in headless: false. In my environment, Hiragino Kaku Gothic ProN is Standard font which is set at Settings > Customize fonts > Standard font. Is this behavior expected?
Test codes
const puppeteer = require('puppeteer');

const url = 'http://info.cern.ch';
const selector = 'h1';

const getFontProperty = async (page) => {
  const font = await page.evaluate((selector) => {
    const title = document.querySelector(selector);
    return getComputedStyle(title).font;
  }, selector);
  return font;
}

const printFontProperty = async (headless) => {
  const browser = await puppeteer.launch({headless: headless});
  const page = await browser.newPage();
  await page.goto(url);
  console.log(await getFontProperty(page));
  await browser.close();
}

(async () => {
  await printFontProperty(true);
  await printFontProperty(false);
})();

Output
$ node main.js
normal normal 700 normal 32px / normal "Times New Roman"
normal normal 700 normal 32px / normal "Hiragino Kaku Gothic ProN"

Environment

Puppeteer version: 0.11.0
Platform / OS version: macOS Sierra 10.12.6
Chrome Version: Chrome/63.0.3205.0 (Lang: Japanese)
Font config (Chromium)

Standard font: Hiragino Kaku Gothic ProN
Serif font: Hiragino Mincho ProN
Sans-serif font: Hiragino Kaku Gothic ProN
Fixed-width font: Osaka

@mizdra This looks like a different font resolution in chrome headless wrt chrome headful. Could you please file this to chromium (crbug.com/new) and post a link to the bug here?

@aslushnikov I filed this. The link is here: https://bugs.chromium.org/p/chromium/issues/detail?id=775794

Thanks @mizdra.
I can't reproduce this bug as well, it looks like the setup is specific to your environment.
Closing this in favor of the upstream bug.

Now I met same issue.
This is in headless mode:
D:\backstopjs>node test1.js
{ fonts:
[ { familyName: 'Times New Roman',
isCustomFont: false,
glyphCount: 47 } ] }
This is in headful mode:
D:\backstopjs>node test1.js
{ fonts:
[ { familyName: 'Microsoft YaHei',
isCustomFont: false,
glyphCount: 47 } ] }
And my Chromium version is : 72.0.3617.0
Still need me to provide more information? Looking forward to your recovery, Thanks!


Improve file download interface

Following is a comment from Rick Hooper on downloading files from HydroShare
http://www.hydroshare.org/resource/bb9e1cc9e8b0487b99576938029fccb0/#comment-108
I tried to double click on a resource to download and get the spinning ball (which did not clear). I found out that i had to right click to download. I should have been presented with an error or a suggestion to right click rather than double click

There are two issues here:

Double clicking on a resource file causes the CPU to max out (I reproduced this on Windows as well as Rick's OSX)
It's unclear that single clicking selects the file and right clicking opens the custom contextual menu.

Maybe we just make double click download the file? That would solve both.

I like the suggestion for double click to download.
@Maurier - what do you think?

Double click is usually assigned to trigger primary actions on items in the UI. It is intuitive to open a file (or download in our case) using double click, so I agree it would be a good addition to the file browser interface.
With this same reasoning, I'd like to point out that for folders double clicking should open said folder rather than download its content.

Yes - agreed on double clicking folders should open the folder (not download).

@Maurier @horsburgh what is the status of this issue.  I see that there was a PR merged.  The spinning wheel does not seem to occur any more, and double click opens a folder, but double click on a file does not download it (as was part of the discussion above)

@Maurier - can you have a look at this one and make sure the double click to download is implemented?

double click on a file does not download it (as was part of the discussion above)
I have tested this in all modern browsers except Safari in IOS. It works as expected on my end. @dtarb, are you still experiencing this issue?

Just to verify, I tested this on www in the latest version of Safari 11.0 on my Mac. It works as expected - double clicking on a file downloads it. However, there is a slight delay on the download before it happens (in Safari and Chrome) that made me wonder if it was working correctly. If you wait just a second, the download happens.

In most operating systems, double clicking a file opens the file in an associated application. Does it make sense to have a double click download instead of open? Is there a clever interface design that could allow both?

I have found that double click on files in composite resources does not download a file (even for a very small .txt file).  I found that double click on files in generic and multidimensional resource types downloads all the file occurrences I clicked on (small and large).

@dtarb - I am going to close this issue. I believe that it is working correctly on www, and for the composite resource case it is working in @pkdash 's most recent deployments on park.


scrolling

Is it possible to make it scroll with the mousewheel when you hover with the mouse over the module

I'm not sure that it is.
I keep looking into it. But I haven't found a way.
Part of me thinks that if it was possible, other people would have made their knobs respond to the mouse-wheel and as far as I can see no-one has. There was a dicussion about that on the issues page for vcv-rack itself.

I don't believe this is acheivable


6093-November-ReleaseNotes-Readme

Adding Service level README.md as requested by documentation team.
A lot of text is replicated from root README.
Fixes https://github.com/Azure/azure-sdk-for-java/issues/6093

@kaerm Please revire

@hemanttanwar - also sorry, just noticed you also added KV here - are you planning to add descriptions there later?


How to pass arguments to a Button command in Tkinter?

It is not an issue (not reported by pylint when arguments are involved) but rather an alternative to the use of "empty lambda" in that case:
from functools import partial
#(...)
action_with_arg = partial(action, arg)
button = Tk.Button(master=frame, text='press', command=action_with_arg)

If several arguments are used, then it is something like: partial(action, arg1, arg2, ..., argN)

Source: https://stackoverflow.com/questions/6920302/how-to-pass-arguments-to-a-button-command-in-tkinter


withSchema + with clause doesn't work for innerJoin and such

In posgresql using 'withSchema' clause and 'with' clause for CTE,
knex added the schema also to the CTE alias so it failes!
I think it should recognize that the 'table' name is a CTE and then not append the schema
Example query (from docs - modified):
knex .withSchema('my_schema') .with('with_alias', knex.raw('select * from "books" where "author" = ?', 'Test')) .select('*').from('with_alias')

There is no way that knex can tell difference that you are actually referring CTE query instead of table, so it cannot be fixed to work perfectly automatically (there can be table and CTE with the same name I suppose).
In theory it could be made easier if there would be map of all CTEs stored and it would be checked for every identifier (not so straightforward that it sounds and requires huge amount of tests).
Also it is not very well defined, which are all the places where withSchema() passed table should be passed (for if inside CTE it should be applied the same way that in upper level... I suppose it should be).
Anyways there should be way to tell that explicitly table name without any conversion for example with raw and at least following should be supported:
knex.withSchema('my_schema').with('with_alias', knex.raw('select * from "books" where "author" = ?', 'Test')).select('*').from(knex.raw('with_alias')).toSQL();

// this doesn't work yet, should be fixed

PRs fixing the .fromto allow passing knex.raw without adding schema would be welcome.

Thanks for the detailed answer!
For now my solution will be to use a function with schema_name as parameter instead.

Is this similar when using .withSchema and .joins?
let q = knex.withSchema('rcubed').select('srt.SUBMISSION_REQ_TMPLT_ID').from({srt:'SUBMISSION_REQ_TMPLT '})
        .join({ptr: 'SUB_REQ_PRODUCT_TYP_REF'}, 'srt.SUBMISSION_REQ_TMPLT_ID', '=', 'ptr.SUBMISSION_REQ_TMPLT_ID')
.where('ptr.PRODUCT_TYPE_ID',product_type_id)

produces
select srt.SUBMISSION_REQ_TMPLT_ID from rcubed.[object Object] inner join rcubed.[object Object] on srt.SUBMISSION_REQ_TMPLT_ID = ptr.SUBMISSION_REQ_TMPLT_ID where PRODUCT_TYPE_ID = 1
Before adding the join it worked


[CP] catch StdinException when STDIN pipe is broken

Issue Link
https://github.com/flutter/flutter/issues/129198
Commit Hash
https://github.com/flutter/flutter/commit/b416473bbb196dc03eed717fd412698cb61b5dbb
Target
beta
PR Link
https://github.com/flutter/flutter/pull/138032
Changelog Description
Ignore exceptions when trying to set the echo mode of the terminal when the STDIN pipe has been broken.
Impacted Users
flutter developers who use flutter run ...
Impact Description
I'm not sure the exact way users get in this situation, but it is our top tool crasher. Somehow, users are triggering flutter run, but when the tool attempts to modify the STDIN file descriptors echo mode, it reaches an exception that the STDIN pipe has been broken.
Without this fix, the tool will crash and the app will not be run. With this fix, the tool will continue launching the app, without modifying the STDIN echo mode (which shouldn't matter since there's no longer anything attached to STDIN anyway).
Workaround
It's unclear to me the workaround here since I'm not sure why the STDIN pipe is being broken.
Risk
low
Test Coverage
yes
Validation Steps
Unclear to me, see "Impact Description". The unit test in the CP PR at least will verify that at the point the crash is happening we will catch StdinExceptions.

@zanderso can you review this request?

CP LGTM

oh I missed this one yesterday afternoon, beta has already shipped this morning.
If this is for flutter-3.16-candidate.0, is it okay if we land it as stable hotfix?

oh I missed this one yesterday afternoon, beta has already shipped this morning. If this is for flutter-3.16-candidate.0, is it okay if we land it as stable hotfix?

Yes, that sounds like the best course of action. Although this is important, I don't think it's worth doing an emergency additional release.

Released in 3.16.1


"Go to Definition" does not work with wildcard imports

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.83.0
OS Version: Ventura 13.6

Steps to Reproduce:

Use this configuration in jsconfig.json:

{
  "compilerOptions": {
    "moduleResolution": "classic",
    "paths": {
      "~/*": ["./src/*"]
    }
  }
}

Create a component in src/components/component.js and default export it:

export default function Component() {
  return (

  );
}

Import the component using wildcard syntax and invoke it:

import { Component } from '~/components/*';`

export default function Page() {
  return (

      <Component />

  );
}

Right-click the component in either the import statement or invocation and select "Go to Definition."

Expected Behavior:
component.js is opened in a new tab.
Actual Behavior:
Cursor simply moves to the other occurrence of Component within Page.
Notes:

import Component from '~/components/component'; does work as expected.
There is no index.js file in components.
Changing the value of the moduleResolution property in jsconfig.json or adding a baseUrl hasn't changed anything.
The expected behavior occurs in this scenario when using Sublime Text.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.83.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.83.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I upgraded and the issue does persist. Thanks!


[Request] Reloading recipe configs in game

It's anoying relauching game to reload recipe config.
I want to apply recipe changes quickly.

lol, you want someone to configure your recipes too?

I feel your pain. I have to restart the game 30 to 40 times a day when working on Ender IO.
However, priority goes to game play things, so don't hold your breath,

If you restart that often working on the mod, it seems to me that an in-game reload command would be worth the savings in time you'd get from not needing to restart the game that often anymore when working on it.

+aionys I doubt that very many of Henry's 30-40 restarts a day are simple config changes.


NewTeam missing notification_setting field

When creating a new team Github API let's to disable notifications for the team by setting notification_setting to notifications_disabled.
https://docs.github.com/en/rest/teams/teams?apiVersion=2022-11-28#create-a-team
However, this field is missing from NewTeam struct and prevents disabling it
<EMAIL_ADDRESS>Would it be possible to add it?

Absolutely!  Would you like to create a PR, or shall I open this up to our other contributors to this repo?


Support Request: No devices through OpenAPI

Describe Your Problem
SwitchBot devices no longer appear in Homebridge.  Everything works fine through the iOS App.  The SwitchBot plugin was working fine and several Meters and Motion sensors were present up until I started troubleshooting the Motion sensor events last night.  I have removed/reinstalled the plugin, cleared the device cache, and created a new token.  Still nothing in Homebridge.
Relevant log output
[2/12/2022, 2:00:17 PM] [SwitchBot] Initializing SwitchBot platform...
[2/12/2022, 2:00:17 PM] [SwitchBot] Using Config Logging: debug
[2/12/2022, 2:00:17 PM] [SwitchBot] [DEBUG] Finished initializing platform:
[2/12/2022, 2:00:17 PM] [SwitchBot] Platform Config: {"logging":"debug"}
[2/12/2022, 2:00:17 PM] [SwitchBot] "The devices config section is missing the *Device ID* in the config, Check Your Conifg."
[2/12/2022, 2:00:17 PM] [SwitchBot] {}

Config for homebridge-switchbot
{
            "name": "SwitchBot",
            "credentials": {
                "openToken": [Redacted],
                "notice": "Keep your token a secret!"
            },
            "options": {
                "devices": [
                    {
                        "logging": "standard"
                    }
                ],
                "irdevices": [
                    {
                        "logging": "standard"
                    }
                ],
                "logging": "debug"
            },
            "platform": "SwitchBot"
        }

Screenshots
No response
Device & Model
SwitchBot Hub Mini + Original Meter and Motion sensors
Node.js Version
v16.13.2
NPM Version
v8.1.2
Homebridge Version
v1.4
Homebridge SwitchBot Plugin Version
v1.12.3
Homebridge Config UI X Plugin Version
v4.42.0
Operating System
Alpine Linux (3.12.9) (Docker on Synology)

On the troubleshooting - Using Nodered to sense occupancy across SwitchBot, Nest Protect, and UniFi motion sensors and control the states of TP-Link Kasa switches.  Noticed the lights were going out where only SwitchBot motion sensors were present.  They were popping notifications in the iOS app, but those events weren't coming through the Homebridge status node in Nodered.  Tried reducing API polling to 30, repositioning the sensor, etc.  I can see an active state between the Hub Mini and the SwitchBot service in pfSense and I can control devices through the SwitchBot iOS app.  So, first I removed/reinstalled the Homebridge switchbot plugin... then I reset the device cache... then I reset the Switchbot token... all the while restarting HB several times and watching the logs.

Wondering if I someone hit the 10k API calls/day limit.

Remove your device and irdevice config section and restart. I need to make a change to correct that.

the latest version will not default logging configs:
"options": {
                "devices": [
                    {
                        "logging": "standard"
                    }
                ],
                "irdevices": [
                    {
                        "logging": "standard"
                    }
                ],
                "logging": "debug"
            },


clean up camel case names

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (4eed7e0) 87.38% compared to head (e9a6a7d) 87.38%.

Files
Patch %
Lines

wqio/viz.py
80.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #182   +/-   ##
=======================================
  Coverage   87.38%   87.38%
=======================================
  Files          11       11
  Lines        1895     1895
  Branches      487      487
=======================================
  Hits         1656     1656
  Misses        128      128
  Partials      111      111

Flag
Coverage Δ

unittests
87.38% <92.30%> (ø)

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

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


Error in transaction estimated values

Hi,
Using graphene is it possible to show the estimated value of transactions and represent these values using COIN, EUR and USD.

In this case, BTC address, 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94, had received 20.0658 BTC and have a current balance of 0.3207 BTC. There are three transactions flows with 10.058, 9.5629 and 0.1029 BTC making a total 19,7238 BTC.
My question/problem came when you transform those values to EUR or USD.

The Total received is 34,022.68 USD and the outcoming transactions are 28,306.85, 26,913.32 and 289.53 USD, making a total of 55,509.7 USD.
At least for me, this does not make any sense. I do not know which BTC/USD conversions values are being used but 10.058 BTC should be around 110533,40 USD, not 28,306.85 USD.
PS: I am using the https://demo.graphsense.info/ version.

The value 10.058 BTC comes from tx 8def6458a46234ab0e040602e7852ff5cf58650f3f1102803b1d4bca4cc293a1 (height 478795, 2017-08-03 04:28:20 UTC). The exchange rates at this time were 2370.787 EUR and 2814.3613 USD respectively.

Ok, so if I understand correctly the transaction label, when you select show the estimated value, uses the exchange rates at the moment of the transaction.
But, what conversion rate uses the Total Received value of an address, like 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94?. This address received 20,0658 BTC and graphsense estimated that into 37.688,54 USD.

Total received uses the same principle:
tx_in are all incoming transactions (length n) for the address;
for each incoming tx tx_in[i] at height h[i] we convert the value tx_in[i].value with exchange rate er[i] (at height h[i]).
The converted value for total received is then sum_{i=1}^{n}(tx[i].value/1e8 * er[i]).

Total received uses the same principle:
tx_in are all incoming transactions (length n) for the address; for each incoming tx tx_in[i] at height h[i] we convert the value tx_in[i].value with exchange rate er[i] (at height h[i]).
The converted value for total received is then sum_{i=1}^{n}(tx_in[i].value/1e8 * er[i]).

Thank you very much, I did not understand wich exchange rates were being used. Now it is perfectly clear, sorry for the trouble.


latest webapp (main branch) only works in Chrome with an incognito window

Note sure why @kitajchuk @EgleHelms  but when I run the latest webapp on a fully deployed server, when I go to the URL which is hosting jambonz I am immediately brought to a blank screen and the url is http::///internal/accounts instead of the login screen:

On the other hand, if I am in a Chrome incognito window, it works

I can provide you access to the jambonz.one server to investigate if needed.

Note sure why @kitajchuk @EgleHelms but when I run the latest webapp on a fully deployed server, when I go to the URL which is hosting jambonz I am immediately brought to a blank screen and the url is http::///internal/accounts instead of the login screen:

On the other hand, if I am in a Chrome incognito window, it works
I can provide you access to the jambonz.one server to investigate if needed.

Did you try clearing your local and session storage?

Note sure why @kitajchuk @EgleHelms but when I run the latest webapp on a fully deployed server, when I go to the URL which is hosting jambonz I am immediately brought to a blank screen and the url is http::///internal/accounts instead of the login screen:

On the other hand, if I am in a Chrome incognito window, it works
I can provide you access to the jambonz.one server to investigate if needed.

Did you try clearing your local and session storage?

That’s probably it because it worked for me and I’ve never been to that url before.

I'm guessing you are right.  I will clear my local and session storage.....but should I have to in order to log in?  i.e. a "normal" user would not figure this out I dont think...

I'm guessing you are right. I will clear my local and session storage.....but should I have to in order to log in? i.e. a "normal" user would not figure this out I dont think...

No I’m not sure why this is happening. Maybe there is a bad redirect now with the user stuff? Did this happen before with the new app prior to the user changes?

hm, cleared cache for the last 7 days and still had a problem.  I will clear entirely and try

cleared all my browsing data for all of history and I still cant login unless in incognito.  Even opening a new normal Chrome window gives me the same failure

I don't see any http redirect, I simply see a 200 OK coming back with the index.html, then downloading the fonts and assets.js and the URL updates to /internal/accounts and the screen is blank

with these errors in the console

I don't see any http redirect, I simply see a 200 OK coming back with the index.html, then downloading the fonts and assets.js and the URL updates to /internal/accounts and the screen is blank
with these errors in the console

There you go. That would be the issue. Runtime error. What is causing it? Can you debug it further?

I don't see any http redirect, I simply see a 200 OK coming back with the index.html, then downloading the fonts and assets.js and the URL updates to /internal/accounts and the screen is blank
with these errors in the console

There you go. That would be the issue. Runtime error. What is causing it? Can you debug it further?

I’d bet it’s this line:
https://github.com/jambonz/jambonz-webapp/blob/93d313b21c9f488ce7f3b2074111504b398a0dfb/src/router/auth.tsx#L72

Something to note is that I previously built the legacy server at this dns (jambonz.one) -- that was some time ago (months ago).  That server, when running, did not use jwt auth since that was only added to the main branch recently.  Could that somehow be related?

In this case, I am never getting to the login screen.  Should we catch and fail on that error somehow so as to bring up the login screen so the person can re-login and get a proper jwt?

In this case, I am never getting to the login screen. Should we catch and fail on that error somehow so as to bring up the login screen so the person can re-login and get a proper jwt?

See my above comment. But ya, we need to examine our new code and properly catch this case and boot you out. I can take a look at that tomorrow if that works.

In this case, I am never getting to the login screen. Should we catch and fail on that error somehow so as to bring up the login screen so the person can re-login and get a proper jwt?

See my above comment. But ya, we need to examine our new code and properly catch this case and boot you out. I can take a look at that tomorrow if that works.

Or even if you had one of the old, non jwt tokens, in storage and hit this route this error could happen too probably because the token syntax is different and it cannot split on a “.” that doesn’t exist.

..I can take a look at that tomorrow if that works.

That would be awesome!

@davehorton This is also a bad piece of code here. Our components should not be pulling the user like this. They need to get them from the store… I’m pretty confident I can reproduce this error locally so I can fix this and do another audit and make sure we’re always using safe syntax when working with the logged in user data.
https://github.com/jambonz/jambonz-webapp/blob/93d313b21c9f488ce7f3b2074111504b398a0dfb/src/containers/internal/views/accounts/index.tsx#L24

@davehorton my last hunch was correct. fixed with this PR: https://github.com/jambonz/jambonz-webapp/pull/172

Thanks so much!

verified the fix resolved my issue.

verified the fix resolved my issue.

Excellent!

@kitajchuk @davehorton
this fix makes the bug of logging out as an account user and then logging in as admin throw this error since the state is not updated in time. So we did the same as for the create-password form read token directly instead of the state. I thought this was actually agreed on in the Scoping PR we merged.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

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


Single sample on DeepCC online problems

Hi, I'm writing this for informing you about my problem with DeepCC online predicting a single sample of gene expression data. I've tried to use SYMBOL and ALIAS gene annotation instead of ENTREZ ID for my single sample but it doesn't work for frequency spectrum calculation. However, it works when using ENTREZ ID. I'm not sure that it depends on your design or it's a bug of this platform. Please, let me know if you have some updates or anything about this issue.
Thanks,
Armu

Hi Armu,
You can only use ENTREZ ID for a single sample of gene expression. This is because when calculating for a single sample, there need to be a reference to judge whether the expression of each gene up-regulation or down-regulation, and this is calculated according to the average expression of each gene in TCGA gene expression matrix which uses ENTREZ ID for index.
You can use BioConductor package "org.Hs.eg.db" to convert SYMBOL to ENTREZ ID.
Best regards!
Chenghang LI


feat(build): add onecloud-base:v3.15.4-0 image build file

What this PR does / why we need it:

Does this PR need to be backport to the previous release branch?:

/area util build utils


Update aws-java-sdk-bundle to 1.12.303

Updates com.amazonaws:aws-java-sdk-bundle from 1.12.300 to 1.12.303.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2334.


GPU build

To facilitate GPU builds, I've refactored the builder to use an
in-process queue. This allows us to throttle the number of concurrent
GPU builds to 1.
Also added logic to exit the build early if the client exists.
Signed-off-by: andreasjansson<EMAIL_ADDRESS>

marvelous


Fix unstable test cases EntryWatcherTest and UdpListenerIT

Tests occasionally fails by timeout.

EntryWatcherTest is also unstable.

Build passed, closing for now.


Add a name to the V3 file-based SDS tls secret response (second try)

This is a trivial change but will hopefully save somebody some time when they decide to upgrade to Envoy v0.17.x.
I made a previous try at this in PR #88 but that was bad. This is a second try.
This applies only to the V3 protocol.
This impacts the tls_certificate_sds_secret.json config file, not the response sent over the wire to xDS clients.
Marin3r generates this file and adds it to a k8s secret which is
mounted into Envoy pods. Envoy uses this file to retrieve the
bootstrap certs that allow it to talk to Marin3r over TLS. If there's
no "name" field then Envoy v0.17.0 can't process the cert, although
older Envoy versions can.
[2021-02-18 23:20:51.419][1][critical][main] [source/server/server.cc:109] error initializing configuration '/etc/envoy/bootstrap/config.json': Proto constraint validation failed (UpstreamTlsContextValidationError.CommonTlsContext: ["embe
dded message failed validation"] | caused by CommonTlsContextValidationError.TlsCertificateSdsSecretConfigs[i]: ["embedded message failed validation"] | caused by SdsSecretConfigValidationError.Name: ["value length must be at least " '\x0
1' " runes"]): common_tls_context {
tls_certificate_sds_secret_configs {
sds_config {
path: "/etc/envoy/bootstrap/tls_certificate_sds_secret.json"
}
}
}
[2021-02-18 23:20:51.419][1][info][main] [source/server/server.cc:782] exiting
Proto constraint validation failed (UpstreamTlsContextValidationError.CommonTlsContext: ["embedded message failed validation"] | caused by CommonTlsContextValidationError.TlsCertificateSdsSecretConfigs[i]: ["embedded message failed valida
tion"] | caused by SdsSecretConfigValidationError.Name: ["value length must be at least " '\x01' " runes"]): common_tls_context {
tls_certificate_sds_secret_configs {
sds_config {
path: "/etc/envoy/bootstrap/tls_certificate_sds_secret.json"
}
}
}
Thank you @roivaz for pointing me to this fix and for your patience with my previous PR.
/closes #88

/kind feature

Thanks a lot for working on the PR and fixing the problems @acnodal-tc, looks good now! :)
/lgtm
/approve


Not working on PaperMC 1.20.4

Unfortunately the plugin no longer works with PaperMC 1.20.4.
https://paste.gg/p/anonymous/feb7da5d365b4b79b7a217648de7ae9b
We use Build 346 from PaperMC

Use the latest ProtocolLib experimental build for 1.20.4: https://ci.dmulloy2.net/job/ProtocolLib/lastStableBuild/


pdbfixer not listed in requirements.txt or setup.py

pdbfixer is imported at https://github.com/deepmind/alphafold/blob/main/alphafold/relax/cleanup.py#L22, however it is not included in requirements.txt or setup.py.
$ python -c "from alphafold.relax import relax"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/rds/projects/2017/branfosj-rse/alphafold/alphafold/alphafold/relax/relax.py", line 18, in <module>
    from alphafold.relax import amber_minimize
  File "/rds/projects/2017/branfosj-rse/alphafold/alphafold/alphafold/relax/amber_minimize.py", line 25, in <module>
    from alphafold.relax import cleanup
  File "/rds/projects/2017/branfosj-rse/alphafold/alphafold/alphafold/relax/cleanup.py", line 22, in <module>
    import pdbfixer
ModuleNotFoundError: No module named 'pdbfixer'

Hi, pdbfixer isn't in requirements.txt or setup.py because it's not installed as a python module, but rather as an independent package by Conda in the Docker container. You can see how it's installed in the Dockerfile.


Using images instead of font icon to avoid selection bugs

We've been trying to use CSS visibility: hidden to workaround user-select not working in Chrome (for copy/paste, see https://bugs.chromium.org/p/chromium/issues/detail?id=147490), but this doesn't work for selections from double or triple clicks, see https://keybase.atlassian.net/browse/DESKTOP-2542 and https://keybase.atlassian.net/browse/DESKTOP-2582.
We can avoid all these selection issues if we use an icon image instead of icon font character in this particular case for the message action button. Chrome will not consider it for copy/paste and all these selection issues/weirdness/bugs go away.

The commits b6c078b8b36a...2841e4a6ee67 introduce visual changes on linux. :mag_right: 30 changed

Changed: Text_Message-sent_You (before) (after)

Changed: Text_Message-sent_Not_Following (before) (after)

Changed: Text_Message-sent_Following (before) (after)

Changed: Text_Message-sent_Broken (before) (after)

Changed: Text_Message-pending_You (before) (after)

Changed: Text_Message-pending_Not_Following (before) (after)

Changed: Text_Message-pending_Following (before) (after)

Changed: Text_Message-pending_Broken (before) (after) (diff)
Changed: Text_Message-from_revoked_device (before) (after) (diff)
Changed: Text_Message-failed_You (before) (after) (diff)
Changed: Text_Message-failed_Not_Following (before) (after) (diff)
Changed: Text_Message-failed_Following (before) (after) (diff)
Changed: Text_Message-failed_Broken (before) (after) (diff)
Changed: Stacked_Text_Message-Stacked_two_messages (before) (after) (diff)
Changed: Stacked_Text_Message-Stacked_someone_else_two_sent (before) (after) (diff)
Changed: Stacked_Text_Message-Stacked_one_sent_one_pending (before) (after) (diff)
Changed: Stacked_Text_Message-Stacked_one_sent_one_failed (before) (after) (diff)
Changed: Icon-Icon_Image (before) (after) (diff)
Changed: Attachment_Message-Basic_Uploading (before) (after) (diff)
Changed: Attachment_Message-Basic_Preview_Image_Pending (before) (after) (diff)
Changed: Attachment_Message-Basic_Preview_Image_Not_Downloaded (before) (after) (diff)
Changed: Attachment_Message-Basic_Preview_Image_Failed (before) (after) (diff)
Changed: Attachment_Message-Basic_Preview_Image_Downloaded (before) (after) (diff)
Changed: Attachment_Message-Basic_Not_loaded (before) (after) (diff)
Changed: Attachment_Message-Basic_Generic_File_sent (before) (after) (diff)
Changed: Attachment_Message-Basic_Generic_File_Uploading (before) (after) (diff)
Changed: Attachment_Message-Basic_Generic_File_Failed (before) (after) (diff)
Changed: Attachment_Message-Basic_Generic_File_Downloading (before) (after) (diff)
Changed: Attachment_Message-Basic_Generic_File_Downloaded (before) (after) (diff)
Changed: Attachment_Message-Basic_Downloading (before) (after) (diff)

@keybase/react-hackers

don't we actually intercept the copy command and process this stuff, can't we just clean it up there and not make this type of change

https://github.com/keybase/client/blob/master/shared/chat/conversation/list.desktop.js#L341

I think using images here instead of doing extra processing of the text is wayyyyy better.

I was aware of the Selection object onCopyCapture and I actually went down the road of traversing the Selection object to get the text content. It was a bit of a rabbit whole, and eventually came to the conclusion swapping out 2 icon characters for images was a way easier fix/workaround.

you can get the text and strip out the characters you don't have to go down the selection object

can't we just move this action button into a different dom element so its not captured by the selection anyways

I think I tried some alternate layouts without success given selections can occur across react-virtualized elements but I could have missed something.


Vis service icons commands

Also, I would recommend a minor fix for the second commit message. It could be better to use 'formatting' instead of 'layout'.

resolved


gmsearch always ask for user name and password

as title says (git version)
gmdownload works as expected (not asking for credentials after first login)

gmdownload uses the Musicmanager protocol which uses OAuth and saves your credential to disk which is why there is no username/password options for it. gmsearch uses Mobileclient which uses ClientLogin which requires username/password and doesn't save them to disk.
This is expected.

Oh, and, if you want to keep tabs on OAuth support for the Mobileclient interface, check out simon-weber/gmusicapi#426

Hm, ok, but why not use the Musicmanager protocol for gmsearch, too? Looks for me like gmdownload does the same search as gmsearch.. at least both use the same set of parameters..

The Music Manager API can only get uploaded and purchased songs from your library, not subscription songs.

My use case is that I want to check my query before downloading. I tried "-d" (dry run) with gmdownload (the documentation there talks about "upload"), but this just wrote my whole google song library to standard out. I need a list of songs which would be downloaded..
Should I write a new report to improve this behaviour?

The dry run will output what would be filtered, excluded, and downloaded. If it's going to be a lot, you probably want to redirect the output to a file and check it out there.


Dev

Merging dev changes from sprint 2 to master

De-lint code for Get User and Get User Recipients tests

fixed


Remove icon from tabbar but still have the route inside the tabs

Version 4.0.1
Is there a way to have a screen in a tab bar route but not display it in the tabbar? for example I have the following code;
<Scene
        key="Tabs"
        tabs={true}
        tabBarPosition="bottom"
        activeBackgroundColor="white"
        inactiveBackgroundColor="white"
        inactiveTintColor="black"
        activeTintColor={'#00AF99'}
	tabBarStyle={{
		backgroundColor: 'white'
	}}
	swipeEnabled={false}
	animationEnabled={false}
	panHandlers={null}
	hideNavBar={true}
	>
	<Scene key="Welcome" component={Welcome} />
		<Scene
			key="SystemBuilder"
			backTitle=""
			component={SystemBuilder}
			icon={SystemBuilderIcon}
			rightTitle={<View />}
		/>
		...........
         </Scene>
 </Scene>

And this is what it looks like on the app

I don't want the welcome link in the tabbar

You may create another tabbar (with hideTabBar option) with two children - Welcome and your current tabbar

@aksonov are you able to give me a example?


Renaming internal callback method

proposed fix to issue #259
I've renamed instances of .callback to .mocha_callback
The spec 'http should provide an example' is failing for me, but it is also failing for me on master too - so I don't think it is due to this modification.

closing for what was mentioned in the issue

oops, I included one too many commits in that (didn't mean for 1519ae7 to go in)
I'll remove it as soon as I can.

the Test wont be "this" anymore so we don't need the change


search or combinations algorithm, packing eth68 GetPooledTransactions request

Describe the feature
rn TransactionFetcher, when packing a GetPooledTransactions  with eth68 hashes, does this

traverse the argument list of hashes in sequential order and call include_eth68_hash for each hash.
fill request with all hashes that return true.

include_eth68_hash checks the size of the corresponding tx and that way decides if the tx will fit in the response corresponding to the request being assembled - the reason for this is too make sure we don't request too large responses (devp2p spec feature for eth68). so if we have a list of hashes mapping to list of sizes [1, 2, 3] and the size limit for the response is 4, TransactionFecther will fill the request with [sizes[0], sizes[1]] which has total size 3...but we could have better made use of the space if we would have got the list [sizes[0], sizes[2]] with total size 4.
what TransactionFetcher better do is have a new function that takes an iterator of the available hashes as parameter (buffered hashes for which the peer is fallback are available hashes in fill_request_for_peer and argument hashes list in pack_hashes_eth68) and

traverse the argument list of hashes in sequential order and call include_eth68_hash for each hash.
fill request with hashes that return true until the first hash that returns false.
from sizes of remaining hashes, search for the biggest size that fits in the remaining space in the response.
repeat 3. until the corresponding response is full

another option would be calculating sizes of combinations of remaining sizes at step 3. so that if we have remaining sizes [4, 4, 5] and the remaining space is 8, TransactionFetcher fills the request with [remaining_sizes[0], remaining_sizes[1]] instead of [remaining_sizes[2]]. I don't think it will happen often that all announced hashes don't fit into a GetPooledTransactions request, since RLPx is a gossip protocol so healthy peers will announce many of the same hashes, nonetheless, this isn't allowed to be too costly. in comparison with searching for the largest size, calculating and comparing combinations of sizes can be costly if the list of remaining sizes is long.
Additional context
No response

Can I take this one?

Can I take this one?

prs are reviewed on a fcfs basis :)

I was interested in looking into this issue but after some research, it looks like it's harder to implement efficiently than I initially thought. Correct me if I'm wrong, but it turns out to be a subset sum problem and therefore will be pretty inefficient as the list of hashes grows longer.
The proposed solution doesn't seem like it would satisfy the example goal either as it would still fill the response with [sizes[0], sizes[1]]. Did I miss something in the explanation or has something similar been implemented in other ethereum clients to solve this issue?

I was interested in looking into this issue but after some research, it looks like it's harder to implement efficiently than I initially thought. Correct me if I'm wrong, but it turns out to be a subset sum problem and therefore will be pretty inefficient as the list of hashes grows longer.

nice!  yeah it would be the subset sum problem in which all inputs are positive. it's costly to implement optimally yes, that's why I suggest a near-optimal solution too.

The proposed solution doesn't seem like it would satisfy the example goal either as it would still fill the response with [sizes[0], sizes[1]]. Did I miss something in the explanation or has something similar been implemented in other ethereum clients to solve this issue?

which of the proposed solutions?

+1 to the post above
I'm happy that this discussion started!
I've also been thinking about this problem on the weekend and tried to make some code blueprints
It's a classic Knapsack DP task (we have a budget/space and we need to spend/fill it with maximum/minimum).
I remember solving some DP problems but never have done it rust, so just found this example:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021
still, the main issue lies in questions: how many hashes we need to process? It could be measured and benchmarked ofc.
on the other hand, we may just do something greedy like sort DESC, grab what we can in one pass, and call it a deal :)
P.s.
What I've found in go-ethereum:
https://github.com/ethereum/go-ethereum/blob/2e947b7a0041f087ce4945303f3dd267b6296a14/eth/protocols/eth/broadcast.go#L76

+1 to the post above I'm happy that this discussion started! I've also been thinking about this problem on the weekend and tried to make some code blueprints
It's a classic Knapsack DP task (we have a budget/space and we need to spend/fill it with maximum/minimum). I remember solving some DP problems but never have done it rust, so just found this example: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021 still, the main issue lies in questions: how many hashes we need to process? It could be measured and benchmarked ofc.

great question, that's exactly what we should be asking ourselves. yes, finding the average by adding some metrics to the code to help us model this would be appreciated. it could be that a peer is listed as fallback for some thousands of hashes at the same time during the time window starting from when a new hash is requested for the first time, until it resolves, possibly after a retry.
primarily the problem is constrained by how much space is left in the request. any solution should start with filling the request in sequential order until some tx doesn't fit, or the size limit is reached precisely, which ever happens first. any txns with size bigger than the remaining space don't need to be considered, naturally. a great question to answer is: what is the implicit minimum size for a transaction? I say implicit since it isn't spec'ed out, though from the properties of a tx we can infer a minimum size. for example, the signature has a fixed size right? and I believe that's included in that size figure, which should refer to encoded length. not sure though at the top of my head what that size figure represent precisely. if we know a minimum size, it can be compared to the remaining space in the request, to see if it even makes sense to search for more txns. hopefully a realistic minimum size, together with the remaining size in the request can narrow down our number of input hashes to the algorithm quite a lot. that way we can consider the remaining space in multiples of the minimum size. maybe we are better of using an observed minimum size, rather than the true minimum size, that is a "the smallest txns are usually this small" value.
seems like you missed to permalink the example in playground - has happened to me too before.

on the other hand, we may just do something greedy like sort DESC, grab what we can in one pass, and call it a deal :)
P.s. What I've found in go-ethereum:
https://github.com/ethereum/go-ethereum/blob/2e947b7a0041f087ce4945303f3dd267b6296a14/eth/protocols/eth/broadcast.go#L76

yeah this is what reth does now too. the goal is to optimise it.

on the other hand, we may just do something greedy like sort DESC, grab what we can in one pass, and call it a deal :)

It does seem like DP is the way to go for the optimal solution, but I was playing around with a simple sort by desc (mainly because I was interested in getting my first rust env going and testing it) and came up with this. I'm not sure if it is appropriate for a PR since I don't even know if this is an appropriate greedy algorithm for the knapsack problem and whether it addresses the root issue.
@emhane I modified the test to make it more comparable to the example you gave in the issue description, but I feel like there are definitely edge cases for which this algorithm doesn't really end up being optimal anyways. Putting it up there for posterity though and further discussion if warranted.

nice @vcshih. you're very welcome to open a pr, and we can take the rest from there.

closing, obsolete due to rework of integration of transaction manager components


HipChatChannel に COLOR と NOTIFY の設定を追加

Coverage decreased (-0.39%) to 87.25% when pulling 79527cd963c235624f9bfc540201c8564a4de8ab on hipchat-color into fa6b25a075c7c3d64cc2d2758902ece8832d929a on develop.

Coverage increased (+1.58%) to 89.22% when pulling 2a7420638d0edafe35f9b704a254d53c8ad3e3cd on hipchat-color into fa6b25a075c7c3d64cc2d2758902ece8832d929a on develop.


custom disjoint rules

I don't have a syntax for this, but it seems likely that we'll eventually want the ability to specify disjoint-ness in a finer-grained fashion. However, this is not unique to properties -- we probably want this on methods as well! There are a lot of open questions here on the best way to go about this.

Is this going to be common?  If not, you can do it with a trait hierarchy already, right?
We can require that x be disjoint from y and y like this, right?
trait A { x: [T] }
trait B : A { y: [T] }
trait C : A { z: [T] }

It's verbose to use and impl all these traits, but another syntax could resolve that, like say pub trait Foo : pub A, pub B, pub C {} to merge these traits for export.
If struct were used as an alternative to let then I guess trait Foo { struct mut f: T; struct mut g: U; ... } would prohibit mutabling borrowing both f and g while trait Foo { struct { f: T, g: U } ... } would prohibit overlap between f and g, but this syntax does not support forbidding some overlap like above.

Is this going to be common? If not, you can do it with a trait hierarchy already, right?

Indeed. This is why I was originally thinking that we would never need it.
That said, I think it would be useful to be able to declare methods that are "disjoint" from one another (i.e., that they access disjoint sets of fields, as in https://github.com/rust-lang/rfcs/issues/1215). I can imagine that if we grow a way to do that, we might also use it to declare overlapping fields.
Certainly seems out of scope for the initial shot at this RFC, particularly since the RFC itself provides a partial means to address https://github.com/rust-lang/rfcs/issues/1215.

I see.  It appears the struct version suffices for showing method disjointness.

I suppose the struct version can be quite expressive if we identify duplicate fields between struct field declarations together :
trait Foo {
    struct { a: T, b: T }
    struct { b: T, d: T }
    struct { a: T, c: T }
    struct { c: T, d: T }
}

This says a and d are disjoint form b and c but not necessary each other, with b and c are not necessarily disjoint from each other, so you can define method using any.


azure-cli: move to by-name, nixfmt

azure-cli: move to by-name, nixfmt

move from top-level to by-name
run nixfmt on nix files (but not on automated file): extensions-manual.nix, package.nix, python-packages.nix
I have not included extensions-generated.nix at this point in time.

Goal here is minimalist, to just establish a minimal base for a subsequent refactor.
CC @katexochen @obreitwi

AFAIK it's currently not encouraged to manually format with the new formatter.
Message from the Nix Formatting matrix room yesterday:

I think the cost of people trying to manually format things everywhere is larger than ...

If you insist on formatting anyway, the formatting commit should be added to .git-blame-ignore-revs. See https://github.com/NixOS/nixpkgs/pull/322537 for the treewide formatting effort.
Moving to by-name looks good to me.

FWIW: The treewide format PR won’t touch files that have had open PRs in the past while, and will enforce formatting changed files on every new PR. So it wouldn’t reformat this file now, and it would actually enforce doing what @superherointj did here. The message you quoted was in the context of whether to hold off on doing mass reformats before the formatter exactly matches the RFC formatting guidelines, as an argument for reformatting as much of the tree ASAP as possible; see e.g. https://github.com/NixOS/nixpkgs/pull/322537#issuecomment-2197286445. There’s already been a lot of small‐scale formatting and I’m not sure it makes sense to add every single commit to .git-blame-ignore-revs. That said, it might be best to any include any further refactoring in this PR rather than touching the files just for mechanical changes?

I’m not sure it makes sense to add every single commit to .git-blame-ignore-revs

@emilazy I really think we should add it, git blame gives a lot of helpful info for packages of this size.

Ah, I missed just how big this is :) It may be a good idea, then. Though I wonder how well git blame works even then with the combination of a move and big reformat; .git-blame-ignore-revs isn’t perfect in my experience.

The repo will be formatted anyway. Which can cause breakages, for example, update scripts (#310700).
We are better knowing how things are actually going to be.
I will add the commit to .git-blame-ignore-revs then.


APIs with left out fields don't compose well with APIs using non-purescripty casing

If I use camelCase in my codebase, and an API uses snake_case, it seems like I have to use prismaticCodec and create converter functions that convert {field_name :: Foo} to {fieldName :: Foo}.
Using the alternative CA.prop API, I can specify the key name, so there is no issue. But then I can't have left-out fields as there is no pendant to recordPropOptional. Why is there no recordPropOptionalWithCustomKeyName?

propOptional is probably more the missing thing, as recordPropOptionalWithCustomKeyName also implies a missing recordPropWithCustomKeyName, but that's kinda defeating the point of the record-related API, since using it guarantees the codec will roundtrip.
I think propOptional should be easy enough to implement using recordProp vs recordPropOptional as a reference if you want to take a look at that.


[IOTS-484] IOTS SAMPLE returns build failure error

Hi,  I am trying to build the sample "connectedcup" device and found below error  not find the components, please kindly revice behind log, Thanks. BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Framework arguments: -application org.eclipse.equinox.p2.director -metadataRepository file:/data/wso2iot-3.0.0/samples/p2-repo -artifactRepository file:/data/wso2iot-3.0.0/samples/p2-repo -profileProperties org.eclipse.update.install.features=true -installIU org.coffeeking.connectedcup.feature.group/1.0.0, -bundlepool /data/wso2iot-3.0.0/samples/../core/repository/components -shared /data/wso2iot-3.0.0/samples/../core/repository/components/p2 -destination /data/wso2iot-3.0.0/samples/../core/repository/components/default -profile default -roaming Command-line arguments: -debug -consoleLog -application org.eclipse.equinox.p2.director -metadataRepository file:/data/wso2iot-3.0.0/samples/p2-repo -artifactRepository file:/data/wso2iot-3.0.0/samples/p2-repo -profileProperties org.eclipse.update.install.features=true -installIU org.coffeeking.connectedcup.feature.group/1.0.0, -bundlepool /data/wso2iot-3.0.0/samples/../core/repository/components -shared /data/wso2iot-3.0.0/samples/../core/repository/components/p2 -destination /data/wso2iot-3.0.0/samples/../core/repository/components/default -profile default -roaming !ENTRY org.eclipse.equinox.p2.director 4 1 2017-02-13 02:54:04.113 !MESSAGE Cannot complete the install because one or more required items could not be found. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2017-02-13 02:54:04.113 !MESSAGE Software being installed: WSO2 IoTS(Device Types) - Connected Cup Feature 1.0.0 (org.coffeeking.connectedcup.feature.group 1.0.0) !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2017-02-13 02:54:04.113 !MESSAGE Missing requirement: WSO2 IoTS(Device Types) - Connected Cup Feature 1.0.0 (org.coffeeking.connectedcup.feature.group 1.0.0) requires 'org.coffeeking.connectedcup.plugin [3.0.8]' but it could not be found [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO]  [INFO] WSO2 IoTS(Device Types) - Connected Cup Component . SUCCESS [0.313s] [INFO] WSO2 IoTS(Device Types) - Connected Cup Component . SUCCESS [0.018s] [INFO] WSO2 IoTS(Device Types) - Connected Cup Analytics capp SUCCESS [0.547s] [INFO] WSO2 IoTS(Device Types) - Connected Cup CDMF Plugin SUCCESS [2.385s] [INFO] WSO2 IoTS(Device Types) - Connected Cup API ....... SUCCESS [4.134s] [INFO] WSO2 IoTS(Device Types) - Connected Cup Agent Web app SUCCESS [0.237s] [INFO] WSO2 IoTS(Device Types) - Connected Cup UI ........ SUCCESS [0.073s] [INFO] WSO2 IoTS(Device Types) - Connected Cup Feature Parent SUCCESS [0.012s] [INFO] WSO2 IoTS(Device Types) - Connected Cup Feature ... SUCCESS [0.803s] [INFO] Creating custom distribution ...................... FAILURE [5.626s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 14.599s [INFO] Finished at: Mon Feb 13 02:54:04 GMT 2017 [INFO] Final Memory: 133M/1711M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.wso2.maven:carbon-p2-plugin:1.5.4:p2-profile-gen (default-feature-install) on project iot-devicetype-samples: P2 publisher return code was 13 -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.wso2.maven:carbon-p2-plugin:1.5.4:p2-profile-gen (default-feature-install) on project iot-devicetype-samples: P2 publisher return code was 13 --------------------------------------------------------------------------------------------------------Reference: https://wso2.org/jira/browse/IOTS-484

Need to build to Connected cup sample before building the sample deployer. Hence closing


team up with argc-completions

Hello,
for those coming from argc-completions a quick comparison would be helpful.
Can the projects build up on each other?

The completions of PSCompletions are not automatically generated, it need json file.
These json file must be defined in advance and added locally.

Thank you. It seems that PSCompletions is also more native, being a PS1 script, whereas argc needs an additional exe and MSYS2 at least for installation

The PSCompletions module is now based on a json file.

You should say what completions you need to say, and I'll consider add it.

Maybe I can take a look at how argc generates completion, which allow me to quickly generate some json file that matches the PSCompletions.

I'm also writing the document of PSCompletions, which makes it possible for others to work with me to add/update completions.

You should say what completions you need to say, and I'll consider add it.

Maybe consider these: https://github.com/se35710/scoop-main/blob/master/bucket/coreutils.json
I am mainly thinking of replicating the Git Bash experience

These commands do not require completion.
I think you just need to set the alias and function.

More comprehensive would be https://github.com/bmatzelle/gow/tree/master/bin

In v5.1.0 , PSCompletions can be combined with argc-completions.
For detail:  https://pscompletions.pages.dev/FAQ/#pscompletions-and-argc-completions

Maybe these additional commands deserve mention in the README