Weird behavior for string operations with escaped characters

EYE v10.19.7 (2024-08-24)
SWI-Prolog version 9.0.4

I may be wrong but some eye reasoner behaviors may be incorrect.
Escaped characters issue
Some builtin string: <http://www.w3.org/2000/10/swap/string#>   operations have unexpected behaviors when used with strings containing backslashes ("\\", "\t" ...) characters, especially when regular expressions are involved.

All provided examples are using the Notation3 syntax. (for which the single backslash "\" is not a valid syntax).

For example:

Expression
Expected
Obtained

"\n" string:length ?v
?v is  1
?v is  2

("a\\b" "(\\\\)" "-") string:replace ?v
?v is "a-b"
?v is "a--b"

("a\\b" "(.*)") string:scrape "a\\b"
Match
No match

Other not tested string manipulation operations
whatever
Not confident...

A quick fix may be implemented for specific builtin core string functions.
However, it seems that the internal representation of literals relies on the N3 strings serialization syntax:
"\t" is represented as \ and t which produces these weird behaviors (even "segfault"s in some more complex cases).
So the quick fix may not be way to go: it introduces supplementary computational efforts, and only addresses partially the issue.
Thanks for your attention (and all the work you have already done).

Quick & dirty fix (v10.19.7 - for illustration purpose only).

Not for production use - it may introduce critical issues, and does not solve all the problems
Only for string builtin functions described here: https://w3c-cg.github.io/n3Builtins/ (string:scrape, string:replace, string:length)
Some statements wrongly match (see Sample test cases below )
the escape_atoms rule ensure the conversion

%
% New rule
%
escape_atoms(X, Y) :-
    when(
        (   ground(X)
        ),
        (   atom_codes(X,W),
            escape_codes(V,W),
            atom_codes(Y,V)
        )
    ),
    when(
        (   ground(Y)
        ),
        (   atom_codes(Y,V),
            escape_codes(V,W),
            atom_codes(X,W)
        )
    ).

%
% Modified rules
%
'<http://www.w3.org/2000/10/swap/string#length>'(literal(A, _), B) :-
    when(
        (   ground(A)
        ),
        (   escape_atoms(A,V),
            sub_atom(V, 0, B, 0, _)
        )
    ).

'<http://www.w3.org/2000/10/swap/string#replace>'([literal(X, _), literal(Search, _), literal(Replace, _)], literal(Y, type('<http://www.w3.org/2001/XMLSchema#string>'))) :-
    when(
        (   ground([X, Search, Replace])
        ),
        (   (   atomic_list_concat(['(', Search, ')'], Se),
                regex(Se, X, [St|_]),    % Convert back to unescaped
                escape_atoms(S,St)   % strings before processing
            ->  (   sub_atom(Search, 0, 1, _, '^')
                ->  atom_concat(S, T, X),
                    atom_concat(Replace, T, Y)
                ;   (   sub_atom(Search, _, 1, 0, '$')
                    ->  atom_concat(T, S, X),
                        atom_concat(T, Replace, Y)
                    ;   atom_codes(X, XC),
                        string_codes(S, SC),
                        atom_codes(Replace, RC),
                        subst([[[0'$, 0'1], SC]], RC, TC),
                        subst([[SC, TC]], XC, YC),
                        atom_codes(Y, YC)
                    )
                )
            ;   Y = X
            )
        )
    ).

'<http://www.w3.org/2000/10/swap/string#scrape>'([literal(X, _), literal(Y, _)], literal(Z, type('<http://www.w3.org/2001/XMLSchema#string>'))) :-
    when(
        (   ground([X, Y])
        ),
        (   regex(Y, X, [W|_]),
            atom_string(V,W),
            escape_atoms(Z,V)
        )
    ).

Sample test cases
@prefix string: <http://www.w3.org/2000/10/swap/string#> .
@prefix : <http://example.org/test#>.

{
  "\t" string:length 1 .
  ("\\" "\t") string:concatenation "\\\t" .
  "\\\t" string:contains "\\\t" .
  "x\\A\tx" string:containsIgnoringCase "\\a\t" .
  "end\\" string:endsWith "\\" .
  "\\A\t" string:equalIgnoringCase "\\a\t" .
  ("[%s]" "\\\t\n") string:format "[\\\t\n]" .
  "\\\t1" string:greaterThan "\\\t0" .
  "\\\t0" string:lessThan "\\\t1" .
  "\\" string:matches "\\\\" .
  "\t" string:matches "\\t" .
  # "\t" string:matches "\t" .      # WARNING: wrongly resolved with no error
  "A\tB" string:notEqualIgnoringCase "a\\tB" .
  "\\\t" string:notGreaterThan "\\\t" .
  "\\\t" string:notLessThan "\\\t" .
  "\\\t" string:notMatches "\\n" .
  # "\\\t" string:notMatches "\t" . # WARNING: wrongly resolved with no error
  ("a\\b" "(\\\\)" "\t[$1]\t") string:replace "a\t[\\]\tb" .
  ("\\" "(.*)") string:scrape "\\" .
  ("\\" "(\\\\)") string:scrape "\\" .
  ("\t" "(.*)") string:scrape "\t" .
  ("\t" "(.*)")!string:scrape string:length 1 .
  "\\start" string:startsWith "\\" .
} => {
  :test :passed true .
} .

Thank you very much for your fix which is more or less done in the latest eye and lingua.

Thank you for your fast commit.
It seems however that there are still few failures. I've written a small test suite in Notation3 (extended to other string: rules), covering a larger scope (like false positives/negatives or errors).
I've uploaded here: string_test.n3.txt
(renamed to .txt as github does not recognize .n3 as text files)
You may run it with:
eye --quiet --nope string_test.n3

This test suite may not be quiet exact (I've not found an explicit documentation for the all the string: rules), you may review it before considering the test should pass or fail.

Here are the failing properties as exposed by the test suite alongside the involved tests  (see the test suite for reference) (some core builtin rules are still there)  with EYE v10.19.8 (2024-08-30) (master branch):
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
@prefix : <http://example.com/string_test.n3#>.

string:greaterThan :fail (:t090 :t091 :t092 :t093 :t094 :t095).
string:lessThan :fail (:t110 :t111 :t112 :t113 :t114 :t115).
string:matches :fail (:t140).
string:notContainsRoughly :fail (:t150).
string:notGreaterThan :fail (:t173 :t174 :t175 :t170 :t171 :t172).
string:notLessThan :fail (:t183 :t184 :t185 :t180 :t181 :t182).
string:notMatches :fail (:t190).
string:replaceAll :fail (:t210 :t211 :t215).
string:scrapeAll :fail (:t231 :t232).
string:search :fail (:t244).
string:substring :fail (:t261 :t262).
string:upperCase :fail (:t270).
string:contains :fail (:t020).
string:containsIgnoringCase :fail (:t030).
string:containsRoughly :fail (:t040).
string:endsWith :fail (:t050).
string:format :error (:t081).

Best regards

Thank you for your fast test development👍
Your cases should also perfectly fit in https://github.com/eyereasoner/eye/blob/master/reasoning/bi/biP.n3#L111
Anyway, I first try to fix the issues and some 30 of them are now fixed in https://github.com/eyereasoner/eye/releases/tag/v10.19.9 and https://github.com/eyereasoner/lingua/releases/tag/v1.4.1
The remaining ones are now
string:matches :fail (:t140).
string:notMatches :fail (:t190).
string:replaceAll :fail (:t210 :t215).
string:scrapeAll :fail (:t231 :t232).
string:search :fail (:t244).
string:substring :fail (:t262).
string:format :error (:t081).
string:replaceAll :error (:t211 :t212).

We are now at
string:matches :fail (:t140).
string:notMatches :fail (:t190).
string:replaceAll :fail (:t210 :t215).
string:scrapeAll :fail (:t231 :t232).
string:search :fail (:t244).
string:substring :fail (:t262).

and for those we always get error(syntax_error(missing closing parenthesis),_) which I'm not sure is an issue in the swipl pcre C library

It appears that raised errors are independent of tests success or failure.
Errors such as:
** ERROR ** eam ** error(syntax_error(missing closing parenthesis),_624)
[...]

.. are raised with the following passing tests:
:t203 :assertNone { ("a\tb" "\\" "-") string:replace "a-tb" } .
:t213 :assertNone { ("a\tb" ("\\") ("-")) string:replaceAll "a-tb" } .
:t223 :assertNone { ("a\tb" "(\\)" ) string:scrape ?t223v } .
:t234 :assertNone { ("a\tb\nc" "(\\)") string:scrapeAll ("t") } .

While the following failing tests do not raise any error:
:t215 :assertNone { ("\tb" ("\t" "b") ("x" "y")) string:replaceAll "xy" } .
:t232 :assertNone { ("a\tb\nc" "(\t|\n)") string:scrapeAll ("\t" "\n") } .
:t244 :assertNone { ("a\\\t" "(\\+)") string:search ?t244v } .

I see no problem for regular expressions expressed with wrong syntax to have errors turned into warning messages, provided it follows the SNAF rule, as it provides substantial information (even if hard to debug). However for consistency reasons, the same behavior should be adopted in any case.

I guess those exceptions might have to do with https://github.com/SWI-Prolog/packages-pcre/issues/24 so will stay tuned.
After a few tweaks we are now at
string:replaceAll :fail (:t211 :t215).
string:scrapeAll :fail (:t231 :t232).
string:search :fail (:t244).


Added Support For Azure CosmosDB

This PR adds initial support for Azure CosmosDB. Following resources are populated -

Azure Database Accounts
Azure CosmosDB Locations
Azure Database Accounts Cors Policies
Azure Database Accounts Failover Policies
Private Endpoint Connections
Virtual Network Rules
SQL Databases
SQL Containers
Cassandra Keyspaces
Cassandra Tables
MongoDB Databases
MongoDB Collections
CosmosDB Table Resources

@achantavy  I have made the necessary changes. Lemme know if there is anything more!

@achantavy Made necessary changes and left replies for you :) Lemme know of any more changes.

Please address the comments about the _load_... discussion.

Made the necessary changes. Lemme know if there are any more changes.

@achantavy Made the changes. Let me know if there are any more :)

@achantavy and @ramonpetgrave64 All changes made :) Let me know if there are any more! :)

@achantavy Updated the latest in this branch. You can merge into master :)

Please address the comments about the _load_... discussion.

Done


Switch from memcpy to memmove when copying within buffers

In the usb_write_bytes and uart_write_bytes routines, a memcpy was previously used to copy untransmitted bytes to the beginning of the buffer (ud->uart_buffer and ud->usb_buffer, respectively). Since the source and destination regions of memory may potentially overlap, the use of memcpy may lead to undefined results.
From the draft C89 standard:
    <IP_ADDRESS> The memcpy function

    Synopsis

             #include <string.h>
             void *memcpy(void *s1, const void *s2, size_t n);

    Description

       The memcpy function copies n characters from the object pointed to
    by s2 into the object pointed to by s1 .  If copying takes place
    between objects that overlap, the behavior is undefined.

    Returns

       The memcpy function returns the value of s1 .

By using memmove rather than memcpy in the usb_write_bytes and uart_write_bytes routines, the potential for undefined behavior can be avoided.

I believe this PR should resolve Issue #14, but it would be good to get some independent verification of this. I had also enabled FIFOs for the UARTS in adddition to switching to memmove, and I haven't yet checked that this PR corrects the issue when FIFOs are disabled.

Many thanks for looking into this @mgduda :)
I'll try to verify the fix as soon as possible and report back.

Merged after testing and I confirming that couldn't reproduce the corruption
Thank you @mgduda!

Merged after testing and I confirming that couldn't reproduce the corruption Thank you @mgduda!

@Noltari Thank you so much for making this software available to the community! I'm glad that I can contribute something back!


Server forwarding through DeluxeMenus doesn't work on Velocity

basics_menu.yml.json
The 'stone' must connect the player to the 'survival' server, that is on the same Velocity proxy as the lobby.
I tried both [connect] and [server], but they don't work
Maybe I forgot to import some placeholders from PlaceholderAPI ecloud, or what's the problem?

make sure you have bungee-plugin-message-channel = true in your Velocity config

It does, but still doesn't do the thing

Hello @TheSlavonicFox, the reason your menu might not properly work might be your indentation:

I have fixed the indentation here if you want to give it a try: https://paste.helpch.at/xirejopike.yaml


1Gb large file fails to upload

Storage Explorer Version: 1.14.2
AZCopy Version: 10.5.0
AZCopy Settings: all NULL except for SAS Duration which is set to 30
Build Number: 20200715.2
Platform/OS: macOS
Architecture: I guess x64 (recent Mac)
Bug Description
Uploading a 1Gb file into a blob container fails: shows activity but never finishes
Steps to Reproduce
I tried 2 methods:
A1. Upload directly into a specific blob
A2. Choose to overwrite the existing file there (a small 2Mb file)
and
B1. Upload a full directory/folder to the root
Expected Experience
Finish uploading
Actual Experience
The app shows activity:

Uploading using SAS (and in the case of uploading a directory, it states: "using SAS, discovery completed")
Upload speed changes constantly from 4 to 5 Mbps (so it definitely looks like something is happening)
But next to that speed reading it forever just states "1%"
After 2 or 3 hours nothing is changed from the above…
It's only 1Gb so at 4 Mbps it should have finished a long time ago

UPDATE After running for 5 hours now, and reporting speeds of 4 to Mbps, the progress meter displays only 5%… – this is only a 1 Gb file… If I upload it via HTTP to a website, it takes only 10-20 minutes max.
Additional Context
Note: I know nothing about Azure protocols or tech. So if you ask me to provide additional info, please let me know how to retrieve this info if it's not obvious.
Thanks!

@yoktan

how fast is your network's upload speed?
can you try changing AzCopy concurrency to be "Adjust dynamically" and make sure all other settings are blank except for SAS duration.
if the upload still doesn't finish in a reasonable time after trying that, can you share your AzCopy log with us? You can find it under ~/.azcopy/logs. The most recent log will be for the most recent operation.

Closing due to lack of response. Please open a new issue if you are still having problems.


Type 'core::integer::i128' is not defined.

Feature Request
This type is properly defined in Cairo.
I have a contract that use it, but its not recognized by starknet.py.

I'm going to replace every occurrences of i128 in the ABI with u128 and see what happens.
contract = Contract(address=DEPLOYED_CONTRACT, abi=abi, provider=account)

def replace_i128_with_u128(data):
    if isinstance(data, dict):
        return {key: replace_i128_with_u128(value) for key, value in data.items()}
    elif isinstance(data, list):
        return [replace_i128_with_u128(item) for item in data]
    elif isinstance(data, str):
        return data.replace('i128', 'u128')
    else:
        return data

abi_as_u128 = replace_i128_with_u128(abi)

contract = Contract(address=DEPLOYED_CONTRACT, abi=abi_as_u128, provider=accounts)

Result :
ValueError: Make sure valid ABI is used to create a Contract instance

Hi @Ophiase , support of i128 is part of SNIP-12. I'm currently of the process of introducing it to starknet.py, so we can expect it this week or next week at the latest.

Closing it, as there wasn't reply for a long time.


Space out caret in tab dropdown-toggle.

Add missing whitespace.

What kind of problem is this fix trying to solve?
If it is a appearance issue, could you provide screenshots?

Yes it is an appearance issue; have a look at the attached screenshots (Chrome v45): on the left side the dropdown-toggle from the Bootstrap 3 documentation and on the right side the RailsAdmin implementation.
Imho it is bad practice to rely on whitespace for styling, but well, as Bootstrap does it this way, let's stick to it.

Merged in, thanks!


Cannot find a @StreamListener matching for message with id

Greenwich.SR3
We are using conditional parameter to route request to different microservices. So based on some header condition a message might go to Service A or Service B, but not both. So we are getting this warning on the service which it doesnt have a handler that matches this condition. Is it safe to ignore this warning ? if so can we disable this warning with some property ?.
May not be related but we are getting hit with memory issue after this implementation
{"message":"Error while stopping the container: ","exception":{"exception_class":"java.lang.OutOfMemoryError","exception_message":"Java heap space","stacktrace":"java.lang.OutOfMemoryError: Java heap space\n"},"@version":1,"source_host":"11969b115b00","thread_name":"Thread-15","@timestamp":"2019-11-20T16:57:12.297+00:00","level":"ERROR","logger_name":"org.springframework.kafka.listener.KafkaMessageListenerContainer","env":" uat"}

With regard to OOM it's impossible for us to answer since we know nothing about your application.
With regard to routing and conditions consider reading these two blogs where we're explaining why we're moving away from the annotation-based programming model:

https://spring.io/blog/2019/10/14/spring-cloud-stream-demystified-and-simplified
https://spring.io/blog/2019/10/31/spring-cloud-stream-event-routing

Also, next time when asking question please use appropriate Stack Overflow channel as this issue tracker is not monitored for questions by our user community.


Inconsistency naming the "percentage" parameter in configuration

The property "percentage" seems to expect a value between 0 and 1 while the name suggests a value between 0 and 100.
I think it would be clearer to use if the property was named "proportion"/"ratio" or if the scale of the value was changed.

Good catch. We'll take a look at it ! Thanks 👍


Support for org-mode

Currently all the templates default to markdown. It would be good if it could spot I'm using org-mode and swap to using that.
I have a template for inserting them but I can't see how to change the "Added to raindop" template.
[[{{{url}}}][{{{title}}}]]
:PROPERTIES:
:title: {{{title}}}
:url: {{{url}}}
:Tags: {{{tags}}}
:date-saved: [[{{{dateCreated}}}]]
:last-updated: [[{{{dateUpdated}}}]]
:END:

Ahh yes, I forgot org mode was an option! I've only used Markdown myself. Good suggestions :)

Do you have any recommendations for what you want in the default the "Added to Raindrop" template?
This is what I have at the moment, but I'm finding that the URLs that have slashes in them suddenly have italics... and the recommended way to prevent that is to include zero-width space characters, which I'd prefer not to do as that will likely break the URL if it's copied + pasted.
Saved to Raindrop:
{{#links}}
[[{{{raindropPreviewUrl}}}][{{{savedUrl}}} (Raindrop preview)]]
{{/links}}

I'm thinking of putting {{{savedUrl}}} as an in-line codeblock, but that looks like this in Logseq:

which isn't the best


Add osRollingUpgradeDeferral property and ApproveRollingUpgrade call

ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[x] Other, please clarify:

Add new property osRollingUpgradeDeferral and new API call ApproveRollingUpgrade for VMSS

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Looks like the main problem is these breaking changes for some properties which are apparently removed:
https://github.com/Azure/azure-rest-api-specs/pull/25543/checks?check_run_id=16223486217
But that's not due to any of my changes, I think that's because the 2023-09-01 branch is not yet updated with everything that's on the 2023-07-01 version.

.NET track SDK and Powershell SDK items failed as well, doesn't seem obviously related to this PR though

for new operation, requesting ARM review


SimpleMessageConverter does not Implement IObjectFactoryAware

The Java equivalent implements BeanClassLoaderAware.

IObjectFactoryAware is used (in this context, in the Java code) to deserialize objects in a way that is required for Java, but not for .NET. Consequently, this issue is not an issue. We can deserialize successfully without it.


how to translate a web page?

how to translate a web page and get the html response
like this: https://translate.google.com.hk/translate?hl=en&sl=zh-CN&tl=en&u=http://qq.com

I close this issue because py-googletrans is just a library that do just do one thing: translating given texts, not translating a web page.

see https://github.com/ssut/py-googletrans/issues/99#issuecomment-848714972


Artifact transform instrumentation ignores directories

If user adds a directory to the classpath, e.g. like:
buildscript {
    dependencies {
        classpath(files("./included/build/classes/java/main"))
    }
}

then the code in the directory won't be instrumented. This is a bug introduced with artifact transform instrumentation and it worked in 8.5.
One example for such usage is testing a Gradle plugin, e.g. when usin nebula-test plugin with option definePluginOutsideOfPluginBlock = true.
This also affects transforming lambdas to serializable lambdas, you get error like:
* What went wrong:
Could not load the value of field `action` of `org.gradle.api.internal.AbstractTask$TaskActionWrapper` bean found in field `actions` of task `:compileJava` of type `org.gradle.api.tasks.compile.JavaCompile`.
> CustomPlugin$apply$1$$Lambda$2130/0x0000000800e80440

Fixed with https://github.com/gradle/gradle/pull/27652


Docker failed to start splash

Somehow I cannot run splash on docker. I am using Mac OSX High Sierra.
The commands I used are:
$ docker pull scrapinghub/splash
and I got
Using default tag: latest latest: Pulling from scrapinghub/splash Digest: sha256:f768f56cc261d1087072ed4ae4c30dc52672d1244ffe179ba43adb6c5e9c430b Status: Image is up to date for scrapinghub/splash:latest
And then I tried to run splash using:
docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash
And then nothing was shown.
It seems splash was not started at all.
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Anybody has some idea about possible reasons for it?

Did you ever manage to run it?


Custom Operator compute forward twice terminate with error

Hi, I am new to Mxnet and recently when I implement some customOps and I get the following errors in the forward().

However I print the params in forward_entry I find that the forward() in my customOp seems to be computed twice and combine the params together randomly.

I just create the operator once and i have no idea why it can be computed twice. My mxnet version is 0.10.0 and my environment is ubantu14.04.
my customOp is the following:

Please give me a hint if someone has met the same error. Thanks for the helping!

your forward signiture is wrong. you need an is_train argument


File > Close Editor with no open file, closes VS Code (crash?)

VSCode Version:1.2.1-stable, 1.3.0-insiders
OS Version:Windows 10

Steps to Reproduce:
1.Open a file
2. File > Close Editor   - this closes the file
3. File > Close Editor   - this exits VS Code (same as File > Close Window)
Not sure if this is crash or just a regular exit.

Yeah as designed. Last close closes the window. Has been like that from day 1.

While this is as designed, I'm often frustrated when I hit cmd+w one time too many and close vscode altogether.
#15028 is a long-standing feature request that isn't really as succinct as this but that is at least still open, so I'll continue discussion there.


Proposal: Websocket emulation server & transport

Appreciate everything the group has done.
It seems like this project is evolving into a nice alternative to socket.io for a websocket transport.
I'm not sure what the roadmap looks like in regards to adding other sorts of servers/transports (similar to SocksJS), but if there's any way to add this into this library, it would be useful.
Having something like:
  const protooXhrPollingServer = new protoo.XhrPollingServer(httpServer, options);

would be awesome.. Thanks for your time!

Honestly I don't want to make the effort to implement "HTTP polling" transport. As far as I understand, polling is just implemented by other libraries just to allow them work in browsers without WebSocket support. I see no other benefit at all. And I do not want to replicate it just because socket.io does it.
If there is any other reason to implement it, please comment. However, as said above, I won't make the big effort.


Update index.mdx

What is it?

[ ] Feature / enhancement
[ ] Bug
[ ] Docs / tests

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

I don't understand ASAP: I made a search to get it so I think it is better long walk.

Thanks for the PR!


Farm designer map panel toggle

Farm Designer:

Allow hiding of the Farm Designer panels by pressing the Designer tab on small screens.

Coverage increased (+0.03%) to 90.378% when pulling 286713a61c4dd8d2c6b2c414408d079fed0ceaa7 on gabrielburnworth:master into 854c2f8310bf4476e3be7ba3bb036654a49c5475 on FarmBot:staging.


--config not implemented yet?

Running the Linux bin: twitch-cli_1.1.5_Linux_x86_64.tar.gz
In twitch -h there is talk about a --config param, but when I try to use it, it appears to be ignored and the default location is used.
Flags:
      --config string   config file (default is $HOME/.twitch-cli/.twitch-cli.env)
  -h, --help            help for twitch

Command run to set the config file:
twitch token --config "/.twitch-cli.env"
What am I doing wrong?
PS, the default config location is also incorrect in the -h text, it's: $HOME/.config/twitch-cli/.twitch-cli.env (at least in the linux binary).

Hi,
I tested this and it seems to be working. Your custom .env file should contain something like this:
CLIENTSECRET=<client secret token>
CLIENTID=<client id token>

Then run the command such as you did.
I've noticed in your command, it says "/.twitch-cli.env", which will look for it at the root. Make sure this is expected and not a typo for the local "./.twitch-cli.env". which contains the dot at the start of the location to make it relative.

Hi Xemdo,
Yeah, root dir / is expected, this is running inside a docker container.
I think I've misunderstood the purpose of --config, I thought it was just to specify where the config file would be saved to, not data retrieved from.
Anyway, thank you for the clarification.


[Question]: no space left on device when running docker compose

Describe your problem
Built docker image successfully on Mac OS from top of tree (ID: 9a5ff320f3c21229cde0134e398b9a20107be178).
Getting no space left on device when running docker compose. It looks like there may not be enough virtual space for the docker container?
(venv) rudys@mac-studio ~/.../Software/ragflow/docker % docker compose -f docker-compose.yml up -d
WARN[0000] The "HF_ENDPOINT" variable is not set. Defaulting to a blank string.
WARN[0000] The "MACOS" variable is not set. Defaulting to a blank string.
[+] Running 102/5
 ✔ minio Pulled                                                                                12.2s
 ✔ redis Pulled                                                                                23.2s
 ⠹ ragflow [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 11.33GB / 11.35GB Pulling                                                                   231.2s
 ✔ mysql Pulled                                                                                31.7s
 ✔ es01 Pulled                                                                                100.6s
failed to extract layer sha256:a02c9c8115e19b42e544995307b0233efb20d5ef9e1e0195a181dd1945e5d73e: write /var/lib/desktop-containerd/daemon/io.containerd.snapshotter.v1.overlayfs/snapshots/773/fs/root/.ragflow/bge-reranker-v2-m3/model.safetensors: no space left on device: unknown

Check your disk left space of docker images used.

Thank you.
I ran
docker system df

Then recovered some space by purning with:
docker system prune --all --force --volumes


Calendar month display (config isSmall)

Hello, im trying to display the month this way :

but the display im getting is this:

the isSmall in config did not work, what im doing wrong?

Hi @DaniloDiasLemos.
I need more info than this to be able to help. I think the template for the bug report would be useful here.
But also “isSmall” was never part of the official API for the component. This is just used internally to detect when we need to render the agenda view.

When i zoom in or out for the first time the display change to the desired one. I will try to gather more information to open a proper issue with the template for the bug report.
Thanks for the quick response


Can we use PersistentVolume instead of PersistentVolumeClaim for userdir?

I want to get cookies stored in my browser that located in host, is there any possible way to get access to host from Orchest pods?

For now I run Rsync on the beginning of my pipeline to synchronize my project and host directory

Hi @yosiasm, thanks for opening this issue. To clarify, are you looking for easy local data synchronization/passing between the local file system and Orchest? We agree that having to do rsync is a bit painful.

Hi @astrojuanlu, thanks for your response. That's correct and more precisely, I want to store all of my script and other file dependencies in the local file system. Like we connect our google drive folder to google colabs.

This will be enabled by this upcoming feature: https://github.com/orchest/orchest/issues/958


postMessage support

We need a way for the web page to send information to the bot via the control.

Closed by https://github.com/billba/botchat/commit/689800df94642f63600e12829a5c641ac158313c


Build fails on FreeBSD:  make: illegal argument to -j -- must be positive integer!

$ cargo build --release -p winterjs
...
error: failed to run custom build command for `mozjs_sys v0.68.2 (https://github.com/wasmerio/mozjs.git?branch=fix-obj-file-lists#f6cbd122)`

Caused by:
  process didn't exit successfully: `/git/winterjs/target/release/build/mozjs_sys-d8b0cf7cba3788c2/build-script-build` (exit status: 101)
  --- stdout
  cargo:outdir=/git/winterjs/target/release/build/mozjs_sys-456e9eb6b048a812/out/build

  --- stderr
  gmake: *** No targets specified and no makefile found.  Stop.
  make: illegal argument to -j -- must be positive integer!
  thread 'main' panicked at /home/yonas/.cargo/git/checkouts/mozjs-e1c76167ba7c548f/f6cbd12/mozjs-sys/build.rs:272:5:
  assertion failed: result.success()
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

commit: 2996a9318e8d820dd2e0a9fea8469ad510c04c6a

Has this been fixed?


[BUG] The documentation provides no guidance.  It should.

Summary
The documentation for integrationcli provides reference information for the syntax of the commands. But it provides no guidance for what happens when I run each command.
A key scenario (seems to me)  is importing (uploading?) an integration that has been created by someone else.  There are lots of integration samples available, and people want to try them.  So they want to import that thing, without a pointy clicky experience.
What is the journey of such a user?

there is nothing that describes how I can upload a .JSON formatted integration, using integrationcli.  There is an upload command (integrationcli integrations upload) but in trials, that doesn't seem to work.  It complains about the file format.   There's no explanation or guidance in the documentation for what file format the upload command expects, beyond the help text that reads "Upload must have the json field content which contains stringified integration json and optionally the file format".  ??  What does that even mean?
there are documents suggesting I should use scaffold, but that doesn't sound like what I want. In that case I need to deal with overrides and a bunch of new concepts. I don't want any of that.
Searching more, there's no link to a video overview, or "tour of the tool" in the documentation either.
There are no samples in the doc pages showing "here's how you upload an integration that a colleague has exported/downloaded."
if I stumble around enough I can discover that integrationcli integrations create is what I want.  yay!  It succeeds!
But then what?  How do I publish that? integrationcli integrations publish does not exist. (it should, but that's a different bug)
I tried integrationcli integrations publish help but that provides no hint that I need to use integrations versions publish.  I read the source repo to find the necessary command.
I try integrationcli integrations versions publish thinking it will "Do what I mean" by publishing the one and only version I have.  Or even the latest version. Nope. I need to explicitly tell it which version.
I can then try integrationcli integrations versions list to get a list of versions, but I get a wall of JSON.  None of that looks like a version.
whew
later, if I eventually figure out how to publish a version with the tool, and I want to clean up and delete everything.... How do I check if a version is published or not?  How do I only unpublish the versions that are published?  There should be guidance for this.

Documentation would help.  A screencast linked from the documentation would  help.
Version
$ integrationcli --version
integrationcli version 0.78.0 date: 2024-12-10T17:57:38Z [commit: 9371c4e]

To Reproduce

Be a novice trying to discover how to use integrationcli.
profit!

Expected behavior
There should be a guide covering the basic scenarios.

I will split this issue into three parts:
upload vs. create
I don't see a use case for upload at all. It is included with integrationcli because the API exists and someone may be using it. That said, because it is included, it should be usable. To that effect, I have improved the documentation and included a sample for upload. All users should use integrationcli integrations create
create
A common use case after creating an integration version is to publish the version. To improve this experience, the following improvements have been added:

integrationcli integrations create allows the user to also publish the integration in the same command (by setting --publish=true)
integrationcli integrations create has a new flag --basic, which when set to true returns version and snapshot only.

Importing Scenario
Coming to this portion >> "A key scenario (seems to me) is importing (uploading?) an integration that has been created by someone else. ". I think in most of the cases we are dealing with the situation where we have a source project (where someone created an integration) and a target project where a different user wants to deploy a copy.
For this scenario, I recommend User A executing integrationcli integrations scaffold in the source project. They provide (a compressed version of) the resulting folder to User B. User B executes integrationcli integrations apply in the target project.
Integrations seldom exist in isolation. They most often combined with auth configs, config variables, connections (including triggers). Objects like connections further rely on secrets, networking setup (like PSC), etc. To successfully deploy an integration, one requires all of these components.
Scaffold (and apply) does all this on behalf of the user. Scaffold figures out all the dependencies (auth configs, connections etc) of an integration version and grabs the information.  Apply will create the scaffolded objects in the correct order.
re: "In that case I need to deal with overrides and a bunch of new concepts. I don't want any of that." >> Overrides may be used with scaffold/apply, however, it is not mandatory to use them. Some overrides are implicit. An integration JSON  contains project IDs or project numbers of the source project. integrationcli automatically overrides it for the target project.
re: "integrationcli integrations versions list" >> as mentioned previously, please use --basic and you will see a cleaner output.
In general, I will create a new PR to add some samples to each of the commands.

Please take a look at release v0.79.0, a number of suggestions from your issue have been incorporated.


Suggestions on decreasing load times of arb pairs

Hey man.
First of all thank you so much for such an amazing bot.
Secondly, how can I decrease loading time for the fetching of arb pairs? It takes around 20 mins to get all the arb pairs. Any suggestions you can provide?
Thirdly, can you please tell me what does 'num' and 'den' means in your code? And the reason behind value = -100.
Sorry for the noob question. I plan to fork this project of yours by adding my own features.
Thanks in advance.

Loading time for Arb Pairs
The loading process populates these three variables: Symbols, Pairs and ValidPairs
I think there can be an option to cache (save) those 3 variables in a text file, and on next run load them from file. The catch is that if one or more of these pairs are not available any more on Binance, it will lead to an error which needs to be handled.
num and den mean numerator or denominator.
Suppose we want to trade from BTC to BNB (sell BTC, buy BNB), and the BNBBTC rate is available i.e. that pair is traded on Binance. All is great, we can consider the Bid price of BNBBTC and buy BNBBTC to get BNB.
But when we want to trade the other way from BTC to BNB (sell BNB, buy BTC) but if only BNBBTC is traded on Binance. That is, BTCBNB doesn't exist. In this case we have to consider (1/BNBBTC) as the 'BTCBNB' rate. That brings in the denominator aspect. In this case we need to consider the Ask price of BNBBTC, and sell BNBBTC to get back BTC.


Implement FromWorld for WorldId

Objective
Allow using Local<WorldId> in systems.
Solution

Describe the solution used to achieve the objective above.

Changelog

WorldId now implements the FromWorld trait.

Very nice docs, thank you.

We can do that too

@JoJoJet once you've rebased I'll merge this.

bors r+


Allow literals to be compared in blocks by casting to any

@jwunderl it now supports python! will add tests...


comma missing

comma missing

As far as I know there is no comma allowed there b/c of compability issues with IE9. It's the last entry of the hashmap.

@klarstil can you confirm or deny this please.

Oh, didn't know that.


sam local does not accept additional quotes in CORS configuration

Description
According to https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#cors-configuration CORS configuration strings should have an extra pair of quotes like this:
Cors:
  AllowMethods: "'OPTIONS,GET,POST,DELETE'"
  AllowHeaders: "'X-Forwarded-For'"
  AllowOrigin: "'*'"

Running sam local start-api with a template containing the above gives me: Error: The method 'OPTIONS is not a valid CORS method. (notice the dangling quote).
Steps to reproduce
Add the Cors configuration above to an API definition. Run sam local start-api.
Sample template:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  HelloApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      Cors:
        AllowOrigin: "'*'"
        AllowMethods: "'OPTIONS,HEAD,GET,PUT,POST'"
        AllowHeaders: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: hello-world/
      Handler: app.lambdaHandler
      Runtime: nodejs10.x
      Events:
        HelloWorld:
          Type: Api
          Properties:
            Path: /hello
            Method: get
            RestApiId:
              Ref: HelloApi

Observed result
$ sam --debug local start-api
Error: The method 'OPTIONS is not a valid CORS method

If I remove the extra singe quotes in AllowMethods, sam local start-api works as expected, but then I cannot deploy the template.
Expected result
Expected a running API with CORS enabled.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

OS: macOS 10.14.6
sam --version: SAM CLI, version 0.21.0

Ah, good catch! Looks like we actually test similar to way you reported it. https://github.com/awslabs/aws-sam-cli/blob/develop/tests/integration/testdata/start_api/swagger-template.yaml

sam --version
SAM CLI, version 0.19.0
on ubuntu18.04
with this template (sorry the formatting goes away under code insert !? but it's properly formatted according emacs yaml mode) I do NOT see the issue (no error with or without single quotes, however the Cors: directive does not take effect (see error at bottom)
Resources:
SGSApi:
Type: AWS::Severless::Api
Properties:
Cors:
AllowMethods: "'*'"
AllowHeaders: "'OPTIONS,HEAD,GET,PUT,POST'"
AllowOrigin: "'http://localhost:4200'"
PedigreeFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./lambda-scripts/get-pedigrees.py
Handler: app.lambda_handler
Runtime: python3.7
Events:
FilePairs:
Type: Api
Properties:
Path: /pedigree
Method: GET
Access to XMLHttpRequest at 'http://localhost:3000/pedigree' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

OK, I just upgraded to v 0.21.0 and bumped into similar issue as OP.
This Cors: element
Globals:
Function:
Timeout: 3
Api:
Cors:
AllowMethods: "'*'"
AllowHeaders: "'OPTIONS,HEAD,GET,PUT,POST'"
AllowOrigin: "'http://localhost:4200'"
lead to this error msg
sam --debug local start-api
Error: The method '*' is not a valid CORS method
removing the single quotes allows sam to start but I still cannot configure Cors: effectively
sam --debug local start-api
Mounting FilePairsFunction at http://<IP_ADDRESS>:3000/file-pairs [GET, OPTIONS]
Mounting PedigreeFunction at http://<IP_ADDRESS>:3000/pedigree [GET, OPTIONS]
You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. You only need to restart SAM CLI if you update your AWS SAM template
2019-08-29 13:29:48  * Running on http://<IP_ADDRESS>:3000/ (Press CTRL+C to quit)
2019-08-29 13:30:06 <IP_ADDRESS> - - [29/Aug/2019 13:30:06] "OPTIONS /pedigree HTTP/1.1" 200 -
My template.yaml:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
ppr-app
Template for ppr aws app
More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 3
Api:
Cors:
AllowMethods: "*"
AllowHeaders: "'OPTIONS,HEAD,GET,PUT,POST'"
AllowOrigin: "'http://localhost:4200'"
Resources:
FilePairsFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./lambda-scripts/analyze-file-pairs.py
Handler: app.lambda_handler
Runtime: python3.7
Events:
FilePairs:
Type: Api
Properties:
Path: /file-pairs
Method: GET
PedigreeFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./lambda-scripts/get-pedigrees.py
Handler: app.lambda_handler
Runtime: python3.7
Events:
FilePairs:
Type: Api
Properties:
Path: /pedigree
Method: GET

Running through the exact issue after upgrading to SAM CLI, version 0.21.0
Getting
Error: The method 'GET is not a valid CORS method

for CORS configurations:

Globals:
  Api:
    Cors:
      AllowMethods: "'GET,POST,OPTIONS'"
      AllowHeaders: "'content-type'"
      AllowOrigin: "'*'"
      AllowCredentials: "'*'"

Closing as this was released in v0.22.0


Miui gallery keeps crashing

Miui gallery keeps crashing for me whenever I open a picture in MIUI gallery
magisk_log_2024-04-07T09.46.46.log
This is the log file, please fix this isse as soon as possible. If you need further information, please don't hesitate to reply to me

-------------- Any missing stuffs --------------
------------- will not be approved -------------
Bug report contains 5 stuffs:

Explanations ✓
Magisk/KernelSU install log if it's a Magisk module #magisk_install_log
Disable any other else modules (except the module you want to report, AML, dirac misoundfx Remover, AOSP soundfx Remover, & Sound Alive FX Remover Magisk Module. But if you are reporting for AML Ryuki Mod, then you need to enable all audio mod module you have.)
Full logcat #logcat
Z folder #zfolder

If you miss one of them, read #bug_report again https://t.me/androidryukimodsdiscussions/2618 please! If you got boot-loop, read #workarounds! If you don't understand, learning is the best you can do. Thank you.


Include platform identifier in mobile redirect to httpsURI

The blockstack browser might want to change the UI depending on the platform. Therefore, a client parameter should be added to the redirect httpsURI around https://github.com/blockstack/blockstack.js/blob/5a9d33bb11de3c4d0780ed80cb2fe573bfd22c2d/src/auth/authApp.ts#L226
See also https://github.com/blockstack/blockstack-android/issues/141

Closing this.
The logic should not be added to blockstack.js. Maybe a new endpoint should be added for authentication from mobile.


Dave, The JSBIN Bot timed out

The Error:
Dave, the JS Bin bot
504: Dave didn't come back quickly enough
 This is embarrassing, you've asked for something and I've spent too long getting it. Maybe I got
 distracted by some pretty lights, but you'll never know.

 Do check status.jsbin.com, but do ping @js_bin if this problem keeps happening.

 If you want to add details please add it to the issues page and add any additional information you
 can to help diagnose this slackness.

Why am I getting this?

Fixed yesterday.


React-native animation stops working after Fast Refresh

I have created a simple Expo app using the example with tabs.
I am testing the animation, but they only works on initial load.
As soon i make a code change "refreshing" the animation does not work anymore.
Any help would be much appreciated- thanks
Expo version - 3.11.3
"react-spring": "9.0.0-beta.34"
windows 8.1
tested on genymotion and Google Pixel 3
This is the code.
import React, {useEffect, useState, useRef} from "react";
import { View, Text, StyleSheet, Button, PanResponder } from "react-native";
import {animated, useSpring} from "react-spring/native";

const styles = StyleSheet.create({
	container: {
		flex: 1,
		justifyContent:"center",
		height:"100%",
		width:"100%",
		backgroundColor: '#CCFF00',

	},
	item:{
		height:200,
		width:150,
		backgroundColor:"#FFFFFF",
		marginRight:10
	}});

// it does not help moving the AnimatedView outside of the component
// const AnimatedView = animated(View)

const AppView = (props) => {

	const [{x, y, opacity}, setAni] = useSpring( () => ({x: 100, y: 0, opacity:1, config: {friction: 40, tension: 1200}}) );
	const sayWat = () => {
		const m = x.getValue() === 50 ? 0: 50
		const op = opacity.getValue() === 1 ? .5 : 1;
		setAni( {x:m , y: 0, opacity:op} )

	}

	const AnimatedView = animated(View)

	return (
			<View style={styles.container}>
				<AnimatedView style={{backgroundColor:"#EEFF00",height:"50%",width:"100%",	flexDirection:"row",position:"absolute",  transform: [{ translateX:x }], opacity}}>
					<View style={styles.item}>
						<Text>asdasd</Text>
					</View>
					<View style={styles.item}>
						<Button onPress={sayWat} title={"click"}></Button>
					</View>
				</AnimatedView>
			</View>
	)

}
export default AppView

Does your code work with v8?

@aleclarson Everything works fine i V8 and on the web,
I found that the problem is caused by "Fast refresh" which does not remount the component.
This solution is to add // @refresh reset somewhere in the file.
Its described here: https://docs.expo.io/versions/latest/react-native/fast-refresh/
Making a change in the App.js file (parent file) also keeps the animation working.
I still don't understand why the animation stops working. Its this a bug?

Hi @ddennis,
I tried to test useSpring function, my code similar to yours, but when I set property to update style, nothing happen. It seems like set function not working. Can you take a look at code below and help me?
my code is blow.
Thank
export default function UseSpringExample() {
  const [{ opacity }, set] = useSpring(() => ({ opacity: 1 }));

  return (
    <AnimatedView style={{ opacity }}>
      <TouchableOpacity
        onPress={() => {
          set({ opacity: 0.5 });
        }}
      >
        <Text>Hello</Text>
      </TouchableOpacity>
    </AnimatedView>
  );
}

@ddennis Do you have a git repository with a minimal reproduction?

This will be fixed in 9.0.0-rc.4, thanks to 4b8cd966d593c20f9e4dff2bac5d24d7a8c92413. 👍

Great and thanks alot for all the work on version 9.


deployment of wekws on microcontroller

Hi @robin1001,
I'd like to customize your model for my own wake word and then deploy it on a microcontroller.
Can this model be customized and deployed on ESPRESSIF ESP32-S3 boards in streaming mode?
Thank you very much in advance.

We don't have a runtime that use ESP-WHO and ESP-Skainet to accelerated neural network computing. but you can try the onnx runtime to see if it meets your requirements


Feat/timeline

About the changes

Important files

Discussion points

Thanks for this @HarryWangSH , looks great!

Sorry that it took so long 😭 @HarryWangSH


Add instructions on how to proceed after deploy.sh

It's unclear what needs to be done after deploying.
Probable steps that need to be taken after deployment:

Copy everything inside myproject/containers/ into their respective git repos
Check in all the changed files/folders.
Maybe look at changing the generated files to enable additional features like CI/CD, liveliness/readiness probes, etc.

Have a more simplified readme with generic instructions on next steps.


Update tests.yml for Azure Pipelines

Fixes build break where it could not find "stages" to run tests for attestation.

Thanks for fixing this Connie


[Toolkit Landing Page] Fetch data from backend on toolkit landing page

Notion ticket link

[Toolkit Landing Page] Toolkit landing page fetches data from backend

Implementation description

Used useSWR to fetch data from backend
Mapped data to UserToolCard components
Followed original styling
Used useRouter to route UserToolCard button clicks

Steps to test

Go to http://localhost:3000/

Observe that tool cards are displayed with data from the backend; main page content should look something like this:

Click on a continue learning button

Observe redirect to http://localhost:3000/tool?id=<_id> (note that page does not exist)

Go to http://localhost:3000/

Click on a self check button

Observe redirect to http://localhost:3000/selfCheck?id=<selfCheckGroupID> (note that page does not exist)

What should reviewers focus on?

Does it work?
Does the code look ok?
Does the styling look ok?

Checklist

[x] My PR name is descriptive and in imperative tense
[x] My commit messages are descriptive and in imperative tense. My commits are atomic and trivial commits are squashed or fixup'd into non-trivial commits
[x] I have run the appropriate linter(s)
[x] I have requested a review from the PL, as well as other devs who have background knowledge on this PR or who will be building on top of this PR

Absolutely wonderful work! The only thing that I don't think is being parsed properly is image={thumbnail}.
On an aside @tawnyzhao the checking for duplicates in post.ts and update.ts for pages/api/tool is not working as intended. Currently, a tool can be assigned to a module, but after being saved, cannot be saved again since that module is already assigned to a tool. Also, this same tool can then be assigned to a different module and have both modules be assigned to the same tool.
I think instead we should add a check to see if the tool the module is already assigned to is the same tool that is calling the update request, and if so, not throw an error. Also, if the tool is updated and was previously linked to another module, that previous module needs to be unlinked from the tool if the request to link the tool to the new module is successful.

Absolutely wonderful work! The only thing that I don't think is being parsed properly is image={thumbnail}.

Thanks @ChinemeremChigbo ! I'm not sure which value should be passed as the image, for reference this is the data returned for one of the cards:
__v: 0
_id: "61ea146749b4de82699157cb"
createdAt: "2022-01-21T02:03:19.432Z"
createdBy: Array [ "John Doe" ]
description: "Necessitatibus omnis iste dolor officiis possimus velit quia atque. Tenetur vel porro."
editing: false
externalResources: Array(3) [ (2) […], (2) […], (2) […] ]
linkedModuleID: "61ea146749b4de82699157cf"
relatedResources: Array(3) [ (2) […], (2) […], (2) […] ]
relatedStories: Array(3) [ (2) […], (2) […], (2) […] ]
relatedToolsIDs: Array(3) [ "", "61ea146749b4de82699157ce", "61ea146749b4de82699157cc" ]
selfCheckGroupID: "61ea146749b4de8269915760"
status: "published"
thumbnail: "http://abner.name"
title: "molestiae qui enim"
type: "Problem"
updatedAt: "2022-01-21T02:03:19.432Z"
video: "https://curt.info"

Absolutely wonderful work! The only thing that I don't think is being parsed properly is image={thumbnail}.

Thanks @ChinemeremChigbo ! I'm not sure which value should be passed as the image, for reference this is the data returned for one of the cards:
__v: 0
_id: "61ea146749b4de82699157cb"
createdAt: "2022-01-21T02:03:19.432Z"
createdBy: Array [ "John Doe" ]
description: "Necessitatibus omnis iste dolor officiis possimus velit quia atque. Tenetur vel porro."
editing: false
externalResources: Array(3) [ (2) […], (2) […], (2) […] ]
linkedModuleID: "61ea146749b4de82699157cf"
relatedResources: Array(3) [ (2) […], (2) […], (2) […] ]
relatedStories: Array(3) [ (2) […], (2) […], (2) […] ]
relatedToolsIDs: Array(3) [ "", "61ea146749b4de82699157ce", "61ea146749b4de82699157cc" ]
selfCheckGroupID: "61ea146749b4de8269915760"
status: "published"
thumbnail: "http://abner.name"
title: "molestiae qui enim"
type: "Problem"
updatedAt: "2022-01-21T02:03:19.432Z"
video: "https://curt.info"

You are passing thumbnail, which is correct. But try this:

Make a new tool at localhost:3000/admin/dashboard/tools and set its thumbnail to:
https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/close-up-of-flower-blooming-outdoors-royalty-free-image-739387273-1544039749.jpg
Fill out all other required fields in the tool and self check
Publish the tool
Note that the thumbnail does not show as expected on the newly created module back at localhost/3000

This is as opposed to setting the image = {thumbnail} directly to image="https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/close-up-of-flower-blooming-outdoors-royalty-free-image-739387273-1544039749.jpg"

You are passing thumbnail, which is correct. But try this:
1. Make a new tool at localhost:3000/admin/dashboard/tools and set its thumbnail to:
   https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/close-up-of-flower-blooming-outdoors-royalty-free-image-739387273-1544039749.jpg

2. Fill out all other required fields in the tool and self check

3. Publish the tool

4. Note that the thumbnail does not show as expected on the newly created module back at localhost/3000

This is as opposed to setting the image = {thumbnail} directly to image="https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/close-up-of-flower-blooming-outdoors-royalty-free-image-739387273-1544039749.jpg"

I see, great catch! Turns out I had a typo for thumbnail.

Great work @jennifer-lu! Looks amazing :)
Thanks for the quick review and bug find @ChinemeremChigbo!
@tawnyzhao I created a Notion ticket for that bug  - I'll leave it to you to delegate and estimate

Thank you for the reviews! I will merge the pr :)


torch.aten.renorm

Progress towards #347

Support added in https://github.com/llvm/torch-mlir/pull/3388


example for using own ldapconnection

Hi
is is possible to use a custom System.DirectoryServices.Protocols.Ldapconnection  with ldapconfiguration ?
if yes could you post an example of how we may use it.

You need to implement a custom LdapConnectionFactory and register it with the configuration method ConfigureCustomFactory.

See LdapConnectionFactory for an example of implementing your own connection factory. Call config.ConfigureCustomFactory(your instance) to configure it.

thanks


python311Packages.google-cloud-redis: 2.13.0 -> 2.13.1

Changelog: https://github.com/googleapis/python-redis/blob/v2.13.1/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 241878 run on x86_64-linux 1

4 packages built:

python310Packages.google-cloud-redis
python310Packages.google-cloud-redis.dist
python311Packages.google-cloud-redis
python311Packages.google-cloud-redis.dist


Stable option run factorio 0.17.75

I think there is a problem with commit 1eb90fd79d02aa00626e23affd497fba9509b666.
Stable version on factorio.com is 0.17.74

I ran into this too! I had to manually hard code the version I'm running for now. It's extra confusing because Steam advertised version 0.17.75 in the "news" section for Factorio, even though its experimental.

Yeah I know...  Right now only a branch (0.17) can be marked as stable.

Also something is very wrong with the bot. I will probably investigate this later tonight and force push master to correct it.

Yea this looks very strange

I hope this is fixed now. I leave this issue open for now. Please let me know if something is still broken or breaks again.

0.17.79 is the new stable now

I am still getting 0.17.74 when i pull stable. Seems like .travis.yml was not updated when stable was updated.

oh nvm you just updated it...

I am currently fixing the pipeline. Gimme a few minutes. :)

Should be live in a few minutes. Please open a new issue it if breaks and I don't notice it. I will try to fix it within a day.


CASE WHEN has problem with LIKE ESCAPE

CASE WHEN in combination with LIKE ... ESCAPE ... has a problem (but works exactly as intended on Oracle).
JSQLParser 4.6 Snapshot.
-- fails
select case
    when id_portfolio like '%\_1' escape '\' then '1'
    end;

-- works
select case
    when id_portfolio like '%\_1'  then '1'
    end;

-- works
select *
from dual
where id_portfolio like '%\_1' escape '\';

Odd enough even GitHub Syntax highlighting gets confused?!

It gets stranger by the minute:
-- works
select case
    when id_portfolio like '%\_1' escape '\\' then '1'
    end;

This works in JSQLParser but is invalid on oracle: "ORA-01425: escape character must be character string of length 1"

I understand better, what is going on: the sequence ESCAPE '\\' collides with the <ESC> token defined in the Grammar.
In the result, the Escape Expression becomes <S_CHARLITERAL> =  '\\' then '1' (including the <ESC> Token).
I assume we will need a kind of UNESCAPED CHAR LITERAL.


The green border flickers while typing emoji starting with : in 'Add reaction' for a message

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to web chrome
Go to any chat and send a message
Hover over the message and click on add reaction
On the search bar, search for emoji starting with :smile
Notice that the green border flickers on typing every character
But follow the same steps on the chat composer and notice that flickering doesn't occur

Expected Result:
Flickering should not occur when typing emoji with : on the 'add reaction'
Actual Result:
Flickering occurs on typing each character on the 'Add reaction' while works perfectly on the chat composer
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/232127157-d1f0097a-af44-45e1-b65f-fb028196d0ab.mp4
https://user-images.githubusercontent.com/43996225/232127171-10f3b326-0224-4ba0-a50d-f6059b0d87f9.mp4
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681444291932889
View all open jobs on GitHub

Triggered auto assignment to @MitchExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Thanks @allroundexperts ! I'll keep an eye on this issue until https://github.com/Expensify/App/pull/17457 gets merged to make sure it fixes it

Tested on staging an couldn't reproduce! 🎉


filtered_attributes: It didn't take effect

Inside the devices.yaml
Add properties
'0x00124b00133fecc6':
friendly_name: '0x00124b00133fecc6'
filtered_attributes: ["l5", "l6", "l7", "l8", "l9", "l10", "l11", "l12", "l13", "l14", "l15", "l16"]
But theme publishing still has these attributes. What is the wrong setting?
Hope to reply, thank you.

Complete theme：
Zigbee2MQTT:info  2021-06-05 12:47:24: MQTT publish: topic 'zigbee2mqtt/0x00124b00133fecc6', payload '{"action":null,"l1":null,"l10":null,"l11":null,"l12":null,"l13":null,"l14":null,"l15":null,"l16":null,"l2":null,"l3":null,"l4":null,"l5":null,"l6":null,"l7":null,"l8":null,"l9":null,"linkquality":96,"state_l1":"OFF","state_l10":null,"state_l11":null,"state_l12":null,"state_l13":null,"state_l14":null,"state_l15":null,"state_l16":null,"state_l2":"OFF","state_l3":"OFF","state_l4":"OFF","state_l5":null,"state_l6":null,"state_l7":null,"state_l8":null,"state_l9":null}'

Please report this under https://github.com/Koenkk/zigbee2mqtt/issues as this repo only handles configs set via add-on interface.


mms.cfg to flash_command_line

Hi, thanks for your plugin.
I want to use freshplayerplugin with these settings, that would usually be put in mms.cfg with normal firefox flash
DisableSockets = 1
DisableDeviceFontEnumeration = 1
AVHardwareDisable = 1

What should I put in the freshwrapper.conf flash_command_line arguments for these? Is there a general rule to convert the mms.cfg version to the flash_command_line version?
Thanks,
sarnex

Sorry, you just use mms.cfg in ~/.config/freshwrapper-data/Shockwave Flash/System/mms.cfg


Improvising time for coreferencing

Hi julien, thanks for opensoursing such an amazing library for coreferencing
I have two questions
-Have you released pyTorch powered training workflow yet. If yes can you please provide a link for the same.

Now with this current flow, coreferencing a 10kb file takes 30 seconds on my machine. Will the time for coreferncing come down drastically using a GPU.?

Hi @Nbharath all the credit goes to @thomwolf 👏
We haven't published the training workflow yet but it is coming in couple of weeks.

As for the resolution time, I'll let Thomas pitch in!

Hi @Nbharath,

I am currently cleaning up the pyTorch code and taking the occasion to refine a bit the mention detection algorithm. I will publish the code as soon as possible.
Right now the library uses numpy to compute the matrix multiplication so it can't make use of the GPU. To put it on GPU we would also have to refactor a bit the workflow to parallelize the computation of pair scores. We use it for very small files (dialog) so it is not in my top priority list but if you feel like trying, you are more than welcome ! (maybe using something like cupy would be the simplest way)

Hello Thomas,
Is the pyTorch code published now ? Will the pyTorch code help to reduce the coreference resolution processing speed if executed on GPU
Regards,
Lavina

Hello
First of all, thanks for the nice library.
The time taken is very long for an average size content. The number of mentions detected are more and we cut short some of the accepted entities and some grammar rules but still the time is too long.
Any tips on how can we reduce it? Please let know.

Yes, just wait for the release of version 0.3 (hopefully) next week.
Version 0.3 will be about 20 times faster :-)
On Mon, May 21, 2018 at 7:03 AM, Arun Kumar<EMAIL_ADDRESS>wrote:

Hello
First of all, thanks for the nice library.
The time taken is very long for an average size content. The number of
mentions detected are more and we cut short some of the accepted entities
and some grammar rules but still the time is too long.
Any tips on how can we reduce it? Please let know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/huggingface/neuralcoref/issues/4#issuecomment-390553820,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHA0HXPjrjrlYBahpxyyWASsPzh0l8vAks5t0kqRgaJpZM4Pez7j
.

Glad to know. I will keep waiting then. :)

Is there a new ETA for the cython rewrite?

Yes, it should be this week, the code pretty much ready (see extension branch), I just have to finish a few edge cases and functions and write the doc (it's now integrated as a spaCy extension so the interface is a bit different). It'll be 50 to 100 times faster on a large doc.

any way we can help out?

@thomwolf  when the Cython version will be released?

It is released! I have updated the readme!

Just tried running it on multiple instances, it works amazing. Thanks @thomwolf

It gives an error while loading the new model saying unicode expected not char in line import neuralcoref.
Can you pls help

On Jun 14, 2018, at 3:13 PM, pramod2157<EMAIL_ADDRESS>wrote:
Just tried running it on multiple instances, it works amazing. Thanks @thomwolf
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


[opentelemetry-operator] Use --create-namespace in operator CI

Updates the operator CI to use --create-namespace when installing the chart.
related to https://github.com/open-telemetry/opentelemetry-helm-charts/pull/617

Looks like CI it works 👍 . @TylerHelmuth please revert the version bump


Tables lost while migrating to plugin-sdk v1

dc/yandex_k8s_node_groups.md
dc/yandex_k8s_nodes.md
dc/yandex_serverless_api_gateways.md
dc/yandex_serverless_containers.md
dc/yandex_serverless_functions.md
dc/yandex_serverless_triggers.md

Will be fixed is release v1.0.0


Support dnd5e 1.4.0 AC and other changes

[ ] AC system overhauled. Need to re-integrate that.

Done with 1.12.0


fix volume mediawiki.yaml

Changes

commented volume LocalSetting.php

Issues

fix  #4045

So the volume should only be uncommented when you actually set up custom LocalSettings right? otherwise always leave it commented out?


Try string types to str

A little more aggressive type comparison with strings

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/223/ for details

Summary of pylint changes for pull request 6116:

Score for src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py decreased from 9.86 to 9.80
Warnings for src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py increased from 2 to 3
Score for src/python/WMCore/WorkQueue/WorkQueue.py decreased from 9.64 to 9.63
Warnings for src/python/WMCore/WorkQueue/WorkQueue.py increased from 17 to 18
Score for src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py decreased from 9.01 to 8.97
Warnings for src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py increased from 5 to 6
Score for src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py decreased from 5.41 to 5.14
Warnings for src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py increased from 2 to 3

src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py got worse in pylint. Report follows:

Line 20 in StartPolicyInterface R0902 Too many instance attributes (12/7)
Line 44 in StartPolicyInterface.validateCommon R0912 Too many branches (14/12)
Line 135 in StartPolicyInterface.call W0201 Attribute 'mask' defined outside init
Line 14 W0611 Unused import WMException
Line 8 W0611 Unused import types
Line 20 in StartPolicyInterface R0921 Abstract class not referenced
plus 7 comments on code style

src/python/WMCore/WorkQueue/WorkQueue.py got worse in pylint. Report follows:

Line 75 in WorkQueue R0902 Too many instance attributes (12/7)
Line 81 in WorkQueue.init R0912 Too many branches (20/12)
Line 363 in WorkQueue.getWork W0703 Catching too general exception Exception
Line 387 in WorkQueue._getDBSBlock W0612 Unused variable 'collection'
Line 523 in WorkQueue.cancelWork W0703 Catching too general exception Exception
Line 535 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'Canceled') for x in inbox_elements if x['Status'] != 'Canceled']" is assigned to nothing
Line 553 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'CancelRequested') for x in elements_not_requested]" is assigned to nothing
Line 564 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'Canceled') for x in elements if not x.inEndState()]" is assigned to nothing
Line 490 in WorkQueue.cancelWork R0912 Too many branches (15/12)
Line 707 in WorkQueue.pullWork W0613 Unused argument 'continuousReplication'
Line 839 in WorkQueue.closeWork W0703 Catching too general exception Exception
Line 762 in WorkQueue.closeWork R0912 Too many branches (17/12)
Line 923 in WorkQueue.performSyncAndCancelAction W0703 Catching too general exception Exception
Line 922 in WorkQueue.performSyncAndCancelAction W0106 Expression "[self.backend.updateElements(x.id, **x.statusMetrics()) for x in updated_elements]" is assigned to nothing
Line 865 in WorkQueue.performSyncAndCancelAction R0912 Too many branches (14/12)
Line 935 in WorkQueue.performQueueCleanupActions W0703 Catching too general exception Exception
Line 941 in WorkQueue.performQueueCleanupActions W0703 Catching too general exception Exception
Line 945 in WorkQueue._splitWork R0913 Too many arguments (8/7)
Line 945 in WorkQueue._splitWork W0613 Unused argument 'parentQueueId'
Line 946 in WorkQueue._splitWork W0613 Unused argument 'team'
Line 1086 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1060 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1075 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1001 in WorkQueue.processInboundWork R0912 Too many branches (27/12)
Line 12 W0611 Unused import types
plus 197 comments on code style

src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py got worse in pylint. Report follows:

Line 359 W0511 FIXME not validated
Line 27 in Assign R0902 Too many instance attributes (12/7)
Line 105 in Assign.initThread W0613 Unused argument 'thread_index'
Line 112 in Assign.validate R0201 Method could be a function
Line 135 in Assign.validateDatatier R0201 Method could be a function
Line 149 in Assign.one E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 198 in Assign.index W0622 Redefining built-in 'all'
Line 198 in Assign.index W0221 Arguments number differs from overridden method
Line 197 in Assign.index E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 265 in Assign.handleAssignmentPage E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 273 in Assign.handleAssignmentPage W0702 No exception type(s) specified
Line 265 in Assign.handleAssignmentPage R0912 Too many branches (13/12)
Line 309 in Assign.assignWorkload R0914 Too many local variables (31/30)
Line 309 in Assign.assignWorkload R0912 Too many branches (16/12)
Line 27 in Assign R0904 Too many public methods (37/20)
Line 10 W0611 Unused import types
plus 55 comments on code style

src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py fails the pylint check. Report follows:

Line 22 in BulkOperations.initThread W0613 Unused argument 'thread_index'
Line 28 in BulkOperations.requestNamesFromCheckboxes R0201 Method could be a function
Line 43 in BulkOperations.filteredRequests E1101 Instance of 'BulkOperations' has no 'requests' member
Line 50 in BulkOperations.search E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 53 in BulkOperations.search E1101 Instance of 'BulkOperations' has no 'draw' member
Line 12 in BulkOperations R0904 Too many public methods (35/20)
Line 3 W0611 Unused import logging
Line 5 W0611 Unused import types
plus 1 comments on code style

Unit test changes for pull request 6116:

WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testMultiTaskProcessingWorkload changed from success to error
WMCore_t.WebTools_t.RESTFormat_t.RESTFormatTest:testUnsupportedFormat changed from error to success
WMCore_t.Database_t.ResultSet_t.ResultSetTest:testFullResultSet was added. Status is success
WMCore_t.Services_t.pycurlFileUpload_t.PyCurlRESTServer:testFileUpload changed from error to success
nose.failure.Failure:runTest was deleted. Prior status was error
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testExtremeSplits changed from success to error
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testLHEProductionWorkload changed from success to error
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testShiftedStartSplitting changed from success to error
WMCore_t.Database_t.ResultSet_t.ResultSetTest:test1000Binds was added. Status is success
WMCore_t.Services_t.pycurlFileUpload_t.PyCurlRESTServer:testFailingFileUpload changed from failure to success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testBasicProductionWorkload changed from success to error
WMCore_t.WebTools_t.RESTFormat_t.RESTFormatTest:testSupportedFormat changed from error to success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testMultiMergeProductionWorkload changed from success to error

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/228/ for details

test this please

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/231/ for details

test this please

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/234/ for details

Summary of pylint changes for pull request 6116:

Score for src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py decreased from 9.86 to 9.80
Warnings for src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py increased from 2 to 3
Score for src/python/WMCore/WorkQueue/WorkQueue.py decreased from 9.64 to 9.63
Warnings for src/python/WMCore/WorkQueue/WorkQueue.py increased from 17 to 18
Score for src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py decreased from 9.01 to 8.97
Warnings for src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py increased from 5 to 6
Score for src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py decreased from 5.41 to 5.14
Warnings for src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py increased from 2 to 3

src/python/WMCore/WorkQueue/Policy/Start/StartPolicyInterface.py got worse in pylint. Report follows:

Line 20 in StartPolicyInterface R0902 Too many instance attributes (12/7)
Line 44 in StartPolicyInterface.validateCommon R0912 Too many branches (14/12)
Line 135 in StartPolicyInterface.call W0201 Attribute 'mask' defined outside init
Line 14 W0611 Unused import WMException
Line 8 W0611 Unused import types
Line 20 in StartPolicyInterface R0921 Abstract class not referenced
plus 7 comments on code style

src/python/WMCore/WorkQueue/WorkQueue.py got worse in pylint. Report follows:

Line 75 in WorkQueue R0902 Too many instance attributes (12/7)
Line 81 in WorkQueue.init R0912 Too many branches (20/12)
Line 363 in WorkQueue.getWork W0703 Catching too general exception Exception
Line 387 in WorkQueue._getDBSBlock W0612 Unused variable 'collection'
Line 523 in WorkQueue.cancelWork W0703 Catching too general exception Exception
Line 535 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'Canceled') for x in inbox_elements if x['Status'] != 'Canceled']" is assigned to nothing
Line 553 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'CancelRequested') for x in elements_not_requested]" is assigned to nothing
Line 564 in WorkQueue.cancelWork W0106 Expression "[x.load().setitem('Status', 'Canceled') for x in elements if not x.inEndState()]" is assigned to nothing
Line 490 in WorkQueue.cancelWork R0912 Too many branches (15/12)
Line 707 in WorkQueue.pullWork W0613 Unused argument 'continuousReplication'
Line 839 in WorkQueue.closeWork W0703 Catching too general exception Exception
Line 762 in WorkQueue.closeWork R0912 Too many branches (17/12)
Line 923 in WorkQueue.performSyncAndCancelAction W0703 Catching too general exception Exception
Line 922 in WorkQueue.performSyncAndCancelAction W0106 Expression "[self.backend.updateElements(x.id, **x.statusMetrics()) for x in updated_elements]" is assigned to nothing
Line 865 in WorkQueue.performSyncAndCancelAction R0912 Too many branches (14/12)
Line 935 in WorkQueue.performQueueCleanupActions W0703 Catching too general exception Exception
Line 941 in WorkQueue.performQueueCleanupActions W0703 Catching too general exception Exception
Line 945 in WorkQueue._splitWork R0913 Too many arguments (8/7)
Line 945 in WorkQueue._splitWork W0613 Unused argument 'parentQueueId'
Line 946 in WorkQueue._splitWork W0613 Unused argument 'team'
Line 1086 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1060 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1075 in WorkQueue.processInboundWork W0703 Catching too general exception Exception
Line 1001 in WorkQueue.processInboundWork R0912 Too many branches (27/12)
Line 12 W0611 Unused import types
plus 197 comments on code style

src/python/WMCore/HTTPFrontEnd/RequestManager/Assign.py got worse in pylint. Report follows:

Line 359 W0511 FIXME not validated
Line 27 in Assign R0902 Too many instance attributes (12/7)
Line 105 in Assign.initThread W0613 Unused argument 'thread_index'
Line 112 in Assign.validate R0201 Method could be a function
Line 135 in Assign.validateDatatier R0201 Method could be a function
Line 149 in Assign.one E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 198 in Assign.index W0622 Redefining built-in 'all'
Line 198 in Assign.index W0221 Arguments number differs from overridden method
Line 197 in Assign.index E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 265 in Assign.handleAssignmentPage E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 273 in Assign.handleAssignmentPage W0702 No exception type(s) specified
Line 265 in Assign.handleAssignmentPage R0912 Too many branches (13/12)
Line 309 in Assign.assignWorkload R0914 Too many local variables (31/30)
Line 309 in Assign.assignWorkload R0912 Too many branches (16/12)
Line 27 in Assign R0904 Too many public methods (37/20)
Line 10 W0611 Unused import types
plus 55 comments on code style

src/python/WMCore/HTTPFrontEnd/RequestManager/BulkOperations.py fails the pylint check. Report follows:

Line 22 in BulkOperations.initThread W0613 Unused argument 'thread_index'
Line 28 in BulkOperations.requestNamesFromCheckboxes R0201 Method could be a function
Line 43 in BulkOperations.filteredRequests E1101 Instance of 'BulkOperations' has no 'requests' member
Line 50 in BulkOperations.search E1101 Instance of 'Toolbox' has no 'secmodv2' member
Line 53 in BulkOperations.search E1101 Instance of 'BulkOperations' has no 'draw' member
Line 12 in BulkOperations R0904 Too many public methods (35/20)
Line 3 W0611 Unused import logging
Line 5 W0611 Unused import types
plus 1 comments on code style

Unit test changes for pull request 6116:

WMCore_t.WebTools_t.RESTFormat_t.RESTFormatTest:testNoArgMethods changed from error to success
WMCore_t.WebTools_t.REST_t.RESTTest:testSanitisePassHTTP changed from error to failure
WMCore_t.WebTools_t.REST_t.RESTTest:testDAOBased changed from error to success
WMCore_t.WebTools_t.NestedModel_t.NestedModelTest:testOuterFooPass changed from error to success
WMCore_t.WebTools_t.NestedModel_t.NestedModelTest:testInnerPingPass changed from error to success
WMCore_t.WebTools_t.REST_t.RESTTest:testUnsupportedFormat changed from error to success


Add option to specify path to rubyfmt.rb in vim plugin

Let's one specify the path to rubyfmt.rb in vim.
" in $MYVIMRC
source /Users/mikker/dev/rubyfmt/rubyfmt.vim
let g:rubyfmt_path = '/Users/mikker/dev/rubyfmt/rubyfmt.rb'

It's so exciting, @penelopezone – it's working great!

cackles in trans girl
yup, I'll merge this once it's green


Problem

I use your weight and ESRGAN model to test. I found the PSNR and SSIM is worse than that in the paper. Set 5 is 28.5438 PSNR, 0.8313 SSIM.

Sorry. It' s my mistake. I found the PSNR, SSIM result in the paper is  from SR algorithm.


GetTickerListAsync prevents retrieving all tickers as stated in the API doc.

Nice work! Just one quibble....
The API docs for " /ticker/" state:
(int) limit - return a maximum of [limit] results (default is 100, use 0 to return all results)
But this line of code in "GetTickerListAsync" prevents the user passing 0 and instead passes no limit value which returns the top 100 only:
uri.Append(limit > 0 ? $"limit={limit}&" : "");
Cheers.

Thank you for the feedback, I will fix it asap.


Metadata API: rethink the expiry related API

Description of issue or feature request:
In a recent discussion (see discussion in https://github.com/theupdateframework/python-tuf/issues/1722) we reevaluated the need for Singed.bump_expiry() as instead of using the API:
delta = relativedelta(years=1)
timestamp.signed.bump_expiration(delta)

one can just do:
timestamp.signed.expires += relativedelta(years=1)

As a side benefit this will allow the user to use dateutil.relativedelta which is not supported by Singed.bump_expiry as of #1726.

Some additional detail here

I think an actual repository would never bump expiry to previous expiry plus delta. They'd want to bump expiry to today plus delta (if you want reasons why, imagine an original expiry period of 356days: a responsible repository would of course resign much earlier than that, let's say at 118 day mark. Now the next expiry is set 594 days forward. In 118 more days the repository resigns again: now the expiry is 832 days into the future...).
so a potential reason to include a method is to handle today plus delta and then make sure microseconds are not an issue * since relativedelta may only be needed for annotations, there is an option of "stringified" annotations (and then importing only if we're statically type checking) but let's only do this if it's really necessary

https://github.com/theupdateframework/python-tuf/pull/1712 is about handling microseconds with a set_expiry(): I think these two are related...

One possibility:

add set_expiry() as done in #1712
remove bump_expiry()
document a reasonable way to bump expiry:

  # set expiry to seven days from now
  signed.set_expiry(utcnow() + relativedelta(day=7))

I think I'm fine with this

(Edited to change example to a property instead of a method)
One possibility:

make expiry a property with a setter function that floors microseconds

Done as per #1712.

remove bump_expiry()

Agreed!

document a reasonable way to bump expiry:

  # set expiry to seven days from now
  signed.expiry = utcnow() + relativedelta(day=7)

I think that's fair.

I have a PR in the queue. Will publish tomorrow.


integration tests

A few issues exist discussing unit tests (e.g. #16 , #17 , #14 ). However, those are going to be tricky to implement.
It would be valuable to even have a basic integration test set up as a part of or after #5 that just runs the example in the README using argparse and passes a build if the thing runs without error. Even that basic level of testing would probably help prevent some bugs from making it to master.

I've addressed this in https://github.com/jameslamb/doppel/commit/aa7dbbc7e50dbd609716fc2911846afa61e4087e


Updated yarpc to v1.56.0

What changed?
Updated yarpc to v1.56.0

Why?
New version of yarpc was released, we no longer need replace directive.

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build b9493a25-4fc9-41d3-9493-98be34082c22

0 of 0   changed or added relevant lines in 0 files are covered.
76 unchanged lines in 14 files lost coverage.
Overall coverage decreased (-0.04%) to 56.489%

Files with Coverage Reduction
New Missed Lines
%

common/task/weightedRoundRobinTaskScheduler.go
1
89.64%

service/history/execution/mutable_state_task_refresher.go
1
74.4%

common/membership/rpServiceResolver.go
2
73.58%

common/persistence/executionManager.go
2
75.75%

common/persistence/statsComputer.go
2
96.43%

common/task/fifoTaskScheduler.go
2
85.57%

service/history/task/transfer_standby_task_executor.go
2
90.85%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
3
50.23%

common/persistence/sql/sqlExecutionStore.go
5
61.55%

common/persistence/nosql/nosqlExecutionStore.go
8
59.12%

Totals

Change from base Build 8a9b9734-71a9-45a9-9ae8-ea08eab4a4f7:
-0.04%

Covered Lines:
78955

Relevant Lines:
139770

💛  - Coveralls


Any way to simulate clicks for INP testing?

Hi,
I am testing a page where I want to click a few buttons and get the score.
I have { reportAllChanges: true } and I can trigger INP reporting manually by interacting with the page, but not with JS.
Is there a way to explicitly trigger web vitals so I can measure the score?

The Event Timing API will not report any events which are dispatched synthetically from js, say via dispatchEvent calls or .click() calls.  So, web-vitals.js will not be able to measure any of these (as they are not user interactions).
If you do want to synthetically test a site, you have to find a way to automate "real" interactions with the browser using browser automation tools (like WebDriver, Puppeteer, or Web Platform Tests), or directly from Chrome Dev Tools you can use the Recorder tool.

Gotcha, too bad that makes simple quick testing impossible.

Automating the browser with puppeteer is actually surprisingly easy, and offers a nice js api (like you ask for).  You don't even need to do that-- you can literally just hit "record", interact manually with the page, then later just "replay" that recording with the Recorder tool.
Is there something that you are looking for that isn't solved by the above?  I think it just takes an hour to learn and will be a tool for your toolbelt (imho).

Here's what I just did to get running on a new machine:

Create a new directory, and npm init -y into it
Install puppeteer: npm i puppeteer-core
Create this file, then run it:

const puppeteer = require('puppeteer-core');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
    headless: false
  });

  const page = await browser.newPage();
  await page.goto('https://inp-demo.glitch.me', { waitUntil: 'networkidle0' });

  // First, set up the page.
  // Set all sliders to the midway mark
  await page.evaluate(() => {
    const sliders = document.querySelectorAll('input[type="range"]');
    sliders.forEach(slider => {
      slider.value = (slider.max - slider.min) / 2;
    });
  });

  // Simulate Real Interactions!
  const selector = "textarea";
  await page.click(selector);
  await page.type(selector, "This is some text");

  // Get the INP value, after interactions
  // It would be better to inject this earlier and not rely on buffered, but this is easier.
  const inpValue = await page.evaluate(async () => {
    // Wait for a brief moment to ensure all interactions are processed
    await new Promise(resolve => setTimeout(resolve, 1000));

    // Calculate INP value
    let largestEventDuration = 0;
    new PerformanceObserver((entryList) => {
      const entries = entryList.getEntries();
      for (const entry of entries) {
	if (!entry.interactionId) continue;
        largestEventDuration = Math.max(largestEventDuration, entry.duration);
      }
    }).observe({ type: 'event', buffered: true });

    // Wait for another brief moment to ensure INP calculation is settled.
    // Would also be better to ensure all the specific interactions are done...
    await new Promise(resolve => setTimeout(resolve, 1000));

    return largestEventDuration;
  });

  console.log(`INP value: ${inpValue}`); // Output the INP value

  await browser.close();
})();


Update .ci.yaml to run hello_world__memory if code changes

Looking for validation on the behavior of runif and how it interacts with presubmit.
Fixes https://github.com/flutter/flutter/issues/142450
We had an issue where hello_world failed to compile and it broke the tree when a test should have caught the issue in presubmit.
From chat: All tests run in post submit, runif is a condition on presubmit only. This pr should keep the previous post submit behavior and trigger the test to run in presubmit if the code under test is changed.
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Abandoning

Can delete branch @reidbaker ?

Done


"Custom new header/footer font" - right-half progress part

I want to try to track down why using "Custom new header/footer font" to change font-family from Avenir to whatever only works on the Chapter name, Book title parts of header/footer, not the progress part on the right.
@geek1011 @NiLuJe
I'm not asking you to do this for me (at least not yet :)) but before I spend a lot of effort with trial & error in nickel CSS I'm asking whether you already know the answer from when you were researching "Don't uppercase header/footer text"?

Do you happen to have the relevant CSS string on hand, just for reference?

Do you mean the CSS for "Custom new header/footer font" - that's the stream which contains ReadingFooter

I spent quite a lot of time yesterday trying to track this down - no joy. It's tedious and time consuming. @geek1011 , @NiLuJe , if you do have any insights to point me in the right direction, I'm all ears.
It shouldn't be considered a priority because the only 2 users who have complained now have an alternative solution. All that's left is me failing to understand why applying CSS to hdr/ftr works for all of the text it when it's font-size/color etc but not the book progress right-half when it's font-family.

Update:
I remembered that it was faster to hack global changes to nickel CSS using the old pipcat method, so I used it to remove every single trace of Avenir. The right-half of both header/footer is still displayed in Avenir.
Conclusion either

the relevant CSS is not in nickel, it's elsewhere (libnickel.so.1.0.0 ???)
or
there is CSS in nickel that neither @geek1011's cssextract-windows nor pipcat's old extract is currently finding

I'm going to close this issue for now.

I looked into this, and there isn't any way simple enough to be worth doing for this change.


Improve error message for CREATE EXTERNAL TABLE typos

If a user puts a typo like this (HEAD rather than HEADER) in their SQL
CREATE EXTERNAL TABLE t(c1 int)
STORED AS CSV
WITH HEAD ROW
LOCATION 'foo.csv';

The Parser returns the somewhat confusing error sql parser error: Missing LOCATION clause in CREATE EXTERNAL TABLE statement
It would be great if the message was something more "expected LOCATION, HEADER, ... got HEAD" that gave the user a hint of what was was wrong
See original suggestion  posted by @tz70s in https://github.com/apache/arrow-datafusion/pull/6257#discussion_r1186779655

I'm going to work it