Aggregate data in groups of N elements

Dear Influxdb family, I'm trying to perform an operation (e.g. average, max) on groups of N elements. I don't want to group by time but group by N number of elements. Is there any syntax to achieve this behaviour?
Here's an example:
This is my measurement table:
Timestamp      value
=========      ====
0                      2
1                      4
2                      1
3                      2
4                       3
5                       3

The query would look something like:
select max(value) from my_measurement group by count(2);

would return:
4, 2, 3

Thanks!

@GerardBCN the best place to ask usage questions is on the InfluxData Community site. We use GitHub issues to track bugs and features.


ign -> gz Upstream Macro Migration : sdformat

See: https://github.com/gazebo-tooling/release-tools/issues/737

@osrf-jenkins run tests please!


Replace GET with POST and update unit tests

This replaces calls to the Graphhopper directions API from GET to POST.
I've also updated the corresponding unit tests.

I converted params into a dictionary, pluralized the relevant parameters and updated the corresponding unit test
Needs further work, depending on https://github.com/gis-ops/routingpy/pull/91#discussion_r1141971247

I've updated a handful of arguments to be identical with the docs:
Renamed point_hint to point_hints, heading to headings,
snap_prevention to snap_preventions, curb_side to curbsides,
Added custom_model parameter
Removed weighting, block_area, avoid, turn_costs parameters

Ah damn, forgot that we have a changelog :sweat_smile: We'll get it before we release (likely this week)

Awesome, thanks for the quick feedback 🎉


Initial set-up for github credentials and gunicorn forwarded_allow_ips setting

@robbi5
I understand from here that your fork of nomenklatura is currently the most up-to-date.
I was trying to get this set-up as an experiment on an ec2 instance and just wondered if I could clarify a few things.
I launched using docker-compose, but the nomenklatura container would die shortly after ... related to this:
usage: gunicorn [OPTIONS] [APP_MODULE]
gunicorn: error: argument --forwarded-allow-ips: expected one argument

It seems the FORWARD_ALLOW_IPS variable wasn't setting,
# sets FORWARDED_ALLOW_IPS to <IP_ADDRESS> if not set
: ${FORWARDED_ALLOW_IPS:-<IP_ADDRESS>}

so I just changed this to a plain:
FORWARD_ALLOW_IPS = <IP_ADDRESS>
Would you suggest a better fix?
In the docker-compose file, is the SECRET_KEY a password for the postgres database?
For setting up the github stuff, is it similar to the set-up described in this link below?
https://auth0.com/docs/connections/social/github
SECRET_KEY: CHANGE_ME
GITHUB_CLIENT_ID: CHANGE_ME
GITHUB_CLIENT_SECRET: CHANGE_ME

If I set this up on an EC2 instance, presumably the home-page URL to set here is the EC2 IP and whatever port I forward the container to on the localhost ... presumably it doesn't have to be 8080?
What then would the Authorized Callback URL be, in the context of nomenklatura?
Would I need to change the gunicorn forward_allow_ips to the ec2 ip address ... or just leave it as <IP_ADDRESS>?

Thanks for your assistance.

Hi,
thanks for the Issue :) I (hopefully) fixed the FORWARDED_ALLOW_IPS in 986165da and added some bits about the required environment variables and the authentication with GitHub to the readme.
SECRET_KEY is required by flask (which is nomenklatura based on) for signing the session cookie - you want a nice random string there.

If I set this up on an EC2 instance, presumably the home-page URL to set here is the EC2 IP and whatever port I forward the container to on the localhost ... presumably it doesn't have to be 8080?

Yep - but I strongly recommend placing it behind an reverse proxy like nginx (or ELB, if I understood amazons ecosystem correctly) and forcing https.

What then would the Authorized Callback URL be, in the context of nomenklatura?

https://your.nomenklatura.example/api/2/sessions/callback

@robbi5
Thanks for the info. I'll try this.


[AIRFLOW-XXX] Pin Click to 6.7 to Fix CI

Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

This PR in-conjunction with https://github.com/apache/incubator-airflow-ci/pull/3 should fix the issue


GE-Proton AppImage Failed to Launch

Launching in a terminal:
./wine-staging_ge-proton_8-13-x86_64.AppImage
/tmp/.mount_wine-smcnnEI/wrapper: line 39: syntax error near unexpected token `fi'
/tmp/.mount_wine-smcnnEI/wrapper: line 39: `fi'

Tested on two devices: a Steam Deck/SteamOS and a laptop running EndeavourOS.

should be working now.


Add parsing trie generation algorithm

This is a work item in #1070: Productize Parsing APIs.
The EncodingData type allows our parsing APIs to parse arbitrarily-encoded text. The user supplies specifies the encoding's symbols in the form of a list of byte sequences (byte[][]). Before this change, the user was also forced to supply a parsing trie (prefix tree) for the parsing algorithms to search through. The trie is structured as an array and is optimized for search speed, so it is difficult to generate manually. This change introduces an algorithm that generates a parsing trie structure based on the list of byte sequences given in the constructor.

@KrzysztofCwalina @yizhang82 PTAL

Hmm, this is very expensive (allocation-wise) way to create the tire. I know most code will do it once, but it's overly allocating for now good reason. Can you not avoid boxing the nodes? i.e. create List, use the list to store new nodes, but use list indexes to "link" them.

I was thinking of rewriting some of this to use fewer resources, and it seems based on the feedback that it would be a good idea. I'll send an update soon with the progress.

Looks good. Thanks!


Ledger: Use ' instead of h for hardened character in wallet policies

Ledgers appear to not like h as the hardened character in wallet policies, so change it to use '. To make this happen, all of the descriptor to_string functions which eventually call KeyOriginInfo.to_string() will now take a hardened_char argument which defaults to h. This allows us to change the hardened char as needed while retaining a default of h.
Fixes #605

Confirmed working with a Ledger Nano X on the latest Bitcoin app 2.0.4. Tested importing the xpub, displaying an address, signing a PSBT and signing a message. As previously noted the issue appears to be caused by a breaking change present on the latest Bitcoin and Bitcoin Testnet apps on the Ledger.
Thanks for the quick work on this. Given the popularity of the Ledger, is another HWI release imminent?

Yes, there will be a release soon.


Hi, I cant see CallKit UI in case if app is in background iOS 12

Hi, everything works, for other cases, beside on this case.
I have standard call application which use twilio.
When I make call to the device I can see CallKit UI when app is
iOS 11

in foreground
in background
in killed state

iOS 12

in foreground
in background I DONT see CallKit UI
in killed state

So problem is only for background state on iOS 12. So user cant accept or decline call.
Is there anyone who had fixed this issue?
Can you help me?

pls help

@narekyan,
If I am understanding this correctly, you are getting the incoming notification, passing it off to the CXProvider reportNewIncomingCall method and it's not displaying the CallKit UI on iOS 12, yet it works on iOS 11?
What devices are you running this on that is exhibiting this behavior? What Background Modes do you have set in your application?
Have you tried running the VideoCallKitQuickStart quickstart application and simulating an incoming call? I have run this on iOS 12 while the app is in the background and with the phone being locked and the CallKit incoming call UI appears.
Ryan

@paynerc
Yes , we use ipad ios 11 and iphone6s ios 12
All cases work on both device, beside
the only case that does not work is when receiving incoming call when app is in background on iphone 6s ios 12
we have 3 background modes - Audio, VoIP, Remote nots

@paynerc
self.callKitProvider.reportNewIncomingCall(with: uuid, update: callUpdate) { error in
// SO this callback is not called when app is in background, but works on when in foreground (only ios 12 problem)
}

@narekyan,
How are you notifying the application that there is an incoming call?
Ryan

@narekyan,
It's been a bit since we last spoke. Have you found a solution to your issue?
Thank you!
Ryan

@paynerc I dont remember alrady, and now i dont even work on that project))

@paynerc did you ever find a solution to this? I'm facing the same issue

@CaptainJeff,
No, I never heard back on the initial report to understand if this is indeed still an issue. How are you getting notifications to your app about an incoming call?
Ryan

Damn. So I have this issue on older iphones it seems. This works on iphone X and iphone XR just fine (ios 13) but on iPhone SE (13.3.1) and iPhone 7 (12.4.6) I get this issue. I'm using a VOIP notification to listen for the notification and immediately register callkit before calling completion on the notification.
Occasionally I'll get an error like this which will cause a crash
Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, scene-create watchdog transgression: com.x.x exhausted real (wall clock) time allowance of 19.25 seconds |  | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: scene-create | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 9.680 (user 9.680, system 0.000), 70% CPU", | "Elapsed application CPU time (seconds): 5.934, 43% CPU" | )
Triggered by Thread:  0

Hi @paynerc, how should I do to get incoming call notification? Is there any support from Twilio?

Hi @paynerc, how should I do to get incoming call notification? Is there any support from Twilio?


HHH-16423 + HHH-16447 + HHH-16453

https://hibernate.atlassian.net/browse/HHH-16423 LazyInitializationException when calling em.refresh() on entity with lazy and eager children
https://hibernate.atlassian.net/browse/HHH-16447 Lazy load of collection fails after EntityManager.refresh
https://hibernate.atlassian.net/browse/HHH-16453 Loading an Entity with two eager collections, produces duplicates when one of the collection is a a bag

tha aim of this change is to not join any bag if there are other joined non-bag collections, nut what i want to avoid is to join a bag and then not to the following join N non-bag collections but instead join the N non-bag collection and not join the bag


Shorthand binding syntax

It may be convenient to allow a shorthand bindings syntax to forego the addition of a second dictionary, like in the following:
bindings={"http": {"push": ("on", "example.com/thing")}}
# This could be written as:
bindings={"http.push": ("on", "example.com/thing")}
This is very convenient and might improve readability of configurations.
This can be implemented above the binding level, transparent to modules. A dictionary would simply be constructed by splitting on the dot. Adding multiple levels deep in of a dictionary should probably not be allowed.

Superseded by #46


Uncaught Error: Unable to watch path

Steps to produce error:

Updated the Atom application via the menu item, selecting to install update and restart.
Upon restart, error displays.

Atom Version: 1.0.2
System: Mac OS X 10.11
Thrown From: file-icon-supplement package, v0.8.3
Stack Trace
Uncaught Error: Unable to watch path
At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/main.js:66

Error: Unable to watch path
    at Error (native)
    at HandleWatcher.start (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/main.js:66:29)
    at new HandleWatcher (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/main.js:30:12)
    at new PathWatcher (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/main.js:120:30)
    at Object.exports.watch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/main.js:179:12)
    at Directory.module.exports.Directory.subscribeToNativeChangeEvents (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/directory.js:334:109)
    at Directory.module.exports.Directory.willAddSubscription (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/directory.js:95:14)
    at Directory.willAddSubscription (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/directory.js:3:61)
    at Directory.module.exports.Directory.onDidChange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/pathwatcher/lib/directory.js:89:12)
    at /Volumes/Is/tizzyd/.atom/packages/file-icon-supplement/lib/file-icon-supplement-view.coffee:216:23

Commands

Config
{
  "core": {
    "themes": [
      "unity-ui",
      "one-light-syntax"
    ]
  }
}

Installed Packages
# User
Sublime-Style-Column-Selection, v1.3.0
aligner-css, v1.2.0
aligner-php, v1.0.0
aligner-ruby, v1.4.0
aligner-scss, v1.0.1
atom-ternjs, v0.6.7
autoclose-html, v0.18.0
autocomplete-php, v0.3.6
autocomplete-plus-python-jedi, v0.3.6
color-picker, v2.0.7
csslint, v1.1.3
docblockr, v0.7.2
emmet, v2.3.11
file-icon-supplement, v0.8.3
file-icons, v1.5.8
hex, v0.6.2
highlight-line, v0.11.0
highlight-selected, v0.10.1
htmlhint, v1.1.3
jshint, v1.3.8
linter, v1.1.0
linter-csslint, v0.0.14
linter-htmlhint, v0.0.16
linter-js-yaml, v1.1.1
linter-jshint, v0.1.7
linter-php, v0.0.15
linter-phpcs, v0.0.15
linter-phpmd, v0.0.11
linter-scss-lint, v1.0.5
linter-tidy, v1.0.1
local-history, v3.2.3
minimap, v4.10.1
project-manager, v1.15.10
save-session, v0.15.6
unity-ui, v2.0.11
wordpress-api, v1.2.1

# Dev
No dev packages

Thanks for the report. Does this error occur when you open a project, or just the atom editor? If so, what is the path? Also, is your file system case sensitive?
I don't see an issue in atom/pathwatcher, but my initial guesses are something in OSX 10.11 beta, an issue with the path/file system, or another plugin. I will try and recreate your issue in a VM.


Build fails: /ld: cannot find -lfreetype

´´´
Compiling bitflags v0.3.2
Compiling ansi_term v0.6.3
Compiling libc v0.1.10
Compiling pkg-config v0.3.5
Compiling byteorder v0.3.11
Compiling shader_version v0.2.1
Compiling bitflags v0.1.1
Compiling lazy_static v0.1.14
Compiling strsim v0.4.0
Compiling gcc v0.3.13
Compiling winapi-build v0.1.1
Compiling piston-texture v0.2.3
Compiling lzw v0.8.0
Compiling read_color v0.1.0
Compiling bitflags v0.2.1
Compiling piston-shaders_graphics2d v0.1.0
Compiling piston-float v0.1.0
Compiling interpolation v0.1.0
Compiling color_quant v1.0.0
Compiling winapi v0.2.2
Compiling khronos_api v0.0.8
Compiling find_folder v0.2.0
Compiling khronos_api v0.0.7
Compiling rustc-serialize v0.3.16
Compiling glob v0.2.10
Compiling khronos_api v0.0.5
Compiling xml-rs v0.1.26
Compiling gl_common v0.0.4
Compiling dlib v0.1.1
Compiling clock_ticks v0.0.6
Compiling log v0.3.2
Compiling dylib v0.0.1
Compiling shared_library v0.1.0
Compiling kernel32-sys v0.1.4
Compiling advapi32-sys v0.1.2
Compiling clap v1.2.5
Compiling freetype-sys v0.1.2
Compiling draw_state v0.1.2
Compiling vecmath v0.1.1
Compiling piston-viewport v0.1.0
Compiling libz-sys v0.1.8
Compiling gif v0.5.0
Compiling wayland-client v0.2.1
Compiling x11-dl v2.0.1
Compiling osmesa-sys v0.0.5
Compiling gl_generator v0.0.26
Compiling gl_generator v0.0.27
Compiling pistoncore-input v0.5.1
Compiling glutin v0.3.5
Compiling rand v0.3.10
Compiling gl v0.0.12
Compiling gfx_gl v0.1.4
Compiling num v0.1.27
Compiling tempfile v1.1.1
Compiling tempdir v0.3.4
Compiling pistoncore-window v0.9.1
Compiling freetype-rs v0.1.3
Compiling wayland-window v0.1.0
Compiling mmap v0.1.1
Compiling pistoncore-event_loop v0.10.1
Compiling piston2d-graphics v0.4.1
Compiling gfx v0.6.5
Compiling enum_primitive v0.0.1
Compiling wayland-kbd v0.2.0
Compiling piston v0.10.1
Compiling image v0.3.11
Compiling gfx_device_gl v0.4.1
Compiling piston-gfx_texture v0.2.0
Compiling piston2d-gfx_graphics v0.4.0
Compiling pistoncore-glutin_window v0.12.0
Compiling piston_window v0.15.0
Compiling minesweeper v1.0.0 (file:///home/ge
error: linking with cc failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/usr/l
...
note: /usr/bin/ld: cannot find -lfreetype
collect2: error: ld returned 1 exit status
error: aborting due to previous error
Could not compile minesweeper.
´´´

Thank you for the freedback!
It looks like you have not installed libc development headers. Try to install libc-dev. This problem also may occurs if rustc is out of date.
If this willn't resolve the problem - please provide some information about your OS, rust and gcc version

libc-dev was installed:
Libc-dev:  	libc6-dev 2.19-18
OS: 	 	debian 8 jessie
gcc: 		gcc version 4.9.2 (Debian 4.9.2-10)
rustc:		rustc 1.2.0 (082e47636 2015-08-03)
Best

I've looked better at the error. It is reporting about freetype lib. Maybe you are missing dev headers for it, or lib totally.
Please, try to install libfreetype6-dev

On 02/09/15 13:26, Alexander Kuvaev wrote:

Please, try to install |libfreetype6-dev|

Thank you. This helped. The build finishes without error, but I get a
runtime error:
´´´
:~/.../release$ ./minesweeper
[glutin] x error code=48 major=0 minor=0!
[glutin] x error code=66 major=0 minor=0!
thread '' panicked at 'called Result::unwrap() on an Err
value: "GL context creation failed"', ../src/libcore/result.rs:731
´´´

I've found come info about this problem. It seems to be a problem in piston. I will try to localize it and write patch to piston, but it will take time, sorry :(

Now it should work, it it doesn't help you - let me know, please

Please pass --oldOGL command line flag to run with OpenGL 1.2

It works with
./minesweepers --oldOGL
Thank you.


OpenShift support should be via import openshift

There's an existing openshift package available on PyPi that provides OpenShift support.  Reference https://github.com/RobertKrawitz/OpenShift4-tools/blob/7f38a73f61fde0d7dcf43de2814c0cf14a5199cd/experimental/prom-extract

This should be done at some point, but is not especially high priority as the existing use of oc is well enough encapsulated.


Modifying a graph post compilation; cancelled or allowed?

Hi,
I’ve been exploring LangGraphJS and encountered a discrepancy between the documentation and observed behavior regarding graph modifications post-compilation.
According to the documentation on Graph Migrations, it seems possible to "modify the topology of a graph (e.g., adding or removing nodes) even after the graph is compiled, under certain conditions". However, when attempting to add nodes dynamically after compilation, I receive the warning:
"Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."
I may have misunderstood the scope of the documentation, but could you clarify whether post-compilation modifications are supported, and under what conditions they are allowed?
Thank you for your help!
Paul

Hey @lomasnz, sorry for missing this!
This is not currently supported in JS - I believe it was a bad docs port from Python. Will remove these lines for now.

Thanks for clarifying that. I appreciate the response.


[Feature] The performance of queryTrace by traceId in Huge dataset is slow in ES

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
#5023 had mentioned poor performance in trace query. Still, when we need to store trace in months, and everyday's segment is huge, the latency of trace query is unacceptable.
Use case
Maybe we could  use an indepent trace_index store only traceid and startTime and endTime.
And Searching the startTime and endTime in the trace_index before querying trace in limited segment index.
And Just like metrics record procedure,  doc with specific trace_id of trace_index can only be cached and updated by specific skywalking instance.
Related issues
#5023
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

There is nothing changed due to this proposal. You will still need to query segments by trace ID.
And you referred a years ago issue, it doesn't mean anything for the current codes.

Thanks. Anyway, consider add duaration option for traceid search? So that it might help narrowing down the query range.

AFAIK, no, we are not planning for this. A lot of users would complain if we add this. And more importantly, no proposal/vote is started by a committer, so, nothing should be changed.


Revert "Updating the logic for renaming filter fields and making chan…

Thanks for merging but I must warn you this line break the package as I have swapped the rename array, I think my last commit have been overwritten by your changes, I should have rebased it instead merge but this was my original commit and the line

Keep this as open if you have any issues

@Lakshan-Madushanka thanks for your notice. I have fixed this issue in #35.
there is no need to swap rename order.


Remove Nth Node From End of Linked List  in (C++)

Hey, I'm GSSOC'21 Participant and want to work on this issue in C++
any mentor assign me this.

hello, I'm a gssoc'21 participant, and i would like to contribute.
please assign it to me.

Greetings sir/Mam,
I would like to contribute the code for Bubble Sort Algorithm #933 in C++/CPP.
The code is ready. I have added the code , along with proper explanation of the algorithm , test cases , time complexity and space complexity of the same, as per the guidelines.
Kindly assign it to me.
This is regarding GSSOC'21.
Regards,
Hitain Kakkar

Very similar to #201


[Chronicles of Darkness by Roll20] Revert Community Updates

Changes / Comments
Revert merged community updates #6031 and #6121
This should set this sheet back to match the public release of the Chronicles of Darkness by Roll20, or at least the most recent version of that on the public repository - https://github.com/Roll20/roll20-character-sheets/commit/3172a8064ab63a9d7016d56e23bf1a6e4c999317
A separate sheet for community contributions was created in directory Chronicles of Darkness.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

I've been meaning to contribute with a translation to the CofD sheets.
Should I translated the relevant file and commit it to the "by Roll20" sheet or to the community sheet? I suppose the community is the best place to do so.
Also, I noticed that the "by Roll20" sheet has indeed some strings translated in the Roll20 website, but when I looked in the the git source, there is no translation there. Do you know what is going on here?

@luizbgomide I'm not sure any translation updates made to the "by Roll20" sheet would make it to release, similar to my html and css updates not making it through. Roll20 has a private repository that the sheet is released from. That may also explain why there's translations in the release version not found in this repository.

I found out that the translations are done outside github (crowdin). I asked for permission to become a translator there. Probably there is an incomplete/old translation lost somewhere...


Integrate Docker-Compose plugin into Gradle

Avast has a fully-featured docker-compose plugin for gradle that let's you ensure docker builds and is running before it executes tests. As part of migrating a whole set of tests to Kotlin and building an expanded integration and smoke test suite, we should incorporate the plugin.
cc: @jimduff-usds

@td-usds - Any thoughts on this and how difficult it would be to implement? @carlosfelix2 and I want to start adding in some automated integration testing into gradle, and I think that this would be a piece of that, but if you have some other ideas, I'd love to hear them.


KYLIN-4387 Flink cubing merge step failed

Please ignore the pull request #1125, because the branch had the extra commit issue.

Pull Request Test Coverage Report for Build 5682

0 of 30 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.002%) to 27.523%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

engine-flink/src/main/java/org/apache/kylin/engine/flink/FlinkCubingMerge.java
0
30
0.0%

Totals

Change from base Build 5678:
-0.002%

Covered Lines:
24298

Relevant Lines:
88284

💛  - Coveralls

Test env

CDH6.1

Test Case

Clone cube kylin_sales_cube and rename with Kylin_sales_cube_flink, modify the build engine to FLINK.

Build two segment 2012-01-01~2012-02-01 and 2012-02-01~2012-03-01

Merge two segment.


guard against invalid remotes passed to git lfs push

Fixes #973

Should this also be applied to pre-push?
If I do:
$ GIT_TACE=1 git push<EMAIL_ADDRESS>...
12:47:18.836067 git.c:561               trace: exec: 'git-lfs' 'pre-push'<EMAIL_ADDRESS><EMAIL_ADDRESS>...

You can see pre-push is invoked with the URL I provided to git push. But the request that is made in pre-push is made to the remote configured as origin.

@sgoo I think that tracing info is potentially useful.
The os/exec calls in the git package act as a basic api wrapper around git. It's used for resolving refs as commit shas, listing remotes, etc. I don't want to have to deal with parsing the trace statements out of the output.
The git package could probably be replaced with a libgit2 binding, but I don't think it's worth hassle of dealing with a cgo dependency.

WOW, I thought you were replying to #971 for some reason. Ignore everything I said in my last reply. I'll take a look at pre-push.

Thanks for the feedback!  I added it to pre-push as you suggested.


New release

Hi, when do you plan of releasing a new version?

Yeah this would be helpful as I have been waiting to be able to try this package until the dependencies bug has been figured out. This package looks really great and I would love to be able to use it.

+1 to this, can we get a new release please?

A lot of bugs have been fixed in the last version of fabricjs. It seems that the authour has abandones his package.
You can always compile the package yourself with fabricjs 3.3.2 :)

A lot of bugs have been fixed in the last version of fabricjs. It seems that the author has abandoned his package.
You can always compile the package yourself with fabricjs 3.3.2 :)

Hello, can you give some steps on how to do that?


Allow nesting of ax-load components

Nesting ax-load does not guarantee the order in which components load. This will likely make nested components that rely on each other inconsistent.

A way around this for the moment would be using the event strategy to only load the component when the parent is ready.


Autolayout

Implemented Autolayout for DateTimePicker and it's subviews.

Thanks for contributing! There's an issue aligning the time rows when the picker is first shown though, I think it's because of the frame change of the table views and the rows need to be updated afterwards. You may need adding self.resetTime()  in the completion block of the animation at the end of configureView():
        // animate to show contentView
	layoutIfNeeded()
        contentViewBottomConstraint.constant = 0
        UIView.animate(withDuration: 0.3, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.4, options: .curveEaseIn, animations: {
            self.layoutIfNeeded()
        }, completion: { completed in
            self.resetTime()
        })


Not coherent timestamps of istio-proxy compared to corresponding requests on upstream apps

We are using Istio on IBM Cloud kubernetes cluster
We configured istio to manage incoming traffic through gateway/virtualservice routing to the expected service
Trying to investigate a failed HTTP request with HTTP 503 as response code I found that the timestamps of istio-proxy logs aren't synchronized with the related logs on the upstream application for the same request
For example:
Sep 22 16:09:17 ghost-api-754dd9d6dd-g5pj2ghost-api INFO traceRequest - starting request startTime 2020-09-22T14:09:17.900Z IP ::ffff:<IP_ADDRESS> path /v2/resources/search?account_id=... method POST headers {
  ...
  "user-agent": "PlatformAPI/RestClient workflow-api-cloud-test-dal10-live:workflow-api-f76bc857f-4n9vt:2.0.1-20200916-125527-v2.8-547 add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51",
  "trace": "add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51",
  "x-global-transaction-id": "add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51",
  "x-request-id": "449c3ab4-76cb-4382-9034-835346090877",
  "x-transaction-id": "add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51",
 ...
  "x-envoy-external-address": "<IP_ADDRESS>",
  "x-envoy-attempt-count": "2",
  ...

Sep 22 16:09:18 ghost-api-754dd9d6dd-g5pj2 istio-proxy "POST /v2/resources/search?account_id=... HTTP/1.1" 200 - "-" "-" 113 1733 88 79 "...<IP_ADDRESS>" "PlatformAPI/RestClient workflow-api-cloud-test-dal10-live:workflow-api-f76bc857f-4n9vt:2.0.1-20200916-125527-v2.8-547 add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51" "449c3ab4-76cb-4382-9034-835346090877" ... inbound|3000|http-ghost-api-port|ghost-api-service.ghost.svc.cluster.local <IP_ADDRESS>:57922 <IP_ADDRESS>:3000 <IP_ADDRESS>:0 outbound_.3000_._.ghost-api-service.ghost.svc.cluster.local default

Sep 22 16:09:19 istio-ingressgateway-7f989c955c-gmw5w istio-proxy "POST /v2/resources/search?account_id=... HTTP/1.1" 200 - "-" "-" 113 1733 170 161 "...<IP_ADDRESS>" "PlatformAPI/RestClient workflow-api-cloud-test-dal10-live:workflow-api-f76bc857f-4n9vt:2.0.1-20200916-125527-v2.8-547 add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51" "449c3ab4-76cb-4382-9034-835346090877" ... "<IP_ADDRESS>:3000" outbound|3000||ghost-api-service.ghost.svc.cluster.local <IP_ADDRESS>:39318 <IP_ADDRESS>:8443 <IP_ADDRESS>:38705 ... -

Sep 22 16:09:23 ghost-api-754dd9d6dd-wb95w istio-proxy "POST /v2/resources/search?account_id=... HTTP/1.1" 503 UC "-" "-" 113 95 58 - "...<IP_ADDRESS>" "PlatformAPI/RestClient workflow-api-cloud-test-dal10-live:workflow-api-f76bc857f-4n9vt:2.0.1-20200916-125527-v2.8-547 add9fd4348954ad181c75fed607e0e9b:5b1e5fa97d516c51" "449c3ab4-76cb-4382-9034-835346090877" ... "<IP_ADDRESS>:3000" inbound|3000|http-ghost-api-port|ghost-api-service.ghost.svc.cluster.local <IP_ADDRESS>:50868 <IP_ADDRESS>:3000 <IP_ADDRESS>:0 outbound_.3000_._.ghost-api-service.ghost.svc.cluster.local default

}

The log of the upstream application ghost-api-service has timestamp Sep 22 16:09:17 and as shown by the header "x-envoy-attempt-count": "2" is the second attempt of the istio-proxy to forward the request
But the istio-proxy logs have an earlier timestamp, even if we would expect to be processed in advance of the upstream one:

Sep 22 16:09:18 is the timestamp of the second istio-proxy trace, the one that managed to reach the upstream service and returned HTTP 200 to the caller
Sep 22 16:09:19 is the timestamp of the same on the istio-ingressgateway
Sep 22 16:09:23 is the timestamp of the first attempt of the istio-proxy, getting HTTP 503 by the upstream with UC as response flag (Upstream connection termination in addition to 503 response code)

So summarising the first request going through the istio gateway has a timestamp of 5 seconds later the trace related with the second attempt of the istio-proxy to forward the request to the upstream
This makes uneasy to debug/investigate the flow of requests and we would like to understand if it is an expected behaviour or there is any misconfiguration in the way istio pods are synchronized with the other cluster pods.

First of all, this doesn't happen in normal cases when everything works.  The logs should reflect to the call sequences.
It would be helpful to get timestamp of when initial req and first req comes in. It is possible they both hit 503 but 503 comes later after some timeout thus retries are attempted.

The requestID 449c3ab4-76cb-4382-9034-835346090877 is the Id of the request set by istio and the logs I reported are the ones for this request.
Looking at the timestamps sequence my concern is on the trace of the HTTP 503 traced for the istio-proxy container: the response to the caller has been returned as HTTP 200 (log of 16:09:19 from istio-gateway) so it has been returned after the second attempt of the proxy to call the upstream; the first got the HTTP 503 and the proxy performed a further request with header "x-envoy-attempt-count": "2"
So the logs sequence according to the timestamps is correct and logic, with the exception of the first failed request that is traced with a timestamp of 5 seconds later something that has been triggered due to the failure of the same: I would like to understand if is an expected behaviour and if so why this happens, because the logic expectation would be to have the first failure with HTTP 503 traced with a timestamp older than the new attempt
Even if it timed out, I would expect the re-try to be triggered after the timeout.
How could we identify the very first trace of this request?
If I filter by the request ID 449c3ab4-76cb-4382-9034-835346090877 I get only the entries I am showing in this issue

Can you please supply all the relevant logs?  I think you are looking at ingress gw and the sidecar proxy log of your service (ghost-api)?
Also, please supply your gw/vs/dr resources as well.  Can you confirm your ghost-api service isn't doing any app-level timeout or retry?
If you have jaeger running (highly recommended), it would be best to view this request via Jaeger as it shows how times are spent on each trace spans.


update pprof to reference port 8083 in config

What type of PR is this?
/kind bug

What this PR does / why we need it:
Changes pprof config to reference port 8083 instead of 8082. It otherwise clashes with visibility API that references 8082.
Which issue(s) this PR fixes:

Fixes #2226
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/ok-to-test

/release-note-edit
Change the default pprof port to 8083 to fix a bug that causes conflicting listening ports between pprof and the visibility server.

/cherry-pick release-0.6
/cherry-pick website

/cherry-pick website


Doesn't work well with NextJS

I've tried to incorporate nice-modal-react on a NextJS project, but the provider doesn't work when wrapping the app at the root of the tree
function MyApp({ Component, pageProps: { session, ...pageProps }}) {
  return (
    <NiceModal.Provider>
      <Component {...pageProps} />
    </NiceModal.Provider>
  )
}

export default MyApp

It works when wrapping a single page with the provider, so the problem comes from the provider itself.
Unfortunately, it's not a clean solution since I have to wrap every page with a Provider.

@RobinLbt I'm using NextJS and NiceMOdal, and I got it to work, but I am worried about performance. Are you still using NiceModal?Did you find a solution?
thanks Drew

No I've switched to a custom implementation to have more controls over it

@RobinLbt I'm using NextJS and NiceMOdal, and I got it to work, but I am worried about performance. Are you still using NiceModal?Did you find a solution? thanks Drew

How were you able to get it to work with Nextjs? I have the same issue where it must be done at page-level and not within _app.js. Also, why are you worried about performance?  Thanks


Implement LLVM Threading bindings

This module is documented at https://llvm.org/doxygen/group__LLVMCCoreThreading.html
APIs to Implement

LLVMIsMultithreaded

The other two functions are not possible to modify via JNI. They've both deprecated as well.

Judging from the docs (here) these apis are probably not very relevant for the JNI wrapper as we have no way #define anything because we only have a precompiled shared library.
The LLVMIsMultithreaded one may still work.


Building rbx often fails due to OOM

Is there a way to restrict the number of parallel threads that ruby-build builds rbx with? I'm trying to install rbx on a box with not a lot of memory, so builds keep failing when ruby-build builds with four threads. I'd like to specify to build with only one or two threads.

I'm going to assume that this is not an issue for you anymore and close this. People finding this issue by search should try the JOBS environment variable to control the number of parallel jobs. I don't think we should edit ruby-build for this, though.


[Evolution] Test porting status

We need to port the tests for anything that Legacy, but is being used in the Razor.Evolution project.
This item tracks the current status.
Ported
Editor/**/*
Framework/**/*
Parser/**/* (mostly, see not ported for exceptions)
Text/**/*
Utils/**/*
Compilation/**/*
Parser/TagHelpers/**/*
CodeGenerators/**/* (mostly, see not ported / should never port for exceptions)
TestFiles/**/*
*
Not Ported
Editor/**/*.cs
Framework/MarkupParserTestBase.cs
Parser/Internal/CallbackVisitorTest.cs
Parser/ParserVisitorExtensionsTest.cs
PartialParsingTestBase.cs
RazorEditorParserTest.cs
RazorEngineHostTest.cs
RazorTemplateEngineTest.cs
CodeGenerators/TabTest.cs
Should Never Port
CSharpRazorCodeLanguageTest.cs (obsolete)
Chunks/**/* (obsolete)
ParserContextTest.cs (obsolete)
RazorCodeLanguageTest.cs (obsolete)
Text/LookaheadTextReaderTestBase.cs (dead code)
CodeGenerators/CodeGenTestCodeGenerator.cs (obsolete)
CodeGenerators/CodeGenTestHost.cs (obsolete)
CodeGenerators/CSharpCodeGeneratorTest.cs (obsolete)
CodeGenerators/CSharpLineMappingWriterTest.cs (obsolete)
CodeGenerators/CSharpPaddingBuilderTest.cs (obsolete)
CodeGenerators/CSharpTagHelperRenderingUnitTest.cs (obsolete)
CodeGenerators/DynamicAttributeBlockChunkGeneratorTest.cs (obsolete)
CodeGenerators/RazorChunkGeneratorTest.cs (obsolete)
CodeGenerators/TagHelperAttributeValueCodeRendererTest.cs (obsolete)
CodeGenerators/TagHelperTestBase.cs (obsolete)

Closing this out. We deleted old Razor and won't be porting any more code.


prefix hbs helper

From using the build-framework in an actual project we found that the naming of the hbs helpers collide with variable names. When sharing the name with a helper the variables don't get rendered.
This is problematic for example with the text helper and variables names text.
We should discuss how to handle this problem.
I propose two things:

prefixing all handlebars helpers (for example "hText")
prefixing variables with the component name that they belong to (for example text for an alert component should be named "alertText")

@timomayer Helpers are prefixed now.


Pipeline toolbar icons don't display correctly in small windows

When a browser window is smaller the canvas toolbar moves it's action buttons into a "see more" type drop down. In this dropdown the canvas internal button display their icons correctly, but our pipeline icons look like the screen shot below.

This is occurring because we're setting our icons using the background css rather than passing an svg to canvas. Now that we've moved to lab 2.0 and have access to LabIcon we should switch our icons to LabIcon and figure out how to successfully pass the icon sag's to canvas (this was something we had trouble with when initially writing the code).

I plan to tackle this next sprint unless someone else wants to learn the ins and outs of both LabIcon and Canvas. In which case feel free to ping me a heads up. I'll try to make sure to assign this to myself once I start work on it.


feat(FieldTheory/Separable): add elementwise IsSeparable and rename the old to Algebra.IsSeparable

Make IsSeparable more aligned with IsIntegral. Rename previous IsSeparable into Algebra.IsSeparable (like Algebra.IsIntegral), add notation IsSeparable for separablity of elements (like IsIntegral).
Shorten statements using the new defined IsSeparable. Rename some shortened theorems.

!bench

This PR only contains renaming now. I'll open a new PR adding lemmas of IsSeparable.


Server Console Error! Help!

Hello guys. Every time I run my server, the message "Format Exception: Index (zero based) must be greater than or equal to zero and less than the size of the argument list." always pops up. I can't write down any commands properly in the console because of the repeatedly appearing message. Please Help. Any help will be so much appreciated. Thanks!

What is the error in the output_log?


This does not work on Yosemite

It is reported that "Error, cache was NOT flushed."

On Yosemite, sudo dscacheutil -flushcache does appear to have worked for me, but I'd agree that without sudo it wouldn't have worked as noted above.

NB: I don't pretend to understand what OSX DNS is doing today, if dscacheutil isn't right you should be able to use equivalent syntax to try multiple shell commands in order until one succeeds.

Thanks @xurizaemon, I still haven't upgraded. I'll check your changes 'soonish'. However, I am watching the development of this whole DNS mess since Yosemite, apparently Apple is about to switch back to mDNSResponder: http://9to5mac.com/2015/05/26/apple-drops-discoveryd-in-latest-os-x-beta-following-months-of-complaints-about-network-issues-with-yosemite/
There have been too many issues.. is this a workaround, or are they switching back for good? I don't know, but your PR looks like it can handle either situation. I'll get to it!

Yeah, I don't know what their roadmap is, but this change is just shell syntax for "try killing mDNSResponder; if that doesn't work try dscacheutil refresh".
It preserves the existing default behaviour so should have no effect on your install, and then for new installs it'll realise that the old method didn't work and do the new.
Cheers


Feature Request: Limit Links

What about some new rules:

Add a total limit of checked links (eq. 10, 100 ...)
Add a optional limit for the recursive depth (level 1, 2 ...)

When on of the limits is reached the blc terminates.
I would like to use the broken-link-checker for a tool and want to avoid, that the blc is running too long.

I fully agree - these two features would be a great addition for the API. Of course at the same time this is something you can handle on your own part, but having this out of the box would be really nice.

Would an overall timeout be better than a limited link count?

Both sides have their advantages.


feat(icon): added process icon

Description
Add Process icon
Why
To use this icon in frontend repo
Issue
n/a
Checklist
Please delete options that are not relevant.

[X] I have followed the contributing guidelines
[X] I have performed a self-review of my own code
[X] I have successfully tested my changes locally

@nidhigarg-bmw are you adding a license file here? then we can merge that

@nidhigarg-bmw are you adding a license file here? then we can merge that

@oyo Just added you can review now.


fixed quick start guide link

Summary
This is a…

[x] Correction
[ ] Addition
[ ] Restructuring
[x] Minor / simple change (like a typo)
[ ] Other

Reason for the Change
There is a broken link in documentation.
The link pointing to the quick start guide in the documentation was broken, therefore it needed to be corrected.
Description of the Change
Fixed the url pointing to quick start guide and set it to : https://picard.musicbrainz.org/quick-start/
Additional Action Required
No additional action required.

Thanks a lot for this. I'll see that we merge this and update the live docs over the weekend

No problem :)

@SohamKukreti how do you want to be credited as a contributor to the documentation as shown on the Acknowledgements page?

@rdswift I wish to make more contributions therefore I would love to be there!
My full name mentioned there would be great : Soham Kukreti

My full name mentioned there would be great : Soham Kukreti

Done.  Thanks for spotting the issue and fixing it.  Your contribution is appreciated.

@rdswift I am glad to help :)


CODE OF CONDUCT file

Hi @SanjayMarreddi
I found that this project repository is not having a code of conduct file in this repository ,
kindly assign me this issue and I would like to contribute a well formatted code of conduct file  as you know code of conduct is a necessary file which the contributors need to follow so that everyone follows a decorum

@akrish4 Thanks for suggesting. But one of our friend already made CODE OF CONDUCT and made a PR(#13 ) which is currently under Review. Kindly Close this Issue and Open other Issue for new Idea or work on other existing Issues.
Good Luck !

ok
thank you @SanjayMarreddi


Wording clarification

@stummsft : Thanks for your contribution! The author, @anosov1960, has been notified to review your proposed change.

@stummsft Thank you Stuart!
#sign-off

@JennieHubbard: I'm sorry - only the author of this article, @anosov1960, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@stummsft : Thanks for your contribution! The author, @anosov1960, has been notified to review your proposed change.


Even to come

🚀 Feature Proposal

Motivation

Example

Pitch
Why does this feature belong in the Jest core platform?
Common feature proposals that do not typically make it to core:

New matchers (see jest-extended)
Changes to the default reporter (use custom reporters instead)
Changes to node/jsdom test environments (use custom environments instead)

I cannot get what is the feature request here


List Template - Select item does not register select event

Do any of you have issues with selecting the item from the list?
More precisely - select event is not registered always. Sometimes you need to tap multiple times on an item in
order for select to be registered.
For context: On select i push new template to the stack (pushTemplate) and after that user gets returned to the list with popTemplate(popTemplate).
Usually, when the list is presented for the first time it registers event instantly but if i get back via popTemplate the list item is only selected with blue highlight and does not receive further events until after i start tapping on the item for numerous times.

Haven't called completion function that is passed by CarPlay after async stuff is done


Soft navigation in Next.js 14 App Router to a page with instant search routes me back to the previous page on the client

🐛 Current behavior
Pretty much described it on the issue title, code: https://github.com/fcasibu/algolia-issue-sandbox/blob/main/app/_components/Search.jsx
🔍 Steps to reproduce

Start from home
Navigate to Search by clicking the link in the header
It will then navigate you back to home

Live reproduction
https://algolia-issue-sandbox.vercel.app/
💭 Expected behavior
It should not redirect me back to the homepage and it should stay in /search. This however does not happen if you directly go to /search.
I also tried looking into the codebase for the react-instantsearch-router-nextjs package and it uses window.location in the client, but after some digging the information it gives is not correct.
So to fix I would have to pass getLocation in routerOptions to keep using serverUrl
createInstantSearchRouterNext({
  singletonRouter,
  serverUrl,
  routerOptions: {
    getLocation() {
      return new URL(serverUrl);
    }
  },
})

But this is something that shouldn't need to be configured to fix
Package version
react-instantsearch-nextjs 0.1.14, react-instantsearch-router-nextjs 7.7.0
Operating system
macOS 13.2.1
Browser
Brave v1.63.174
Code of Conduct

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

I am using this package because of previous project but haven't realized that, but yes it does indeed work, thanks @aymeric-giraudet

I also found the same issue when I added routing. should I create new issue or discussion?
follow this readme

As with the <InstantSearch> component, you can pass a routing prop to the <InstantSearchNext> component to customize the routing behavior. The difference here is that routing.router takes the same options as the historyRouter.

https://github.com/algolia/instantsearch/tree/master/packages/react-instantsearch-nextjs

<InstantSearchNext
  indexName={indexName}
  searchClient={searchClient}
  routing={{
    router: history() as any,
    // stateMapping: simple(),
  }}
  future={{
    preserveSharedStateOnUnmount: true,
  }}
>

https://www.algolia.com/doc/guides/building-search-ui/going-further/routing-urls/react/#rewriting-urls-manually
https://github.com/algolia/instantsearch/blob/master/examples/react/e-commerce/routing.ts

I can't use history() without as any  because of this TS error

not show any error when using createInstantSearchRouterNext

is it possible to have example of app router with custom routing?


fund.nav

I'm having issues trying to retrieve NAV data from funds. Weeks ago, it worked perfectly and now I am having this error: "ConnectionError: Error 401
for the api https://www.us-api.morningstar.com/QS-markets/chartservice/v2/timeseries?query=F00000ZTIG:nav,totalReturn&frequency=m&startDate=2014-12-13&endDate=2014-12-13&trackMarketData=3.6.3&instid=DOTCOM. Message : Unauthorized."

Hello,
I tested the following code and I could get nav history.
import mstarpy
import datetime

end_date = datetime.datetime.today()

start_date = end_date - datetime.timedelta(100)

fund = mstarpy.Funds('F00000ZTIG')

fund.nav(start_date, end_date)

In your link you try to get data in 2024, but the inception is June 2018, 2017 as written here.
https://www.acatis.de/en/investmentfunds/international-equities/acatisaiglobalequities
`


[ROCm] [Hardware][AMD] Remove xformer dependency and its patches

Thanks for previous pull requests (https://github.com/vllm-project/vllm/pull/3005) which can support flash attention without xformers.
This PR is to clean up xformer dependencies from ROCm path:

Removed the dependency from Dockerfile.rocm
Removed the patches.

This gives a noticeable throughput bump after running the benchmark script on MI250x.
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

@hongxiayang Thanks for the PR! Removing the ROCm patch is really great!
I have two concerns/questions on this PR:

I recently heard that xFormers now officially supports some AMD GPUs, and it will support head sizes (e.g., 256) that are not supported by the ROCm flash attn. Is there no performance difference between the ROCm xFormers and flash-attn, can we just use the ROCm xFormers (without the patch)?

IIRC, we use naive PyTorch implementation of attention for some old AMD GPUs that are not supported by ROCm flash-attn. You can find this code in https://github.com/vllm-project/vllm/blob/f721096d48a7e3b98dffcb9b400bf58989cef64d/vllm/model_executor/layers/attention/backends/xformers.py#L59
I think this PR will break the support for these old GPUs.

@WoosukKwon Thank you for your comment and review.
For 1: I need to check whether we can integrate with xformers directly without patch, and its performance.
For 2: It should not break. See the note in my previous pull request to enable the naive pytorch attention for those GPUs where flash-attention support is not good:  https://github.com/vllm-project/vllm/pull/2768. On those GPUs (not old GPUs, by the way, Radeon™ 7900 series (gfx1100) is a kind of relatively new Consumer AI GPUs ). When building the docker for this arch target, the user is suggested not to build/install flash-attention at all, so the check for self.use_ref_attention will return True.

Regarding the naive pytorch attention, it looks like ref-masked -attention is part of xformer backend now in the code (that is why you mentioned it might break). Since it is a pure pytorch based attention, should it not rely on any of the flash-attn, or xformers backend? Should we refactor the backend code?

For 1: I need to check whether we can integrate with xformers directly without patch, and its performance.

@hongxiayang Have you got a chance to look into this? I believe the latest version (v0.0.25) of xFormers supports AMD GPUs. If this performs well, I think we should use xFormers instead of the ROCm flash attn, given that xFormers will be the superset of the flash attn (unlike the case for NVIDIA GPUs).


add title to opencollective items (accessibility)

fix issue https://github.com/opensourcedesign/opensourcedesign.github.io/issues/367

cc @Erioldoesdesign


add async and defer attributes to js requirements, replaces #4555

ok. rebased and reworked.. @sminnee @chillu @dhensby

Test failure related, I'm afraid :(

I have fixed the PHP issue, but behat is still failing. Any ideas? Forked from a failing master? Cheers.

@xini the issues seem to relate to the /admin/security/EditForm/field/Members/item/2/edit URL in the test. Maybe check that the group section is still functioning for you?

Try rebasing against master?

hm.. now the npm test fails. any ideas?

Seems npm is having some issues: https://github.com/npm/npm/issues/13284

Looks like the codeclimate issues need to be sorted out now

the codeclimate issue is not something I can fix. it's a +/-2 of the same issue in hoverintent.js. nothing to do with this PR.

@xini can you try rebasing, please, as that PR you referenced has now passed all tests

here we go. finally. ;) Thanks.


fix(proxy): Count slow responses as response_time, not gorouter_time

A short explanation of the proposed change:

Count backend response time towards response_time and backend_time, not gorouter_time.
Time calculation needs to happen for the entire response, including response body, not just the beginning of the response.
Therefore, the time must be taken after ReverseProxy has copied the response body and not after RoundTripper has returned, which is too early.

An explanation of the use cases your change solves

Fixes https://github.com/cloudfoundry/routing-release/issues/348
Implementation Detail

I have changed the semantic of determining if all attempts have failed. It used to be if `AppRequestFinishedAt` and `LastFailedAttemptFinishedAt` timestamps are equal. This can no longer be used because we no longer set the `AppRequestFinishedAt` timestamp in `ProxyRoundTripper` but in `Proxy` after `ReverseProxy` has finished.
I found it awkward to convey the information that a request has ultimately failed by making two timestamps the same. Instead, I opted for a clear RequestFailed flag that is now part RequestInfo and will be set in ProxyRoundTripper and Lookup where we decide early on if a request can no longer make it to a backend (because the route does not exist, pool is empty, overloaded, etc.)

Instructions to functionally test the behavior change using operator interfaces (BOSH manifest, logs, curl, and metrics)

See "steps to reproduce" in routing-release issue 348
When the fix is applies, both slow apps A and B should report about 10s backend_time and response_time but very little (sub-second) gorouter_time in the access log.

Expected result after the change

backend_time now includes the time to read the complete backend response, including the body
gorouter_time is no longer conflated with backend_time
backend_time reports - (no value) if the backend could not be reached at all

Current result before the change

backend_time does not include the time to read a possible body. it only contains the round trip time
gorouter_time is conflated with backend_time. it contains the time needed to read the response body
backend_time reports 0.0000 if the backend could not be reached at all

[x] I have viewed signed and have submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests.

[ ] (Optional) I have run Routing Acceptance Tests and Routing Smoke Tests

[ ] (Optional) I have run CF Acceptance Tests

Nice!


System.ArgumentOutOfRangeException when using test server in combination with Yarp

Describe the bug
I'm creating a test server for my application and another testserver for the reverse proxy. When I call the proxy, it should forward the call to the application, but instead, I get the following exception:
System.ArgumentOutOfRangeException
To Reproduce
I've included a test project that gives the error for me.
yarp.zip
Yarp.ReverseProxy.Forwarder.HttpForwarder[48]
      ResponseBodyDestination: The destination reported an error when copying the response body.
      System.ArgumentOutOfRangeException:  (Parameter 'count')
      Actual value was 0.
         at Microsoft.AspNetCore.TestHost.ResponseBodyReaderStream.VerifyBuffer(Byte[] buffer, Int32 offset, Int32 count)
         at Microsoft.AspNetCore.TestHost.ResponseBodyReaderStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
         at Yarp.ReverseProxy.Forwarder.StreamCopier.CopyAsync(Stream input, Stream output, Int64 promisedContentLength, StreamCopierTelemetry telemetry, ActivityCancellationTokenSource activityToken, CancellationToken cancellation)

Further technical details
Yarp 1.1.0
testhost 6.0.5

Hey, this looks like a the same kind of issue as #1665 and #1657. It's a bug that manifests when using Yarp 1.1.0 with some stream implementations.
I've filed an issue in AspNetCore to track fixing the TestHost.

Thanks Miha. Fingers crossed it can / will be fixed :)

Triage: Closing as external -- tracked by https://github.com/dotnet/aspnetcore/issues/41692


Docs common deploy results

Category

[X] New Feature

What's in this Pull Request?
Documentation - initial output of common results when executing deploy.ps1.

Hey Eric,
I really like the effort you put into improving the documentation and fixing bugs. There is one thing which might it make more difficult for the SharePoint Team to use your PRs.
This one is including all the other changes you've proposed before. Ideally each proposed change would be independent, so one could choose between them instead of having them all in one.
Cheers! Keep going 👍

@andreasblueher you know, you are right. I was being lazy, no excuse. cleaning up now.


Adding 'click event to remove from calandar' functionality

Coverage remained the same at 81.4% when pulling 3099c79fb158f1560bfef981f86fe448fc4e4bd2 on ben-frontend into a414640c3223c52bb5bfe168af11e0ebf3c667b1 on master.

:+1:


Chained comparisons are not handled

Python permits arbitrarily chained comparisons, e.g. 3 < x < 5. However, Ibis doesn't handle this case:
t = ibis.table(ibis.schema([('x','int32')]))
0 < t.x < 10

Returns
ref_0
UnboundTable[table]
  name: None
  schema:
    x : int32

Less[array(boolean)]
  x = Column[array(int32)] 'x' from table ref_0
  Literal[int8]
    10

The first comparison is ignored.

How does the Python object API handle this in general? I can look at this in a couple weeks

No clue, sorry. Possible helpful?

It appears this is not possible to do, but can be solved by making bool(expr) fail. See NumPy for example (maybe we can come up with a better error message):
n [20]: arr
Out[20]:
array([ 1.08465294, -0.70484092, -0.56144285, -0.15739236,  0.06148849,
        1.89919796, -0.50147054, -0.65921706,  1.39097086,  0.73586919])

In [21]: arr < 0.5
Out[21]: array([False,  True,  True,  True,  True, False,  True,  True, False, False], dtype=bool)

In [22]: 0 < arr < 0.5
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-22-416937a1d65e> in <module>()
----> 1 0 < arr < 0.5

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Interesting. Raising would seem be the best option.


[RTL]: web component package and CDN not deploying rtl styles

Detailed description

Describe in detail the issue you're having.
related to issue #6672. The RTL styles are somehow being stripped from the static builds. For example the deploy previews are rendering the overflow carets in the wrong place without the RTL styles in the scss. We believe this is most likely a webpack issue. This issue is also visible when using the CDN.

Is this a feature request (new component, new icon), a bug, or a general
issue?
bug

Is this issue related to a specific component?
no web component package in general

What did you expect to happen? What happened instead? What would you like to
see changed?

see the rtl styles applied in deploy previews and not just on local machine

What browser are you working in?

What version of Carbon for IBM.com are you using?

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

Steps to reproduce the issue

Step one
Step two
Step three
etc.

Additional information

Screenshots or code
Notes

@kennylam @annawen1 @ariellalgilmore would this be related? https://github.com/MohammadYounes/rtlcss/issues/221


FIX: Initial write with writeToStage()

Fixes #3695
I'm not sure if checking whether the object has been written yet should be done here or in the writeToStage() function. Seek feedback.

This change makes sense to me in that an item with no ID will have all it's field values written whether they are explicitly changed or not

We would need to write a test case to prove this works.

We would need to write a test case to prove this works.

What exactly are we proving, that forceChange marks new fields as changed or that a write on a new object which has had "forceChange" run writes all the fields?
Or.. am I being dense and really we need to check that this doesn't break "writeToStage" for new objects?

I mean a test case which replicates the issue found in #3695 to prove that this fixes the issue. :D

Alternative fix provided in https://github.com/silverstripe/silverstripe-framework/pull/3666


Newsletter form on homepage and page footer

Add Mailchimp form to homepage and show footer with link to recent sample.

Deployed in 2490154c1241303c769636af603bb672955a1dbe

Using Beehiiv streamlined form widget


Merging the ECCV 2024 data export and model evaluation code

Still many fixes!

I did a quick first pass of review, as there is a lot of code.
Didn't go too in depths and didn't comment on all instances of what I commented on, will comeback to it early next week!

@f-PLT @mihow I seem to have completed all change requests!

Alright, so I didn't go too far into the code, as it's still research code (compared to what will make it's way in src/), but here are 2 things that would be nice to have:

Have an example .env file named .env.example, we people get straight away the expected environment variables used by these scripts (the file should be in research/eccv2024)
Since these scripts will now run from this repository, I'd add an environment.yml file, specifying the environment name and python version

Environment name should be ami-ml, to reflect the repository name
All new contributions should also share this environment name, so new users setting up this repository will get to use everything through the same conda environment (at least in name)
This would also require adding a small sentence to the readme on how to create the conda environment and to activate it before installing the package with poetry if people want to use conda to manage their environments.

Done in 1e6c040.

Have an example .env file named .env.example, we people get straight away the expected environment variables used by these scripts (the file should be in research/eccv2024)

Done in fb443a4. Can you check if it is correct?

Since these scripts will now run from this repository, I'd add an environment.yml file, specifying the environment name and python version

Environment name should be ami-ml, to reflect the repository name
All new contributions should also share this environment name, so new users setting up this repository will get to use everything through the same conda environment (at least in name)
This would also require adding a small sentence to the readme on how to create the conda environment and to activate it before installing the package with poetry if people want to use conda to manage their environments.


Alternative cloud for trained models

Hello @yangxue0827,
I cannot create a Baidu account. Could you upload the trained models in another cloud such as Dropbox, Onedrive o Google Drive?
If it is not possible ... could you send me all these trained models via email? Thank you so much.
Best regards,
Roberto Valle

I don't have enough space in Google Drive. Which weight do you need, I can send you email.
Please give me the specific configuration file so that I know which weight to download.
example:
cfgs_res50_dota_v4.py
selected from

Thanks @yangxue0827,
I need the three DOTA config files. The most important baselines for me are the following:
RetinaNet-R
cfgs_res50_dota_v7.py
cfgs_res50_dota1.5_v7.py
cfgs_res50_dota2.0_v7.py
FCOS
cfgs_res50_dota_fcos_v1.py
cfgs_res50_dota1.5_fcos_v1.py
cfgs_res50_dota2.0_fcos_v1.py
My email is<EMAIL_ADDRESS>

Thank you for the models @yangxue0827
I have some additional questions related to the configuration files.

Where are the config files of the FCOS algorithm for each DOTA protocol? The links provided are not working:
https://github.com/yangxue0827/RotationDetection/blob/main/libs/configs/DOTA/fcos/cfgs_res50_dota_fcos_v1.py
https://github.com/yangxue0827/RotationDetection/blob/main/libs/configs/DOTA1.5/fcos/cfgs_res50_dota1.5_fcos_v1.py
https://github.com/yangxue0827/RotationDetection/blob/main/libs/configs/DOTA2.0/fcos/cfgs_res50_dota2.0_fcos_v1.py
How do you import the config files of DOTAv1.5 and DOTA v2.0? It is not easy to import files with dots in the filename ... For example:

from configs.DOTA1.5.retinanet import cfgs_res50_dota1.5_v7

sorry, the relevant code of fcos has been uploaded
import the config files:
Copy $PATH_ROOT/libs/configs/#DATASET/#DETECTOR/cfgs_xxx.py to $PATH_ROOT/libs/configs/cfgs.py

Sorry, the relevant code of fcos has been uploaded

I do not understand. How can I reproduce the results of FCOS using your code? Where are the config files for each DOTA protocol?

FCOS
67.69
61.05
48.10

Sorry, the relevant code of fcos has been uploaded

I do not understand. How can I reproduce the results of FCOS using your code? Where are the config files for each DOTA protocol?
FCOS	67.69	61.05	48.10

Hi @yangxue0827, can I use the FCOS algorithm with the current algorithm? I cannot find the FCOS config files.
On the other hand, I suppose that the aforementioned results in https://github.com/yangxue0827/RotationDetection#latest- are obtained using train+val images to train the model and private test annotations to measure the performance... Do you have the results of RetinaNet-R and FCOS using validation images to measure the performance?
Thank you.

config files: https://github.com/yangxue0827/RotationDetection/tree/main/configs/DOTA/fcos
performance in val set:
https://arxiv.org/pdf/2111.06677.pdf


Vector2.INF != Vector2.INF

Godot version:
Godot 3.2.dev: 5dd51a5b3b3da516c0e8bb2855d2772def037203
OS/device including version:
Win x64
Issue description:
In the latest Godot version (5dd51a5b3b3da516c0e8bb2855d2772def037203):
print(Vector2.INF == Vector2.INF) // => False
In Version 3.1.1:
print(Vector2.INF == Vector2.INF) // => True
Steps to reproduce:
print(Vector2.INF == Vector2.INF)

CC @aaronfranke

Not sure but I think infinity != infinity makes sense but weird.

It should be noted that:
print(INF == INF) // => True even in Godot 3.2.dev.

I'm pretty sure it's due to #18992.

#31871 fixes this. Infinity values should be the only problematic values with the current code.


susyone looking for mixing "rem"

I'm not certain if this is because I'm not installing mixins correctly (I tried running bundle install within the project directory, and that seemed to work OK), or because Scout doesn't include this mixin, but susyone is complaining thusly:
no mixin named rem

Backtrace:
bower_components/susy/sass/susy/language/susyone/_grid.scss:49, in mixin `set-container-width`
bower_components/susy/sass/susy/language/susyone/_grid.scss:71, in mixin `apply-container`
bower_components/susy/sass/susy/language/susyone/_grid.scss:95, in mixin `container`
../../../../../Users/redacted/Sites/devdesktop/moweb-dev/docroot/sites/all/themes/state/blue/sass/panels/layouts/panes_8_c/panes-8-c.layout.sass:12
_grid.scss
48:       } @else {
49:         @include rem(max-width, $width);
50:       }
/Applications/Scout-App.app/Contents/Resources/app.nw/bower_components/susy/sass/susy/language/susyone/_grid.scss

Anything that can be done? Is it something I can fix in my local environment? Thanks!

I searched for @mixin rem and @import rem:

This seems to be an issue with susyone calling for a mixin that was never defined.
su, susy, and susyone are all included mixin libraries in Scout-App 2. So if you do import "susyone"; it will likely pull from the built in version. If however, you point directly to your own version like import "../../bower_components/susy/sass/_susyone.scss"; (or whatever your relative path would be) it should use your version and not the built in one that comes with Scout-App. If your version has some Ruby magic in it that fixes this bug then it should work. Other wise you should file an issue with their repo.
Since Scout-App 2 is built with Node and Node-Sass, we don't use any Ruby/Ruby Gem stuff. So if Susy's mixin library requires Ruby to work, they will either need to update their library to be more agnostic (a demand I wouldn't make of them), or I can remove it from the built in supported mixin libraries so Scout-App users do not get confused.

@mirisuzanne can you shed some light on this. Sorry I am not very familiar with Susy and it's history.
This is an issue filed in the Scout-App repo. Scout-App is a cross-platform desktop application for processing Sass. It comes with Susy (and many other mixin libraries) built in.
PS. I'm only two spots behind you on TrendingDevs, (high five!)

The rem mixin comes from the Compass library, which is required by SusyOne. If you import the compass library, it will work as expected. The latest Susy syntax does not require Compass, but will use the rem function if one is provided.
(TrendingDevs? I had never seen it before. What a weird ranking. High-Five!)

@DicksB
Alright, so I found a solution!
You'll need to use this mixin library:

https://github.com/pierreburel/sass-rem

Then in your code, it works like this:
// If you set body { font-size: 100% } then use $rem-baseline: 16px;
// If you set body { font-size: 62.5% } then use $rem-baseline: 10px;
$rem-baseline: 16px;
@import "rem";

body {
    font-size: 100%;
}

h1 {
  @include rem(width, 100px);
  @include rem(font-size, 20px);
  background: #F00;
}

You can test it here:

http://www.sassmeister.com/gist/cc59c37e2a26ffbe9a76dd56e6a58739

Thanks @mirisuzanne. Yeah, it's not a very accurate site, we should be up much higher on that list :P

@DicksB
The rem mixin library I referenced will be added to the next version of Scout-App. Closing this issue. I will notify you when the next version is released.

Thanks very much! I'll experiment with this.

@DicksB @mirisuzanne
There is a new release of Scout-App available for download.

Scout-App.io
Release Notes


README: Add a section about scaffold.config.ts

Description :
scaffold.config.ts seems one of the imp files in SE-2 and is also used as single source of truth for the network on which DApp lives. People might overlook the mentions of scaffold.config in the current README, So let's have a section about scaffold.config describing each configurable property / API key in a short description .
Also checkout https://github.com/scaffold-eth/scaffold-eth-2/pull/381#discussion_r1234186642

Are you working on it or I can go ahead and continue

#384

Closing the issue, got merged yesterday 🙌


Preventing pasted text from being inserted into the textarea?

Besides using paste.js for pasting images to textareas, I also use it to react on pasted strings that have a specific format.
E.g., when pasting a codepen url like https://codepen.io/jmuheim/pen/KmKOZO, I don't want to insert this exact string into the textarea, but a markdown link to it, like this: [CodePen.io](https://codepen.io/jmuheim/pen/KmKOZO).
For this, I need to prevent the original string being inserted into the textarea. How can this be achieved?

Any news on this? This would be really important for my project.
Thanks. 👍

I'm sorry to stress you, but this minor thing is preventing a big user story from being merged into my project. Could you please give at least a statement whether this is possible, or whether I have to find a workaround?

I tried ev.preventDefault(), ev.stopPropagation(), returning false and null, but nothing prevented the text from being inserted.

Hi @jmuheim sorry I've been super non-efficient on this project recently. Can you try stopImmediatePropagation(https://developer.mozilla.org/en-US/docs/Web/API/Event/stopImmediatePropagation), that's preventing an event propagating from the same DOM object. (while stopProgapagtion is preventing that from ancestries / descendants)
Also try swapping the order of the event handling order (I've always being having trouble remembering them)

@jmuheim  Oops sorry, try
$('textarea').on('paste', ev => {
 ev.preventDefault(); // this might stop default behaviour of inserting text
ev.stopImmediatePropagation(); // this will stop paste.js code from being fired
});

Those two combined at the same time.

Ideally we should not insert text when isDefaultPrevented is true, in paste.js. 😅  But the above (handling paste event) can be a workaround / quickfix.

Thank you for answering. 👍
I tried it like this:
    @$input.on('pasteImage', (ev, pastedData) =>
      ...
    ).on('pasteText', (ev, pastedData) =>
      ...
    ).on('paste', (ev) =>
      ev.preventDefault()
    )

This basically works, but it makes pasting text in general impossible. I only want to prevent default when text in a certain format is pasted (a CodePen URL). Also, this seems to interact with the text editing history in some way, and makes undoing/redoing a pain (at least in Chrome on OSX).
I'm really no big JS expert, but the proposed solution with isDefaultPrevented really sounds like the way to go for me.

You are write, when isDefaultPrevented is handled in paste.js, you will be able to do it like:
    @$input.on('pasteImage', (ev, pastedData) =>
      ...
    ).on('pasteText', (ev, pastedData) =>
      if (pastedData.match(/codepen\.io/)) {
         ev.preventDefault(); // this doesn't work at this moment.
         // insert the markdown link
      }
    );

But in the meantime you can try replacing that string (pastedData) to workaround it.  Also getting the position of cursor in the textarea by $(textarea).prop('selectionStart') might be helpful to insert generated markdown link.

Thank you, I indeed managed to create a workaround by replacing the originally pasted string like this:
@$input.on('pasteImage', (ev, pastedData) =>
  new ImagePaster(@$input, pastedData)
).on('pasteText', (ev, pastedData) =>
  if match = pastedData.text.match(/https:\/\/codepen.io\/(.+)\/pen\/(.+)/)
    new CodePaster(@$input, match)

    # Doesn't work at the time being, see https://github.com/layerssss/paste.js/issues/45
    ev.preventDefault()

    # ...so we need this workaround:
    caretPosition = @$input.caret()
    @$input.val(@$input.val().replace(pastedData.text, ''))
    @$input.caret(caretPosition - pastedData.text.length)
)

This is okay at the time being. But it would be great if ev.preventDefault() would work with paste.js. 👍


Django debug toolbar not available

I just noticed that while working in my development environment (devcontainer setup), the Django debug toolbar doesn't show. Perhaps this was as a result of #1454?

I've got it to work by running request.META["REMOTE_ADDR"] to one of our reviews, which has exposed the port <IP_ADDRESS> as the IP host in the django container. So if I add this IP to INTERNAL_IPS it fixes the issue, but this solution is hardcoding the IP address which isn't really useful. Is there a way of making this dynamic in settings.py?

This works too, but not sure if it will be the same for everyone:
if DEBUG:
    import socket
    ip = socket.gethostbyname(socket.gethostname())
    INTERNAL_IPS += [ip[:-1] + "4"]
    INSTALLED_APPS.append("debug_toolbar")
    # debug toolbar must be inserted as early in the middleware as possible
    MIDDLEWARE.insert(0, "debug_toolbar.middleware.DebugToolbarMiddleware")

I was frustrated by this too the other day!

Was just about to post the same thing:
    import socket

    INTERNAL_IPS = [
        ".".join(socket.gethostbyname("host.docker.internal").split(".")[:-1]) + ".1"
    ]

What's odd to me is that this is similar to what the debug_toolbar already has in its callback:
https://github.com/jazzband/django-debug-toolbar/blob/7271cac9eacb7870200d6bc965c84eb91ba36714/debug_toolbar/middleware.py#L19-L38

Interesting. I remember when setting this up seeing this warning in their documentation:
https://github.com/jazzband/django-debug-toolbar/issues/1854
But now it's gone. I think their solution assumed that the docker IP would always end with 1, but it ends in 4 for our (or my) case which is why it didn't work.

Now, while using the debug toolbar to try and see how many SQL queries are being made, I get the following error:
AttributeError at /
'Connection' object has no attribute 'status'

I think this is probably linked to https://github.com/jazzband/django-debug-toolbar/issues/1754. We have django_debug_toolbar = "3.8.1" in our dev dependencies and psycopg  3.1.18 which are incompatible.


Initialization Failing

I'm not sure what I might be doing wrong, but my sliders are not initializing to the proper value.  When I click on one it jumps immediately to the value that it is supposed to be showing (the correct initial value).
          <rzslider                     rz-slider-model="alignment[$index]"                     rz-slider-options="{id:qid+'_'+$index,floor:min,ceil:max,vertical:true,showTicksValues:true}">             </rzslider>

Any help appreciated.

Apologies.  I just re-read the front page about the refresh issue and that initialized them properly.


Symfony Flex Recipe

Hey, will there be a recipe for symfony flex on https://github.com/symfony/recipes-contrib?
Here is the Guide on how to create one: https://github.com/symfony/recipes
I haven't created any recipe yet, but i can try if you like me to do so.

+1

+1

+1


GCWeb: Exit script

Moved from GCCode: https://gccode.ssc-spc.gc.ca/iitb-dgiit/nw-ws/sgdc-cdts/issues/59
@shawnthompson created the issue
They claim that this is preventing them of tracking the yes button.
https://gccode.ssc-spc.gc.ca/edsc-esdc-centre-expertise/sgdc-cdts/blob/master/app/cls/WET/gcweb/v4_0_28/cdts/exitScript-opt-nomin.txt#L91
// Prevent navigation
event.preventDefault();
// Testing
//alert(exitURL + '?exitdomain='+ getHost(exitURL) +'&targetUrl=' + targetUrl + '&targetdomain='+ getHost(targetUrl) +'&pageLang=' + pageLang);
// Before redirecting confirm user wants to leave site
$("#sExitModalLink").trigger("open.wb-lbx", [
    [
        {
            src: "#sExitModal",
            type: "inline"
        }
    ],
    true
]);

Email
From: Haase, Dainton
Sent: February-13-18 2:48 PM
To: Raymond, Nicolas N [NC]; Thompson, Shawn S [NC]
Subject: Outbound Link Tracking for MSCA
Currently, outbound link tracking for analytics, does not function properly on MSCA due to unfavourable interactions with the CDTS exit script. Restoring this functionality has been identified as a priority.
Background context :
On MSCA, when an outbound link is clicked, a modal appears
We would like the tracking to be on the Yes button click event. Right now the exit script does not allow our platform (DTM) to trigger the click event, because the link default action is suppressed.
It has been determined by our team that before we can move forward with this item, our team would like to consult with the MSCA developers to determine if a change in coding is feasible.
Thanks very much, I look forward to hearing back from you
Dainton Haase
Project Manager, Canada.ca Analytics/ Gestionnaire de projet, analytique Web pour Canada.ca Quantum Management Services Limited, Contractor for Service Canada / Les Services de gestion Quantum Limitée, contractant pour Service Canada
<EMAIL_ADDRESS>819-654-1618

@MaximMartel Could you confirm this issue is still valid for version 4.0.39 ? Thanks.

Not applicable anymore. The WET script is now being used. Closing issue.

Not applicable anymore. The WET script is now being used. Closing issue.


how close are we to being able to use Chakra for all our nodejs apps as a choice

this looks awesome and should not just be for iot development.  When can we start using this mainstream for performance gains?  also, what git repo should we specifically be watching for updates.  All these repos are a bit confusing to follow.

@xtianus79 , For node+chakra work goes in Microsoft/node, "chnext" branch. Currently it is based on node0.12 and we will soon update it to support latest node6.0 with chakra.dll shipped with latest windows 10.10586.


Chunk upload

I've just found this project and spec and it's pretty cool but I have question.
Is it possible to use this project and tos spec to upload file that is larger then file limit set by Apache server?
I have my own implementation of chunk upload for files larger then php limit. But it require to delete old file before upload because it use append to original file name.
And I was wandering if can I, with this pause/resume, upload using chunks?

@jcubic Yes, you just need to send chunks less than limit set by your server. The process is more or less summed up in this blog post.

@jcubic as @ankitpokhrel explained the chunk functionality can be used for that. I'm currently doing it both for Apache and IIS.

Awesome, thank you.


Form styles getting purged in production

Versions:

tailwindcss 1.1.2
custom-forms 0.2.1

Misc:

package manager yarn
laravel-mix for bundling
Using laravel-mix-purgecss

Details:
Form styles are applied to inputs via @apply to WordPress generated fields. Form styles works perfect in dev but gets removed in prod.

Sounds like a purge configuration problem.

@adamwathan
Using laravel-mix-purgecss with following config
if ( mix.inProduction() ) {
	mix.purgeCss( {
		folders: [ 'includes', 'src' ],
	} );
}

Currently styles are applied via @apply technically there is no reference to these styles in html/js hence purgecss is removing them !


Flatterer on Azure Databricks - OOM Error

I'm getting the following error while running a large json file through flatterer on Azure Databricks:

the python process exited with exit code 137 (sigkill: killed). this may have been caused by an oom error. check your command's memory usage.

The process runs for almost 4hrs before this error pops up.  I am using a single-node cluster with 8 vcpus and 64gb of RAM (with photon enabled).  Running the same exact code and json file on a Win11 VM (8 vcpus, 32gb RAM) works fine and finishes in around the same 4hrs.
Here is the file that I am working with (publicly accessible data):
https://uhc-tic-mrf.azureedge.net/public-mrf/2023-10-01/2023-10-01_United-HealthCare-Services--Inc-_Third-Party-Administrator_Choice-Plus-POS_8_in-network-rates.json.gz
The error is a bit cryptic and hints at OOM but maybe it's something else?  Any help would be appreciated.  Please let me know if you need any other details.

@alevites could you give me the options/code you are using for this file?
flatterer aims to be memory efficient for large files, so it is interesting that this fails.
I have not used azure databricks, but many notebook style services, use a ram disk for local storage, so it might be that the output is too big for the instance.

thanks for the quick response!  here's the code and some thoughts on what I think is happening:
import flatterer
from datetime import datetime
from urllib.parse import urlparse
import urllib.request

now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)

url = 'https://uhc-tic-mrf.azureedge.net/public-mrf/2023-10-01/2023-10-01_UnitedHealthcare-Insurance-Company_Insurer_OHPH-ST_30_in-network-rates.json.gz'
split = urlparse(url)
filename = "/tmp/" + split.path.split("/")[-1]
urllib.request.urlretrieve(url, filename)

inputPath = filename
outputPath = "/tmp/output/"

output = flatterer.flatten(inputPath, outputPath, csv=False, parquet=True, force=True)

now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)

I also found the following blurb from Azure:

For Azure Databricks Filesystem (DBFS) - Support only files less than 2GB in size.
Note: If you use local file I/O APIs to read or write files larger than 2GB you might see corrupted files. Instead, access files larger than 2GB using the DBFS CLI, dbutils.fs, or Spark APIs or use the /dbfs/ml folder.

One of the resulting parquet tables are certainly larger than 2GB, so I think this could be the issue.
I am going to try mounting ADLS in Databricks, which would bypass this limit.

@alevites Tried this file out, and it was taking up around 10GB of memory for me.
This is due to fairly large objects (around 10MB) and flatterer has an internal queue of maximum size 1000.  This queue size was optimal for performance for the data I tested on, but it was on data that had max 1MB objects.
I also tested the data out, setting the queue to max 100, and it went down as expectedly to under 1GB.  I might give the users a way to tweak this themselves or add a low_memory mode which would set a much lower queue size of say 2 * the number of threads.

Thanks for the update!  I will try on Databricks again if/when you make that update.
Also, I tried mounting Azure blob storage to Databricks and flatterer does connect and attempt to write to it but then throws this error:
RuntimeError: Could not remove directory /dbfs/mnt/test/output/
Caused by:
Resource temporarily unavailable (os error 11)
Location:
/rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library/core/src/convert/mod.rs:716:9
Oddly enough, when force=True, the "output" folder gets created and "tmp" has a few CSVs created inside of it, but no other files/folders get created (no "csv" folder", no "parquet" folder, fields/tables.csv).  The error sounds like some sort of network issue (dropped connection perhaps) but it happens every single time (I've run it 5-10 times) and the json is quite small, so it might be something else.
When force=False, it tells me that the "output" folder already exists (even when I manually delete it).
Code:
import flatterer
from datetime import datetime
from urllib.parse import urlparse
import urllib.request

now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)

url = 'https://uhc-tic-mrf.azureedge.net/public-mrf/2023-10-01/2023-10-01_UnitedHealthcare-Insurance-Company_Insurer_OHPH-ST_30_in-network-rates.json.gz'
split = urlparse(url)
filename = "/dbfs/mnt/test/" + split.path.split("/")[-1]
urllib.request.urlretrieve(url, filename)

inputPath = filename
outputPath = "/dbfs/mnt/test/output/"

output = flatterer.flatten(inputPath, outputPath, csv=False, parquet=True, force=True)

now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)

Where /dbfs/mnt is the mount point for ADLS, which I can access in Databricks, using dbutils and the os module.  What module are you using to write the parquet files?

@alevites
Mounts of object stores, in my experience, are always flaky and do not operate the same as a real file system e.g after deleting a file they do not actually delete straight away.
I tried s3 mounts with flatterer, and they did not work very well.  That is why I made a specific s3 output and input: https://flatterer.opendata.coop/s3.html which works lots better and does retries if certain chunks do not get saved for some reason.  Sadly, azure does not have a s3 compatible API, so this will not work there.
It should be possible to do the same with Azure blob storage, but would require a lot of work.

Sounds good, no worries.  Please let me know if you get around to implementing the customizable queue size.  Thanks again!


Lazy render feature

Enable lazy rendering for list items li to better support large datasets.
Fixes #13

@bevacqua Did you get a chance to try this out?
Also, are there any automated tests?

/cc @RoryDH @Hurtak @domchristie
Trying to get some more eyes on this since it's a big change.

Haven't had the time, and this is a huge changeset. Might be a while before I can take a look

@bevacqua That's fine.
I found At.js that does lazy rendering and works very similar to horsey so I'm going with that solution.


contradictory documentation regarding json::find

Consider the table Container function overview. It states that json::find will always return json::end() for objects. Likewise ought json::count to return 0. However, the source code makes it very clear, that said information pertains to any JSON value type but objects. My guess is that both remarks (returns end()) and (returns 0) are supposed to be in the column 'array', not in the column 'object'. This assumption is supported by the fact that another part of the documentation also patently states that objects, not arrays, are the exception with respect to json::find and json::count.

Thanks a lot!


remove awaitTermination

I'm not clear on the significant difference between awaitCompletion and awaitTermination in either WriteBatcher or QueryBatcher.  I thought I'd replaced WriteBatcher.awaitTermination with awaitCompletion to be consistent with QueryBatcher.  I probably just added awaitCompletion and forgot to remove awaitTermination.

Finished with commit 150759f7232ad3ac46bee993f9919c932ea21a4f

Ajit, the commit 35fc094 that references this issue doesn't remove WriteBatcher.awaitTermination calls, so it seems more about #620 than about this issue.  Is that just because the functional tests weren't referencing WriteBatcher.awaitTermination?
I'll leave this as "ship" since there's probably nothing you need to do if your tests are compiling fine.


Monitor option default value

Hi,
I will make the same remark I made on the watchtower repo. (https://github.com/v2tec/watchtower/issues/167)
Don't you think that the default value for the monitor option is "dangerous". It's is too easy to start ouroboros without the monitor option and update a container you don't want to update.
For production environment, this is not good... (exposing docker API + autoupdate is also not a good idea. But I can live with these )
The default behaviour of a software should be to display a log message with the syntax.

That is quite subjective. We do have --labels-only which does exactly what you are expecting. If there is no labels applied to your containers it wont continue. We also have --dry-run to allow you to test what would happen. I personally believe its counter intuitive to have a program that, on run, does nothing. To have to "enable" it to do its primary function is quite backwards

ouroboros is an update/upgrade system. The most obvious similar software is "apt" or "yum" (I guess you have some linux experience...)
If you start apt without any option, it doesn't do anything.  If you start it with "upgrade" it does let you choose yes or no before applying anything. You have to add the "-y" option to bypass the interactive prompt.
Most programs I can think of that upgrade/shutdown an "unknown" number of programs/services, need some sort of confirmation option to function without any user interaction. (by unknown I mean that you have to use another command to get the list of running container. It's not obvious by just running outoboros)
docker does not pull the latest image by default (except when you start a container for the first time). You have to "force" it by using the "pull" command.

every single example you have given are command line utilities that are of a user input, non automated fashion. Ouroboros does not fit into any of those circumstances as it is an automation program. If you wanted to treat ouroboros like apt:
apt list —upgradable
==
ouroboros —dry-run
——————————-
apt upgrade -y
==
ouroboros —run-once
——————————-

It is not designed to be ran as a cli utility only and is automation oriented. if you only want to do it yourself, the above 2 examples are as close as you are going to get

my point is:
ouroboros
watch -n 300 apt upgrade -y
no option ---> upgrade everything every 300s
What I think is safe:
ouroboros
apt
I can't thing of any other upgrade system that start as a daemon and starts upgrading everything by default. (Maybe microsoft windows update.... but the default  automatic reboot at 3:00AM is a PITA)

I understand what you are asking for, but this is not a command line utility. It IS a daemon as you have surmised. You cant think of any others because its not intended to be like your examples. What you want as the default functionality is non-sequitur to the purpose, scope or philosophy of ouroboros. “Safe” is reading the manual, understanding the tool you have chosen to use, and configuring it appropriately.
This is further explained when you dig deeper into the scope of the project. It is a program that is designed to maintain docker containers, and primarily ran as.. a docker container. Docker's philosophy on variables are to put them in the environment and then read from it. If all configuration is in the environment, there are no command line flags. Nor should there be.
As a summation of that scope, command line arguments whatsoever are a user convenience that we have left in from the original design of ouroboros but do not drive the majority of configurations.
We appreciate your feedback and intent to contribute meaningful content to the project, but in this circumstance it is not something we are interesting in changing the entire design of ouroboros around. If this opinion ever changes, we will be sure to re-open this issue.

OK then thx for your reply.
I do understand your point.
Also thanks for this great software.