文件后缀变化/file name ext-name changed??

I'm opening this issue because:
[+] I have found a bug
windows终端扫描二维码，文件的时候，很多类型传输到手机上后，文件的后缀变成了txt（如exe，cmd）；一些类型文件能保留（如zip等）；
When the Windows terminal scans the QR code and files, after many types of files are transferred to the mobile phone, the suffix of the file becomes txt (such as exe, cmd); some types of files can be retained (such as zip, etc.)
How can I keep the original file name ext-name unchanged?
THX!!

Hello! The tool creates a zip archive only when sending more than one file per transfer.
Is this your case?
Thanks!
Claudio

Hello! The tool creates a zip archive only when sending more than one file per transfer. Is this your case?
Thanks! Claudio

no, when I try to transfered a single file from my windows PC (eg. d:\001\002.cmd), when I used a phone to scan the QR code and received a file name 002.txt). but it;s not all files will be like this. if the file's ext-name just like .zip, .iso,.pdf..., it will transfered with the orignal ext.
.cmd, .apk and some other's type will be changed to .txt automatic.
upload screentshot pics....

ps. multi-files and a folder will be created a zip-file, it's right!
at last. thx ur great job. it's amazing....

Hello! The tool creates a zip archive only when sending more than one file per transfer. Is this your case?
Thanks! Claudio

In addition, when I discussed this issue with my friends, we all agreed that this is set up for security reasons, such as unknown apk files are unknown risks to Android. But is it possible to add a parameter or a switch to set the file suffix not to be modified?

ilaoyao

Ah, thanks for providing more context.
Yes, I would agree this is a security measure implemented by the browser.
Maybe you can add the --zip flag when sending, so once you receive the file you will just unzip it on the mobile, it should be smoother than replacing the extension manually.
Let me know if this helps, and thanks for the feedback!
C

yes, --zip  flag can make  ot right, and i test this way already.
i just wonder, in your codes, i don't find any line about to change the send-file's ext-name change to .txt, only in  page.go i can see your code add .txt to non-ext-name file.
sincerely
ilaoyao

Hello, I will close this issue for now as this is not something we have control over.
Thanks for reporting!


Link from confusion matrix to utterance table

Resolve #469
Description:

Link from confusion matrix cells to utterance table
Link from confusion matrix row/column labels to utterance table

That was very easy. To be honest, GitHub Copilot (Codex) almost got it on its own. 😅 Here (suggestion in gray), it figured out that the label and prediction filters should be the class names, and which of the rowIndex and the columnIndex represents the label and the prediction:

It was only missing wrapping the prediction in an array (expecting string[] and not string). After I added it and I hit enter, GitHub Colipot suggested the label correctly, with the added array:

My mind is blown. 🤯
Checklist:
You should check all boxes before the PR is ready. If a box does not apply, check it to acknowledge it.

[x] ISSUE NUMBER. You linked the issue number (Ex: Resolve #XXX).
[x] PRE-COMMIT. You ran pre-commit on all commits, or else, you
ran pre-commit run --all-files at the end.
[x] USER CHANGES. The changes are added to CHANGELOG.md and the documentation, if they impact
our users.
[x] DEV CHANGES.

Update the documentation if this PR changes how to develop/launch on the app.
Update the README files and our wiki for any big design decisions, if relevant.
Add unit tests, docstrings, typing and comments for complex sections.

Wow, so cool!! I'm not able to make the row/column work I think.


[IMPAC-276] Changed view Account Balance to collapsable list (3)

Hi @an-pavlovych,
I think there has been a misunderstanding there: The idea was just to group the accounts in the drop-down by classification, not to transform the whole widget to a "drill-down" widget... :/
Your change in the API (https://github.com/maestrano/impac/pull/321/files) is ok and is going to be merged, but this PR has to be reworked: why wouldn't you simply keep the drop-down list and add the classification name in front of the account name?
Like for example: "Accounts Payable" would be become "[Asset] Accounts Payable".
In case of a multi-company dashboard, "Maestrano - Accounts Payable" would be "Maestrano - [Asset] Accounts Payable".
Then, all the "Asset" accounts should be grouped in the list, same thing for the other classifications.
Does that make more sense to you?

I just added group by option to selecting the acc

@an-pavlovych, yes that's exactly what we needed, I didn't even know it could be that simple :)
change included in https://github.com/maestrano/impac-angular/pull/236


Clarify requirements

What are the signals which we should be able to observe with our oscilloscope?
What is the exact list of the required functions?

For now (and it probably won't change) we assume that the analog signal is generated by a hand-driven potentiometer.
The list of functions roughly consists of:

start/stop measurements
Time/Voltage resolution
Time/Voltage bias
plot multiple inputs simultaneously;
enable/disable analog inputs


completion scripts unset extglob, breaking bash-completion

gentoo ~ # rc-service sshd status
 * status: started
gentoo ~ # vim /e-bash: syntax error near unexpected token `('
tc/^C
gentoo ~ # ^C

Offending line
https://github.com/OpenRC/openrc/blob/92662ddc44f6091e8085fcd4637d13f04e90c5ac/bash-completion/rc-service#L101
From discussion in #bash on libera.chat "all completion scripts can reasonbly expect that extglob has been enabled in advance"
Related discussion on extglob in bash completion scripts:
https://bugs.gentoo.org/267788

It's also not needed for the glob that extglob is being set for
https://github.com/OpenRC/openrc/blob/92662ddc44f6091e8085fcd4637d13f04e90c5ac/bash-completion/rc-service#L97
The pattern to the right of == in [[ is always matched as if extglob were enabled, so setting it is not necessary

See also https://github.com/OpenRC/openrc/issues/344#issuecomment-1412148373.


Adding experimental synchronous executor using inline command buffers.

This is mostly just the plumbing to enable #4680 by defining a new dylib-sync runtime driver (pending #4298 to cleanup drivers).
This driver does not support recording/replaying command buffers and has some gotchas with semaphores (no deadline waits, probably corner cases for things not covered in the CTS, etc). It should get us something that builds easier on tiny systems, though.
This uses iree/base/synchronization.h for the semaphore implementation. The intent is that for bare-metal systems we can implement a version of iree/base/synchronization.h observing the specific requirements of the platform while still preserving the semaphore semantics - it's still useful to use this driver with systems with multiple threads (lots of dual-core MCUs/MPUs) or to enable pipelining. Systems that have no threads can no-op the mutex/notification (or disable interrupts/etc).
Trace of bert with -driver=dylib-sync looks pretty good:

(the large __init block at startup and free at shutdown will be solved by #5504 and #5472)
Note that due to the design here there are no changes needed in the compiler/runtime besides the single flag added in #5508 so the same exact module runs async as well:

That's pretty cool :)
Progress on #4680.

(typo'ed my own name, but github so it stays :)


Development

@rschmitt Would you like to review the change-set adding support for SETTINGS_MAX_HEADER_LIST_SIZE H2 parameter?


Name clashes with standard libraries

Errors are been raised in modules that use import json - the highly convoluted and confusing way in which Python import works means that this is (in some situations?!) been interpreted as the hgijson namespaced import hgijson.json.

Most people on the Internet seem to think that Python developers should be expected to create packages and modules with creative (and confusing) names that don't (and won't in the future!?) clash with any standard libraries: http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html#the-name-shadowing-trap.
A move to relative imports however may get around this issue:
https://docs.python.org/2/whatsnew/2.5.html#pep-328-absolute-and-relative-imports

This issue appears to have been caused by hgijson been used from within a module named json.py. When import json is encounted in library, it seems to import the calling module opposed to the standard library.
It may be useful to make a note of this trap in the README.


Username is not set to the message context when using JWT token

Description:
When using JWT token, the username is not set to the message context.
Steps to reproduce:

Create a global sequence to get the username from the message context.

example:
<sequence xmlns="http://ws.apache.org/ns/synapse" name="WSO2AM--Ext--In">
<property name="X-Test-Username" scope="transport" expression="$ctx:api.ut.userName"/>
</sequence>

Create an API and create an Application with token type JWT.
Generate a token and invoke the API.
Check the logs. We can see logs similar to the below and there is no username in the X-Test-Username header.

[2020-10-09 20:55:24,155] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "GET /v3/971cbadc-6529-4779-a4da-621f35d2d591/sample HTTP/1.1[\r][\n]"
[2020-10-09 20:55:24,156] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Origin: https://localhost:9443[\r][\n]"
[2020-10-09 20:55:24,159] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "X-Test-Username: [\r][\n]"
[2020-10-09 20:55:24,160] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Referer: https://localhost:9443/[\r][\n]"
[2020-10-09 20:55:24,162] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Sec-Fetch-Dest: empty[\r][\n]"
[2020-10-09 20:55:24,164] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Sec-Fetch-Site: same-site[\r][\n]"

But when using opaque token I could see the username as below.
[2020-10-09 20:54:38,981] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "GET /v3/971cbadc-6529-4779-a4da-621f35d2d591/sample HTTP/1.1[\r][\n]"
[2020-10-09 20:54:38,983] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "X-Test-Username<EMAIL_ADDRESS>[2020-10-09 20:54:38,985] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "accept: */*[\r][\n]"
[2020-10-09 20:54:38,986] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Host: run.mocky.io[\r][\n]"
[2020-10-09 20:54:38,988] DEBUG - wire HTTPS-Sender I/O dispatcher-6 << "Connection: Keep-Alive[\r][\n]"

Affected Product Version:
APIM 3.0.0 -t<PHONE_NUMBER>020
Environment details (with versions):

OS:
Client:
Env (Docker/K8s):

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Let's add all variables which are not available in the JWT flow. See this[1] for details.
[1] https://movingaheadblog.blogspot.com/2016/08/wso2-api-manager-how-to-retrieve.html


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 1340 ms

Resolved: Bofrost.de performance has improved in 9d9aaec.


Invitations for Group Members and Admins

Generally it is ok. Please see one comment.
Moreover, I believe that we should use Msg tag and messages_en.properties like Keycloak does in order to support multilanguage.
I propose create jira issue for later and merge PR now.


Double negative in question

Double negative in question "Why isn't the root directory of the website not redirecting to the default index page?" This is confusing, and it looks like the answer is addressed to "Why isn't the root directory of the website redirecting to the default index page?" - so, removing the word "not".

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: dcd3f99a-f522-6edb-6d39-eac1bb917956
Version Independent ID: 69e9c1e5-8deb-8092-46f4-6646d076fbe4
Content: Static website hosting in Azure Storage
Content Source: articles/storage/blobs/storage-blob-static-website.md
Service: azure-blob-storage
GitHub Login: @stevenmatthew
Microsoft Alias: shaas

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


How can i have select box on rows of ui-grid? Upon clicking of the check box the row should be selected.

This question may be better directed to stack overflow.

I'm closing this since old and just more suited to a Q&A website.


ORA-01292: no log file has been specified for the current LogMiner session

ORA-01292: no log file has been specified for the current LogMiner session
ORA-06512: at "SYS.DBMS_LOGMNR", line 58
ORA-06512: at line 1
what's the matter?

Hi,
Could you please give some information about your source config and source database version ?
Thanks

Hi,
Could you please give some information about your source config and source database version ?
Thanks

Hi,
thanks for your reply!
{ "name":"oracle-logminer-connector",
"config":{"connector.class":"com.ecer.kafka.connect.oracle.OracleSourceConnector",
"db.name.alias":"test_es",
"tasks.max":"1",
"topic":"es_test",
"db.name":"xxx",
"db.hostname":"xxx",
"db.port":"1521",
"db.user":"xxx",
"db.user.password":"xxx",
"db.fetch.size":"50",
"table.whitelist":"xxx",
"parse.dml.data":"true",
"reset.offset":"false",
"start.scn":"",
"multitenant":"false",
"zk_server":"xxx",
"sid":""
}
}

And version ?

And version ?

<IP_ADDRESS>

Could you please set reset.offset = true and try again ?

Could you please set reset.offset = true and try again ?

Thanks!
Now, there's another problem:
ERROR SQL error during poll (com.ecer.kafka.connect.oracle.OracleSourceTask:249)
java.sql.SQLException: ORA-01002: fetch out of sequence
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
    at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:220)
    at oracle.jdbc.driver.T4CCallableStatement.fetch(T4CCallableStatement.java:1061)
    at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3716)
    at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:1015)
    at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:979)
    at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:579)
    at com.ecer.kafka.connect.oracle.OracleSourceTask.poll(OracleSourceTask.java:197)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.poll(WorkerSourceTask.java:265)
    at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:232)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:177)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:227)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Hi again,
I have 2 more questions ?

Is your system RAC ?
Does this error occur immediately starting connector  or after some time ?
I am looking some solutions in order to reproduce this issue .
Thanks

Hi again,
I have 2 more questions ?
1. Is your system RAC ?

2. Does this error occur immediately starting connector  or after some time ?
   I am looking some solutions in order to reproduce this issue .
   Thanks

1.it's RAC
2.this error occur  after some time, about two days
moreover:
"Database connection pool " ,   Is it a solution?

You said after 2 days error occured. During this 2 days are DML operations being to continue ? Or is there any idle time ?
Previous issues regarding this error were on Rac systems. Nowadays i am preparing RAC test environment. After this i think issue can be resolved.

DML operations being to continue
Hi!
DML operations continue

You said after 2 days error occured. During this 2 days are DML operations being to continue ? Or is there any idle time ?
Previous issues regarding this error were on Rac systems. Nowadays i am preparing RAC test environment. After this i think issue can be resolved.

Hi!
DML operations continue

Hi,
test environment has been prepared for RAC issue. I will update this issue after some tests.
Thanks

Hi,
test environment has been prepared for RAC issue. I will update this issue after some tests.
Thanks

Hi,
Thanks for your help!

Hi,
java.sql.SQLException: ORA-01291: missing logfile
ORA-16241: Waiting for gap log file (thread# 1, sequence# 507715)
this error before ' ORA-01002: fetch out of sequence' occurred

Thanks for update. This error shows logminer(connector) tries to open logfile 507715 but it is not available on archive log destination , Could you please be sure about that.If it is not exist you have to restore them logfiles to archivelog destination.

Thanks for update. This error shows logminer(connector) tries to open logfile 507715 but it is not available on archive log destination , Could you please be sure about that.If it is not exist you have to restore them logfiles to archivelog destination.

Hi,
Is there any solution?

Did you check the log file is really exists or not ? If it is not the only solution is to restore the related archive log and following files .

Did you check the log file is really exists or not ? If it is not the only solution is to restore the related archive log and following files .

Thanks,
Will you update it?

Hi,
According to your last error , there is no need to update code. does error still occur ?

i have the same error when i set
"reset.offset":"false",
"start.scn":"xxxxxx"
if
"reset.offset":"true",
"start.scn":""
it works.
db version is 12.2 , standalone database installed on a oracle linux 7 os.

Hi,
Have you checked redo or archive log file exists in location which contains "start.scn" ?

my bad, the archivelogs were old and deleted. but there is also another problem i noticed.
i used the log miner manually to check the results produced by kafka.
i set the scn xxxxx , which exists in the archivelogs. i am capturing for only one table.
when i check with logminer , 4-5 dml's issued after scn xxxxx , but connector is not capturing all the dml's, it captures 2-3 dml. some dml's are absent.
then if i did an update/insert/delete on the table listened, its captured by the connector.
as i mentioned  some dml's are lost (is not captured) after the start.scn values. (by the way i consume the topic into a file). what can be the reason or am i doing something wrong.

Hi,
Have you noticed statements in connectorog file like "skipping records" ?

nope, output is like below:
2020-06-16 11:24:03,146] INFO Kafka version: 2.5.0 (org.apache.kafka.common.utils.AppInfoParser:117)
[2020-06-16 11:24:03,146] INFO Kafka commitId: 66563e712b0b9f84 (org.apache.kafka.common.utils.AppInfoParser:118)
[2020-06-16 11:24:03,146] INFO Kafka startTimeMs:<PHONE_NUMBER>146 (org.apache.kafka.common.utils.AppInfoParser:119)
[2020-06-16 11:24:03,153] INFO Created connector oracle-logminer-connector (org.apache.kafka.connect.cli.ConnectStandalone:112)
[2020-06-16 11:24:03,153] INFO OracleSourceConnectorConfig values:
db.fetch.size = 1
db.hostname = <IP_ADDRESS>
db.name = XYZDEV
db.name.alias = DEV
db.port = 1521
db.user = system
db.user.password = XYZ*****
multitenant = false
parse.dml.data = true
reset.offset = false
start.scn = 171808250
table.blacklist =
table.whitelist = TEST.T_SRC_ONUR
topic = cdctest
(com.ecer.kafka.connect.oracle.OracleSourceConnectorConfig:347)
[2020-06-16 11:24:03,153] INFO Oracle Kafka Connector is starting on DEV (com.ecer.kafka.connect.oracle.OracleSourceTask:112)
[2020-06-16 11:24:03,155] INFO [Producer clientId=connector-producer-oracle-logminer-connector-0] Cluster ID: ICLkYVMoS2mP1K1IwgvQWg (org.apache.kafka.clients.Metadata:280)
[2020-06-16 11:24:03,499] INFO Connected to database version 122010 (com.ecer.kafka.connect.oracle.OracleSourceTask:117)
[2020-06-16 11:24:03,499] INFO Starting LogMiner Session (com.ecer.kafka.connect.oracle.OracleSourceTask:120)
[2020-06-16 11:24:03,523] INFO Offset values , scn:172135229,commitscn:172135252,rowid:AABG2dAAWAACNQTAAE (com.ecer.kafka.connect.oracle.OracleSourceTask:141)
[2020-06-16 11:24:03,526] INFO Captured last SCN has first position:172053870 (com.ecer.kafka.connect.oracle.OracleSourceTask:156)
[2020-06-16 11:24:03,526] INFO Resetting offset with specified start SCN:171808250 (com.ecer.kafka.connect.oracle.OracleSourceTask:161)
[2020-06-16 11:24:03,526] INFO Commit SCN : 172135252 (com.ecer.kafka.connect.oracle.OracleSourceTask:186)
[2020-06-16 11:24:03,526] INFO Log Miner will start at new position SCN : 171808250 with fetch size : 1 (com.ecer.kafka.connect.oracle.OracleSourceTask:187)
[2020-06-16 11:24:13,152] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:24:13,153] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:24:19,893] INFO Logminer started successfully (com.ecer.kafka.connect.oracle.OracleSourceTask:195)
[2020-06-16 11:24:19,894] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Source task finished initialization and start (org.apache.kafka.connect.runtime.WorkerSourceTask:214)
[2020-06-16 11:24:19,896] INFO Getting dictionary details for table : T_SRC_ONUR (com.ecer.kafka.connect.oracle.OracleSourceConnectorUtils:153)
[2020-06-16 11:24:23,153] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:24:23,153] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:24:23,161] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Finished commitOffsets successfully in 8 ms (org.apache.kafka.connect.runtime.WorkerSourceTask:523)
[2020-06-16 11:24:33,161] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:24:33,161] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:24:43,162] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:24:43,162] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:24:47,271] INFO [GroupMetadataManager brokerId=0] Group console-consumer-96552 transitioned to Dead in generation 2 (kafka.coordinator.group.GroupMetadataManager)
[2020-06-16 11:24:47,273] INFO [GroupMetadataManager brokerId=0] Group console-consumer-38737 transitioned to Dead in generation 2 (kafka.coordinator.group.GroupMetadataManager)
[2020-06-16 11:24:47,273] INFO [GroupMetadataManager brokerId=0] Removed 0 expired offsets in 2 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-06-16 11:24:53,163] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:24:53,163] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:25:03,164] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:25:03,164] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:25:13,165] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:25:13,165] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:25:23,166] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:25:23,166] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:25:33,166] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2020-06-16 11:25:33,167] INFO WorkerSourceTask{id=oracle-logminer-connector-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
[2020-06-16 11:25:43,167] INFO WorkerSourceTask{id=oracle-logminer-connector-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)

Do we need to set autoArchival parameter true to fetch records from archive logs?
Currently, the parameter is set to False and I am unable to use old scn id.
One more question which is not related to this topic, Does this application support Oracle with TDE enabled?

Do we need to set autoArchival parameter true to fetch records from archive logs?
Currently, the parameter is set to False and I am unable to use old scn id.
One more question which is not related to this topic, Does this application support Oracle with TDE enabled?

I am sharing a screenshot image for your reference. Could you please help in this regard?

Hi,
What is your config parameters ? is connector starting from specified SCN ?

Hi,
What is your config parameters ? is connector starting from specified SCN ?

Hi,
Thanks for your reply.
Yes, I am starting with a specific SCN ID.
Without the SCN ID it is working fine and there is no redo log issue as such.
Please note that the autoArchival parameter is set to False. Will this have any impact on the logminer?
Your inputs on this would really help. Thank you.
Also one generic question on TDE? Will this connector work if TDE is enabled in Oracle.

Hi,
By autoArchival if you mean log_archive_start parameter , it is deprecated from 10g version .If your database in archivelog mode , automatic archiving is started .
Specific SCN declaration tries to find related archivelog to mine . If these archive logs are not exists in location , connector can give your error. Please be sure about that.
Actually , i have not tested TDE . But as i know logminer which is used in this connector supports TDE.
Thanks

Hi,
Thanks for your inputs. I am testing it with TDE enabled and tables having xml data. I am facing some issues in extracting the xml data. I'll share the solution once I find it.
Thank you.


Regrid with @AVE wrong at edges after data is loaded

Reported by Ansley B Manke on 9 Apr 2003 16:24 UTC
! Demonstration script
use coads_climatology
def axis/x=110w:90w:5 xax
def axis/y=10n:20n:2 yax
! This looks OK
list/l=1 sst[            110W   105W   100W    95W    90W
1      2      3      4      5
20N   / 6:  24.04  25.46  24.57  23.82  25.00
18N   / 5:  25.46  26.55  27.45  25.34  25.94
16N   / 4:  26.54  27.39  27.92  26.78  26.96
14N   / 3:  27.07  27.81  27.80  26.80  27.18
12N   / 2:  27.27  27.63  27.37  26.86  26.91
10N   / 1:  27.18  27.29  27.12  26.84  26.29
! After loading the SST data, the @AVE becomes wrong
! at the upper and right edges.
load/l=1 sst
list/l=1 sstgx=xax@ave,gy=yax@ave
110W   105W   100W    95W    90W
1      2      3      4      5
20N   / 6:   ....  54.36   ....   ....   8.98
18N   / 5:  25.46  26.55  27.45  25.34   ....
16N   / 4:  26.54  27.39  27.92  26.78   ....
14N   / 3:  27.07  27.81  27.80  26.80   ....
12N   / 2:  27.27  27.63  27.37  26.86   ....
10N   / 1:  27.18  27.29  27.12  26.84   ....
Note this in the v5.22 Release Notes:
When regridding with G=@AVE, @SUM, @VAR a result is placed in the destination
grid cell if there is any, even partial, valid source data from which to compute
it.  Previously regridding with G=@AVE, @SUM, @VAR would result in a missing
value for any destination grid cell which was not 100% filled with valid data
from the source grid. This behavior has been changed. Now a result is placed in
the destination grid cell if there is any (even partial) valid source data from
which to commute it.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/525

Comment by<EMAIL_ADDRESS>on 12 May 2003 17:57 UTC
checked in 4/4/02
doo/ave_regrid_1_axis.F


Attribute to retain cells during optimization

I added a new boolean attribute that indicates which cells (and uses of cells) should be preserved during optimizations. I check for the attribute in the dead-cell-removal pass, so the pass doesn't optimize those cells when it would otherwise do so. (@ekiwi and I got to the bottom of the errors I was experiencing yesterday)
The attribute is currently called @protected, but if anyone has suggestions about what the attribute should be named that would be helpful!
Example
The test file tests/passes/dead-cell-removal-protected.futil differs from tests/passes/dead-cell-removal.futil by a single line, where we add @protected to unused register unused_reg:
$ diff tests/passes/dead-cell-removal.futil tests/passes/dead-cell-removal-protected.futil
30c30
<     unused_reg = std_reg(32);
---
>     @protected unused_reg = std_reg(32);

The expect files showing the result of running dead-cell-removal indicate that the pass retained unused_reg because of the @protected attribute:
$ diff tests/passes/dead-cell-removal.expect tests/passes/dead-cell-removal-protected.expect
26a27
>     @protected unused_reg = std_reg(32);

Do you have thoughts on creating a more robust mechanism to ensure that @protected is respected when removing cells? Also, what should be the behavior when we're optimizing programs to share cells?

Would including a check at the end of dead-cell-removal (and any other passes that can remove cells) that the @protected cells are preserved make sense for ensuring?
I think an approach to cell-share could be to simply say "cells cannot have both protected and share/state_share attributes" (and add a check at the beginning of cell-share for this)?

After taking a closer look at the cell-share pass, I think protected should override share/state_share. So even though std_wire the primitive has the share attribute, cells of std_wire that have protected should not be shared. The cell-share pass currently has this behavior, and I added a test (tests/passes/cell-share/protected.futil) to check for this.

This looks good now. We should merge this once we get an OK from @rachitnigam .

Please add documentation for the new attribute (we should some day make this automatic): https://docs.calyxir.org/lang/attributes.html
Once that is done, go ahead with the merge!


Fix typings availability

The intent of this PR is to handle typings correctly after recent Svelte updates.
According with https://kit.svelte.dev/docs/packaging#anatomy-of-a-package-json-exports, it is needed to export typings as well in package.json file. It is quite unusual from the default approach for that.
With this change, it fixed the issues related to https://github.com/FortAwesome/svelte-fontawesome/issues/8
In addition:

it was fixed some vulnerabilities thrown by npm when installing packages.
Removed unnecessary eslint-plugin-standard package, recommended by npm.

Thanks @konnng-dev ! We'll give this a go. Really appreciate you helping with this.


[WIP] implement mnemonic_auth

Add a feature for auth to API using 12/24 words mnemonic with lnurl LUD-04
@RomainRouphael, @vafanassieff I still have 2 concerns:

did the cookie have some expiration time? (so I need to check and renew in case)
should I control the hmac? if so which key is used in hmac computation?

Wich hmac ?

the one in the lnurl:

Nice PR ! Using our cookie for authentication is kind of hack, if your cookie is stolen you need to call the /user/logout route otherwhise your whole account is exposed.

So maybe it's better to renew the cookie often (hourly?)

The hmac is only used by our api to check that nothing was modified (maybe it's useless i need to think about what i did 3 years ago  🤔 )
You need to send it in the callback query parameter

The hmac is only used by our api to check that nothing was modified (maybe it's useless i need to think about what i did 3 years ago thinking )
You need to send it in the callback query parameter

ok, I thought that I can use it to check there is no MITM, but don't have a clue how :smile:
a signature from LNM committing to k1 and url can be useful on the user end to detect MITM

It could be a good idea to avoid MITM indeed !
I trust https until then 😭

It could be a good idea to avoid MITM indeed ! I trust https until then sob

should I open an issue for that? :smile:

I've done some doc, PR seems ready to review from my side now

@vafanassieff

Not good with python but LGTM, maybe @RomainRouphael can try it ?
Beware if your cookie is compromised your account is at risk.


Don't crash Python interpreter via assert(false) when missing cublaslt

As discussed in https://github.com/TimDettmers/bitsandbytes/pull/984#issuecomment-1917763792.
Before:
tests/test_functional.py::test_dequant_mm[dim1_121_dim4_201_dims_2_formatB_col_turing_has_bias_True] Fatal Python error: Aborted

Thread 0x00007fdb0d0e7640 (most recent call first):
  <no Python frame>

Current thread 0x00007fdc47e18000 (most recent call first):
  File "/home/akx/bitsandbytes/bitsandbytes/functional.py", line 1930 in igemmlt
  File "/home/akx/bitsandbytes/tests/test_functional.py", line 990 in test_dequant_mm
  [...]

Aborted

After:
tests/test_functional.py::test_dequant_mm[dim1_121_dim4_201_dims_2_formatB_col_turing_has_bias_True] FAILED
[...]
        if has_error == 100:  # `ERR_NOT_IMPLEMENTED` is defined as 100 in `ops.cu`
>           raise NotImplementedError("igemmlt not available (probably built with NO_CUBLASLT)")
E           NotImplementedError: igemmlt not available (probably built with NO_CUBLASLT)

Amazing, you're finding, raising, fixing issues at lightning speed. Some sort of Jedi master thing :D
Thanks so much.
Anyways, the test suite is a major piece of work. The author and main contributor only ran the test suite very selectively for whatever he was currently working on, judging by eye and experience if the results were meaningful or not.
We just took over maintenance fully since December and are still finding our way around the code in many things.
Let's talk about this some more.

Are you on Slack? If you want, I would like to include you in the HF bnb-daily-ci channel (even if bnb test suite itself is not run there yet) and the bitsandbytes collab channel.

Amazing, you're finding, raising, fixing issues at lightning speed.

Thanks 😅

Are you on Slack? If you want, I would like to include you in the HF bnb-daily-ci channel (even if bnb test suite itself is not run there yet) and the bitsandbytes collab channel.

I am, though I can't guarantee I can be super active (day job at @valohai, other life stuff, all that). If you need an email address, use the one in my commits or on my profile.


Extending Invoice

Hi,
I am using dev-master of plugin and dev-master of Sylius.
I added this to config
sylius_invoicing:
    resources:
        invoice:
            classes:
                model: App\Entity\Invoice\Invoice

and this is my new entity, there is nothing inside
<?php

declare(strict_types=1);

namespace App\Entity\Invoice;

use Doctrine\ORM\Mapping as ORM;
use Sylius\InvoicingPlugin\Entity\Invoice as BaseInvoice;

/**
 * @ORM\Entity
 * @ORM\Table(name="sylius_invoicing_plugin_invoice")
 */
class Invoice extends BaseInvoice
{
}

i am getting this errror

Return value of Sylius\InvoicingPlugin\Entity\Invoice::channel() must be an instance of Sylius\InvoicingPlugin\Entity\InvoiceChannelInterface, null returned

I understand that the problem is with embedded properties, but I am not figuring out how to solve this.

Hello, I hase exactly same problem here!
Any help will save me :)

Same here
Could it be Doctrine Embeddable doesn't work well with Sylius resource mapping overriding ?

I have the exact same issue right now. From my point of view, the invoicing plugin in its current state is not very expandable at all.
It does not properly use the resource-bundle for its entities (repository is not a resource-repository and a couple of others as well). We have added stuff to our invoice as well, but we have to override eeeeverything to not run into type-problems, etc.

The newest version has removed the InvoiceChannel entity entirely and replaced it with a proper relation to the proper ChannelInterface of sylius. Plus, since that is not an embeddable anymore, it works nicely.
There is just no plan or readme on how to upgrade, if you have the old version in production and have generated invoices with that. I am just now trying to create some form of converter, that can re-create the missing things to have proper invoices after upgrading.

Hey folks,
as Peter mentioned, embeddable were dropped and replaced with Sylius Resource classes. Sorry for the lack of an upgrade file, I hope all of you managed to upgrade your plugins. Nonetheless, it is not something we have in our plans right now.
Let's move conversation to #201 PR


Updating an error msg

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

Follow up to https://github.com/apache/druid/pull/12418#discussion_r851058217


C++ : how to invoke custom's completion tag in cq running thread

In our project, we are using grpc async APIs to implement an async-callback framework. To avoid race condiction, We have one CompletionQueue per thread model, say cq_, and one polling thread for it to dispatch callbacks once the result is ready:
cq polling thread:
while (true) {
...
cq_.Next(&got_tag, &ok);
std::function callback = reinterpret_caststd::function<void()>(got_tag);
callback();
...
}

We need to do some operations inside and outside RPCs, and we want all these operation to be invoked in the cq polling thread.We want to invoke custom's tag on cq.
for example:
in others thread:
void* custom_tag = (void*)1234;
cq_.invoke_custom_tag(custom_tag);     // pseudo-code

cq polling thread:
...
cq_.Next(&got_tag, &ok);
// got custom_tag and RPCs tag here
...

We don't figure out how to achieve these in C++ GRPC APIs,  please help.

C++ CompletionQueue is for grpc events only and you cannot put a custom callback to it.
What you may want to do is to have one or more dedicated thread to call cq_.Next and once you get a callback, dispatch it to a separated thread pool to run instead of running callback() in place. Then for your custom stuff, you can just say thread_pool_->Add(custom_callback).

I'm somewhat open to adding an API for this however. We'd need to plumb it
through the C stack, but I can certainly see the usefulness.
void grpc_completion_queue_push_tag(grpc_completion_queue *cq, void *tag);
On Tue, Jul 19, 2016 at 10:39 AM Yang Gao<EMAIL_ADDRESS>wrote:

C++ CompletionQueue is for grpc events only and you cannot put a custom
callback to it.
What you may want to do is to have one or more dedicated thread to call
cq_.Next and once you get a callback, dispatch it to a separated thread
pool to run instead of running callback() in place. Then for your custom
stuff, you can just say thread_pool_->Add(custom_callback).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/7305#issuecomment-233709329, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJpudXXihQtIticawXKiCiY8XCnnPBaqks5qXQvrgaJpZM4JJE_K
.


Fix merge fail

Current coverage is 0.00% (diff: 100%)

Merging #28 into develop will not change coverage

@@           develop   #28   diff @@
====================================
  Files            2     2
  Lines           80    80
  Methods          0     0
  Messages         0     0
  Branches         5     5
====================================
  Hits             0     0
  Misses          80    80
  Partials         0     0

Powered by Codecov. Last update b777233...da3676e


Allow the option to format the value of extraAvatars in AvatarGroup

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
I am using the AvatarGroup component with the total prop. In my case, the total is a very large number (in the thousands) so I want to format it so it would look like this: 4K instead of +4012.
The solution can be in the form of a formatter prop which accepts the number and returns the formatted value.
Examples 🌈
No response
Motivation 🔦
The lack of this feature causes me to implement the total prop logic by myself, which is unfortunate considering the only thing I need is formatting the value.

Can you please describe the feature that you want in detail. if you can show an example of your total prop logic. @NaamanTsur

I think the extraAvatar element should be customizable. I see 2 options:

[non-breaking change] adding a new prop called renderSurplus: (surplus: number) => React.ReactElement to let developer control the text.
[breaking] Follow Joy and deprecate the total and max props.

cc @DiegoAndai

@siriwatknp for v5, the non-breaking change option is the only viable one, so we should go with that one.
for v6, we can contemplate following Joy 👍🏼 I will write it down so we remember


[TASK] No files as plugin

Don't allow files like .gitkeep to be tested as plugin. isDir and isLink should be OK
Avoid errors like
Warning: is_file(): open_basedir restriction in effect. File(/var/www/plugins/.gitkeep/.gitkeep.php) is not within the allowed path(s): (/var/www:[MORE]) in /var/www/engine/Shopware/Kernel.php on line 311

Seems to be related to the bug described here https://issues.shopware.com/#/issues/SW-15145

Changed title to BUGFIX (is listed as bug) and added related to in message

This should be fixed with commit: https://github.com/shopware/shopware/commit/7bbe3a99faf79708bfc0a5726b2272e127becbc4


app timeout not working consistently

Ubuntu 17.04; node 4.7.2, npm 3.5.2
set app timeout to 30s and auto-locking works as expected. did some testing (added a newly created wallet) and then leave the window alone in the wallet overview... checking back half an hour later, still see the wallet overview instead of the "enter password" screen.

restarting the app works to get the auto-lockout working again
happens sporadically; can't make out a pattern to reproduce
no console log output

(for my notes) tfi_charmers reports "After you create a new wallet, the timeout doesn’t kick in"

I can confirm this on macOS 10.12.3.


Error message on missing import should be improved.

Currently when an import is missing you will get a message like this:
could not find type junos_qfx::routing_instances::instance::system::services::dhcp_local_server::group::Interface in namespace athonet_mpn::infra::switch::junos_qfx (reported in Construct(junos_qfx::routing_instances::instance::System) (/home/bart/workspace/projects/athonet/athonet_mpn/model/infra/switch/junos_qfx.cf:285:31))

There are a number of improvement possible. The first one is to improve the formatting to make it more readable:
could not find type junos_qfx::routing_instances::instance::system::services::dhcp_local_server::group::Interface in namespace athonet_mpn::infra::switch::junos_qfx

reported in Construct(junos_qfx::routing_instances::instance::System) at /home/bart/workspace/projects/athonet/athonet_mpn/model/infra/switch/junos_qfx.cf:285:31

The next improvement could be to also indicate that this might be caused by a missing import, if the import is not there. We can even suggest the exact import statement that you need to provide.

@bartv could you try this again? I merged a commit yesterday that happens to (I think) fix this.

I think I get exactly the same message:
could not find type junos_qfx::policy_options::PolicyStatement in namespace athonet_mpn::infra::switch::junos_qfx (reported in policy_statement = Construct(junos_qfx::policy_options::PolicyStatement) (/home/bart/workspace/projects/athonet/athonet_mpn/model/infra/switch/junos_qfx.cf:165:24))


Custom CSS classes

I want to use Tailwind for customization, but I can't because the Button component has a default style and the generateClassNames always will concat if the customization, in my case overwriting.
https://github.com/supabase/auth-ui/blob/76ca3e8de4b3ed28f3b6dd21beca7fc8f7315419/packages/react/src/components/UI/Button.tsx#L63
I believe the lines of this comment are important to avoid this case.
https://github.com/supabase/auth-ui/blob/76ca3e8de4b3ed28f3b6dd21beca7fc8f7315419/packages/react/common/theming/utils.ts#L41-L46

Any updates?

Might be related to #17

This has been fixed in the latest release with this PR https://github.com/supabase/auth-ui/pull/146.
You can now just add extend: false to the appearance property to not have any default styles rendered.
<Auth
  supabaseClient={supabaseClient}
  appearance={{
    extend: false,
    className: {
      container: 'space-y-2'
    }
  }}
/>


Introduce JS in CSS solution

There are complications with build steps and including stylesheets and appropriate loaders when using this library.  I think that replacing the current css solution with a JS in CSS solution removes a lot of friction related to style.  I think we should strive for the following characteristics:

completely remove css/sass in build
provide default theme (same as current theme)
allow extensibility through "themes".  This would supplant users providing their own css sheet targeting internal classes.
have deprecation step so that users utilizing css overrides have time to transition over...or not?
expose js in css api when using groupRenderer, item renderer etc (similar to material-ui)

@mcMickJuice. That would be great. This will ease theme customization. When is v1.0 planned to be released?

is this making it into the next release or available in the dev branch?

hey @vasdee i havent looked at this yet.  I can try to get it into the next release but I've lately been focusing on performance improvements.

Closing. Might address this once we do an API redesign.


how about Contrastive Learning

how about add contrastive learning loss?
example in Figure, vl looks like learning color and vr looks like learning shape. so , vl between color  relative words as positive. others words coule as negative.

Same idea here, but I think the key is how to design the loss


Socket update: New plugs, new vaults

Closes L2B-5055
The socket-specific plug and vault discovery script now also detects the new plugs/vaults that have slightly different view functions.
All discovered vaults with locked value are added to socket.ts.
Permissions and descriptions for the project page added.

'every escrow is unique'-test fails here because newly added reya has the same escrow listed.
(0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7)
the governance of the reya vault (owner) is the socket admin EOA (as listed in socket permissions section) but the vault has only one connector attached, which is restricted to bridging to Reya L2.
If we have to remove it from one .ts, it would be reya IMO.


Memo for integrating the validator in LeoVisitor

In some application solutions, we need to check and verify data, and filter out illegal or unreasonable data. Therefore, it is necessary to integrate a validator in LeoVisitor so that it can be verified directly during the setup phase.
Since the requirement of the validator is not a general requirement, adding validation to the core library DictBase will pay extra. Therefore, it is an ideal choice to add an optional verification context in LeoVisitor to implement data verification.
I will record this part of the notes here in the form of a memo.
Set verification policy at creation time
To set the validation rules when creating LeoVisitor, we can pass in a strategy object (which implements the ILeoValidationStrategy interface) to the LeoVisitorFactory factory method:
var visitor = LeoVisitorFactory.Create(Type, Instance, ValidationStrategy);

// or
var visitor = LeoVisitorFactory.Create<T>(Instance, ValidationStrategy);

// or
var visitor = LeoVisitorFactory.Create<T, TStrategy>(Instance);

For LeoVisitor created with an initial data set (IDictionary implementation), the verification strategy can also be passed in when creating:
var d = new Dictionary<string, object>();
var visitor = LeoVisitorFactory.Create(Type, ValidationStrategy, d);

// or
var visitor = LeoVisitorFactory.Create<T>(ValidationStrategy, d);

// or
var visitor = LeoVisitorFactory.Create<T, TStrategy>(d);

Set or override the verification strategy in LeoVisitor
An API should be provided so that verification rules can be set or updated on LeoVisitor:

Set verification rules for the entire Visitor, or overwrite existing verification rules as a whole.

var validationEntry = visitor.Validation;

validationEntry.SetStrategy(StrategyInstance, OverwriteOrUpdateFlag);  // OverwriteOrUpdateFlag default is overwrite

// or
validationEntry.SetStrategy<TStrategy>(OverwriteOrUpdateFlag);

Set or override verification rules for individual fields or properties.

var validationEntry = visitor.Validation;

validationEntry.Member(Name, ValueRule);

// or
validationEntry.Member<TVal>(Expression<Func<T, TVal>> expression, ValueRule);  //for IValitionEntry<T>
validationEntry.Member<T, TVal>(Expression<Func<T, TVal>> expression, ValueRule);  //for IValitionEntry

// or
validationEntry.Member<TVal, TRule>(Expression<Func<T, TVal>> expression);  //for IValitionEntry<T>
validationEntry.Member<T, TVal,TRule>(Expression<Func<T, TVal>> expression);  //for IValitionEntry

// or (Not recommended)
validationEntry.Member<TVal>(Expression<Func<T, TVal>> expression).Required(); //fluent api for IValitionEntry<T>
validationEntry.Member<T, TVal>(Expression<Func<T, TVal>> expression).Required(); //fluent api for IValitionEntry

When the entire verification rule is overridden, whether to clear all the rules or only cover the set of rules for a given field or property.

When to verify data
When LeoVisitor is created and a strategy is given, the value in LeoVisitor should not be checked immediately. I think it should be checked when the results are obtained to avoid time-consuming creation.
We may need to provide a parameter to indicate whether the policy is strict or non-strict. When using strict rules, each of our SetValue operations will check the value; when using non-strict rules, we will perform a check only when we get the verification result.
This applies to both instance setters and value setters.
Support for other verification components
Do we need to consider supporting other verification components? For example, tell users how to extend LeoVisitor's verification capabilities to integrate FluentValidation?
In addition, do we need to support the DataAnnotation that comes with .NET?
How to extend the support for user-designed verification components? This requires us to discuss together.
Throw an exception, or silently collect errors?
For LeoVisitor, I think the silent mode is more suitable. Throwing an exception directly loses the original intention of verifying data. We should be able to obtain a set of error messages so that we can return and inform the user.
Of course, for similar low-code platforms, they should be able to verify data at the front end. Then the LeoVisitor verifier at the back end can be regarded as a two-stage verification. So throwing exceptions directly is not in practice. Of course, we can provide a pair of APIs, similar to Verify and VerifyAndThrow.
At last
I think LeoVisitor's validator should not be designed to be too complicated and too many functions. Even, whether we should use Fluent APIs is a matter of thinking. Fluent APIs can make the code difficult to read in this case.

The Mutually Exclusive of Tokens

The value of Mutually Exclusive indicates that the Token of the same type is mutually exclusive;
The Mutually Exclusive Flags means that different types of Token are mutually exclusive.

The Memo for Mutually Exclusive Flags

Flag Value
Value Tokens

90115
requiredNull, maxAndMinLength

90116
requiredNull, maxLength

90117
requiredNull, minLength

90118
required, requiredNull

90119
maxLength, maxAndMinLength

90120
minLength, maxAndMinLength

Non Mutually Exclusive Tokens

NotEqual token

All Available Validation Tokens

Token Name
Status
Generic Version
Alias
With Message

Null
Avaliable
✔
⚪

NotNull
Avaliable

⚪

Empty
Avaliable

⚪

NotEmpty
Avaliable

⚪

Equal
Avaliable
✔
⚪

NotEqual
Avaliable
✔
⚪

Length
WIP

MaxAndMinLength

MaxLength
WIP

⚪

MinLength
WIP

⚪

Range
WIP
✔
⚪

Func
Avaliable
✔
⚪
✔

Add two other tokens that are equal to ValueToken:

ConditionToken (as When)
IterationToken (as Items)

IterationToken can be used if and only if TVal is an iterable type under a generic interface.


Upgrade Flux from v1 to v2 (Gitops)

The flux v1 version being used by BAF has been on maintenance mode for sometime. Flux v2 is a logical choice as BAF is already using v1 and there migration path described in the project from v1 to v2.
Additional Context:

https://github.com/fluxcd/flux/issues/3320
https://toolkit.fluxcd.io/guides/helm-operator-migration/

hi @sivaramsk any updates on this ?

Sorry @suvajit-sarkar - I started working on this and got side tracked with my day work. I had a list of questions on the upgrade, will update the ticket shortly with those and will also join your next Sprint planning to discuss how to proceed with this.

One of the major question that came to me was - how much of backward compatibility should I think about when I work on this? Since I have not really tried upgrading any of my cluster, how should I handle the backward compatibility?
From the testing I did to understand V2, it looks to be quite different (at least to my current understanding), so, it might be a bit easier to do this as breaking change rather than trying to make it compatible with older version. Another approach I was thinking is, may be we can have both the version supported and control it from network.yaml - have a flag to indicate whether you want to stick with the v1, but that would increase the testing effort to test both v1 and v2.
This exactly the place I stopped my work last time when I started, I would appreciate your feedback on how to proceed on this.

@sivaramsk Thanks for getting back. For major upgrades, we do not maintain older version. So, if v2 is the way forward, we will only maintain that. And as this is a big change, i.e. all platforms need to be tested, we can create a long running feature branch and when all platforms are tested only then merge to develop/master.

Thanks @sownak. Will update this ticket on my plan on how approach this feature.

This feature looks much more complex than it initially looked to me. Following is a break up of tasks I am considering for this feature broadly.

Installation of Flux V2 by adding the flux binary in the baf-build container and
Bootstrap the flux v2 in to the kubernetes cluster through the flux binary. (The folder structure used in v2 seems lot difference from v1, so, I am yet to fully understand the changes needed to make it work for BAF folder structure).
Migrate Hyperledger Fabric code to Flux V2.

This feature looks a bit more complex than it initially looked to me. I was able to install and bootstrap the flux_v2 in to the environment, but the biggest issue comes from the flux's use of kustomize internally. Kustomize looks not very straight forward to use when you have to create the yamls dynamically. Each folder that is used for deployment has a file called kustomization.yaml and when you create a new folder for deployment like "releases/new_release/org1/peer/release.yaml" - this folder have to be explicitly added to the root folder's kustomization.yaml.
I guess I have to write a wrapper script to add the new folder in to the kustomization.yaml to make it work. Will keep updating here on the progress.

Sorry guys, my bandwidth did not allow me work on this at all. Can someone take this over for me please?
@suvajit-sarkar

Would love if we have this change implemented. Looking forward to hearing if we have someone can support on this feature

Sure, no problem.. will check if we can prioritize this in the coming sprint

Closing this issue, flux v2 is on release please use latest branches for flux v2 support


Incorrect Error: Malformed attribute

input
create with
curl https://askubuntu.com/questions/189640/how-to-find-architecture-of-my-pc-and-ubuntu -o test.txt

The file:
test.txt
Incorrect Error
Malformed attribute: id=“search” role=“search” action=/search class=“s-topbar–searchbar js-searchbar “ autocomplete=“off” - Missing quotation mark at around index 13951

I'm pretty sure that error is coming from the action=/search part of your HTML snippet. Do you know if that's compliant with the HTML standard?

You can use [The W3C Markup Validation Service](https://validator.w3.org/).
Apart from that, as action=/search does not affect the Markdown rendition anyway, I suggest to silently ignore it. After all, your lib is a converter, not a validator?

I went to the website you've shared, and searched for /search, found this. Does not look like action=/search, but rather action="/search".

P.S.
This project is indeed not a validator, however, it shouldn't be parsing any kind of HTML-like snippet, and some standards should be met by whatever input is given.

Have you tried?
curl https://askubuntu.com/questions/189640/how-to-find-architecture-of-my-pc-and-ubuntu -o test.txt

This is one of the workflows, the HTML of (my) users is generated.
About attributes
HTML Attributes

The HTML standard does not require quotes around attribute values.
However, W3C recommends quotes in HTML, and demands quotes for stricter document types like XHTML

This means, that the token action=/search as well as action="/search" are both valid HTML, even though the latter is preferred.


Can I have a network state from useWallet

Is your feature request related to a problem? Please describe.
I use wallet-adapter to communicate with solana wallet like phanto. While when I change the wallet to a diffrent network, I want to change my dapp settings with the network change from wallet.
Describe the solution you'd like
I think we can provide network state from useWallet, and the network contains the current networkinfo .

Please search the issues in this repo. This is a request that's come up a few times, but it's not something Wallet Adapter can support because no wallets support this.


computeBufferDescriptor mutates IR before knowing whether the pattern application will succeed

Testcase:
func.func @foo(%arg0 : memref<1x?x8x4xi8>, %arg1 : memref<1x?x8x4xi8>, %arg2 : memref<1x1x8x8xi32>) {
  linalg.mmt4d ins(%arg0, %arg1 : memref<1x?x8x4xi8>, memref<1x?x8x4xi8>) outs(%arg2 : memref<1x1x8x8xi32>)
  func.return
}

Run:
tools/iree-opt --pass-pipeline="func.func(iree-vmvx-lower-linalg-microkernels, canonicalize, cse)" /tmp/a.mlir -debug

Result:

iree-opt silently exit(1)
With -debug one gets this message:

The pattern rewrite doesn't converge after scanning 10 times

The -debug output looks like this: https://gist.github.com/bjacob/b0b7aa66f17a96eac999c1e5b81cb4fe
That log shows creation of arith.muli.  Setting a breakpoint on mlir::arith::MulIOp::build I found that we were in the parts of computeBufferDescriptor that actually create integer add/mul ops to deal with strides, layouts etc.
But the callers of computeBufferDescriptor don't know yet that the pattern application will succeed so it seems too early to mutate IR?  And those IR mutations + pattern match failures seems to explain the above "doesn't converge" error ?

@stellaraccident

Yeah, was hoping you wouldn't hit that yet. I'm in the process of refactoring it -- and the right fix removes all of this in favor of upstream enhancements.

I'm curious why it is failing, though. The cases where it is early exiting shouldn't be happening.

@stellaraccident Assigning this to you as a P1 since it looks in progress. If this is untrue please change!

Confirming it's fixed now.


Run Router on server synchronously

Hi @mjackson & @ryanflorence,
@justin808 and I are working on gem for Rails which implements server-side rendering. It works with React & Redux already, but I faced the problem with React Router integration (1.0.0-beta3). The issue is actually with limitations of ExecJS. Here is what I have:
// This function should return React Component
// to render it to string on server
export default (path, query, routes) => {
  const location = new Location(path, query);

  Router.run(routes, location, (error, state, transition) => {
    // Only here we can start rendering something on server
    // Inside Node we handle it like this:
    const html = React.renderToString(<Router location={location} {...state} />);
    res.send(html);
  });

  // But I need to return Router Component synchronously
  // Is there any chance to get the sync API method to make it this way?
  const routerRunResults = Router.runSync(routes, location);
  const { error, state, transition } = routerRunResults;
  return (
    <Router location={location} {...state} />
  );
}

The api will shift a bit in the next couple days around server rendering (https://github.com/rackt/react-router/blob/master/docs/ServerRendering.md).
After it does we'd accept a matchSync pull request.

Great, thanks!
/cc: @justin808

@ryanflorence Is it safe to start this PR with 1.0.0-rc3 or there might be some changes in server-side API?

I wonder if this needs to be part of RR specifically though? Having to match synchronously seems like a very specific thing to have to do.
Would it make more sense to build this on top of match in your library?

@taion Well, it would be perfect, but I have no idea how to achieve it in ExecJS environment. I can't use async/await / generators, Event Loop is not supported, and I see no way to get matched data from async api in synchronous environment. If you can give me some direction / idea on this, I'd prefer to keep it inside lib and don't touch react-router's api.

All of the stuff we do is fully Zalgo-fied. If you're not using async routes, match should invoke its callback synchronously, so you can do:
let results;
match(foo, bar => results = bar);
renderWith(results);

@taion Thanks, I'll try it this weekend!

any luck with this PR? let us know if you need help @alexfedoseev

@taion @knowbody It worked, thanks a lot for help!


node v6.9.2 npm v4.0.5使用proxy安装失败

gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: unable to verify the first certificate
gyp ERR! stack     at Error (native)
gyp ERR! stack     at TLSSocket. (_tls_wrap.js:1079:38)
gyp ERR! stack     at emitNone (events.js:86:13)
gyp ERR! stack     at TLSSocket.emit (events.js:185:7)
gyp ERR! stack     at TLSSocket._finishInit (_tls_wrap.js:603:8)
gyp ERR! stack     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38)
gyp ERR! System Linux 3.13.0-24-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/nodejieba
gyp ERR! node -v v6.9.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"<EMAIL_ADDRESS>"-g"
npm ERR! node v6.9.2
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the nodejieba package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs nodejieba
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls nodejieba
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/chujinjin/work/codeclubmaintain_guide/npm-debug.log

nodejs版本7.4
npm版本3.10.3
node-gyp版本3.5.0 安装出错
是node-gyp的版本问题么？
gyp: Call to 'node -e "require('nan')"' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.3.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/nodejieba
gyp ERR! node -v v7.4.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm ERR! Darwin 16.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "nodejieba" "-g"
npm ERR! node v7.4.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the nodejieba package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs nodejieba
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls nodejieba
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/liyu/npm-debug.log

我也是类似问题，不知道你解决了没有？


Keeping the CodeScannerView Visible

Hi @twostraws
When the CodeScannerView is in scanMode: .continuous and the default scan interval isn't changed.  I'm experiencing success on first attempt at a QR scan, wait 2 seconds, scan the same QR code and the completion block doesn't seem to fire; but wait another 2 seconds and re-scan the same QR code and it will work as expected.

I figured out what is happening.  The view I display over the CodeScannerView was not setting parent.isPresenting on dismiss.


Read passphrase from environment

As a developer
I want to be able to supply the c4gh passphrase as en env variable
so that I can use the tool in scripts for automation.

For decryption, encryption or both? For encryption, a temporary/one-time key could be considered as an option (as done in sda-cli)?

For decryption, encryption or both?

This is meant for both decryption and encryption when in the later the user supplies a private key along with a pub key.

For encryption, a temporary/one-time key could be considered as an option (as done in sda-cli)?

For encryption this is already how crypt4gh works if no private key is provided.


Add docs + examples for the required attribute

Hi,
I've added some docs for the required class.

I'm closing this pull request, as it's over seven months old and needs to be revisited.


Add ability to override auth url

Currently the ChatGPTAPI constructor allows you to set the apiBaseURL and the backendAPIBaseURL however the auth url used for authentication in the refreshAccessTokens function is hardcoded to https://chat.openai.com/api/auth/session. To avoid issues with CORS I would like to be able to modify the auth url so it would go through a koa proxy.
Alternatively this could be resolved by implementing a proxy configuration as described by https://github.com/transitive-bullshit/chatgpt-api/issues/47

I'm not sure what I am doing wrong but /api/auth/session through my proxy is returning an empty object.

i think the api is down none of the wrappers are working at the moment

@gd1m3y hmmm my twitter bot is still chugging along without any abnormal errors, though I'm not sure about re-authenticating.

Currently the ChatGPTAPI constructor allows you to set the apiBaseURL and the backendAPIBaseURL however the auth url used for authentication in the refreshAccessTokens function is hardcoded to chat.openai.com/api/auth/session. To avoid issues with CORS I would like to be able to modify the auth url so it would go through a koa proxy.

Ahhh yep, this is a bug as it should be using apiBaseUrl instead of being hard-coded.

@alex12058 the auth url now uses apiBaseUrl if you update to latest. Fixed in https://github.com/transitive-bullshit/chatgpt-api/commit/14ac1af64be310c2bb39bceaa2225e4aa0671a9f#diff-c7628976638668a93f62ca0fa70570d31dd189f29e93f62f48d4a404e9bf46cfR261

@transitive-bullshit Brialliant. Thank you for the quick fix.


[Application] Add Resnet Pytorch example @open sesame 01/31 14:00

Add Resnet PyTorch Example

It support only training if user want to use this code, user need to update code with test, validation
This Example's Dataset : CIFAR100
This Example's network exactly same with NNtrainer Resnet18 example
We conduct benchmark test base on this code

Signed-off-by: DongHak Park<EMAIL_ADDRESS>

We generate a report if there are dangerous coding constructs in your code. Please read http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2100-202301311401110.40228796005249-cf2428ff3c9d1b8e191e689ce258e2e054896585/report/pylint_result.txt.

We generate a report if there are dangerous coding constructs in your code. Please read http://ci.nnstreamer.ai/nntrainer/ci/repo-workers/pr-checker/2100-202301311403130.21320104598999-503768f70fe63dad0141bdd094f6fcb1c615b630/report/pylint_result.txt.


ModuleNotFoundError: No module named 'dropout_layer_norm' when trying to import flash_attn.ops.layer_norm

I am trying a VIT testcase on flash-attn, where I need to import flash_attn.ops.layer_norm.
https://github.com/HazyResearch/flash-attention/blob/main/flash_attn/ops/layer_norm.py#L7
Here comes an ModuleNotFoundError.

You can install:
cd csrc/layer_norm && python setup.py install

You can install:
cd csrc/layer_norm && python setup.py install

It works. Thanks.

@tridao
When cd csrc/layer_norm && pip install ., is costs two days without ending and there are a dozens of cicc --c++17 --gnu_version=90400 --orig_src_file_name /flash-attention/cs.... What's the reason of it?

Lots of templating, so it might take a while to compile (around 5 mins on a 64-core machine for me). You don't have to use it, just don't enable fused_dropout_add_ln (which defaults to False).

But unavoidably, qwen-7b-chat advise to use csrc/layer_norm and csrc/rotary. Will it download something when the installing under my poor Internet speed?

Idk what qwen chat is recommending, you can create an issue with them. You can ask if they have an option to run without csrc/layernorm.


SfHero and SfBullets

Related issue
#149
Scope of work
SfBullets component.
Gives possibility to see current page/item and the total number of pages/items.
SfHero component
Swappable gallery for large web banner images with info data. Uses SfArrow and newly created SfBullets components as well as glide.js library.
( @leomp12 This is the second PR, I messed up with branches, but this approach is totally different than the previous one)
Screenshots of visual changes
DESKTOP VERSION:

MOBILE VERSION:

Background image and content overlapping:

Checklist

[ x ] I followed composition rules for my component
[ x ] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)

Hi @leomp12 , thanks for your comments! I have fixed the styling according to them.
Looking for some more feedback ;-)

@leomp12 Thanks for reviewing!


add shiftWarnings job

@brainomite As discussed, here's a first pass at a shift warnings job. Can you take a look when you have a chance?
Some additional notes:

I need to follow-up with stakeholders as to what the text messages should actually contain. I'll follow-up on that before merging.
I tried testing this locally against the dev Airtable and it seems like it's doing the right thing when it comes to figuring out what mobile number to send a text, but on a test run I didn't actually receive a text message when expected (after making myself "on duty" for tomorrow in the dev Airtable).
I imagine we'd set up an Integromat for this for now.

Thanks for looking!

We should have some test code written for this. We use Mocha

I tried testing this locally against the dev Airtable and it seems like it's doing the right thing when it comes to figuring out what mobile number to send a text, but on a test run I didn't actually receive a text message when expected (after making myself "on duty" for tomorrow in the dev Airtable).  See my comment for troubleshooting

I imagine we'd set up an Integromat for this for now.

Sounds right


Unauthenticated page for visitors to browse Requests

Start with a table view of Requests.
Ideally, the table is sorted by distance from the viewer.
Ideally, it also has a map.

I'm going to start working on this now.


How to detect selenium

`from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--disable-blink-features=AutomationControlled')
chrome = webdriver.Chrome(executable_path='./chromedriver.exe', chrome_options=chrome_options)
chrome.get('https://abrahamjuliot.github.io/creepjs')`
Invoke Chrome via the selenium package in Python, seemingly without being intercepted by creepjs, any suggestions? Thanks.

This is on my mind. I will look into this and see what I can find.

Thanks for your reply, I found that the project named botD could detect this case, but I guess that might depended on server-side analytics.

I had tried fp-collect months ago. Since this project was not maintained any more (2019), the command line above: chrome_options.add_argument('--disable-blink-features=AutomationControlled') cannot be detected through https://antoinevastel.com/bots/

I finally got around to testing this more in depth, and we do detect Selenium in headless. Even with Web Driver and the User Agent hidden, there are many headless signals available.
However, detecting non-headless Selenium is missed, but I think that is an unnecessary detection. Automated patterns can be detected through event listeners, but that's not a focus yet. I might create a test page for that.
Similarly, Puppeteer and Playwright can run Google Chrome in non-headless and use automation without being detected. I think all that is fine, as long as the web traffic is producing good activity and okay fingerprints.
This is the script I used.
import time
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-blink-features=AutomationControlled') # web driver off
options.headless = True
options.add_argument("--window-size=800,600")
# make sure you download the driver that supports the chrome.exe
options.binary_location = "C:\Program Files\Google\Chrome Beta\Application\chrome.exe"
driver = webdriver.Chrome(options=options)

def save_screenshot(driver: webdriver.Chrome, path: str = 'selen_screenshot.png') -> None:
  # Ref: https://stackoverflow.com/a/52572919/
  original_size = driver.get_window_size()
  required_width = driver.execute_script('return document.body.parentNode.scrollWidth')
  required_height = driver.execute_script('return document.body.parentNode.scrollHeight')
  driver.set_window_size(required_width, required_height)
  # driver.save_screenshot(path)  # has scrollbar
  driver.find_element_by_tag_name('body').screenshot(path)  # avoids scrollbar
  driver.set_window_size(original_size['width'], original_size['height'])

try:
  driver.get('https://abrahamjuliot.github.io/creepjs/')
  time.sleep(10)
  save_screenshot(driver)
  input("press any key to exit...")
finally:
  driver.quit()

Good job!  I'll take a look the latest version of creepjs for the rest of this month, thanks.

just fyi

https://news.ycombinator.com/item?id=34857087
https://antoinevastel.com/bot detection/2023/02/19/new-headless-chrome.html

Nice. Just started researching this.

Thanks.

@abrahamjuliot for selenium, and all chromedriver-driven browsers, check the two following values:
navigator.webdriver  ==> remote debugging enabled resource

[ ] enabled?
[ ] lied?

[ ] spoofed with undetected-chromedriver script ? :

Object.defineProperty(window, 'navigator', {
    value: new Proxy(navigator, {
         has: (target, key) => (key === 'webdriver' ? false : key in target),
         get: (target, key) =>
              key === 'webdriver' ?
              false :
              typeof target[key] === 'function' ?
              target[key].bind(target) :
              target[key]
         })
    });

cdc_adoQpoasnfa76pfcZLmcfl_Xxxxxxx

gets added to every new page with the following script:

(function () {
    window.cdc_adoQpoasnfa76pfcZLmcfl_Array = window.Array;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Object = window.Object;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Promise = window.Promise;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Proxy = window.Proxy;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol = window.Symbol;
}) ();

[ ] exist ?
[ ] lied?

[ ] spoofed with old (>=V3.2) undetected-chromedriver script ? :

let objectToInspect = window,
    result = [];
    while(objectToInspect !== null)
        { result = result.concat(Object.getOwnPropertyNames(objectToInspect));
        objectToInspect = Object.getPrototypeOf(objectToInspect); }
    result.forEach(p => p.match(/.+_.+_(Array|Promise|Symbol)/ig)
        &&delete window[p]&&console.log('removed',p))

Nice. These have been on my mind. There's also a way to get the cdc_... properties from the descriptors and bypass any random names added. I might add this at some point.
undetected-chromedriver detection is excellent, but too specific for public concepts. The devs can fix the code and the detection becomes obsolete.
Good tips.

Some more additional flags for detecting selenium and selenium adjacent softwares:
window["__nightmare"]
window["cdc_adoQpoasnfa76pfcZLmcfl_Array"]
window["cdc_adoQpoasnfa76pfcZLmcfl_Promise"]
window["cdc_adoQpoasnfa76pfcZLmcfl_Symbol"]
window["OSMJIF"]
window["_Selenium_IDE_Recorder"]
window["__$webdriverAsyncExecutor"]
window["__driver_evaluate"]
window["__driver_unwrapped"]
window["__fxdriver_evaluate"]
window["__fxdriver_unwrapped"]
window["__lastWatirAlert"]
window["__lastWatirConfirm"]
window["__lastWatirPrompt"]
window["__phantomas"]
window["__selenium_evaluate"]
window["__selenium_unwrapped"]
window["__webdriverFuncgeb"]
window["__webdriver__chr"]
window["__webdriver_evaluate"]
window["__webdriver_script_fn"]
window["__webdriver_script_func"]
window["__webdriver_script_function"]
window["__webdriver_unwrapped"]
window["awesomium"]
window["callSelenium"]
window["calledPhantom"]
window["calledSelenium"]
window["domAutomationController"]
window["watinExpressionError"]
window["watinExpressionResult"]
window["spynner_additional_js_loaded"]
document["$chrome_asyncScriptInfo"]
window["fmget_targets"]
window["geb"]

Also worthwhile to check the types of navigator.plugins to ensure that it hasn't been tampered with.

@vxuv @abrahamjuliot
Other relevant values can be found here:
https://github.com/HMaker/HMaker.github.io/blob/master/selenium-detector/chromedriver.js
It detects objects created//used by chromedriver.

@abrahamjuliot for selenium, and all chromedriver-driven browsers, check the two following values:
navigator.webdriver ==> remote debugging enabled resource

[ ]  enabled?

[ ]  lied?

[ ]  spoofed with undetected-chromedriver script ? :

Object.defineProperty(window, 'navigator', {
    value: new Proxy(navigator, {
         has: (target, key) => (key === 'webdriver' ? false : key in target),
         get: (target, key) =>
              key === 'webdriver' ?
              false :
              typeof target[key] === 'function' ?
              target[key].bind(target) :
              target[key]
         })
    });

cdc_adoQpoasnfa76pfcZLmcfl_Xxxxxxx

gets added to every new page with the following script:

(function () {
    window.cdc_adoQpoasnfa76pfcZLmcfl_Array = window.Array;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Object = window.Object;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Promise = window.Promise;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Proxy = window.Proxy;
    window.cdc_adoQpoasnfa76pfcZLmcfl_Symbol = window.Symbol;
}) ();

the "random" strings seem to be hardcoded, but maybe directly using regex as following:

let objectToInspect = window,
    result = [];
while(objectToInspect !== null)
    { result = result.concat(Object.getOwnPropertyNames(objectToInspect));
    objectToInspect = Object.getPrototypeOf(objectToInspect); }
return result.filter(i => i.match(/.+_.+_(Array|Promise|Symbol)/ig))

[ ]  exist ?

[ ]  lied?

[ ]  spoofed with old (Version<=V3.2) undetected-chromedriver script ? :

let objectToInspect = window,
    result = [];
    while(objectToInspect !== null)
        { result = result.concat(Object.getOwnPropertyNames(objectToInspect));
        objectToInspect = Object.getPrototypeOf(objectToInspect); }
    result.forEach(p => p.match(/.+_.+_(Array|Promise|Symbol)/ig)
        &&delete window[p]&&console.log('removed',p))

I was trying to hide the "webdriver=true" navigator attribute, and asked chatgpt. Its answer is spookily similar to yours.

const originalNavigator = navigator;

const proxyNavigator = new Proxy(originalNavigator, {
  get(target, prop) {
    if (prop === 'webdriver') {
      return false;
    }
    return target[prop];
  },
  ownKeys(target) {
    const keys = Reflect.ownKeys(target);
    return keys.filter((key) => key !== 'webdriver');
  },
  getOwnPropertyDescriptor(target, prop) {
    if (prop === 'webdriver') {
      return undefined;
    }
    return Reflect.getOwnPropertyDescriptor(target, prop);
  },
});

// Replace the global navigator object with the proxy object
Object.defineProperty(window, 'navigator', {
  value: proxyNavigator,
  configurable: false,
  enumerable: false,
  writable: false,
});

I'm hoping against hope, but any way to see if an object is a Proxy?
I feel like chrome is teasing me in the console.

That is funny. I asked Bing Chat (gpt4) about our detecting JS Proxies and what it thought about our methods here. It didn't like our code and insisted we try outdated techniques on stack overflow.

That's pretty solid btw!!!!
Reflect.setPrototypeOf(navigator, Object.create(navigator)) seems to be an approach for differentiating a proxied navigator object and the real deal.
Returns true if its proxied; false if its not.
Honest question - why doesn't webdriver = true not set the bot-score at 100?

The bot score has some game elements and includes tags like friend and stranger. By default, everyone is treated as a bot. From there, we just want to establish some level of trust. The more transparent and normal the player, the less they are perceived as untrustworthy. This allows use of web driver and headless UAs since these are designed for transparency.

I'm sorry, I meant to say the 'headlessRating'.
Instead of just having 20% weight if true (I think its 1 in 5 attributes), it feels like it should automatically trip the value to 100% when its true.
I could be wrong, but I doubt you'd get too many false positives where "normal" users have webdriver set to true - seems like a really strong signal when present.
Just a thought as I'm going through your library trying to distil heuristics I can steal :-)
Outstanding work btw!

Ah yes, that's a good idea. I might change that at some point.
Attempted overrides of navigator.webdriver can maybe additionally give weight to the stealth rating.

BTW, I need to remove these from headless rating and move to like headless. These can appear in Android WebView, Smart TVs and other Chromium flavors.
noChrome
hasPermissionsBug

That's a really good point. I totally forgot about the plethora of platforms that can legitimately ping a service, but look "weird".
I don't know if its worth the investment, but it might be interesting to have somewhere an attribute called "framework" or "automated" or something.
I'm sure some clever AI could parse out good rules, but things like you're using Windows, Chromium, and Webdriver is true? Minimum 99.8% chance you're automated. Its not good or bad, but its definitely not normal and it'd be useful to flag.
I could be here for weeks MMQB'ing this thing into the ground; dorking out over what-if's and things I think would be useful  :-P
Thanks again for maintaining this thing!!

Ah yes, that's a good idea. I might change that at some point. Attempted overrides of navigator.webdriver can maybe additionally give weight to the stealth rating.

It's possible to override the types for these object if I remember correctly. Probably still nice as an extra measure.

I'm sorry, I meant to say the 'headlessRating'.
Instead of just having 20% weight if true (I think its 1 in 5 attributes), it feels like it should automatically trip the value to 100% when its true.
I could be wrong, but I doubt you'd get too many false positives where "normal" users have webdriver set to true - seems like a really strong signal when present.
Just a thought as I'm going through your library trying to distil heuristics I can steal :-) Outstanding work btw!

Headless=new new cannot detect

@NCLnclNCL you're 100% right.
Right now, I'm keeping a Bayesian score, and if the browser is chromium and the OS isn't Linux; that's a big red flag its a bot. Not 100%, but definitely worth paying attention to. /shrug

i think very hard to detect headless=new bro, it can slow than old headless but it is perfect to antidetect


netopeer2-cli fails to connect to the server

I see the following error when i am trying to connect to the server. Looks like the authentication is not going through. Do you have any documentation on how to use this.
netopeer2-server[13226]: DICT: inserting (refcount) "RFC 6243; Section 4.5.1"
netopeer2-server[13226]: Module "ietf-netconf-with-defaults" successfully parsed.
netopeer2-server[13226]: Sysrepo does not have the "ietf-netconf-server" module, using default NETCONF server options.
netopeer2-server[13226]: DICT: inserting "main" with collision
netopeer2-server[13226]: DICT: inserting "<IP_ADDRESS>"
netopeer2-server[13226]: Listening on <IP_ADDRESS>:6001 for SSH connections.
netopeer2-server[13226]: DICT: inserting "/etc/ssh/ssh_host_rsa_key"
netopeer2-server[13226]: DICT: inserting "<IP_ADDRESS>" with collision
[2017/02/21 19:53:33.735065, 1] ssh_bind_options_set_algo:  Setting method: no algorithm for method "server host key algo" (/etc/ssh/ssh_host_rsa_key)

netopeer2-server[13226]: Failed to set hostkey "/etc/ssh/ssh_host_rsa_key" (Setting method: no algorithm for method "server host key algo" (/etc/ssh/ssh_host_rsa_key)
).

from netopeer-cli
> connect -p 6001 --login sudeepto
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "sudeepto" failed.
> connect -p 6001 --login admin
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "admin" failed.
> connect -p 6001 --ssh --login admin
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "admin" failed.
> connect -p 6001 --ssh --login admin
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "admin" failed.
> connect -p 6001
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "sudeepto" failed.
> connect -p 6001
nc ERROR: Starting the SSH session failed (Socket error: disconnected).
cmd_connect: Connecting to the localhost:6001 as user "sudeepto" failed.
>

this is logs when i try to login through ssh client on port 6001
sudeepto@sudeepto-VirtualBox:~/Documents/projects/Netopeer2/server/build$ ssh -vv<EMAIL_ADDRESS>-p 6001
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to <IP_ADDRESS> [<IP_ADDRESS>] port 6001.
debug1: Connection established.
debug1: identity file /home/sudeepto/.ssh/id_rsa type 1
debug1: identity file /home/sudeepto/.ssh/id_rsa-cert type -1
debug1: identity file /home/sudeepto/.ssh/id_dsa type -1
debug1: identity file /home/sudeepto/.ssh/id_dsa-cert type -1
debug1: identity file /home/sudeepto/.ssh/id_ecdsa type -1
debug1: identity file /home/sudeepto/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/sudeepto/.ssh/id_ed25519 type -1
debug1: identity file /home/sudeepto/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
ssh_exchange_identification: Connection closed by remote host
sudeepto@sudeepto-VirtualBox:~/Documents/projects/Netopeer2/server/build$

Hi,
this is a server problem, so there is no need to try other clients. It seems /etc/ssh/ssh_host_rsa_key private key fails to be loaded because libssh fails to detect the key algorithm. Not sure what is wrong, but what version libssh are you using?
Regards,
Michal

i had initially installed from the master branch and later on i installed libssh-0.6.4

oops.. i just stated the opposite.. it was from the master branch which was installed..
i installed libssh-0.6.4 and looks like the issue is gone..  i can login now..
you can close the ticket. Thanks for pointing this out.

connect -p 6001
Interactive SSH Authentication
Type your password:
Password:


Adding debug utility file

The debug utility file will include general purpose functions to help you
debug your software.
Includes a linux style hexdump of the memory region specified.

Codecov Report

Merging #167 into master will decrease coverage by 1.1%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #167      +/-   ##
==========================================
- Coverage   79.43%   78.33%   -1.11%
==========================================
  Files          21       22       +1
  Lines         851      863      +12
==========================================
  Hits          676      676
- Misses        175      187      +12

Impacted Files
Coverage Δ

firmware/library/L2_Utilities/debug.cpp
0% <0%> (ø)

Continue to review full report at Codecov.

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


Removed redundant character '<'

It looks like a typo.

Current coverage is 95.06%

Merging #285 into master will decrease coverage by -0.15% as of 19a7915

@@            master    #285   diff @@
======================================
  Files          199     199
  Stmts         2635    2635
  Branches       308     308
  Methods          0       0
======================================
- Hit           2509    2505     -4
  Partial          0       0
- Missed         126     130     +4

Review entire Coverage Diff as of 19a7915

Powered by Codecov. Updated on successful CI builds.

Looks that way to me too. Thanks @kidoz for the pull request. I'll look at getting this submitted internally on Monday.

Hi @kidoz, this has been merged into our internal codebase. I'll close the pull request when it's been pushed back to GitHub. Thanks again.

Merged in commit a529c2d0678fd96e10729972ac3d621096ad8641.


Azure - Dashboard is not showing menu options and cards

Azur - processed main_metrics file and in output having main_metrics.json file but UI dashboard showing empty

Its related to Azure storage , need some time to analyze , will look into it first thing monday morning.

@pandutibil any update on this?

@chetandg123 @pandutibil @asifbasha61 is it fixed or not yet? wts the issue?

@htvenkatesh back to back getting issues please inform development team to do the proper unit test and release to testing
@asifbasha61 again we getting error

@htvenkatesh This issue is dependent on #624.

@htvenkatesh Changed the dependent variables as either true or false and pushed the code.
@ayesha-siddiq123 Please do a unit testing and update to @chetandg123 if the bug is resolved.

@chetandg123 is this retested?

@htvenkatesh am doing the complete flow of unit testing, will update to @chetandg123


Add a function to zetaclient to provide approximation of tss migration amount for ETH type chains

@kingpinXD can you please provide a description of the issue?

closing this issue , I decided to move the fee calculation for TSS migration on to the zetacore directly which would be more efficient


TypeError: Cannot read property 'serializedPrimaryKey' of undefined

Describe the bug
#toJSON not correctly work with Collection
Stack trace
/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/ArrayCollection.js:48
        field = field !== null && field !== void 0 ? field : this.property.targetMeta.serializedPrimaryKey;
                                                                                ^
TypeError: Cannot read property 'serializedPrimaryKey' of undefined
    at Collection.getIdentifiers (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/ArrayCollection.js:48:87)
    at Function.processCollection (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/EntityTransformer.js:181:24)
    at Function.processProperty (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/EntityTransformer.js:148:38)
    at /home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/EntityTransformer.js:108:43
    at Array.map (<anonymous>)
    at Function.toObject (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/EntityTransformer.js:103:14)
    at Channel.prototype.toJSON (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/entity/EntityHelper.js:27:62)
    at JSON.stringify (<anonymous>)
    at Getaway.publish (/home/abdulrahman/itchat/server/src/getaway/Getaway.ts:20:48)
    at ChannelSubscriber.afterCreate (/home/abdulrahman/itchat/server/src/subscribers/Channel.ts:11:17)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Function.runSerial (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/utils/Utils.js:489:22)
    at async UnitOfWork.commitCreateChangeSets (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/unit-of-work/UnitOfWork.js:523:13)
    at async UnitOfWork.persistToDatabase (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/unit-of-work/UnitOfWork.js:473:13)
    at async UnitOfWork.commit (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/unit-of-work/UnitOfWork.js:187:17)
    at async MongoEntityManager.flush (/home/abdulrahman/itchat/server/node_modules/@mikro-orm/core/EntityManager.js:497:9)...

To Reproduce
Steps to reproduce the behavior:

Create item and save it
Calling #toJSON

Expected behavior
Entity#toJSON to work
Entity
@Entity({ tableName: 'channels' })
export class Channel extends Base {
    @ManyToMany('User')
    recipients = new Collection<User>(this)
}

Base
import { PrimaryKey } from 'mikro-orm'
import { Snowflake } from '../utils'

export abstract class Base {
  @PrimaryKey({ unique: true })
  _id!: `${bigint}`

  setID(): this {
    this._id = Snowflake.generate()
    return this
  }
}

ChannelSubscriber
import { EventArgs, EventSubscriber, Subscriber, EntityName } from '@mikro-orm/core'
import { Channel as T } from '../structures'
import { getaway } from '../server'

@Subscriber()
export class ChannelSubscriber implements EventSubscriber<T> {
	async afterCreate({ entity: channel }: EventArgs<T>): Promise<void> {
		if (channel.recipients) {
			await Promise.all(channel.recipients.getItems().map(({ _id }) => getaway.subscribe(_id, channel._id)))
		}
		await getaway.publish(channel._id, 'CHANNEL_CREATE', channel) // #toJSON called here with JSON.stringify
	}

	getSubscribedEntities(): Array<EntityName<T>> {
		return [T]
	}
}

Versions

Dependency
Version

node
16.6.1

typescript
4.3.5

mikro-orm
4.5.7

your-driver
mongodb

@mikro-orm/reflection
4.5.9

you should not use mikro-orm metapackage, use @mikro-orm/core instead
you need to have the ORM package versions aligned, so you can't use 4.5.7 with<EMAIL_ADDRESS>
What you are facing is an issue with metadata discovery, and those two problems I just mentioned are quite often the source of such issues.
If you want more help, you need to provide full executable repro, as the issue is not reproducible like this. But I am quite sure it is about those two points I mentioned.