Vite's Monorepos is not friendly with TypeScript. Because package.json main entry: index.js or index.d.ts, but on Vite dev mode，there is no .js，.d.ts befor TypsScript build.

Description
Vite's Monorepos is not friendly with TypeScript. Because package.json main entry: index.js or index.d.ts, but on Vite dev mode，there is no .js，.d.ts befor TypsScript build.
Suggested solution
add config findMonorepos : true/false
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

In monorepos, you should build the other packages before running Vite, this is expected because of the entrypoint you mentioned. Vite can't guess a different entrypoint to the raw TS file otherwise. If you want to set the entrypoint to the raw TS file though, you can use resolve.alias: { "my-pkg": "my-pkg/src/index.ts" } for example.

other packages before running Vite

In my UI component lib project，the project is demo project，monorepo/other packages is UI lib， 'other packages' need Vite to build it.
npm 7 workspaces can config find monorepo，not need Vite to find it.
if Vite want to do monorepo, I want  a config true/false


Docs: update yurtcluster definition

What type of PR is this?
/kind documentation
/kind design
What this PR does / why we need it:

add common ExtraArgs field into ComponentConfig
split YurtHubSpec into Cloud and Edge to support install YurtHub on both cloud and edge nodes with different flags.

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/assign @Fei-Guo @rambohe-ch
Does this PR introduce a user-facing change?

NONE

other Note

/lgtm
/approve


[PORT] Facebook functional tests setup.

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3338

Also, inline documentation tweaks.

N/A


Update import_v1lib.ahk

I created a simple if else to download the autohotkey v1 executable without installing, allowing to run ahkv1.
it may be better to pass this as a function option like @param download:=0 but nonetheless it should provide a more flexible path for using ahkv1 remotely.

if !FileExist(ahkv1runtime) {
               ; personally, I find my documents to be a safe place to download without windows defender massive flags
               ; feel free to use something different
    if !FileExist(A_MyDocuments "\Autohotkey.exe") {
        try {
                ; i hosted ahkv1 exe in a random github repo
            Download("https://github.com/samfisherirl/download-Autohotkey-v2-Documentation/releases/download/v2/AutoHotkeyU64.exe",
                A_MyDocuments "\Autohotkey.exe")
            ahkv1runtime := A_MyDocuments "\Autohotkey.exe"
        } catch {
            throw Error("Could not find AutoHotkey v1 runtime")
        }
    } else {
        ahkv1runtime := A_MyDocuments "\Autohotkey.exe"
    }
}

I don't like to include the ability to download required files in library functions, unless it is a script specifically designed for downloading.


Automated QA Tests for data integrity

Description
Right now, we only test data integrity manually. This can cause us problems since we sometimes miss things manually.
Describe the solution you'd like
I would like an automated solution to test out our data that accomplishes the following
How the tests can run:

[ ] Can be run on each check in of CI
[ ] Checks against static data that does not change. (Sample repos we make or fakes JSON responses)
[ ] Verifies that the total records we expect in every table exist by count(*)
[ ] Verifies that the correct data and fields are captured (Select x from y where x.a != null) etc.
[ ] Sample data can be updated easily

Possible problems we can run into:

If we run this often, we will soon run out of api rate limits, IE if this is a part of CI

How the code can work:

(Best) Nginx can serve up sample JSON to us on any route that will copy the API we are trying to emulate.

The tests will run of off a .env.test file that points to our nginx servers for the github base api url etc.
We will have a new docker-compose.test.yml that will host our nginx server and sample JSON directory
Developers can use this to develop faster locally and test code more efficiently

Has the Feature been Requested Before?
No
Describe alternatives you've considered

Manual Testing. Too slow and time consuming for our small team
(Bad, @klesh will not approve 😃 )We can have a flag in the code to tell it that, in testing mode, we will fetch from a local file system of JSON to get data

I would like a review of this from @klesh @kevin-kline and @hezyin . Please thumb it up or down if approved or rejected

how about we setup some dedicated instances instead of fake response, like repositories only for testing on github/gitlab...
because fake JSON is very time consuming to do so, and api could change its response at any point of time.
plus, its hard to cover every cases, response might vary depends on user setting stuff like that.
Often, document tends to not telling which fields might be missing and on what circumstance would that be happening.
I think we do it on real environment with dedicated instance will be easier for us to setup and debug, like, we can log into those  instance and see what was wrong.

We wont make the fake json by hand. It will be made automatically from api responses from the real api

Already merged.


[Refactor] Make View serialized by JSON format and mini refactor alter view statement

What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes:

Fixes #
Problem Summary(Required):

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

[FE PR Coverage Check]
:heart_eyes: pass : 106 / 120 (88.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/ast/AstVisitor.java
0
3
00.00%
[231, 235, 924]

:large_blue_circle:
com/starrocks/sql/analyzer/PrivilegeChecker.java
0
1
00.00%
[280]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
6
11
54.55%
[3500, 3505, 3510, 3569, 3574]

:large_blue_circle:
com/starrocks/sql/ast/AlterViewClause.java
7
8
87.50%
[62]

:large_blue_circle:
com/starrocks/alter/Alter.java
17
19
89.47%
[866, 867]

:large_blue_circle:
com/starrocks/sql/analyzer/ViewAnalyzer.java
42
44
95.45%
[69, 102]

:large_blue_circle:
com/starrocks/sql/analyzer/AlterDatabaseRenameStatementAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/Analyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/CreateTableAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/PrivilegeCheckerV2.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/CreateTableLikeAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/AlterTableStatementAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/alter/AlterOpType.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/AlterViewStmt.java
5
5
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/CreateViewStmt.java
16
16
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/CreateDbAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/View.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
1
1
100.00%
[]


Live output when building an image

Not really a bug report. I wondered if it's possible to get the live output while building an image via DockerEngineAPI.Api.Image.image_build.

Hmm yeah i guess i would need to hook onto the log output stream or something. Maybe forward it to the logs. This is mostly autogenerated so my guess is as good as any.

I have thought about making my own client for this, but it's on my todo list. Basically use this as inspiration and make it easier to maintain and improve. And yet keep it separate from testcontainers for elixir.


Adding role for deploying python on CoreOS

Extra spaces removed

@PiotrProkop can you run ./generate_group_vars_sample.sh to generate a group_vars file?

@leseb added common-coreos.sample

We should probably try to make the role a dependency of all the ceph daemons when we are deploying on CoreOS.
We can do this later. Thanks @PiotrProkop


MaxTxCapacityOverride should be depending on era

Currently MaxTxCapacityOverride limits the size of a block globally for all eras (user might want to forge blocks smaller then the protocol allows).
This is limiting for two reasons:

In the future user might want to limit size of the block differently for different ears.
With Alonzo - when forging new block - we have to take other measures into account (both byte size of the block and the limit of its ExUnits). Future eras might come with other types of limits brought by the protocol.

Given all that we want to modify MaxTxCapacityOverride so that it can be defined per era/block (and obviously one for the hard fork combinator - the CardanoBlock).

done https://github.com/input-output-hk/ouroboros-network/pull/3238


Workflow: Properties annotation

This commit introduces a new way to annotate workflow metadata to the workflow itself, the annotation comes with a single option, but with the idea to be expanded in the near future
Each workflow now has a way to define a version that is stored in the workflowDefinition.Properties column (JsonB) object. Users may want to determine the version by hand, or using any tool, like the example given using git-commit-id-plugin.
As an example:

@Bean(name = "simpleSequentialWorkFlow" + WorkFlowConstants.INFRASTRUCTURE_WORKFLOW)
@Infrastructure
@WorkFlowProperties(version = "${git.commit.id}")
WorkFlow simpleSequentialWorkFlowTask(@Qualifier("restCallTask") RestAPIWorkFlowTask restCallTask,
        @Qualifier("loggingTask") LoggingWorkFlowTask loggingTask) {

or:

@WorkFlowProperties(version = "v1.0.0")

The version is a string, but maybe we can think on semver here. I'm very open here, but the idea was to use the commit id AFAIK, and not sure if it adds value having in semver object.
The main reason to use Properties is that they can be extended with more fields like: @WorkFlowProperties(version = "v1.0.0", metricName="myAwesomeWorkflow") or some special logic like on_update, on_die, priority_key, labels.
Fix FLPATH-17

/approve

@eloycoto please rebase. Tide is complaining :)


Unable access files

I've installed latest ipfs desktop (go-ipfs v0.4.21) on Win7 XP with an external drive as described in last entry at
https://discuss.ipfs.io/t/how-to-setup-ipfs-desktop-with-repository-in-external-hd/5490/2
I’m running a VPN exiting Iceland with the IPFS Desktop behind a router. Others are having trouble accessing my files. For example the file https://ipfs.io/ipfs/QmdMkoevxiyexeM21jAgKDrjrZ6G8DqvYpUBs6s3nVNeab
doesn’t seem to be accessible from any browser or PC. Have tried Brave with IPSF Companion disabled and Chrome without Companion installed. Tried Firefox browser on another PC without companion. With repository and PC at another location behind different router tried without VPN and no success. Desktop seems to be working OK with varying large numbers of peers discovered and some incoming/outgoing activity. There have been no antivirus flags.
Am I missing something important in the setup? Should it work through a VPN? behind a router? Without a static IP? On an external/USB HD?

Hey @miguelito9, thanks for the report. Unfortunately, it doesn't seem to be your fault. @olizilla and I have also been having some issues with that.
It seems there is an issue already open on go-ipfs repository (https://github.com/ipfs/go-ipfs/issues/6385). I'll wait for feedback.

I'm closing this as this is not directly related to IPFS Desktop and the issue was mitigated in the recent versions of the gateway


appveyor with deprecations_as_errors: true

Signed-off-by: Steven Murawski<EMAIL_ADDRESS>

The appveyor failures here are ones we want and should block the cookbook release.

Let's get master red so we know to get it green


Not throw validation error for env not set when listing tasks

When I do dunner tasks to see list of tasks, if it has a env variable reference but not set in the environment, it shows a validation error without listing.
Expected behaviour:
List of tasks should be shown.

Done.


Message delete reset after changing communication tabs.

Describe the bug
When deleting one's message and changing to another communication tab, the message deletion is reseted.
To Reproduce

Go to any communication channel.
Write a message and delete it.
Switch to another tab and go to the previous channel again.
See message still displayed.

Expected behavior
Message is deleted after changing tabs without having to wait the entire countdown.
Screenshots
Deleting the message:

After switching tabs and going back:

Which version of Artemis are you seeing the problem on?
7.7.1
What browsers are you seeing the problem on?
Safari
Additional context
No response
Relevant log output
No response

As I saw in the code this is by design. However I find it not very user friendly and will therefore propose a change in form of a PR.


heatmap is not supported to use in the following ways?

heatmap is not supported to use in the following ways? eg:
let mapOpt = {         style: "mapbox://styles/mapbox/streets-v9",          container: "map-view",         zoom: 12,         center: [-74.0080413171491, 40.70498574162349],       };       let map = new mapboxgl.Map(mapOpt); let deck = new Deck({         gl: map.painter.context.gl,         controller: true,         onWebGLInitialized: function(gl) {           gl.enable(gl.BLEND);           gl.blendEquation(gl.FUNC_ADD);           gl.blendFunc(gl.SRC_ALPHA, gl.ONE);         }       });       let heatmapData = "data/uber-pickup-locations.json";       let heatmapLayer = new HeatmapLayer({         id: "my-heatmap",         data: heatmapData,         opacity: 1,         pickable: false,         getPosition: d => [d[0], d[1]],         getWeight: d => d[2],         intensity: "1",         threshold: "0.03"       });       map.on("load", function() {         map.addLayer(new MapboxLayer({ id: "my-deck", deck }));         deck.setProps({           layers: [heatmapLayer]         });       });

What is the issue you are observing, is it a crash (if so can you provide a log) or is it a rendering issue (provide an image?)
Looks like you are overwriting deck.gl default blending, this is going to affect final rendering color, is that the problem? Is this affecting just heatmap layer?

sorry, I didn't describe the problem clearly.I load heatmap layer with this example:https://github.com/uber/deck.gl/blob/master/docs/api-reference/mapbox/mapbox-layer.md
but,the layer loading failure, i got a error:"deck: HeatmapLayer my-heatmap is not supported on this browser, requires WebGL2", remove "onWebGLInitialized "property,The problem still exists.

mapbox-gl creates a WebGL1 context, which is not supported.

whether or not to consider supporting it?

An alternative to back-porting layers to WebGL1, could be to trick mapbox into creating/using a WebGL2 context.
We could override canvas.getContext to return a WebGL2 context, and we could override gl.getExtension() to return WebGL1 extensions that mapbox uses (just forwarding tthem to the corresponding WebGL2 APIs).
Kind of a "reverse WebGL2 polyfill"
@tsherif @1chandu

@huashaoxu , upcoming deck.gl 7.3.0 release should support HeatmapLayer in WebGL1.

@1chandu great!

@huashaoxu , please try deck.gl  '7.3.0-beta.9 ', it should work with WebGL1 context.

whether or not  use heatmap layer render like this :

@huashaoxu , I didn't understand your previous comment, is the above rendering is from HeatmapLayer.
Also we made few fixes and published deck.gl 7.3.2, please re-test with this version.

Does heatmaplayer support this rendering effect?

@huashaoxu , yes, HeatmapLayer can be used similar to any other deck.gl layer, as long as you set the props as per the docs, please use 7.3.2 that includes several fixes.


RebuildCommand doesn't work if projector list is ommited

EventProjectionist::getProjectors() returns a collection of strings, while EventProjectionist::getProjector() instantiates a projector before returning it. This causes RebuildCommand to attempt to call reset() on strings, rather than projector instances, due to the way the SelectsProjectors trait fetches projectors when the projector list is ommited.
There are three ways to fix this:

Change EventProjectionist::getProjectors() to return Projector instances;
Change SelectsProjectors to assign $projectorClassNames = EventProjectionist::getProjectors() instead of the early return;
Change RebuildCommand to check if the projectors have been instantiated before attempting to call reset() on them.

The first option would probably be best, possibly with the addition of a new getProjectorNames method to let developers check what projectors have been registered without having to instantiate them.

Thank you reporting this. I've implemented the first option. I'll add getProjectorNames when people will ask for it. Yagni.


Fix styling on production page

production (cookietemplate) page applies css that shouldn't be applied to the navbar and the entire page not just the card

idea: use iframes to isolate card and form from eachother, use js or css magic to make card iframe full page when printing so that it renders properly

Not relevant as templates will be switched to svgs which are self contained


Show birate for AAC default VBR presets

This is the way foobar shows it, however this program is different and doesn't have a slider and relies on names, which I am fine with, however It would be much better if the presets for True VBR Quality had their bitrates on their names (unless I am reading wrong and it's actually 109kbps~)
Foobar2K

BatchEncoder

@dragons4life You can use Configure presets dialog to change preset names for your liking. https://github.com/wieslawsoltes/BatchEncoder#configure-presets
You can load and save presets, load and save format too.
Default formats are here: https://github.com/wieslawsoltes/BatchEncoder/tree/master/formats/encoder and here https://github.com/wieslawsoltes/BatchEncoder/blob/master/config/BatchEncoder.formats you can edit both for you liking too.
If you are interested you can edit above formats and presets and submit PR with changes.

Do I have to edit both or just one? I couldn't find the kbps for AAC Nero's "quality 0.00" and also don't know which of the aac encoders is FAAC, doesn't look to be like FDK's, is it the ffmpeg one?

AAC Nero's "quality 0.00"
https://github.com/wieslawsoltes/BatchEncoder/blob/master/config/BatchEncoder.formats#L203
https://github.com/wieslawsoltes/BatchEncoder/blob/master/config/BatchEncoder.formats#L385
https://github.com/wieslawsoltes/BatchEncoder/blob/master/formats/encoder/NERO_M4A.format#L4
https://github.com/wieslawsoltes/BatchEncoder/blob/master/formats/encoder/NERO_MP4.format#L4
Please edit both. Copy and paste from format file to config/BatchEncoder.formats.
Please also check the indentation to be same as original. I have corrected it in your previous PRs.

@dragons4life Ok I have fixed PRs indentation. Please do not make any changes (you can, but you need update your branches).

For some reason I though the indentations would of just add by themselves thanks for adding them and sorry don't really know much about github and whatnot, what do you mean by updating my branches?

I have made changes in your git PR branches. You need to pull changes to sync git branches, otherwise you will get errors. But if nothing more is to changes leave them as is and I will merge them to my master branch. After that you can delete patch branches.

Did that do the trick? thanks for helping me on this github journey

No problems. I have merged your PR into master branch. Thank you for contribution. It will be part of v1.4 release.
After CI builds finish you can download nightly version here https://ci.appveyor.com/project/wieslawsoltes/batchencoder/build/artifacts


Does build command right for production ?

I believed the build was right for production but after some research it's not that clear:

Straightforward command line tool to setup a development environment for modern JavaScript.

Sounds cool for production: #49
Hu!  may be not: #46

Actually I'm confused on how I should declare staticFiles in my bundled express app and I need to package (deb/rpm/whatever) my dist directory:
const publicPath = __dirname + '/../public';

In that case the dirname is injected and the path is relative to source code, so it can't work.
const publicPath = getARelativePathFromConfig(); // e.g. './public'

Here, the path is relative to the context defined for webpack and is hardcoded  by kotatsu, it won't work neither.

I think the simple solution is to not force webpack.context and give a default value.
I don't know for __dirname and __filename, it doesn't make sense to refer to source code. But it can be very confusing to change this behavior.

Oups, I just figured out, I'm wrong about the context: a bundled package still needs its dependencies to be installed in order to run so it make sense to have the same path as kotatsu working directory.
My case can be closed but, I still need an answer about production ready ;)


How to display TreeView backed by a Vec of Rust objects

Examples show how to bind a ListStore or TreeStore to a TreeView, but it seems like this relies on the store being the source of truth for this data, and the data to be stored as separate Values in separate columns.
What I'm missing is how to use Rust-native type as the data source for a TreeView, especially if the TreeView is sortable.
My data lives in a Vec<RustStruct>, and I'd like to display some of the fields of that struct in TreeView's columns.
I can't find a way reliably connect the Vec to the ListStore or use it as the data source for the TreeView. My naive approach of mapping vec[n] to n-th row of the ListStore worked only for non-sortable view, but as soon as the view is sorted, Vec indices don't correspond to ListStore rows any more, so I can't update them (without searching the whole list store for a matching row).
I've tried wrapping my RustStruct to be a GObject subclass:
    let store = ListStore::new(&[RustStructGObjectWrapper::static_type()]);
    tree.set_model(Some(&store));

    // creates 3 columns here

but it seems like ListStore wants 1:1 mapping between number of columns in the ListStore:

'assertion failed: columns.len() <= n_columns as usize'

I hoped that TreeViewColumnExt::set_cell_data_func would let me have one object per row, and copy its properties into separate columns of the TreeView, but apparently that's not the way to do it.

So it would be helpful for me to see an example of how to go from struct Model {column1:RefCell<String>, column2:RefCell<String>}; Vec<Model> to a sortable TreeView that displays model's fields, and can update them in the UI when they change.

I used sortable trees in process-viewer and bound the sort to "hidden" columns. Here are the lines that might be interesting for you: https://github.com/GuillaumeGomez/process-viewer/blob/master/src/display_procs.rs#L66-L75 and https://github.com/GuillaumeGomez/process-viewer/blob/master/src/display_procs.rs#L177-L180

But this is the thing I'm struggling with: you're storing the data in the ListStore. I have my data in a Vec.
You're filling the store once, fully, with insert_with_values, and don't seem to update later.

I actually do here: https://github.com/GuillaumeGomez/process-viewer/blob/15e9252f096f831adda747cb693f0d5c27c1ecab/src/process_viewer.rs#L100-L116

So that's a linear search. It's going to be O(n^2) for me, because in my program I emit an event "7th row of the Vec changed, 3rd row of the Vec changed, 11th row of the Vec changed". If I use an iter to scan through entire model each time to find where my Vec's data ended up in, it'll be super slow.
I have my expectations set by Cocoa, where I can say "treeview.column1 binds to mymodel.field1" and vec[7].field1.set() sends a message to treeview.column1 to update itself.

You can try the other way around: using a vec of references to the liststore. Then no need to bind data twice.

Does the TreeIter survive sorting? i.e. if it was iter of 0th row, and user reverses sorting, is it going to update last row?

Good question... I'm pretty sure you can have access to the data location directly, never looked how however. If you find out, please tell me. :3

gtk_list_store_set_valuesv: assertion 'iter_is_valid (iter, list_store)' failed

Nope, I can't store iters.

I think I've got a solution:

Use an unsorted ListStore for 1:1 relationship with Vec, and copy data back and forth using index<>row mapping
Prevent ListStore from being mixed up by wrapping it TreeModelSort https://stackoverflow.com/a/19063670/27009


Remerge the rebased "Lookup API to keyserver v2"

The changes are exactly the same as https://github.com/yahoo/end-to-end/pull/62, this PR is meant to rebase the changes, and clean up the commit log.

remerging


Implement the CLI

Is your feature request related to a problem? Please describe.
The app currently crashes upon execution if not applied a flag like --stdio
Describe the solution you'd like
Implement a proper CLI and start the app by default with --stdio. The CLI should display a help menu with --help with different methods available like --node-ipc, etc...
Describe alternatives you've considered
Yargs looks promising and easier than Commander.
Additional context
Not urgent.

Now that the server is written in Python here is a nice sample from pygls
It might not need to support all of those options but some help menu instead of crashing upon first execution would be much better.
def add_arguments(parser):
    parser.description = "simple json server example"

    parser.add_argument(
        "--tcp", action="store_true",
        help="Use TCP server"
    )
    parser.add_argument(
        "--ws", action="store_true",
        help="Use WebSocket server"
    )
    parser.add_argument(
        "--host", default="<IP_ADDRESS>",
        help="Bind to this address"
    )
    parser.add_argument(
        "--port", type=int, default=2087,
        help="Bind to this port"
    )


Granularized GeoServices tests so we know which one is failing

Simple restucturing of GeoServices tests.

It is exactly the same tests but I put individual it() tests in a describe() grouping instead. The diff is horrible and you cannot see the actual changes.

Diff is much more readable if you ignore whitespace. Append "?w=1" like this.
Or install chrome extension to automatically do it for all diffs.

@Mergifyio update


test: test [run-int-tests]

Test

Codecov Report

Merging #882 (9e3f5c4) into develop (7ba40a3) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff            @@
##           develop     #882   +/-   ##
========================================
  Coverage    87.80%   87.80%
========================================
  Files           27       27
  Lines         1886     1886
========================================
  Hits          1656     1656
  Misses         230      230


koord-manager: add batch resources on NRT

Ⅰ. Describe what this PR does

koord-manager:

batch resources support zone-level overcommitment.
Move the amplification according to the cpu normalization ratio inside the BatchResource plugin.

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
NUMA-level batch resources should be updated on the NRT like:
apiVersion: topology.node.k8s.io/v1alpha1
kind: NodeResourceTopology
metadata:
  annotations:
    kubelet.koordinator.sh/cpu-manager-policy: '{"policy":"none"}'
    node.koordinator.sh/be-cpu-shared-pools: '[{"socket":0,"node":0,"cpuset":"0-15"}]'
    node.koordinator.sh/cpu-basic-info: '{"cpuModel":"Intel(R) Xeon(R) Platinum XXX CPU @2.50GHz","hyperThreadEnabled":true, "turboEnabled":true, "vendorID":"GenuineIntel"}'
    node.koordinator.sh/cpu-shared-pools: '[{"socket":0,"node":0,"cpuset":"0-15"}]'
    node.koordinator.sh/cpu-topology: '{"detail":[{"id":0,"core":0,"socket":0,"node":0},{"id":1,"core":0,"socket":0,"node":0},{"id":2,"core":1,"socket":0,"node":0},{"id":3,"core":1,"socket":0,"node":0},{"id":4,"core":2,"socket":0,"node":0},{"id":5,"core":2,"socket":0,"node":0},{"id":6,"core":3,"socket":0,"node":0},{"id":7,"core":3,"socket":0,"node":0},{"id":8,"core":4,"socket":0,"node":0},{"id":9,"core":4,"socket":0,"node":0},{"id":10,"core":5,"socket":0,"node":0},{"id":11,"core":5,"socket":0,"node":0},{"id":12,"core":6,"socket":0,"node":0},{"id":13,"core":6,"socket":0,"node":0},{"id":14,"core":7,"socket":0,"node":0},{"id":15,"core":7,"socket":0,"node":0}]}'
    node.koordinator.sh/reservation: '{}'
    node.koordinator.sh/system-qos-resource: '{}'
  labels:
    app.kubernetes.io/managed-by: Koordinator
  name: test-node
  ownerReferences:
  - apiVersion: v1
    blockOwnerDeletion: true
    controller: true
    kind: Node
    name: test-node
topologyPolicies:
- None
zones:
- name: node-0
  resources:
  - allocatable: "16"
    available: "16"
    capacity: "16"
    name: cpu
  - allocatable: "6159"
    available: "6159"
    capacity: "6159"
    name: kubernetes.io/batch-cpu
  - allocatable: 32305492Ki
    available: 32305492Ki
    capacity: 32305492Ki
    name: kubernetes.io/batch-memory
  - allocatable: 64610984Ki
    available: 64610984Ki
    capacity: 64610984Ki
    name: memory
  type: Node

Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/hold for UTs

/unhold

/lgtm


Gulp Plugin for Sitespeed rules

Adds a plug-in that checks against sitespeed.io performance rules for rule violations that may be slowing down the website. Full list of rules are here. I disabled some rules on caching that we couldn't do much about on the front-end, but feel free to comment if you think a rule should be off or on.
~~ This plugin will fail when run because some clean up is needed. ~~
Additions

Adds sitespeed.io plugin with performance rules for Flapjack

Testing

run gulp test:perf

Review

@anselmbradford
@sebworks
@jimmynotjim

The test name is just test:perf but the instructions say test:acceptance:perf. Which is correct?

It got changed to test:perf in code review here https://github.com/cfpb/cfgov-refresh/pull/1032#discussion_r40609536

Ha, sorry, I didn't open the out of date diffs

LGTM :+1:, now to fix all those errors :disappointed_relieved:

Sorry, one more thing. Could you add instructions in TEST.md above Accessibility Testing?
Also, if you want this run with gulp test, it can be chained to the end:
gulp.task( 'test',
  [
    'lint',
    'test:unit',
    'test:acceptance',
    'test:perf'
  ]
);

Not sure if we want it to fail Travis if it doesn't pass or leave it ad-hoc. Since it's only the homepage (right?) we may want it ad-hoc and add a command-line flag later to specify different pages.

Good call. I'll add instructions.
It's actually the homepage and every page on the navigation and footer. It crawls with a depth of 1. I'd leave it off gulp:test for now until the tests pass because having all the builds fail on Travis might cause us to miss things.

Sounds good!

Added documentation!

:+1:


Callback is never called

    const client = new Twitter({
      consumer_key: consumerKey,
      consumer_secret: consumerSecret,
      access_token_key: accessToken,
      access_token_secret: accessTokenSecret,
    });

    client.get('statuses/home_timeline', {
      count: 100,
      exclude_replies: true,
    }, function(error, tweets, response) {
      this.tweets = tweets;
    });

This is running in an electron application. The callback passed in to get is never getting called. When I look at network traffic using Charles, I don't see any calls to the twitter API.

disregard


Support for .ignore/.include files when compiling

http://docs.spark.io/cli/#running-from-source-advanced-spark-compile

This has been implemented in 2b84505bee5ef74d403c6e92900f11abbe65dda2


Storage::path undefined

Laravel Version: 9.46.0
PHP Version: 8.2.0
Database Driver & Version: N/A

Description:
Here i found a file diff of a commit
That removed Storage::path
The Doc said: Storage::path to get the path string.
It is conflicted.
Steps To Reproduce:

And #44851 said this.

Is that a merge issue or a provider removal?

I think it is still here

I've just opened #45517, which should fix this for you.


Database in Main_PCA_Pops.m

Hi,
I was trying to run the codes in Main_PCA_Pops.m which uses the Load_Database_final function to load the Lazaridis_full dataset.
However, it seems that the dataset is not in this GitHub page.
Is the dataset accessible in another location ?

Github wouldn’t let me upload these files, which are really large.
I now copied them here
https://drive.google.com/drive/folders/1G9769_PyhZP0us4p48Vu-QWECQR2Oufi?usp=share_link
hopefully, its all there
From: Jeremy Selva @.>
Sent: Sunday, November 27, 2022 8:48 AM
To: eelhaik/PCA_critique @.>
Cc: Subscribed @.***>
Subject: [eelhaik/PCA_critique] Database in Main_PCA_Pops.m (Issue #9)
Hi,
I was trying to run the codes in Main_PCA_Pops.m which uses the Load_Database_final function to load the Lazaridis_full dataset.
However, it seems that the dataset is not in this GitHub page.
Is the dataset accessible in another location ?
—
Reply to this email directly, view it on GitHub https://github.com/eelhaik/PCA_critique/issues/9 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXRSULJD4FWNA7WFHS3W5TWKMG4ZANCNFSM6AAAAAASMMN2TM .
You are receiving this because you are subscribed to this thread.  https://github.com/notifications/beacon/ACXRSUPBTLI332P5FJPQDTTWKMG4ZA5CNFSM6AAAAAASMMN2TOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHFOV5AFI.gif Message ID: @.*** @.***> >

Thank you. I have managed to download it successfully.


Trinkets Support: Trinkets are destroyed when unable to return

I've been testing around, and I've found that when a grave is collected by a Create mod Deployer on a contraption [an entity with inventory, but no trinket slots] my grave gets collected but my trinkets (backpack, goggles) are destroyed with no trace.
Looking at the code in TrinketsSupport.java, I see that an item is spawned when it can't find a trinket slot. Something could be going on in the check? I can't reproduce this on singleplayer, only on a dedicated server.

Looking at the code for deployers, I think that the way Trinkets adds it's slots means that deployers do have slots (which is why the items don't just go onto the ground) but aren't built to properly support them, meaning when the deployer is broken it doesn't know it also needs to drop Trinkets, and they're just deleted. Normally this isn't an issue, since there aren't many situations where a deployer would be given trinkets, but obviously this is one of them.
Deployers shouldn't be able to access gravestones anyway though, so I've just added some code that stops that, which means this is now "fixed". New version (assuming you're using 1.20.1) is here.


How to disable the reverse inspect ?

Hi, I'm starting to get bothered by the new feature "reverse inspect", it's moving me in my code and I spend time always to come back where I was and I didn't find any way to disable this feature. Can you please let me know if there is a way to disable this feature ?

We don't have a dedicated preference for this, but setting 'livedev.wsport' to null should do the trick as websocket for reverse inspect won't be created in that case.

Just realized it might not work. Let us work on this to expose a preference.

Same problem here. I want to disable this feature but i can't...

Same problem here,
its really starting to annoy me, when I'm working on a section at the bottom of my website, that has the same class as one at the top of my website, and then the browser always jumps to the top.
But I also wouldn't want to work without live preview ...
Well then.
I'm downgrading again.

Same here! I thought I was the only one super annoyed by it. I was annoyed within the first 5 minutes of using it. Shame, because I liked the other updated features.

Another request to PLEASE give us a way to turn reverse inspect off. Can't think of any situation where I would want to have to sift through my code to find out where I was, just because I happened to click on an element in the browser. SUPER annoying.

Any progress on this? Thought Enable/Disable default extensions in 1.10 would mean that I could turn this off. But not seeing it.

does this work with the livedev.multibrowser true


error launching kernel

I'm seeing
 {"Kernel pid terminated",application_controller,"{application_start_failure,ielixir,{bad_return,{{'Elixir.IElixir',start,[normal,[]]},{'EXIT',{undef,[{erlzmq_nif,context,[1],[]},{'Elixir.IElixir',start,2,[{file,\"lib/ielixir.ex\"},{line,13}]},{application_master,start_it_old,4,[{file,\"application_master.erl\"},{line,273}]}]}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,ielixir,{bad_return,{{'Elixir.IElixir',start,[normal,[]]},{'EXIT',{undef,[{erlzmq_nif,context,[1],[]},{'Elixir.IElixir',start

I apologize if this report is naive - i'm just learning elixir.

@elbamos include system information, your elixir/erlang/notebook version... very little information to go on.
are you sure you followed the setup instructions correctly?

{"Kernel pid terminated",application_controller,"{application_start_failure,ielixir,{bad_return,{{'Elixir.IElixir',start,[normal,[]]},{'EXIT',{undef,[{erlzmq_nif,context,[1],[]},{'Elixir.IElixir',start,2,[{file,"lib/ielixir.ex"},{line,13}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,ielixir,{bad_return,{{'Elixir.IElixir',start,[normal,[]]},{'EXIT',{undef,[{erlzmq_nif,context,[1],[]},{'Elixir.IElixir',start
Crash dump is being written to: erl_crash.dump...done
Traceback (most recent call last):
File "/Users/vsanghvi007/anaconda/bin/jupyter-console", line 5, in
app.main()
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/jupyter_core/application.py", line 267, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/traitlets/config/application.py", line 652, in launch_instance
app.initialize(argv)
File "", line 2, in initialize
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/jupyter_console/app.py", line 137, in initialize
self.init_shell()
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/jupyter_console/app.py", line 110, in init_shell
client=self.kernel_client,
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/traitlets/config/configurable.py", line 412, in instance
inst = cls(*args, **kwargs)
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/jupyter_console/ptshell.py", line 251, in init
self.init_kernel_info()
File "/Users/vsanghvi007/anaconda/lib/python2.7/site-packages/jupyter_console/ptshell.py", line 305, in init_kernel_info
raise RuntimeError("Kernel didn't respond to kernel_info_request")
RuntimeError: Kernel didn't respond to kernel_info_request
I am getting this error even after following the instruction. Any workaround? Thanks you.

@elbamos @vikrantsanghvi can you test the issue one more time on the new release?


Clarification on Using Jmx Notifications in Jolokia 2

Hi, from what I understand in that documentation: https://jolokia.org/reference/html/manual/jolokia_protocol.html#notification-add
I'd be able to add a notification listener using java MBeanServerConnection().addNotificationListener, I have this code below, I'm using jolokia jvm agent 2.1.1 in server side and jolokia jmx adapter 2.1.1 in client side, using java 17 and spring boot 3:
public void addStorageServiceListener(final UUID nodeID, final NotificationListener listener)
        {
            JMXConnector nodeConnection = myDistributedJmxConnectionProvider.getJmxConnector(nodeID);
            boolean isConnectionAvailable = validateJmxConnection(nodeConnection);
            if (isConnectionAvailable)
            {
                try
                {
                    nodeConnection.addConnectionNotificationListener(listener, null, null);
                    nodeConnection.getMBeanServerConnection().addNotificationListener(myStorageServiceObject, listener, null, null);
                }
                catch (InstanceNotFoundException | IOException e)
                {
                }
            }

But it's returning this error:
java.lang.UnsupportedOperationException: addNotificationListener not supported for Jolokia

Am I doing something wrong? The first step in the documentation says that I need to register a client and I'm doing this, but I don't understand where should I use this clientID to use .getMBeanServerConnection().addNotificationListener(), can you please clarify this?

I'm not sure, but I think JMX Notification is not supported for Jolokia JSR-160 connectors, but only directly via Jolokia's REST-like API and in the JavaScript client library.
One reason for this is that JSR-160 support for Jolokia 1.x was developed parallel to Jolokia 2.0 (which included the new notification support).
I'm not so deep in the weeds anymore, but @skarsaune & @grgrzybek is my assessment correct ?

Correct, notifications were not part of the scope then. We can look into it.

https://jolokia.org/reference/html/manual/jolokia_protocol.html#notification-add is about JSON protocol extension to support notifications.
Maybe we can clarify it a bit more in documentation (but not much more)...
The point is - Jolokia agent running within JVM exposes the MBeans over HTTP+JSON. Before Jolokia 2 you could execute operations, read/write attributes, search and list MBeans.
In Jolokia 2 you can additional register listeners using JavaScript and JSON within this JVM. Roughly after you:

register a client for notifications by sending to <base-url>/notification/register this JSON:

{
  "type": "notification",
  "command": "register"
}

get a response with "client id" and mechanisms to retrieve the notifications:

  "value": {
    "backend": {
      "pull": {
        "maxEntries": 100,
        "store": "jolokia:type=NotificationStore,agent=<IP_ADDRESS>-21185-7e985ce9-servlet"
      },
      "sse": {
        "backChannel.contentType": "text/event-stream",
        "backChannel.encoding": "UTF-8"
      }
    },
    "id": "d77475dc-c7a7-4f71-b988-52b7f0252ca3"
  },

register a listener for particular MBean using received "client id" by sending to <base-url>/notification/add this json:

{
  "type": "notification",
  "command": "add",
  "client": "d77475dc-c7a7-4f71-b988-52b7f0252ca3",
  "mode": "pull",
  "mbean": "JMImplementation:type=MBeanServerDelegate",
  "filter": [],
  "handback": "id-1234"
}

get a response with "handler" (equals to 2 here):

{
  "request": {
    "mode": "pull",
    "mbean": "JMImplementation:type=MBeanServerDelegate",
    "client": "d77475dc-c7a7-4f71-b988-52b7f0252ca3",
    "type": "notification",
    "handback": "id-1234",
    "command": "add"
  },
  "value": "2",
  "status": 200,
  "timestamp":<PHONE_NUMBER>
}

you can get them (open) using:
$ curl -i -u jolokia:jolokia 'http://localhost:8080/jolokia/notification/open/d77475dc-c7a7-4f71-b988-52b7f0252ca3/sse'
HTTP/1.1 200
Cache-Control: private
Content-Type: text/event-stream;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 13 Dec 2023 15:49:39 GMT

:
:
:
:
:
id: 363
data: {"dropped":0,"handle":"2","handback":null,"notifications":[{"timeStamp":1702482067031,"sequenceNumber":363,"userData":null,"mBeanName":{"objectName":"Catalina:J2EEApplication=none,J2EEServer=none,WebModule=\/\/localhost\/,name=jsp,type=JspMonitor"},"source":{"objectName":"JMImplementation:type=MBeanServerDelegate"},"message":"","type":"JMX.mbean.unregistered"}]}

id: 364
data: {"dropped":0,"handle":"2","handback":null,"notifications":[{"timeStamp":1702482067031,"sequenceNumber":364,"userData":null,"mBeanName":{"objectName":"Catalina:J2EEApplication=none,J2EEServer=none,WebModule=\/\/localhost\/,j2eeType=Filter,name=Tomcat WebSocket (JSR356) Filter"},"source":{"objectName":"JMImplementation:type=MBeanServerDelegate"},"message":"","type":"JMX.mbean.unregistered"}]}
...

each entry (in text/event-stream kind of response) contains notification data including handle id related to particular listener for chosen MBean.
So https://jolokia.org/reference/html/manual/jolokia_protocol.html#notification-add is about HTTP/JSON access to notifications within JVM.
On the other hand your example with nodeConnection.getMBeanServerConnection().addNotificationListener() is related to https://jolokia.org/reference/html/manual/architecture.html#proxy-mode where you effectively access one JVM through another JVM, where the one you use directly (proxy) accepts HTTP/JSON messages and translates them to actual JMX/RMI protocol to access the target JVM.
I hope this clarifies the picture.
Thanks @rhuss @skarsaune for feedback!

Hi guys!
Thanks for the clarification and quick response!

@VictorCavichioli : I assume we would have to make the adapter stateful and see what frameworks we have available or need to add to support consuming server side events.

I agree with @skarsaune - ultimately, the target JVM would need to store the notification events to be picked up in pull style from JVM where Jolokia agent is present...
I don't think it's an easy implementation, but if you have any prototype, I'd be happy to review it ;)


Remove gerrit setup scripts2

From my experience, there is usually no setup scripts required to
configure your Git environment when using Github to host your project.
However, when Gerrit and an external git repository is used not hosted
on Github's servers, then there are necessary steps to get up and
running.
This is usually automated in the form of scripts. I removed these
scripts since they were preventing me from submitting new changes due to
the git hooks.
When I go to run:
git commit
I get the following:
Your work tree has not been configured for SimpleITK development.
Paste the following commands into a shell:

 ./Utilities/SetupForDevelopment.sh

See https://www.itk.org/Wiki/ITK/Git/Develop for more details.

When running the SetupForDevelopment.sh script, I got the following message:
We advise setting git://itk.org/SimpleITK.git as your origin.
Recreated pull request so that topic branch comes from master branch instead of next
Reference this pull request: https://github.com/SimpleITK/SimpleITK/pull/313

I did not make any changes to this because I basically removed the Gerrit stuff. This should be a good first step for the scripts that can be updated afterwards.
Here is a summary of what it does:

Only the hooks are setup now. The other scripts were specific to Gerrit I believe.
Instead of pulling the hooks from the ITK repository, they are now sourced locally. This is because the repository scripts are specific to Gerrit.
Local ones are contained in Utilities/Hooks/*. The KWstyle check and Python JSON validation are still contained. The pre-commit, commit and commit-msg functionality is still the same but without any Gerrit specific information.

I have tested this on a fresh clone and it worked for me.

Please see #323 for a more focused patch.


Sankey plot updates

Hi @georgezakinih , this is the Sankey plot with the description updated.
Thank you.

@georgezakinih Hi George, this is to show we can do it


Can't start spyder

Spyder suddenly stopped launching. Console message appears for a second, the error message is copied below:
File "C:\Python27\Scripts\spyder-script.py", line 5, in
from pkg_resources import load_entry_point
File "build\bdist.win32\egg\pkg_resources_init_.py", line 3038, in <module
File "build\bdist.win32\egg\pkg_resources_init_.py", line 617, in build_m
ter
File "build\bdist.win32\egg\pkg_resources_init.py", line 630, in build_f
m_requirements
File "build\bdist.win32\egg\pkg_resources_init.py", line 808, in resolve
I've already tried re-installing pythonxy, spyder still doesn't run

Try to open a terminal (cmd.exe) and run
spyder --reset

Other than that, I don't know how to help you because I don't see anythong related to Spyder in the error you pasted.
Please report this problem with PythonXY maintainers to see if they can help you.


Zookeeper: Make Create+Put on a new znode atomic

Writes to a new Zookeepr znode should take advantage of Zookeeper's
atomic create + write primitive. If not, it is possible that a read
that was triggered by a watch will return an empty string. The previous
workaround for this does not always work (e.g., when an empty string
is returned due to a race) and can potentially cause call-stack overflow.
This change-set fixes this race and removes the workaround.
It also adds a call to Zookeepeer's Sync() on a Get operation,
only when an empty string (or SOH) is returned to guard against an older
version of libkv doing create+write in a non atomic fashion.
This change-set addresses github.com/docker/swarm/issues/1915
Signed-off-by: Amir Malekpour<EMAIL_ADDRESS>

I'm not familiar with this repo. CI is failing for last few PRs.
0.08s$ script/travis_consul.sh 0.6.3
--2017-02-24 01:32:49--  https://releases.hashicorp.com/consul/0.6.3/consul_0.6.3_linux_amd64.zip
Resolving releases.hashicorp.com (releases.hashicorp.com)... <IP_ADDRESS>
Connecting to releases.hashicorp.com (releases.hashicorp.com)|<IP_ADDRESS>|:443... connected.
Unable to establish SSL connection.

Ping @docker/core-libkv-maintainers.
CI is also failing.

@dongluochen my PR fixes it https://github.com/docker/libkv/pull/154

@nishanttotla We've merged this in our production repository and I can confirm it has fixed the issue. I think the patch is ready to merge at is.

@amirma thanks for the prompt reply! Seems like your build is failing. Could you take a look at that? It would be nice to merge this.

@nishanttotla I just pushed another build  and it  failed due to a new (I believe infrastructure-related) reason. Any insights?

It seems like some package paths/locations may have changed:
27.62s$ go get -t -v ./...
github.com/stretchr/testify (download)
github.com/boltdb/bolt (download)
github.com/hashicorp/consul (download)
github.com/coreos/etcd (download)
github.com/coreos/go-semver (download)
github.com/ugorji/go (download)
Fetching https://golang.org/x/net/context?go-get=1
Parsing meta tags from https://golang.org/x/net/context?go-get=1 (status code 200)
get "golang.org/x/net/context": found meta tag main.metaImport{Prefix:"golang.org/x/net", VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at https://golang.org/x/net/context?go-get=1
get "golang.org/x/net/context": verifying non-authoritative meta tag
Fetching https://golang.org/x/net?go-get=1
Parsing meta tags from https://golang.org/x/net?go-get=1 (status code 200)
golang.org/x/net (download)
github.com/samuel/go-zookeeper (download)
github.com/docker/libkv/store
github.com/boltdb/bolt
github.com/hashicorp/consul/vendor/github.com/hashicorp/go-cleanhttp
github.com/hashicorp/consul/vendor/github.com/hashicorp/serf/coordinate
github.com/coreos/etcd/pkg/pathutil
github.com/coreos/etcd/pkg/types
github.com/coreos/go-semver/semver
github.com/ugorji/go/codec
golang.org/x/net/context
github.com/docker/libkv
github.com/stretchr/testify/vendor/github.com/davecgh/go-spew/spew
github.com/stretchr/testify/vendor/github.com/pmezard/go-difflib/difflib
github.com/stretchr/testify/vendor/github.com/stretchr/objx
github.com/samuel/go-zookeeper/zk
github.com/coreos/etcd/version
github.com/hashicorp/consul/api
github.com/stretchr/testify/assert
github.com/docker/libkv/store/boltdb
github.com/docker/libkv/store/zookeeper
github.com/stretchr/testify/mock
github.com/docker/libkv/testutils
github.com/docker/libkv/store/mock
github.com/docker/libkv/store/consul
github.com/coreos/etcd/client
github.com/docker/libkv/store/etcd
0.08s$ script/travis_consul.sh 0.6.3
--2017-02-24 01:32:49--  https://releases.hashicorp.com/consul/0.6.3/consul_0.6.3_linux_amd64.zip
Resolving releases.hashicorp.com (releases.hashicorp.com)... <IP_ADDRESS>
Connecting to releases.hashicorp.com (releases.hashicorp.com)|<IP_ADDRESS>|:443... connected.
Unable to establish SSL connection.
unzip:  cannot find or open consul_0.6.3_linux_amd64.zip, consul_0.6.3_linux_amd64.zip.zip or consul_0.6.3_linux_amd64.zip.ZIP.
script/travis_consul.sh: line 18: ./consul: No such file or directory

Ping @docker/core-libkv-maintainers, the CI might need fixing.

The fix is included to my fork: abronan/libkv along with other patches, thanks @amirma.

@abronan should we merge this PR, or might it need more changes? I think this is useful and fixes a long standing issue.

@nishanttotla I think it is safe to merge it yes, just merge the other PRs that are fixing the build first (the commit history on my fork could be of help).


Code review IBuildPropertyProvider

Context is here https://github.com/projectkudu/kudu/commit/5eb7282e531904e66124e96b491d6d633a9053e6

Hi
Kudu will continue to run in Azure App Service. However, this repo will no longer be maintained.
If the problem persists and is related to running on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


[QST]When will spark-rapids for ML be released for trial use?

What is your question?
The rapids library has implemented many ML methods through the cuml module, but currently it is not possible to call cuml through spark-rapids. I know that you have been working hard to open up this area, and I have been paying attention to this. So I want to know how the progress is, and when will the ML feature be released? Even just implement some simple Logistics Regression and K-means algorithms.
In addition, I wonder if you are considering re-implementing rapids or cuml through scala or java for use in the form of jar packages. The use of rapids is just like directly importing the corresponding module in python.
Looking forward to your answer.

Hi, I have a couple of clarifying questions:

Are you looking to use SparkMLlib APIs that leverages cuML algorithm similar to Spark-rapids leveraging cuDF?
If not, are you looking to use cuML libraries inside a Spark cluster, similar to this blog post (https://medium.com/rapids-ai/managing-and-deploying-high-performance-machine-learning-models-on-gpus-with-rapids-and-mlflow-753b6fcaf75a)?
Thanks
Karthik

Hi, I have a couple of clarifying questions:
1. Are you looking to use SparkMLlib APIs that leverages cuML algorithm similar to Spark-rapids leveraging cuDF?

2. If not, are you looking to use cuML libraries inside a Spark cluster, similar to this blog post (https://medium.com/rapids-ai/managing-and-deploying-high-performance-machine-learning-models-on-gpus-with-rapids-and-mlflow-753b6fcaf75a)?
   Thanks
   Karthik

Yes，I want to use the cuml library, similar to spark-rapids calling cudf. Instead of using cuml through python.

Thanks for the clarification.
This has not been our priority so far primarily because we haven't got any customer requests for this feature.
Let me do some due diligence to understand the effort level on this request.

Thanks for the clarification.
This has not been our priority so far primarily because we haven't got any customer requests for this feature.
Let me do some due diligence to understand the effort level on this request.

Thank you for your reply, so you have not considered providing ML plugin to accelerate SPARK ML via cuml of rapids.

This is now a separate project, see https://github.com/NVIDIA/spark-rapids-ml


Configure Slack to Work

Anyone who has gotten to configure Slack to work?
I get to make Slack notifications work I need to add it to the list of drivers in the config file, then under the slack key under notify key, I specify the special values for Slack env. I have defined these in .env.
To get a Slack App Token, I need to create a new app on Slack? I have created one afterwhich I got a client ID, a secret and a verification token. This verification token is what I should use with in the SLACK_APP_TOKEN .env value or? And for the channel option, can I use a private channel?
Help me, because I have done all these well but no notifications going to Slack. Is there some configuration I am missing or I am doing wrong?

Hello gthuo,
Please take a look at this issue
https://github.com/tylercd100/lern/issues/49

I have got it to work, you just need to use the OAuth Access Token which you can get from the app settings in slack under 'install app'
yes you can use a private channel
https://api.slack.com/docs/oauth


react_component outside of view

Here's a failing test case that demonstrates #634

This change is

@jtibbertsma can you include the fix with the test? CI needs to pass before we can merge.

I'm not sure why CI failed. It seems to have failed during an npm install.

@jtibbertsma Please create a changelog entry. Once tests pass, I'll create a release.

Coverage remained the same at 83.111% when pulling 785ebaca5a30cb72d82980fb10e45a588e3770b9 on jtibbertsma:react-component-outside-of-view into 71dc61ae0b6476c24947d856ec5fb3d4269b6bcf on shakacode:master.

Coverage remained the same at 83.111% when pulling 3c5b51958e89d2573b479f3df421c458950d6ac8 on jtibbertsma:react-component-outside-of-view into 7f859e131937116de3d3d0dedbc1a871ea745c24 on shakacode:master.


Constrain variables based on maxValues

The backend provides this property, but the frontend is not utilizing it.
This is needed to prevent variables with > 8 values from being used as overlay variables, and other similar cases.

Overlay variables are constrained to terms with less than or equal to 8 unique values
Main variables are constrained from use in bar plot, box plot RxC when there is a large # of values (for ex, main drinking water source in GEMS1)

seems OK, but I am waiting on https://github.com/VEuPathDB/web-eda/issues/310 to pass QA before moving this issue to "Complete"

looks good


Current 404 page is the generic GitHub Pages one

I followed a malformed link to one of the pages on github.com/rust-lang and noticed that it appears the current 404 page is the generic one supplied by Pages, whose text is aimed more at the site owners than visitors. It would be fun to have a fun/useful custom Rust 404 page, unfortunately I'm not a web dev and so can't help with this, but I thought I'd point it out FWIW.

https://www.rust-lang.org/there-is-no-page-here
Accidentally fixed it as part of the HTTPS deployment


[lint] Add Verible style lint configuration file

This adds a configuration file for Verible style lint, which has been tailored to our style guide. In particular this configuration allows:

"classic" verilog string parameters without explicit type
ALL_CAPS and CamelCase localparams
nested struct definitions

The line length rule has been relaxed from 100 to 150 chars for the time being, since we get a ton of these violations in generated files. The plan is to restrict this back to 100 once we either have a mechanism in place to waive them for the generated files, or once the generators can guarantee that this rule is not violated anymore.
Reporting of errors and warnings has been improved as well by making sure that both stderr and stdout are taken into account, and by updating the parser regex.
Note that this PR depends on support for configuration source files in Edalize (https://github.com/olofk/edalize/pull/139, https://github.com/lowRISC/edalize/pull/1), so this should not be merged before that functionality has been merged into either the upstream repo or the lowRISC fork.
Related issues: https://github.com/lowRISC/opentitan/issues/1342, https://github.com/lowRISC/opentitan/issues/1727

@hzeller @fangism @mithro FYI

Looks good. How about a sentence or two in https://docs.opentitan.org/doc/ug/design/ and eventually style-guide?

Ok, I have expanded the documentation and I also added installation instructions for Verible. PTAL.

Also, https://github.com/olofk/edalize/pull/139 has been merged today, so we are good to go from the Edalize side as well.

Looks good with a couple of nits!

The line length rule has been relaxed from 100 to 150 chars for the time being, since we get a ton of these violations in generated files. The plan is to restrict this back to 100 once we either have a mechanism in place to waive them for the generated files, or once the generators can guarantee that this rule is not violated anymore.

Please file a follow-up bug for that.
Merge when you're ready. Thanks!

Thanks for giving this a look!
Support for comments has just been added yesterday so we get rid of this TODO right away in this PR.


ARROW-6897: [C++]Fix MakeArrayFromScalar function validity buffer is null bug

Noticed this bug when I want to create Array from scalar, original codes will set null_buf as nullptr, which made this created array invalid.
Signed-off-by: Chendi Xue<EMAIL_ADDRESS>

@xuechendi can you add a unit test to demonstrate what you think the problem is.  validity buffers are allowed to be null in the case when all values of an array are valid.

@xuechendi can you add a unit test to demonstrate what you think the problem is. validity buffers are allowed to be null in the case when all values of an array are valid.

Oh, I am passing all buffers' address of one recordbatch from c++ side to java side, and noticed array created from scalar will fail due to the null validity_buf,(Thought it was a bug), if that is what designed to be, then I can add a check in my jni codes.
May I say, it makes more sense to me to use a all_true validity_buf instead of nullptr here, since people don't need to have this pre-knowledge of nullptr == all valid.


Backport 2.5: Rancher-monitoring installation fails on fresh cluster with crd error

Backport fix for https://github.com/rancher/rancher/issues/32827

@brendarearden or @jiaqiluo , same as https://github.com/rancher/rancher/issues/32827

the fix is validated in rancher v2.5-head 0713103 with Monitoring v2 chart 16.6.0
Steps:

run rancher in single-install mode
provision multiple RKE clusters with various k8s versions and number of nodes
install monitoring v2 into the cluster via the cluster explorer UI

Results:

monitoring is installed successfully without hitting the error mentioned in the issue


Decisions pending feedback

Some controversial-ish design decisions I've made with the fctools API. I'd like some feedback from users about whether these decisions affect their DX and how. This is to prepare for a 1.0 release where these decisions are finalized:

Dependency on nix crate. nix is not an internal dependency, it leaks out into public API with its Uid and Gid newtypes as of 0.5
Very limited (if any) support for dynamic dispatch. With #3, the vast majority of traits in the public API except for CommandModifier which is stored in a Vec<Box<dyn CommandModifier>> are now fully incompatible with dyn. For me, this is inconsequential and provides benefits by not having to run proc macros on impls of these traits, as well as reducing runtime overhead associated with future boxing, but that may not be the case for others.
Ownership limitations. Ownership is the major friction point of Firecracker SDKs, to which there are two solutions: pretend it doesn't exist (see Go SDK) or support the subset of ownership cases that makes maintainers (me) still stay sane. I've chosen the latter and 4 models are supported, which are implemented very well but do not support the "omnipresent host agent god" use-case, where 1 control process running as user A observes jailed VMs that each have a separate non-root user, i.e. B, C, D, E, F etc. Is it necessary for end-users to have this support or is the solution of 1 control process per such user attainable via fork()+setuid()?

nix dependency problem has been basically resolved by having a choice between nix (libc wrapped syscalls) and rustix (direct syscalls) via removing sys-nix default feature.


PlayingError: Invalid regular expression: missing

Please describe your problem in as much detail as possible:
PlayingError: Invalid regular expression: missing error occurred after searching for a song.
Further information:

DisTube version: 3.3.4
discord.js version: 13.6.0
Node.js version: 16.15.1
Operating system: windows 11

This is an error with ytdl-core, you can follow this issue here: https://github.com/fent/node-ytdl-core/issues/1110

This was fixed long time ago with<EMAIL_ADDRESS>Please update your dependencies.

Thanks. ❤


Prefix exports aren't importable

I exported Prefixes, turned around and tried to import and get an error because the export doesn't include all of the fields required for import. I believe this is because none of them had a description entered (because after adding one and exporting again, the right number of fields were  #present).

I'm not able to replicate this behavior; exported prefixes match the import format. Note that the description field is present even if blank.
Could you please provide an example?

Well, I have a copy of the downloaded csv that has the missing commas/fields. However, now that I try to reproduce, it is exporting differently. I'm not sure what triggered it to do that, but I guess you can close this as it is no longer reproducible for me either.


[FLINK-36702][sql-gateway] Introduce ScripExecutor to run the script

What is the purpose of the change
Introduce an executor to run the script.
Brief change log

Introduce printer to print the statement and results on the console.
Introduce executor to run the statement one by one

Verifying this change
Please make sure both new and modified tests in this PR follow the conventions for tests defined in our code quality guide.
This change added tests and can be verified as follows:

Introduce printer test to verify the style.
Introduce ScriptExecutorITCase to verify the execution results: the input contains all kinds of statements

Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Reviewed by Chi on 28/11/24 Group to test and/or review outside of the meeting @tomncooper agreed to look at this offline

Reviewed by Chi on 05/12/24 Need a committer to review / merge. @tomncooper expressed an interest to review

@flinkbot run azure

Welcome for any opinions about this PR @davidradl @tomncooper
But please also note that we should not take too long, as I have other tasks to complete afterward.

@davidradl Do you mind if I merge this PR now? If you have any other questions, we can discuss the details in the JIRA issue.

Merging...


Fix default image name

Thanks a lot (again)!
I've fixed this on master (https://github.com/gechr/WhichSpace/commit/8819cc52) by renaming the directories/files to their lowercase equivalents (which is actually a harder than it may seem when working on a case-insensitive filesystem - I had to format a temporary case-sensitive partition!)


[Bug][Module Name][V1.0.0-Alpha] The timing management list operation button is too small to be clicked accurately.

Search before asking

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

What happened

What you expected to happen
button is too small
How to reproduce
Make the button bigger
Anything else
No response
Version
dev
Are you willing to submit PR?

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

Code of Conduct

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

I will fix it.


[Journey] The scroll is not work in the Journey participants list.

Reproducible: always
Build found: 1.0.80
Preconditions
The "Car" app is opened
The "Search result" is opened
Steps to reproduce

Go to the driver journey
Scroll down/up the list of participants
Pay attention to the result

Actual result
The scroll is not work in the Journey participants list.
Expected result
The list of participants is scrolled up/down


Installation - no Makefile

Hello,
Following the installation steps, under the third step, I executed the 'cmake' command (cmake -DCMAKE_BUILD_TYPE=Release ..), but no Makefile was created.
Thus, when running make I get the error
make: *** No targets specified and no makefile found.  Stop.
Anyone encounter a similar issue?

problem solved by not using a Windows machine (works fine on Ubuntu)


optionally can define endpoint URL

With my changes, the S3 module will be able to support other storage with S3 compatible API's
Fixes: https://github.com/utopia-php/storage/issues/28

I'll check and fix that linter error, but the unit test error looks a bit strange to me. It seems like it's failing to another adapter

@stnguyen90 Please confirm my suspicions, but as I see these lint problems are not related to my changes

unit test error looks a bit strange to me. It seems like it's failing to another adapter

Yes, you can ignore that failing unit test

these lint problems are not related to my changes

The lint problems might be related as it mentions the S3.php file and you modified that file. You can easily fix the lint problems by running the formatter (composer format).

@schneidermr, were you able to test this adapter with a couple of different providers to make sure it works? Can you provide some screenshots of successful tests?

I've to find some free providers for the test because I'm using GCP, but until that here is the demo with Cloudflare R2.
https://github.com/utopia-php/storage/assets/6516698/2a85229d-cc10-4fa0-8d9e-99c7fd46f25c

PR looks good, but we need tests to pass before we can merge.

PR looks good, but we need tests to pass before we can merge.

The authorization header is malformed; a non-empty Access Key (AKID) must be provided in the credential.
https://github.com/utopia-php/storage/blob/5af2bd060e8f3280c6b31f597848b615981519f2/tests/Storage/Device/LocalTest.php#L258

It seems the problem is not in the code.

Checkingthe latest open PRs: it looks like they are all failing the unit tests to to the empty variable.
Are the secrets properly set in the repo and readable by the Action executed on a PR from a non-member?
The latest passing is #105 but the committer is a Contributor.
The secrets are not readable from actions run on pull_request. It's required to set pull_request_target as trigger. Here an example of a repo I own: https://github.com/Vanilla-OS/ABRoot/blob/main/.github/workflows/go-pr.yml#L4C23-L4C23
GitHub doc reference: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories and https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

Nice workaround @lohanidamodar , I hope you don't plan to do this for every PR 😆


Create Break Glass accounts for GCP

Describe the Issue
Accounts are required for break glass use.  Individual accounts are to be created for each 'admin' for this purpose.  We will also have to assess current admin roles and recommend reducing their scope if possible.
Additional Context
https://app.zenhub.com/workspaces/cloud-pathfinder-5e4dbb426c3c6af8dcbf06a7/issues/gh/bcgov/cloud-pathfinder/2507
https://cloud.google.com/resource-manager/docs/super-admin-best-practices
Acceptance Criteria
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.  See below for team agreement details.

[x]  Create sample break glass account in GCP (Super Admin)
[x]  Create login alerts
[x]  Test login/actions and alerts
[ ]  Review current admin general use and create a new Admin role for assignment
[ ]  Review new role with Admins

.
.
.
.
.
.
.
.
.
.
.
Extra Template Info
Definition of Ready
These set of conditions will need to be met in order to bring a ticket into the sprint and start work. Protects the team from unclear requirements.
Issues (Task/Story/Spike) aligned to an EPIC and linked appropriately.
Assigned to the appropriate CPF MEMBER (and is not left blank in ZenHub) at the start of sprint (1st day of the sprint)
Acceptance has been defined for the issue and has been reviewed with CPF team and approved by the necessary approver.
Has been sized and estimated by the delivery team.
Detailed breakdown of the steps required to complete the story in the additional context
Any additional specifications have been documented, reviewed with CPF and approved by the necessary approver.
Acceptance Criteria
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.
It should be testable with no room for interpretation
It should be either “pass” or “fail”
It should be clear enough for business stake holders to understand
As part of the user story, it should be written from the user perspective
A well written acceptance criteria is great for

managing expectations
defining scope
reducing ambiguity
establishing testing criteria for QA
Given (Pre-condition)
When (Action)
Then (Outcome)

Definition of Done
These set of conditions are met for work to be considered as complete on an issue.
All acceptance criteria(s) have been validated.
All the necessary documentation for the issue has been uploaded to Teams.
Functionality has been tested when applicable.
Functionality has been demonstrated to the relevant stakeholders (where applicable).
Story has been scheduled for a Sprint Demo/community update and impacted teams invited to the Demo.
Stories accepted by PO and documented for potential sharing with impacted users.

Documented = Captured in Community Update (CU) deck
Release notes = aspirational goal of providing a bulleted list of features and changes that our users can touch. Was going to store them in our Cloud Pathfinder repo. Can also display to users in the CU

the Review current admin general use and create a new Admin role for assignment task was a bit of a rabbit hole.  To rescope for a future sprint.


Swift: Add storage_policy

Add support for swift storage policies.
Tested against OVH and I can use this to create an PCA containers.
This implements the container creation mentioned in #1603.
Is there a way to add specific automated tests for this? I didn't immediately find a good place it.

I did not generate all the docs, because my pandoc version insisted on rewriting almost all files.


[improve](jdbc catalog) Add a function that does not push down to MySQL: negative

Proposed changes
Issue Number: close #xxx
We noticed that mysql does not have a negative function, so the function pushdown rule prohibits it
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Please add test case

run buildall

run buildall

run buildall

run performance

run buildall

run performance


Propose redesign for the whole reconciliation dialog

This issue aims to combine several open issues within a holistic redesign of the complete dialog (including the left panel focusing on class selection & matching preferences, which is not addressed by other issues at the moment as far as I am aware).
Proposed solution
There are currently several open issues that address different parts of the user workflow within the reconciliation dialog: 1) a proposal for adding a step by step process when selecting a recon service here - Simplify the Services dialog for reconciliation#2916 and 2) further proposals for improving column-to-property mappings here - https://github.com/OpenRefine/OpenRefine/issues/6031 & here - https://github.com/OpenRefine/OpenRefine/issues/6044
This issue will attempt to unify these proposals into a holistic design developed by @Lydiaofficial
Detailed design ideas and feedback will be tracked in the comments.
Alternatives considered
The alternative is not redesigning the whole dialog, but keeping improvements iterative and at small scale. This is also a good alternative for the short term if a larger redesign is considered in scope more for the mid-to-long term.
Additional context
Design happening in the context of the NFDI4Culture funded project to improve reconciliation workflows.

I thought the plan was to go with multi-tab guided dialog, rather than putting it all into one panel?  The upper lower divide seems like exactly a compelling reason to put related things together on one tab, then another tab, then another etc.?

I'd like to add (maybe not for this update, but as wishlist points for the future) the following requirements:

to be able to specify more than one "entity type" (class) as constraint for the matching suggestions [this has appeared in various use cases I was involved in]
to be able to reconcile against lexemes (wikibase:lemma lexemes) and forms (ontolex:representation of forms) in addition to item labels and property values, optionally restricted to one language (dct:language of the lexeme) [this would allow to manually supervise a lexeme or form linking of verticalized text at word level]

@lozanaross thanks a lot for this mock-up! Here are a few suggestions I have about it:

If we are to keep the 4 sections on the same screen, then it would make more sense to me to swap the ones that are on the top right and bottom right. The motivation for this is that the one currently on the top right is the only one that is not about which search fields are sent to the reconciliation service: instead it is about the handling of the candidates that come back. So it would make more sense to me if it was in last position, less prominent, just like it is in the current dialog.
In that same "Auto-matching options" section, I have doubts about introducing radio buttons to replace a checkbox. Intuitively users are able to understand that if a checkbox is not ticked, the negation of its label will apply. By duplicating those we are making them read the same text twice with a negation the second time, so I am worried that this is adding clutter to a dialog that is already pretty dense. If we keep those as separate radio buttons, then I would expect them to be next to each other, instead of being separated by the input field for the cap on the number of candidates, which feels unrelated to me.
The title "Constrain results against entity type (i.e. classification)" can be improved I think. I would propose something simpler, such as "Filter results by type". The verb "to constrain against" does not seem very natural to me, and by using "filtering" we are making it clearer what sort of impact it has on the results. It seems curious to me to have an "i.e." in a form label. I think we should stick to one term to talk about what is currently called "types": if "classes" or "classification" is clearer to our audience, then I am not against switching to that, but we should use that and only that, consistently throughout the tool.
Similarly, "Constrain results against related values in other columns" seems a bit too complicated to me. Again "to constrain against" feels unnatural and also the term "constrain" does not feel very accurate to describe the effect of those settings. In many situations, supplying those properties will not restrict the set of candidates returned, but instead adjust the scores of those candidates to rank them better. So I would prefer something like "Refine the search with other columns", which feels simpler and more accurate.
In the same section, my initial understanding of the "Use only text label" checkboxes was that when clicking this, we would only use textual content from the column to reconcile and ignore other sorts of values (reconciled cells, numbers…). I think that's not what you mean. How about "Use as text label"? (Assuming we are using "text label", see the next point)
The bits of text that come with reconciliation candidates are currently called "names" in the rest of the tool. For instance if you go to the reconcile submenu of the column menu, you'll find facets like "Best candidate's name edit distance". We can switch to something else, but again that should be done consistently in the rest of the tool and documentation. I guess it's largely a matter of taste, but I think "text label" is actually more of a jargon term than "name". For a user not familiar with the terminology of the semantic web, "label" might sound a little bit like "tag" (see for instance how GitHub uses the term in "issue labels"), which could be quite misleading.

@dlindem thanks for chiming in! About selecting multiple types, this is a feature that is actually supported by the underlying protocol but has never been exposed in OpenRefine itself, as far as I am aware. We recently had a discussion about this and decided against adding this support, see #5615. Feel free to chime in there though, it's not necessarily set in stone. For instance, it could be helpful if you bring up (in #5616) the use cases you had (and explain if you would expect that the returned reconciliation candidates would need to match all those types or any of those types, or if you'd need support for more elaborate combinations of types).
Concerning reconciling lexemes, we have a broader about support for lexemes in the Wikibase extension (which would also cover editing) and it's #2240: you are also welcome to mention your own use cases there.

@wetneb thanks for all the detailed feedback! My comments and updated designs below:

If we are to keep the 4 sections on the same screen, then it would make more sense to me to swap the ones that are on the top right and bottom right. The motivation for this is that the one currently on the top right is the only one that is not about which search fields are sent to the reconciliation service: instead it is about the handling of the candidates that come back. So it would make more sense to me if it was in last position, less prominent, just like it is in the current dialog.

Hm, I see, although I was thinking more in terms of user experience vs order of how operations are carried out on the backend, e.g. "what are things users really need to pay attention to" vs "what are optional result filters". The auto-matching really affects user experience with the end results, so I think it needs to be much more prominent than it currently is in the existing design, whereas the effects of the type or column mapping filters are much more opaque to end users, so i thought they can be bundled together. But we can certainly change the order, I don't think there is only one right answer here. I think "filter by type" still could go before column mapping, because what if users have no other relevant columns to map to, it seems like the more basic step before going into extra conditions.

In that same "Auto-matching options" section, I have doubts about introducing radio buttons to replace a checkbox. Intuitively users are able to understand that if a checkbox is not ticked, the negation of its label will apply. By duplicating those we are making them read the same text twice with a negation the second time, so I am worried that this is adding clutter to a dialog that is already pretty dense. If we keep those as separate radio buttons, then I would expect them to be next to each other, instead of being separated by the input field for the cap on the number of candidates, which feels unrelated to me.

OK, I don't feel too strongly about this, I wanted to be more consistent with the 'filter by type' options, but it's fine especially if we choose to go with a stepper approach.

The title "Constrain results against entity type (i.e. classification)" can be improved I think. I would propose something simpler, such as "Filter results by type". The verb "to constrain against" does not seem very natural to me, and by using "filtering" we are making it clearer what sort of impact it has on the results. It seems curious to me to have an "i.e." in a form label. I think we should stick to one term to talk about what is currently called "types": if "classes" or "classification" is clearer to our audience, then I am not against switching to that, but we should use that and only that, consistently throughout the tool.

OK, filter is fine, my logic with constraints was that somehow I imagined types and column mappings were adding "constraints" to the matching operations, but I see it's not exactly like that & if we split out the whole process into steps, then having some common term to unify the steps is not needed. Class is a bit more clear to me than type, but I realize it's a semantic web term that not everyone may be familiar with, so I suggest here that some user testing might help narrow down the best term.

Similarly, "Constrain results against related values in other columns" seems a bit too complicated to me. Again "to constrain against" feels unnatural and also the term "constrain" does not feel very accurate to describe the effect of those settings. In many situations, supplying those properties will not restrict the set of candidates returned, but instead adjust the scores of those candidates to rank them better. So I would prefer something like "Refine the search with other columns", which feels simpler and more accurate.

Sure, I think "Refine the search with other columns" sounds more simple, but may not be clear for all users, because when I think reconciliation, i think - "matching", rather than search, in terms of mental model (although search is a part of matching of course). And I think i was always under the impression, the mappings would indeed introduce restrictions, or filters, but if that's not the case, then we may need to do more work on the results side to communicate better to users what do the scores / ranking actually mean - i think it's really opaque at the moment and personally, i don't really get it.

In the same section, my initial understanding of the "Use only text label" checkboxes was that when clicking this, we would only use textual content from the column to reconcile and ignore other sorts of values (reconciled cells, numbers…). I think that's not what you mean. How about "Use as text label"? (Assuming we are using "text label", see the next point)
The bits of text that come with reconciliation candidates are currently called "names" in the rest of the tool. For instance if you go to the reconcile submenu of the column menu, you'll find facets like "Best candidate's name edit distance". We can switch to something else, but again that should be done consistently in the rest of the tool and documentation. I guess it's largely a matter of taste, but I think "text label" is actually more of a jargon term than "name". For a user not familiar with the terminology of the semantic web, "label" might sound a little bit like "tag" (see for instance how GitHub uses the term in "issue labels"), which could be quite misleading.

OK, let's stick with name if that's the convention. To me 'label' is more explicit, but it's coming from Wikidata bias. Maybe some user testing here could help, too. Agree about the "as" instead of "only". Only was meant to indicate that if users choose this, they can't use properties, too. But this can be communicated with disabling the areas respectively. As indicated in the mockups.
So here is an updated version is we keep it all in one window:

And here is an alternative version if we make it into a stepper:

Once we agree on basic structure / text, @Lydiaofficial can work on improving the overall design and making it conformant to existing styles.

The new design looks great to me.

OK, in that case I think we can proceed with this, and mocking up a more finalized version that is compliant with our design system. I would advise to go with the stepper version. @Lydiaofficial can you work with the sketch above to produce a final version that can be pasted here to be used later on for development?


Policy data collector

Adds policyfile pushes and cookbook artifacts to the data collector

http://wilson.ci.chef.co/job/chef-server-12-trigger-ad_hoc/269/downstreambuildview/

Updated omnibus build with changes as above: http://wilson.ci.chef.co/job/chef-server-12-trigger-ad_hoc/274/downstreambuildview/

Chef Server is working correctly with the last commit. Would be working end-to-end if it weren't for this: https://github.com/elastic/elasticsearch/pull/12068 which makes elasticsearch choke on the solution_dependencies section of the policyfile data, because it has a structure like "cookbook (version)": [ [dependency], ... ] (ex: "apt (4.0.2)": [["compat_resource", ">= 12.10.0"]]). Currently automate works around this limitation with log stash config, so nothing further needs to be done here.


Update README.md to make it clearer how to update the project

The Issue
It was not clear (at least not obvious) how I could update the project.
How This PR Solves The Issue
Make it clearer how to update the project.

Maybe an edit is needed to https://ddev.readthedocs.io/en/latest/users/extend/additional-services/ as well.

I have created a simple PR, though I don't know if there is a way to update all services.


docs: complete example for quick usage

Just a minor change to the Quick Usage example in the README, so that it runs as-is. (mkdocs complains about no site_name defined otherwise).

EDIT 2023-01-26: and a few other typos / docs clarification.

Actually custom templates are relative to the current working directory, see https://github.com/mkdocstrings/mkdocstrings/issues/477 (this needs to be fixed). In the meantime we shouldn't lie about it in the docs, so you should revert the last commit :smile:

ooh, I see. (Yea, truth be told, I was confused by the phrasing in the docs when I was playing around with theme overrides earlier this week. If and when #477 is fixed, can I kindly ask to also update the docs to clarify this? :)
I'll revert the last commit in the meantime!

If and when https://github.com/mkdocstrings/mkdocstrings/issues/477 is fixed, can I kindly ask to also update the docs to clarify this? :)

Of course!


Cell is not editable while query is fetching data

dupe of https://github.com/influxdata/influxdb/issues/15815


TCPListener: unsubscribe asio before socket close

This commit changes TCPListener to unsubscribe asio events
prior to closing the socket and file descriptor.
This prevents events from being reported for closed sockets
due to any race conditions related to socket close and
epoll receiving an event between the socket close request
and the actual close occurring.
See: http://stackoverflow.com/questions/8707601/is-it-necessary-to-deregister-a-socket-from-epoll-before-closing-it

In my limited testing, this change results in less failures in the TCP tests with the following output where the server never accepts a connection:
**** FAILED: net/TCPMute
Test timed out without completing
Action never completed: receiver accepted
Action never completed: receiver muted
Action never completed: receiver asks for data
Action never completed: sender sent data
Action never completed: server accept

This failure seems to mostly be due to a combination of fd reuse combined with the lack of unsubscribe before the close which this PR resolves.

Thanks!


The plan for provenance

https://github.com/rust-lang/miri/pull/2059 is nearing completion, so I figured it would make sense to lay down my current plan for the future of provenance in Miri.
My idea is that, by default, we will work in "permissive" provenance mode, implementing as good as we can the angelic from_exposed_addr semantics for int2ptr cast. This is different from now: pointers created in this way get a "wildcard" provenance, and on each access we check if that access happens in the range of some previously exposed provenance. This resolves problems like https://github.com/rust-lang/miri/issues/1866. There also will be no more "untagged" in Stacked Borrows, but instead Stacked Borrows will have support for the "wildcard" provenance and track which tags have been exposed. Meanwhile, if you use addr/ptr::invalid, then the restrictions documented in their spec are actually enforced.
When the program actually executes an int2ptr cast or calls from_exposed_addr, a warning is shown:

warning: this program is using integer-to-pointer casts. This is equivalent to calling from_exposed_addr, which means that Miri might miss pointer bugs in this program.
See https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html for more details on that operation.
To ensure that Miri does not miss bugs in your program, use with_addr instead; see https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance for more details. You can then pass the -Zmiri-strict-provenance flag to Miri, to ensure you are not relying on from_exposed_addr semantics.
To silence this warning, pass the -Zmiri-permissive-provenance flag to Miri.

-Zmiri-permissive-provenance literally just disables the warning.
-Zmiri-strict-provenance turns expose_addr into an alias for addr (i.e., it no longer tracks which pointers have been exposed), and it turns ptr::from_exposed_addr into an alias for ptr::invalid (i.e., the pointers produced that way cause UB when being dereferenced, except for ZST accesses). Or maybe it should just make ptr::from_exposed_addr a hard error? That would be a very clear story ("just make the above warning an error"), but it means code that uses from_exposed_addr but then doesn't actually dereference the pointer stops working. But is there any reason to have such code?
What I am not entirely sure about is what to do with ptr-to-int transmutes (via mem::transmute or other means of type punning). With -Zmiri-strict-provenance they should trigger UB. They should probably also trigger UB by default because we do have to consider these programs buggy. Maybe -Zmiri-permissive-provenance  should allow them, so there is a way for code to opt-out of this particular check? But should that really happen just as a (documented) side-effect of silencing the warning?
TODO:

[x] https://github.com/rust-lang/miri/pull/2059
[ ] Permissive provenance support in Stacked Borrows. @carbotaniuman gave some thought to this already.
[ ] Make addr not expose the provenance. This will require an intrinsic.
[x] Make ptr::invalid always produce a pointer with invalid provenance. We could add an intrinsic, or implement the function via transmute. https://github.com/rust-lang/rust/pull/97219

What I am not entirely sure about is what to do with ptr-to-int transmutes

I guess the alternative would be to just have a dedicated flag for them. That is probably best, though I am a bit worried that we are getting too many flags and people will miss the most relevant ones in a soup of flags.

Maybe we should have a single -Zmiri-recommended that activates all flags we have the opinion of "you should use this" and hide all the fine grained flags in a separate list for "advanced twiddling"

Maybe we should have a single -Zmiri-recommended that activates all flags we have the opinion of "you should use this"

I think that should just be the default.
But I could imagine splitting the list in the docs into two: common options, and advanced options.

So then maybe the story should be quite simply like this: by default, we properly implement as best as we can the expose_addr/ptr::from_exposed_addr semantics (including making these functions different from addr/ptr::invalid). int2ptr and ptr2int are equivalent to ptr::from_exposed_addr/expose_addr. We show a warning on ptr::from_exposed_addr, since Miri might miss bugs in programs that use this feature.
-Zmiri-permissive-provenance silences the warning. -Zmiri-strict-provenance turns the warning into a hard error (and as an optimization, also stops tracking which pointers are exposed, since that now no longer makes a difference). And that's it.

With https://github.com/rust-lang/miri/pull/2059 and https://github.com/rust-lang/rust/pull/97219 having landed, we can now at least error for code like this:
fn main() {
    let x = 42;
    let xptr = &x as *const i32;
    let xptr_invalid = std::ptr::invalid::<i32>(xptr.expose_addr());
    let _val = unsafe { *xptr_invalid }; //~ ERROR is not a valid pointer
}

https://github.com/rust-lang/miri/pull/2151 implements that.

Alternatively, we might not even need the intrinsic if we make ptr2int transmutes strip provenance. Then addr could be implemented via transmute, in nice symmetry with ptr::invalid.
This will take a bit of work to implement in Miri though.

Alternatively, we might not even need the intrinsic if we make ptr2int transmutes strip provenance. Then addr could be implemented via transmute, in nice symmetry with ptr::invalid.

I think this is what we should go for.

Turns out that for addr to not expose provenance, we do not have to entirely resolve https://github.com/rust-lang/miri/issues/2182. Something like https://github.com/rust-lang/rust/pull/97684 is enough. :)
So, we are pretty close to having permissive provenance work as intended (properly distinguishing both addr/expose_addr and invalid/from_exposed_addr). What's left is Stacked Borrows support. :D

https://github.com/rust-lang/miri/pull/2275 completes this plan. :)

I think previous SB with Untagged didn't permit noalias on &mut. For that reason, I was hesitant to run Miri a lot without -Zmiri-tag-raw-pointers.
Does the fact that permissive provenance with Wildcard enable raw pointer tagging mean that it permits noalias on &mut?

I think that once https://github.com/rust-lang/miri/pull/2275 lands, all Miri modes are sound wrt. noalias on &mut.
We still have the difference that rustc also puts noalias on newtypes around &mut, which Miri does not check. But that is a separate concern. That is https://github.com/rust-lang/unsafe-code-guidelines/issues/125.

Though also note that if you do use int2ptr casts, then Miri is not sound wrt anything. That is just inherent in our spec for those casts.
But Miri will tell you the first time such a cast happens in your program. (That warning is disabled with -Zmiri-permissive-provenance.)