insert_str should accept newlines

       debug_assert!(
            !line.contains('\n'),
            "string given to insert_str must not contain newline: {:?}",
            line,
        );

it should be looking at the input string not the line that is being inserted into

Yes, it is actually just a limitation due to current implementation. Allowing newlines would be better. If fixing this, I think current insert_str should be renamed insert_piece as private method and kept since inserting a piece of string to text buffer is one of primitive operation of text editor and used everywhere internally. Then we can add insert_str as a new method.

With the selection pr I support multi line insert. But I thought I would point this out because what happens if  you pass a multi line string to insert_str today it accepts it, removes the new lines and the inserts the rest into the specified line. Maybe it should be an assert not a debug assert

I see. I understood your intention. I think EditKind::Insert should support multiple lines of strings, right? I think I can do it separately.

I think making EditKind::Remove support multiple lines would also be useful for your selection support patch. I'll try this either.

I will add it.

From: Linda_pp @.>
Sent: Tuesday, October 31, 2023 6:41:31 PM
To: rhysd/tui-textarea @.>
Cc: pm100 @.>; Author @.>
Subject: Re: [rhysd/tui-textarea] the assert on insert_str is wrong (Issue #42)
I think making EditKind::Remove support multiple lines would also be useful for your selection support patch. I'll try this either.
—
Reply to this email directly, view it on GitHubhttps://github.com/rhysd/tui-textarea/issues/42#issuecomment-1788267950, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AADXOD7ENUAVTAT7LWJA6LLYCGSEXAVCNFSM6AAAAAA6W23VP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGI3DOOJVGA.
You are receiving this because you authored the thread.Message ID: @.***>

My point was that the assert is a good idea in the current code but it tests the wrong field. Try it, do an insert_str of "a\nb"

I want to minimize diff of each change as much as possible. So I prefer to supporting multi-line insert/remove as separate work.

That's kind of impossible.  I mean I can keep the user visible API insert_str to only one line, but that means simply crippling it by adding an assert
From: Linda_pp @.>
Sent: Tuesday, October 31, 2023 7:46 PM
To: rhysd/tui-textarea @.>
Cc: pm100 @.>; Author @.>
Subject: Re: [rhysd/tui-textarea] the assert on insert_str is wrong (Issue #42)
I want to minimize diff of each change as much as possible. So I prefer to supporting multi-line insert/remove as separate work.

Reply to this email directly, view it on GitHubhttps://github.com/rhysd/tui-textarea/issues/42#issuecomment-1788316763, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AADXOD7K2WE6PEQG5FIVE4DYCGZW7AVCNFSM6AAAAAA6W23VP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGMYTMNZWGM.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

I press undo it gets reinserted, so I need (and have) all the plumbing to allow multiline insert and delete already written.

So you're happy if EditKind has some new variant which supports multiple lines like EditKind::ReplaceRange { start: (usize, usize), end: (usize, usize), content: Vec<String> }, am I correct? Then we can use the new variant to support inserting multiple lines by insert_str and you will be able to use it for selection API.

NOTE: I know that the issue you reported is just a small mistake in assertion condition, but I'd like to expand the discussion whether textarea should support editing multiple lines of chunks at once.

If my understanding is correct, ratatui checks diff of content and update terminal screen differentially. So, even if the draw method is doubled, it may not be a big performance issue. Paragraph widget is created, ratatui checks if there is difference, and it simply discards the widget since there is no difference.

I'm implementing EditKind::InsertChunk and EditKind::DeleteChunk in this branch: https://github.com/rhysd/tui-textarea/compare/multiline?expand=1

Cutting selected text can be implemented with DeleteChunk
Pasting multi-line text can be implemented with InsertChunk

I wish I has never said anything. I already have multiline insert delete, yank, paste, undo, redo implemented as part of the select PR.
It 80% of the code change. I wasnt asking for insert_str to support multi line merely pointing out that the assert was wrong
I will redo the select PR once you have done your changes - sigh :-(
BTW I just made EditKind::Insert and Remove  support blocks rather that spans on one line. One line is just a special case of the general insert or remove a chunk of text

Hmm, such large PR is hard to merge honestly. I'd like to do things more incrementally. I'm sorry for that.

I can submit the multi line bit first. Then the select as a separate pr. I promise to take out the trace and move the input handling back. Most of the code change is in util.rs. I moved the line array management code there because it has to be called from textarea and history. So the change is very isolated

Generally, it is a good idea to talk with a maintainer (me in this case) before adding such large changes. Then we can agree with how the changes will happen.

Basically thats what the first PR was meant to be. I didnt expect you to accept it, I was after feedback. the feeddback was

dont leave trace
dont move 'input'
break into smaller changes

@rhysd - can I post a modified version of select using this new code

@pm100 Sure. I definitely review your code if PR is submitted. And I apologize for your rework. This change (multi-lines support internally) was what I was thinking for a long time. So I'd like to implement by myself.

Cut
TextKind::DeleteChunk(c, r, i) is available. r is the row of start position. i is the byte offset of start position. The following code can apply the edit.
let lines: Vec<String> = ...; // Clone selected text
let (row, col) = self.cursor;
let i = lines[row].chars().nth(col).map(|(i, _)| i).unwrap_or(lines[row].len());
let edit = TextKind::DeleteChunk(lines, row, i);
edit.apply(row, &mut self.lines);

Paste
This is already implemented. (TextArea::paste).
Highlighting
All your code should be able to be reused.

I am on it. I already worked out what to do.

@rhysd In your mind does self.cursor represent the screen location (ignoring viewport position) or is it offset in lines array. In hard tab mode these two things are different. The doc comments do not say. I know what happens at the moment , but sometimes the intent and the code are different (aka 'a bug'). It makes a difference for me when calculating what to copy, etc. It would be nice not to implement things one way and then have to change it.
(BTW - this tripped me up in my first go at the select PR)

self.cursor represent the screen location (ignoring viewport position) or is it offset in lines array

It's always number of characters. It's not byte offset. For example, when the text is "🐶🐱" and the cursor is at next to the dog emoji, then the cursor position is (0, 1) and the byte offset is 4 (since emoji text occupies 4 bytes).

@rhysd I know all that about byte vs char. That not the question.. switch on hard tabs, enter a\tb in minimal. Is self.cursor now 0,3 or 0,6? (Tab_len=4)

@pm100 3

Hard tab character is always counted as 1. Display width is not related.

@rhysd so it's not screen position (0,6) then, it's offset in line array (0,3) . That needs to be explained in the docs of things like self.cursor() self.delete_str.... this is an important distinction. Could also provide a helper function to convert to screen position

Yeah, I don't think current document is perfect. It needs to be polished.

It means that things with the same column value on different rows don't necessarily line up.

Yes. For example あ occupies 2 characters width but it is counted as 1 in column.

Well TIL :-)
Is there a way to find out the width of chars on the screen, does crossterm know? I think it will be useful to have a screen cooridinate to logical cursor location conversion fn  (Imagine wanting full mouse support, need to convert screen coordinates to char location)


improve docs search bar UX

Our "search bar" should be much larger and centered. So it stands out, looks familiar and is easier to reach from more mouse positions on the screen. See rust docs for an example.
If the user's browser has javascript disabled, a message should be displayed inside the search bar saying: "enable javascript to search".
The search bar should also be "fixed" so that it is still visible and usable if you scroll down, see example.

@Anton-4 : I would like to work on this issue, could you please assign this issue to me

@sandprickle has also talked about doing work in this area but I don't think he started on it yet.

I was hoping to get to this before my vacation ends, but I'm happy to let @Hari0006 have a a go at it! I think there are some other issues I can work on.


Don't pass -z to tar

AFAICT docker save will produce an uncompressed tar archive.
This prevented successful run of analyze-local-images:
2015/11/23 13:59:30 - Could not save image:
gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now

The patch fixed it. :)
If docker save will in fact produce compressed output?- & one's implementation of tar is not capable of self-identifying compression, then perhaps this would break things. :\

You are right ! Good catch, my tar implementation is capable of skipping -z the archive is not actually gzip'd.
Can you just edit your commit message to make it more standard ? Something like contrib: Don't pass -z to tar in analyze-local-images ?
Thanks for your contribution.


Add Docker healthcheck

This is a first version / PoC for #6.
Added healthcheck.js that checks the _health route and expects a status code of 204.
Copy healthcheck file into image.
Added Docker healthcheck to run healthcheck.js using node.
js files always use LF line endings.

Build should work fine after #9 has been merged into master and this branch / PR.

Thanks @msgeissler for huge work !

No problem. Was quite insightful for my own future work with Docker as well. :)

@msgeissler Awesome! I can't be happier than seeing contribution like this one 👍

This is currently removed from the codebase in https://github.com/strapi/strapi-docker/commit/dd62f30d01ad9a39766d9ab708165dd2bdb51168#diff-16a9c052028ffeb09e7f738a164099666befe13c2b2ec42dcc8447563b27a4cf
I am wondering why? Healthcheck is something I am actually looking for right now

@laurenskling For me querying http://localhost:7999/_health in Postman works as expected (returning 204 no content)

I stumbled upon this thread, will https://www.npmjs.com/package/strapi-health-plugin help?


Updating the notes section to reflect the auto-creation we enabled re…

…cently as well as noting an exception for EDU tenants
Changes only to the Note section

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

Merged per PM Harsh Chandra


page_sidebar and page_navbar should drop sidebar parameter and accept Sidebar objects in *args

Currently, page_sidebar() and page_navbar() take an explicit sidebar argument.
However, for page_auto(), which is used in Express mode, there's no sidebar argument (because children can't be passed as named arguments in Express). Instead, we inspect the *args, pull out any Sidebar objects, and then explicitly pass them to the sidebar argument.
https://github.com/posit-dev/py-shiny/blob/a020af6e9428b7f6780697840434ea6574f3dcec/shiny/ui/_page.py#L529-L530
Also, because of how Python handles named and unnamed ages:

For page_sidebar(), the signature is page_sidebar(sidebar, *args). This means that the sidebar must be the first argument and must not be named.
For page_navbar(), the signature is page_navbar(*args, sidebar). This means that the sidebar must not be the first argument, and must be named.

I think we should remove the sidebar parameter from these functions and simply inspect the *args for Sidebar objects -- essentially, take the logic from page_auto() and move it into page_sidebar() and page_navbar().

take the logic from page_auto() and move it into page_sidebar() and page_navbar().

This motivation feels off to me as the API for Core is being driven by Express. (However, I am happy to have differences between Express and Core for usability!)
I'd like to keep as much static type checking as possible within Core. Because the sidebar parameters are special and not interleaved within *args children, I believe sidebar argument should be exposed and typed.
I am ok with continuing to have page_auto handle the sidebar differently than the two other page methods as its job is to auto detect the *args objects. (If we don't like the API for page_sidebar() or page_navbar() and these proposed changes help improve the API, let me know.)

If we do keep this proposal, should we also apply it to layout_sidebar(sidebar, *args) for consistency? (Or any other method that takes a sidebar and set of tag children (*args)?

@wch What about having shiny.express.ui.page_{sidebar, navbar}() accept *args and have them separate the args into Sidebar and not Sidebar args?  This would fit the model of Express is different than Core where needed. (But not having the API be driven by Express at the cost of losing typing within Core.)

The motivation is in part to improve the Express API, but also to improve the Core API. That said, I think it can make sense to make changes to the Core API to reflect the Express API, if it provides a more consistent experience and learning ramp. If we were to keep the status quo, then there would be one way of structuring the UI code for Express, and a different way of structuring the code for Core:

For page_sidebar(): In Express, a Sidebar can go anywhere, but in Core, it must go first.
For page_navbar(): In Express, a Sidebar can go anywhere (and is unnamed), but in Core, it must go last, and be a named argument.

This means that the transition from Express to Core would require learning a new way of structuring the layout code.
There is also the inconsistency in the Core between thepage_sidebar() and page_navbar() API, which I mentioned earlier:

For page_sidebar(), the signature is page_sidebar(sidebar, *args). This means that the sidebar must be the first argument and must not be named.
For page_navbar(), the signature is page_navbar(*args, sidebar). This means that the sidebar must not be the first argument, and must be named.

The drawback to the proposed change is that in page_sidebar(), there is no enforcement of requiring a Sidebar component by the static type checker. But there still is a helpful runtime error.

A few thoughts:

Why would an Express user expect Core's page_sidebar and page_navbar to work the same way as Express's default layout? Isn't that where page_auto would come in?
What if we keep the page_sidebar and page_navbar signatures the way they are, but also sniff out the *args? I don't even care if we document it. This way, the signatures for Core look sensible, while a naive port of the Express code to Core also does what that user would expect--except that page_sidebar would still require the sidebar argument to be first. (Which I really don't see as a problem in Core; I think it's weird to have page_sidebar(output1, output2, sidebar) and just ignore the sidebar's position in the list of arguments. I mean, fine if we happen to have that behavior, but I'd rather have a sensible function signature personally.)

Longer-term, maybe it doesn't make sense to have page_sidebar, page_navbar, page_fluid, page_fixed, and page_fillable in core--there's so much overlap between their capabilities.

There are a number of open questions, so we're going to defer this for after the 0.7.0 release.

Even just within Core, I think there's a strong argument to be made to align the function signatures of page_sidebar() and page_navbar(). It's relatively common to start with a page_sidebar() and realize you need a navbar page, in which case you have to significantly rearrange your code. Allowing page_navbar() to find a sidebar child in *args would be smoother transition
# from
ui.page_sidebar(
	ui.sidebar(),
	*children
)

# to
ui.page_navbar(
	ui.sidebar(),
	ui.nav_panel(
		*children
	)
)

# instead of
ui.page_navbar(
	ui.nav_panel(
		*children
	),
	sidebar = ui.sidebar()
)


message editing: The edit message is unconstrained of MAX_LENGTH

Reproducing the issue : Send a message greater than 10, 000 characters [http://www.blindtextgenerator.com/lorem-ipsum ], zulip will only take MAX_LENGTH, you won't be able to type anything after it. Now after sending it, click on edit message and append more content to it, you can now expand it to whatever length.
Expected behaviour : The text box should enforce a MAX_LENGTH limit while editing the message too.
for reference : https://chat.zulip.org/#narrow/stream/9-issues/subject/the.20edit.20message.20is.20unconstrained

@zulipbot claim


Your code is great!

Just wanted to say thanks for open-sourcing this, I've used your repo to learn more about io_uring's API and performant I/O. And I really enjoy your style of C++ programming (C with a dash of C++, much more readable than most C++ code).

Thanks :)

That reminded me to add a few more comments explaining some logic. Here is that commit:
https://github.com/davidzeng0/xe/commit/6e2147f55862a8205fade22edb0efc8a038a543b

I've added you on discord


Allow the actual scroller to be specified in the params

…ecified in the params

When the height is not specified, the existing code assumes that the window is the scroller. However, often this is not the case and another element on the screen is the actual scrolling item.  This allows the calling code to specify the actual scroller.


Ensure resources are validated while running terraform plan

Problem
When creating terraform resources for kafka, some of the resources (the only ones I've stumbled across so far) have hard limits on the length of the field. This hard limit is only found when running terraform apply, and does not appear when running terraform plan.
This means that when running terraform in a generic CI pipeline, the pre-merge checks which run terraform plan and succeed, however the subsequent merged pipeline that applies the changes would fail.
Expected
When running terraform plan, resource validation should raise errors as it does in terraform plan, so that they can be caught and rectified before merging.
Steps to reproduce:

Create a kafka resource such as an ACL with a description that is longer than 128 characters long:

resource "confluent_service_account" "this" {
  display_name = "my-service-account"
  description  = "abc....(128 CHARS LONG)"
}

Run terraform plan
Output:

  # module.this.module.my-service-account.confluent_service_account.this will be created
  + resource "confluent_service_account" "this" {
      + api_version  = (known after apply)
      + description  = "abc....(128 CHARS LONG)"
      + display_name = "my-service-account"
      + id           = (known after apply)
      + kind         = (known after apply)
    }

Run terraform apply
Output:

│ Error: error creating Service Account "my-service-account": 400 Bad Request: description limit to 128 characters.
│
│   with module.this.module.my-service-account.this,
│   on ../module/connector_datagen/auth.tf line 4, in resource "confluent_service_account" "this":
│    4: resource "confluent_service_account" "this" {

Notes
This affects both the description of the resources at 128 chars, as well as the names for connectors at 64 chars:
│ 1. "name" : ["\"name\" should be not longer than 64"]

Some I've stumbled upon myself (exact same situation as described: CI the pre-merge checks which run terraform plan all OK, then the subsequent merged pipeline that applies the changes would fail)

confluent_identity_pool:

display_name: limited to 64
description: limited to 128
filter: limited to 300

Just to add to this. Recently we were adding topic ACL and one of them was:
"'internal.system".
Which is clearly wrong. But our PR pipeline actually does plan the changes:
resource_name = "'internal.system"
And then of course apply falied:
Error: error creating Kafka ACLs: 400 Bad Request: Internal error: Could not create ACLs because following resource names are invalid : ['internal.system]
I think basic validation like topics/ACL length and shape validation should be part of this provider because right now it feels more like weaving jsons not code.


always use bigint to deal with balanceCardIds

Fixed in https://github.com/deora-earth/voting-frontend/commit/476869eae936a72588ceb77a8c7924e8f45a5aea


Update doc to cater for nodeCluster instead of nodeServer

Description

The doc currently describes the situation where nodeServer is used.  But from nodeCluster is used from now on.
Pages to Update

Page 145 and others.
Screenshots

Expected behavior

The doc describes the situation where nodeCluster is used.
Additional context

A defect was found ( https://github.com/zowe/zlux-server-framework/issues/88) by using AppScan.  The solution to this problem was to use nodeCluster instead of nodeServer.
Any changes in Zowe runtime behaviour would best be confirmed by @1000TurquoisePogs

PR #503 fixed this. Closing.


Add vote.mcafeemoonshot.com to domains list

Hi! What is your PR about?

[ ] Add custom domain for your space

Hey guys if there is anything required please let us know
Cheers


AppWithTranslation class can break HOC logics

I came with an issue using appWithTranslation HOC. It seems that in HOC we have a call to getInitialProps of wrappedcomponent, but this can easily break many ongoing projects as they might rely on something which is set in the initialprops of _app.js.
// Run getInitialProps on wrapped _app       if (WrappedComponent.getInitialProps) {         const { pageProps: wrappedPageProps, ...rest } = await WrappedComponent           .getInitialProps({ Component, ctx })         pageProps = {           ...pageProps,           ...wrappedPageProps,         }         regularProps = rest       }

Not sure what you mean. Can you provide a reproducible example via CodeSandbox?

Closing due to lack of response. I'll reopen if you provide a reproducible example.


PP-6652 Account status tag "setup" status

Add account setup details to the session account object IFF this is a
live Stripe account.

use govuk-tag to be inline with the design system
grey for test
light blue for information required
blue for live

@stephencdaly thanks for spotting that:

make the test unhappy (looks like it wasn't configured to throw issues)
add logic to feature flag this
make sure the test passes

https://github.com/alphagov/pay-selfservice/pull/2056/commits/5cdadf0040399efa6fc6251fc1b1f875fe320186


workflows/build.yml fails to push built images to registry

I noticed that the PR #6 changes were not present in images built after its merge.
To reproduce, run:
docker run --rm vegardit/gitea-act-runner:latest cat /opt/run.sh
Observe that that run.sh contains:
 sudo usermod -o -u "$GITEA_RUNNER_GID" act
Rather than:
 sudo usermod -o -g "$GITEA_RUNNER_GID" act
After an investigation, I think the situation can be traced to these lines (with DOCKER_PUSH=0):
https://github.com/vegardit/docker-gitea-act-runner/blob/aa822e12ee411469c4421123b62efbb712bc337c/build-image.sh#L47-L50
Adding mult-arch building, changed the BuildKit builder from the docker driver, to the docker-container driver.
However, the docker-container driver does not load its built images into the job container's docker engine registry.
Result? The docker pull at L50, pulls stale arch specific images built before the multi-arch merge commit 313f3780238fe2c51661f8daaa26594318d88a6e.

Thanks for reporting. I changed the build script. Please check again.

Checked, and confirmed it's fixed.


Replacing modules

Motivation for this change
Enables replacing existing modules, making it easier to use an updated module while still using a stable release for the rest of the system. Example: https://gist.github.com/LnL7/bd05394218033cff17ec20eb93a44a4a
/cc @nbp
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Very good to see this! I wished this existed several times in the past.
Since this mechanism is more general than replacing a module (it really just excludes a module), wouldn't it be better to substitute the name replaces with excludes? Whether you use it for replacing a module is up to the user.
You can then optionally build a very light abstraction on top of this where the replacement is more obvious:
{
  replaces = [
    { old = <nixpkgs/nixos/modules/services/databases/postgresql.nix>;
      new = ./postgresql.nix;
    }
  ];
}

I didn't really give a good example, but the idea is that a custom module can declare what modules it replaces.

Ok you mean placing the replaces = [ ... ]; in ./postgresql.nix itself. Then the name makes more sense indeed. I guess I would still prefer a name which describes what operational effect it has instead of the intended application. However, I don't care that much about it.
Regardless of name, it would be cool to have this feature!

Using a fully qualified path to denote modules is unsound because there is no guarantee that '' points at the Nixpkgs tree used in the current evaluation. For example, if I do
nix-build /my/nixpkgs/nixos/tests/foo.nix -A test

then <nixpkgs> does not point at /my/nixpkgs. Similarly, in a multi-machine NixOps network spec, each machine could use a different Nixpkgs tree. (I don't think NixOps actually already supports that, but you get the idea.)
It might be better to have something that uses module filenames relative to the current Nixpkgs tree, e.g.
disableModules = [ "nixos/modules/services/databases/postgresql.nix" ];

(I wouldn't call it replaces because it doesn't actually replace a module.) The path of the current machine's Nixpkgs tree is available via config.nixpkgs.path IIRC.

I agree that it's not ideal to use the full path, but there doesn't seem to be reliable way get the path of pkgs, config.nix.nixPath doesn't update as far as I can tell.
I also noticed this behaviour, is that expected?
$ nix-instantiate --eval --strict -I nixpkgs=/tmp/foo -E '<nixpkgs>'  # /tmp/foo
$ nix-instantiate --eval --strict -I nixpkgs=/tmp/foo -E '<nixpkgs/nixos>'  # /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos

I think this will disable the correct modules when <nixpkgs> is not the active source of the nixos modules.

@edolstra

The path of the current machine's Nixpkgs tree is available via config.nixpkgs.path IIRC.

No, this is not an option, because this code solve the closure of the modules considered for the module system.  So config.[...] is doomed to do an infinite recursion.  This can only leave as a special attribute of the module system, and cannot be influenced by any mean by the evaluation of the configuration, like the imports.

@nbp Sorry, I mainly wanted to get some discussion started around this because I think this would be very nice to have in 17.03. Feel free to close this and push your changes if you want.

@LnL7 , also can you add tests cases for checking that disabledModules allow some to declare an option which would otherwise conflict, and to check that we can remove a definition as well.  There is a test directory under lib which already contains module test that you can follow.

I added some basic tests and a better example for the manual. Anything else that's missing or should be improved?
@nbp Does the implementation using modulesPath look good to you or would you prefer something more like a searchpath for modules.
The question about disabling a single file vs the entire module closure is also still open. I don't really have an opinion about that.

Apart from that, there is at least a design question which needs to be answer, which is: should we consider the closure of the excluded modules or only a single module at a time?

To answer my-self.  We only want to exclude a single module instead of the closure of modules, because the list of imports of a module can refer to common modules.
Counting the number of time a module is imported would be a nightmare to understand, and be a terrible interface.
Having to list all modules imported by the disabled modules would be painful but would at least be easy to understand as opposed to any automatic system decision.

@nbp ❤ thank you for all the help with this.

@globin , this change is marked as 17.03, we should either cherry-pick this change or move the release note to the next version.

I think I'd prefer not including this in 17.03 if you don't have strong feelings, to give this a period of time on master first.

I personally would really like see this in 17.03 because it enables more flexibility when using a stable release without having to maintain a fork of nixpkgs.
That being said it's often possible to work around it in some other way, like mkForce or renaming the module from unstable.

I would also prefer to see this in 17.03. In the documentation we can specify this is an experimental feature and that it's API might change in the future or that it might be removed. It's probably only going to be used by advanced users who know how to deal with changing API's.

Note that with https://github.com/NixOS/nixpkgs/pull/76857 disabledModules now works recursively, meaning any imports by any disabled modules are ignored.


[spark] Integrate paimon scan metrics into spark scan

Purpose
Integrate paimon scan metrics into spark scan, so that we can get more information on the UI. Note: these new metrics are only available from Spark 3.4, because reportDriverMetrics was added in 3.4.
e.g.
select count(*) from inventory where inv_date_sk = 2450822

Tests

API and Format

Documentation

Hi, @schnappi17 can you help with a review~ Not sure if this is the correct way to use MetricRegistry, because the metrics of spark and flink are different.


Need of an API Documentation for Ballerina Central

Description:
I faced some difficulty, to find out information about the Ballerina API in order to pull a module published in the ballerina central according to the user specification provided in the OpenAPI Definition.
Steps to reproduce:
Affected Versions:
Ballerina version 1.0.1
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Will be fixed via https://github.com/ballerina-platform/ballerina-lang/issues/8535.


Marker colors don't change without forcing a refresh to custom.css

Info:

OS: Linux Pop!_OS 22.04

Logseq ver: 0.8.17

Plugin ver: 1.7.0

Theme name: Slightly modified mIA

[x] ⚠ Do i have issue with DISABLED my custom.css?

Doesn't apply

Description:
Overwriting awUI-marker values from custom.css :root block sort of doesn't work. It works if you trigger a change (or just save the file without changes). But if you reload Logseq by CTRL + R or just reopen it the changes are not visible.
To Reproduce:
Having following block
- ## Tasks
	- TODO Todo
	- DOING Doing
	- NOW Now
	- DONE Done
	- WAITING Waiting
	- LATER Later
	- CANCELLED Cancelled

And custom.css
:root {
    --awUI-marker-waiting: rgb(255, 0, 255);
    --awUI-marker-later: rgb(255, 0, 255);
    --awUI-marker-todo: rgb(255, 0, 255);
    --awUI-marker-now-doing: rgb(255, 0, 255);
    --awUI-marker-done: rgb(255, 0, 255);
}

Expected behavior:
I would expect all markers to be colored as magenta
Screenshots
Before triggering a change to the custom.css:

After triggering a change to the custom.css:

maybe it's about CSS loading order... try to add  !important
:root {
    --awUI-marker-waiting: rgb(255, 0, 255) !important;
    --awUI-marker-later: rgb(255, 0, 255) !important;
    --awUI-marker-todo: rgb(255, 0, 255) !important;
    --awUI-marker-now-doing: rgb(255, 0, 255) !important;
    --awUI-marker-done: rgb(255, 0, 255) !important;
}

also suggestion - are editing in Logseq?
it works bad with custom.css! use external editor instead

Can confirm, works with !important. Should that be added to the README.md also @yoyurec?

of course i will


GoPro Hero 9 connected via USB - take_photo() not returning

@KonradIT
I was following a discussion from https://github.com/gopro/OpenGoPro/discussions/146. I connect my GoPro Hero 9 (firmware v1.21) to my MacBook Pro via USB. I am running code you provided AlanEbell in PyCharm with a little modification to account for the UUID (code is provided below). When I run the program, the code takes a photo and saves it onto the SD card in the GoPro but it does not download the photo onto my laptop and does not stop until I stop the program. When I tried gopro.shoot_video(10) the command would start taking a video but it would go over the 10 second duration until I manually stop the recording on the GoPro and the code. When I debug the issue I find out that the program is stuck at the command gopro.take_photo() or gopro.shoot_video() where the command is not being completed and that the command is going into an infinite loop at GoProCamera.py line 587 to 589 (for gopro.take_photo()) where ready = "" stating that it is still busy.
When I run the same code in Windows 10 (again in PyCharm), instead of getting an infinite loop I get an error message stating Connectionreseterror: [winerror 10054] an existing connection was forcibly closed by the remote host
What is weird is before I downgraded the firmware to v1.21, I ran the program and I was not able to take a photo or video but the program would be able to download the last saved photo/video from the SD card.
from goprocam import GoProCamera, constants
import netifaces as ni

interface_port = 0
ifaces = ni.interfaces()
for iface in ifaces:
    try:
        ip = ni.ifaddresses(iface)[ni.AF_INET][0]["addr"]
        if ip.startswith("172."):
            print(f"IP: {ip} from Interface {iface}")
            interface_port = iface
    except:
        pass

def record_video(interface: str) -> None:
    gopro = GoProCamera.GoPro(ip_address=GoProCamera.GoPro.getWebcamIP(
        interface), camera=constants.gpcontrol, webcam_device=interface, api_type=constants.ApiServerType.OPENGOPRO)
    try:
        r = gopro.setWiredControl(constants.on)
        gopro.checkResponse(r)
    except:
        pass  # sometimes throws 500 server error when camera is already on wired control mode

    print("Taking Photo")
    r = gopro.take_photo(1) # Error creating infinite while loop in GoProCamera.py line 587 to 589
    print(r)
    print("Photo Taken")
    gopro.downloadLastMedia()
    r = gopro.delete(constants.Delete.LAST)
    gopro.checkResponse(r)
    exit()

record_video(interface_port)

MacOS Monterey 12.5.1
Windows 10
PyCharm
GoPro Hero 9 v1.21

tried your code on macOS Monterey 12.6.1
with PyCharm and Python 3.10
Seems to work like intended


MSPSDS-230: Document management functionality for investigations and products

Yes, there's a fair amount of common functionality between the two that could be extracted. I've raised MSPSDS-288 to look at refactoring it.


Use Recognizers Cultures in Choice & Confirm Prompt

Please duplicate this work https://github.com/microsoft/botbuilder-js/pull/1121 in dotnet, for parity.
[bug]

I think most of it is there, minus tests but will be looking at this tomorrow to verify/update.

FYI for anybody curious: This is taking awhile because I'm doing some fairly heavy refactoring in order to get rid of duplicate code and provide some constants in ChoicePrompt, ConfirmPrompt, and each of their tests related to:
{ Spanish, (new Choice("Sí"), new Choice("No"), new ChoiceFactoryOptions(", ", " o ", ", o ", true)) },

Duplicate of #2463

The PR that fixes this has been merged.


Input event with value and name

In react when an input change we can get the value and the name like this:
event.target.name
event.target.value
With react-datepicker theses values are undefined,
this is normal or not ?

What you mean? Where undefined? These values exists only in native event handlers from elements like input, div and so on.

Closing due inactivity.


Change .NET Core to .NET is our docs prose

The technology is now called ".NET" and the latest version is ".NET 6", which is the only current LTS (long-term support) version. It's the default version that users will get if they follow our links to download pages. We are also about to change our templates and examples to .NET 6, which. also brings nice simplifications into programs.
I searched for all mentions of ".NET Core" and updated everything except blog posts, case studies, and old workshop guide.

@susanev Yes, we should. Who can I ask to prepare the new image file? (I don't try myself with that)

@mikhailshilkov I'll do it in a separate pr no worries!


64771 - Customer Environment Connection status synchronization

Changes

Call new service to check if customer environment is connected.

@ritanorinho just resolve the conflicts and remove the added launchSettings.json


Doublevision on Quest 2

Bug reports:
Server launches fine with no latency or issues, except for severe double vision. Different IPD settings dont help, I normally play on the smallest IPD and still have really bad doublevision through ALVR

@sorola117 try ALVR v12.5. You need to install the client from GitHub. People report that it doesn't work immediately, try restarting the quest after moving the lenses.

i can confirm, using the latest apk 12.5.0 and the latest server version and IPD from the Oculus Quest 2 is completely ignored.
The server sets it on 0.065 and there is NO WAY to change that.
For me it is unplayable like this, do we REALLY need to automatically set that? I'm perfectly fine with a manual IPD setting, at least give us the choise whether to autoset or manual...

It worked for me. I prefer IPD 68. I have it set to 0.068 in video advanced options.
When I first launched and connected, I had bad double vision. I clicked the lenses in to 63, then back to 68, and it's perfect. Maybe try to see if that helps you.

This still occurs on 12.5 when in the steam overlay window (press menu button while in game) and loading screens.

@kmclaughlinphd I think this is a bug with SteamVR. Do this happens also with the Oculus Link?

it does not happen with the oculus link, and to my memory it did not happen on the previous ALVR release version when on 63mm.
If it's helpful, I can check if it's only an issue when on 68mm in ALVR.

@kmclaughlinphd Can you make one more check? On Oculus Link, what happens when you change IPD without taking the headset off? If you look at the floor and trigger the guardian boundary, does the perimeter stays at floor level or does it goes down or up?

on oculus link + steamvr:
keeping headset on and clicking IPD: view successfully recalibrates after <1s delay
looking at the floor, the perimeter is stable
I checked while in the main steamvr lobby/game selection screen, and again with the steam menu overlay up. (sorry if my terminology isn't very precise)

I'll ask @maxer456 if he can help.

I had a friend having this exact issue and right now he fixed it. He had a duplicate folder of the drivers on his desktop. He removed the folder from his desktop and redid the installation with a confirmed ONE folder of ALVR and it's drivers and it's working for him, try that. :)

only one folder here

Is the view just cross-eyed (or double vision) - incorrect IPD? If the image doesn't warp when tilting your head, it could be that we're just not setting IPD everywhere we should. I'm asking about image warping because that would probably be incorrect FoV and that gets set basically just one way.
I'll see if I can reproduce it on Q1 (don't have Quest 2), though it'll probably be harder to notice. Anyway, there's at least two places to set IPD (I'm guessing the function we currently use for setting IPD sets just one), one of which is a SteamVR (as in that's part of the name) setting, so that might be it, considering you only see the issue in SteamVR spaces (see this line). It would also make sense why it didn't happen on previous releases, since the way we set the current IPD changed.

to clarify, I'm specifically talking about the steamvr overlay menu (left-controller menu click) and loading screen dialog. no issue in game/lobby.

it's reversed cross-eyed, I guess: my eyes are needing to point uncomfortably outwards to compensate
the image does warp as well, in a similar manner to the warpage at the 58mm headset setting
if I click my headset to 63mm, the overlay menu does NOT warp --- I believe this is inline with your suspicion above

what you're saying about setting the IPD makes sense, I think.

I can't reproduce this on the Q1, unfortunately. On 12.5.0 you can try setting IPD as before in advanced options. It will get used on startup before the Quest sends its current values and set the SteamVR setting I mentioned.
Next release will also set the SteamVR IPD setting when changing IPD. If you can build ALVR server, you can try testing the master branch. I'm not sure about the warping though.

I have already set the IPD in the advanced options. It's not a show stopper, so I will wait for the next release, and report back.

@maxer456 I tested your changes but the SteamVR HUD still appears doubled and it skews when I tilt my head, so not even the FOV is synchronized.

Doing some more tests on the Quest 2 it seems that the problem is only related to FOV.

I'm on 12.5.1 now. HUD looks good for me on 68mm now. Excellent!

Thanks for confirming! I think that's all of the double vision issues.


failed to create map

Hi,
Sorry I was a bit busy last week,
Have you solved your problem ?
If you can give me back the access to the data, I can try and look at it to see if I can see the problem.


Clarify information and behavior of Dev Drive card on "Introducing Dev Home" page

Suggested new feature or improvement
When clicking the "Create Dev Drive" button is not clear to the user that they will be leaving Dev Home.
Scenario
User is on the "Introducing Dev Home" page and sees the card for Dev Drive there is no indication that another app will be opened.
Additional details
No response

I think this can be conveyed by adding this icon to the button/card:

We have it on the machine configuration page, but not on the Introducing Dev Home page


Add note to docs about node and npm versions when running update

Need to use correct versions of node and npm in advance of running npm update. Otherwise, get the same errors that appear when other versions are used during installation.

Closed by #134


Do not hardcode SVE type list

This fixes a build failure with master-next because of new SVE types.

Hi @rjmccall – Just FYI.
Also, this still doesn't fix the lingering doRAUW crash :-(


Docker image support and misc. improvements

disable always-fail ngm e2e test;
add docker image;
add descriptions for tls command-line arguments;

Codecov Report

Merging #1439 (366caaf) into master (b12b62e) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head 366caaf differs from pull request most recent head c85051e. Consider uploading reports for the commit c85051e to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1439   +/-   ##
=======================================
  Coverage   26.18%   26.19%
=======================================
  Files         202      202
  Lines       15405    15405
  Branches      103      103
=======================================
+ Hits         4034     4035    +1
+ Misses      11100    11099    -1
  Partials      271      271

Flag
Coverage Δ

backend_integration
8.97% <ø> (+0.03%)
:arrow_up:

backend_ut
27.58% <ø> (+0.01%)
:arrow_up:

e2e_test
62.50% <ø> (ø)

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

Continue to review full report at Codecov.

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

hi @YiniXu9506 , please help have a look the e2e tests when you're free, it seems all e2e tests are failed.

hi @YiniXu9506 , please help have a look the e2e tests when you're free, it seems all e2e tests are failed.

It looks like there's some network issue with the UI assets in the docker.

After adding the make package, I recommend to keep the UI=1 make usage as well for a while, some others may use UI=1 make still, for example:


[feature-request]: support for running kapacitor inside a docker container

Unless I am missing some configuration option, it seems that kapacitor and influxdb can't easily be used together if each is deployed into a separate docker container.
The reason is that the UDP subscription ports created by the kapacitor process won't be in a network namespace that is visible to the influxdb process.
Is there an intention to address this issue? What subset of kapacitor functionality is not available if subscriptions are not working for this reason?

You are correct in that auto creating subscriptions is not docker friendly. The solution is to create the subscriptions your self so that the ports chosen are deterministic. On startup Kapacitor looks for all subscriptions of the name kapacitor-<clusterID> and then dynamically listens on the defined ports. If you configure subscriptions externally to Kapacitor it will find them and behave accordingly.  In this way the subscriptions act as another configuration source for Kapacitor.
Kapacitor logs its ClusterID on startup.

Ah cool - thanks for the info!

@nathanielc Thanks for the explanation.  While I understand it, I don't yet know enough about Kapacitor and the way it interacts with InfluxDB.  Can you expand on where the subscriptions you mention are stored and how I can go about managing them?  Are these in Kapacitor or InfluxDB?  How can I query them?  How can I create them?  How can I remove them?  etc.
If this is documented somewhere, can you point me in the right direction.
Thank you!

@rca Here is the docs on subscriptions https://docs.influxdata.com/influxdb/v0.10/query_language/spec/#create-subscription
Basically they are stored in the metadata for a database in InfluxDB. You interact with them via InfluxQL commands.
SHOW SUBSCRIPTIONS -- lists existing subscriptions
CREATE/DROP SUBSCRIPTION ... -- creates or drops a subscription
More details can be found in the linked docs. Hope that helps!

I have influxdb and kapacitor in their own containers. The secret is to create/use a unique network:
docker create -v /data:/data --name datastore ubuntu /bin/true
docker network create TICK
docker run -d --name influxdb -h influxdb \
  --net= TICK -p 8083:8083 -p 8086:8086 \
  -v /data/influxdb:/data/influxdb --volumes-from datastore \
  my-influxdb-container
docker run -d --name kapacitor -h kapacitor \
  --net=TICK -p 9092:9092 \
  -v /data/kapacitor:/var/lib/kapacitor --volumes-from datastore \
  my-kapacitor-container

@justindowning indeed - the realization that I needed this capability led to the need to upgrade my docker version to one that supported networks

Correct me if I'm wrong, but this assumes InfluxDB and Kapacitor are running on the same Docker host.  The only way I've found to run them on separate hosts is by using Docker's --net host option.
Is there a better way?

@justindowning are you sure about your message? is your system working with 2 containers in the same net? because for me seems not.. but I am not really sure about my setup :)
Thaks

@gianarb yep -- i create a separate network (named TICK) and launch two containers (influxdb, kapacitor) in that network.

@justindowning are you on a single or multi-server setup?

yes, same docker host


Pass along key event to both key up and key down

We were not passing the keyUp event to super, so it was not being handled which on the odd case caused problems.

@imurchie what do we need to do to get this in appium?

I'll update the submodules. We don't seem to be using the npm module around it.


updating mnasnet docs

Part of https://github.com/pytorch/vision/issues/5833
Adding revamp docs for MNASNET.
cc @NicolasHug

Thanks @jdsgomes
I noticed that the 1.3 and 0.75 weights are missing / non-existent. I added them to the docs and then removed them after realizing it made the doc generation fail. Do you know if we're planning to support pre-trained weights for these models before the next release? If we don't, we might nee to change our docs to indicate that no pre-trained weights exist (and possibly remove the existence of the parameter altogether)

Thanks @jdsgomes
I noticed that the 1.3 and 0.75 weights are missing / non-existent. I added them to the docs and then removed them after realizing it made the doc generation fail. Do you know if we're planning to support pre-trained weights for these models before the next release? If we don't, we might nee to change our docs to indicate that no pre-trained weights exist (and possibly remove the existence of the parameter altogether)

I don't know if we have plans to add those before next release, lets follow up with this offline. Merging for now, thank you for the review!

@jdsgomes it might still be worth updating the current docs, which for now contain ambiguous / incorrect info:

The following model builders can be used to instanciate an MNASNet model, with or
without pre-trained weights

The weights parameter is also documeted as

The pretrained weights to use

(with broken links). But if we don't support pre-trained weights, we should make sure to indicate it clearly. ATM, users will believe that we support pre-trained weights while we don't.


⚠ Roblox Site has degraded performance

In 8a38b21, Roblox Site (https://www.roblox.com) experienced degraded performance:

HTTP code: 200
Response time: 13058 ms

Resolved: Roblox Site performance has improved in 998a224 after 2 minutes.


why the babel verion is coercion not range

Version
3.0.4
Node and OS info
Node 8.11.3
Steps to reproduce
the source code
What is expected?
expect the babel is official version instead of beta version.
What is actually happening?
the babel version in @vue/babel-preset-app is coercion(7.0.0-beta.47)

Because there are breaking changes between each beta versions of babel. Will be upgraded in the next minor release. Keep an eye on https://github.com/vuejs/vue-cli/pull/2642


howto docker pull / run SaltGui

I have installed docker and successfully docker run hello-world.
How do I run the SaltGui docker?

Well, its documented right?

Sorry didn't see that.  Installed docker-composer and runned the up
but I get http://localhost:3333/    404 Not Found   The path '/app' was not found.

I don't know. Did you checkout the repository, then cd docker and docker-compose up? There you also see a lot of output what gives a hint?

@luchermans : ping

no response from requestor, closing


I can't upload Images or Files

Attempted Debugging

[x] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
Hey, I have the problem, that i can't uploade any images or files. I also tried this command:
chown www-data:www-data -R bootstrap/cache public/uploads storage && chmod -R 755 bootstrap/cache public/uploads storage, but i didn't do anything. I got everytime the error code: 0.

Exact BookStack Version
v23.02.3
Log Content
No response
PHP Version
No response
Hosting Environment
Ubuntu v22.04.01-live-server

Hi @neyusyt,
Can you confirm exactly how you installed BookStack, and if there are any other parts in play (Proxies/Cloudflare/Other HTTP Layers).

@ssddanbrown i installed Bookstack with the official Start.sh in the Homepage. The Domain ist hosted by cloudflare and i configuraded as a tunnel over a Ubuntu vm.

@neyusyt We have no official start.sh on our homepage?
Either way, it's not clear where the error is coming from.
Assuming you've used our Ubuntu 22.04 install script, can you watch the /var/log/apache2/access.log file and confirm if you see lines added exactly when the error occurs.
If not, it's likely something in front of the BookStack machine webserver blocking the request. It's worth check logs for the Cloudflare proxy if they provide it.

I can't open that file: /var/log/apache2/access.log, because this location doesn't exist. I can't the logs from Cloudflare Proxie. I searched a lot, but i cant find a log file.

I can't open that file: /var/log/apache2/access.log

How exactly did you install BookStack? You may need to look into these folders with superuser/root privileges.

@ssddanbrown I installed with this script:
`# Download the script
wget https://raw.githubusercontent.com/BookStackApp/devops/main/scripts/installation-ubuntu-22.04.sh
Make it executable
chmod a+x installation-ubuntu-22.04.sh
Run the script with admin permissions
sudo ./installation-ubuntu-22.04.sh
edit .env file
nano /var/www/bookstack/.env`

in the log file (/var/log/apache2/access.log) isn't anything suspects.

But do you see any lines logged at exactly the same time you reproduce the error?

@ssddanbrown No it doesn't logged anything

@neyusyt Okay, that often means that it's an issue before the request is hitting the webserver.
Could be an issue around that cloudflare proxy.
Other things to try:

If possible, try without having the cloudflare proxy involved to rule that out.
Try a much smaller file image file size to see if that works.
Look at the request and response in the network tab of the browser developer tools to see if there's more information provided there (Request would likely show as a red line within the table, after reproducing the error).

Since there's been no further follow up I'll close this off.

@ssddanbrown hello Dan. I was having the same problem.
I was able to fix the issue by deactivating Cloudflare proxy. I still want to use Cloudflare for 2 reasons:

SSL certificate (the Bookstack installation guide does not provide information about installing SSL)
Cloudflare gives many features for my website for free and it is a common practice to use it.

What can I do to enable Cloudflare? Thanks!

@alexanderisora Please open a new support issue specific to your scenario & environment.
Information here may be now irrelevant or outdated.


Server-side execution on my on server?

I would like to use an external server (AWS EC2, Azure..) to install Python and run the code on that instance.
As you are mention, you use Server-side execution.
Theoretically this should be already available.

You can do this by connecting to SSH instances you have. To learn more about this: https://code.thebaselab.com/guides/connecting-to-a-remote-server-ssh-ftp

Yes, that I did, but if I run a python code stored in my document folder, it picks up the pre installed python Version from your app.
How I can change the settings, that the python version installed on my AWS EC2 is used?

Code App uses an open-source code-execution server called Judge0. Although currently there isn't a way to configure the server endpoint in app, you could change them in this file and build the app yourself. https://github.com/thebaselab/codeapp/blob/25c470c8a33f892a4a013c01acb545437facf3ef/CodeApp/Constants/Secrets.swift#L1

Thanks
I looked into it, but I believe I’m not able to get that running.
Is there an option that this could be included in the app?
-> run code in the server which is actually connected.

Here the steps you need to do:

Run Judge0 on a server that is accessible from your phone
Clone this repository and change the file I mentioned and point it to your own server
Download Xcode and build the app on your phone

Having the server configurable in app is possible too but is not currently available. If this is too much hassle, I'd suggest you to use the SSH feature instead.


Add k-size option and AllowToPlot option

Add k-size 33 34 35 with default ram setting
Add AllowToPlot option to disable new plot without change parallel setting

Thanks Jacky, I've added comments.  Please review.

made some changes on default k-size, buffer and remove AllowToPlot Option

just need to sort out the pre-built binaries.  then I think we are go to merge


Remove add_child, remove_child and get_child_transform from WidgetTrait

It's not necessary and unnecessary complicates the code

Duplicate of #41


Move InteractiveCredential to a new module

I see in most of our credentials, we don't have "credential" in the file name, only exceptions are msal & vscode. Should we just use "interactive" as the file name? (I am also planning to rename vscode_credential.py to vscode.py)

That sounds reasonable to me. I've made both changes.


update precompiled to reflect modern practices

Some things that we should clean up or update:

use an object patttern like in sqlite3-ruby's extconf.rb to clean up precompiled's extconf.rb
extract the rake-compiler-dock version in the Github Actions pipeline similar to how Nokogiri does it
update to Ruby 3.2 and demonstrate the known workaround for darwin symbol resolution

This last item is blocked on rake-compiler-dock releasing official Ruby 3.2 support.

This has all been done.


Docker logs error: Undefined Table after install

Deployment Method

[X] Installer
[ ] Docker Development
[X] Docker Production
[ ] Bare metal Development
[ ] Bare metal Production
[X] Digital Ocean image
[ ] Other (please provide a link Steps to Reproduce

Describe the problem*
Docker logs error: Undefined Table
psycopg2.errors.UndefinedTable: relation "label_partlabel" does not exist
LINE 1: SELECT (1) AS "a" FROM "label_partlabel" WHERE "label_partla...
^
Steps to Reproduce
Install Inventree with Docker
Let docker run
try to connect on port 1337, you will get a 502 error
look at docker ps, you will find :
inventree/inventree:stable   "/bin/sh ./init.sh i…"   41 hours ago   Up 1 second                     8000/tcp                                inventree-production_inventree-worker_1
continual restarts
Relevant log output
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS                          PORTS                                   NAMES
a26d369456c0   nginx:stable                 "/docker-entrypoint.…"   41 hours ago   Up 41 hours                     <IP_ADDRESS>:1337->80/tcp, :::1337->80/tcp   inventree-production_inventree-proxy_1
1c112bd3fbf9   inventree/inventree:stable   "/bin/sh ./init.sh i…"   41 hours ago   Up 1 second                     8000/tcp                                inventree-production_inventree-worker_1
ceab0ac827fb   inventree/inventree:stable   "/bin/sh ./init.sh /…"   41 hours ago   Restarting (1) 15 seconds ago                                           inventree-production_inventree-server_1
0d246450a24c   postgres:13                  "docker-entrypoint.s…"   41 hours ago   Up 41 hours                     5432/tcp                                inventree-production_inventree-db_1

Failed to create label 'QR and text'
Failed to query label for 'label/inventree/part/part_label.html' - you should run 'invoke update' first!
Traceback (most recent call last):
  File "/root/.local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "label_partlabel" does not exist
LINE 1: SELECT (1) AS "a" FROM "label_partlabel" WHERE "label_partla...
                               ^

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/inventree/InvenTree/label/apps.py", line 187, in create_template_label
    if model.objects.filter(label=filename).exists():
  File "/root/.local/lib/python3.10/site-packages/django/db/models/query.py", line 808, in exists
    return self.query.has_results(using=self.db)
  File "/root/.local/lib/python3.10/site-packages/django/db/models/sql/query.py", line 561, in has_results
    return compiler.has_results()
  File "/root/.local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1145, in has_results
    return bool(self.execute_sql(SINGLE))
  File "/root/.local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "/root/.local/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/root/.local/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/root/.local/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
    with self.db.wrap_database_errors:
  File "/root/.local/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/root/.local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "label_partlabel" does not exist
LINE 1: SELECT (1) AS "a" FROM "label_partlabel" WHERE "label_partla...

have you run inv update?

Thanks for writting me back.
searching Inventre "inv udpate" brings up one entry which points to a github error
(why is there no docuemntattion about this??)
Anyway: looking at that I see this instructions in that post that say to do this.
postgres@ssaass:/home/inventree$ ls
InvenTree  data
postgres@ssaass:/home/inventree$ cd InvenTree/
postgres@ssaass:/home/inventree/InvenTree$ ls
CONTRIBUTING.md  InvenTree  Procfile   RELEASE.md   backportrc.json  contrib	  deploy  docker-compose.yml  docs    package-lock.json  pyproject.toml   requirements-dev.in requirements.in   runtime.txt  tasks.py
Dockerfile	 LICENSE    README.md SECURITY.md  ci		     crowdin.yml  docker  docker.dev.env      images  package.json	 readthedocs.yml  requirements-dev.txt	requirements.txt  src	       yarn.lock
postgres@ssaass:/home/inventree/InvenTree$ inv update
Command 'inv' not found, but can be installed with:
apt install python3-invoke
Please ask your administrator.
postgres@ssaass:/home/inventree/InvenTree$
So:
inventree@ssaass:~$ inv update
Command 'inv' not found, but can be installed with:
sudo apt install python3-invoke
inventree@ssaass:~$ sudo apt install python3-invoke
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
... yada yada yada
Running kernel seems to be up-to-date.
Restarting services... I selected them all not knowing which=service was needed by inv update
/etc/needrestart/restart.d/dbus.service
systemctl restart<EMAIL_ADDRESS>networkd-dispatcher.service NetworkManager.service systemd-logind.service unattended-upgrades.service wpa_supplicant.service
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
inventree@ssaass:~$ inv update
Can't find any collection named 'tasks'!
inventree@ssaass:~$
Not clear what this does.
Since it has to do with the database I tried (from the inventree user):
sudo su postgres
postgres@ssaass:/home/inventree$ psql
psql (14.10 (Ubuntu 14.10-1.pgdg20.04+1))
Type "help" for help.
postgres=# \l
(there we no databases other than the ones I've installed for other projects)
Should I assume that the docker install script does not install the inventree database?

As per the documentation:
![image](https://github.com/inventree/InvenTree/assets/10080325/746db5a0-e8c6-4d18-bc24-d8a52a82318f)


Component naming convention explanation

Added information which naming conventions explanation on which naming convention match declaration and usage

Fantastic addition!


Create 0000-01-02-kat71675.md

created a branch, created a file and made a commit, and opened a pull request


How to merge grid transform output with dataset

Hello! I am working with CMIP6 data, and had a question about saving grid transform outputs. When I try to merge grid transform outputs with the original dataset, I encounter the following error:
MergeError: unable to determine if these variables should be coordinates or not in the merged result: {'sigma_0'}
Is it advisable to save the original dataset (type: dictionary) as xarray, set sigma_0 as a coordinate, then do the grid transform? Please see this notebook for more detail. Thank you!

@jdldeauna,
As I understand it, the issue you are running into has to do with namespace collision:
(1) After computing rho, you have a dataarray named sigma_0:
In [4]: for k, ds in cmip6_compiled.items():
   ...:     ds['sigma_0'] = rho(ds.so, ds.thetao, 0) - 1000
   ...:

In [5]: _, dset = cmip6_compiled.popitem()

In [6]: dset.data_vars
Out[6]:
Data variables:
    so       (member_id, time, lev, y, x) float32 dask.array<chunksize=(1, 5, 70, 385, 360), meta=np.ndarray>
    thetao   (member_id, time, lev, y, x) float32 dask.array<chunksize=(1, 4, 70, 385, 360), meta=np.ndarray>
    sigma_0  (member_id, time, lev, y, x) float64 dask.array<chunksize=(1, 4, 70, 385, 360), meta=np.ndarray>

In [7]: dset.dims
Out[7]: Frozen(SortedKeysDict({'x': 360, 'y': 385, 'lev': 70, 'bnds': 2, 'member_id': 1, 'time': 1980, 'vertex': 4}))

(2) It turns out that grid.transform() is returning a dataarray with a coordinate dimension named sigma_0.
In [10]: x = grid.transform(
    ...:               dset.so,
    ...:               'Z',
    ...:               target_values,
    ...:               target_data=dset.sigma_0
    ...:                 )

In [11]: x.dims
Out[11]: ('member_id', 'time', 'y', 'x', 'sigma_0')

(3) the following fails because xarray is confused about what to do with the conflicting coordinate dimension sigma_0 in x and the dataarray sigma_0 in dset:
dset['so_sigma'] = x

One remedy is to rename sigma_0 dataarray in dset before calling dset['so_sigma'] = x:
In [13]: y = dset.rename_vars({'sigma_0' : 'sigma_rho'})

In [14]: y['so_sigma'] = x

In [15]: y
Out[15]:
<xarray.Dataset>
Dimensions:      (bnds: 2, lev: 70, member_id: 1, sigma_0: 10, time: 1980, vertex: 4, x: 360, y: 385)
Coordinates: (12/14)
  * x            (x) float64 0.5 1.5 2.5 3.5 4.5 ... 356.5 357.5 358.5 359.5
  * y            (y) float64 -80.11 -79.94 -79.77 -79.59 ... 75.22 75.23 75.23
    lat          (y, x) float64 dask.array<chunksize=(385, 360), meta=np.ndarray>
  * lev          (lev) float64 0.0 5.0 10.0 15.0 ... 6.25e+03 6.5e+03 6.75e+03
    lev_bounds   (lev, bnds) float64 dask.array<chunksize=(70, 2), meta=np.ndarray>
    lon          (y, x) float64 dask.array<chunksize=(385, 360), meta=np.ndarray>
    ...           ...
    lat_bounds   (y, x, vertex) float64 dask.array<chunksize=(385, 360, 4), meta=np.ndarray>
    lon_bounds   (y, x, vertex) float64 dask.array<chunksize=(385, 360, 4), meta=np.ndarray>
  * bnds         (bnds) int64 0 1
  * vertex       (vertex) int64 0 1 2 3
  * member_id    (member_id) <U8 'r1i1p1f1'
  * sigma_0      (sigma_0) float64 24.0 24.4 24.8 25.2 ... 26.4 26.8 27.2 27.6
Data variables:
    so           (member_id, time, lev, y, x) float32 dask.array<chunksize=(1, 5, 70, 385, 360), meta=np.ndarray>
    thetao       (member_id, time, lev, y, x) float32 dask.array<chunksize=(1, 4, 70, 385, 360), meta=np.ndarray>
    sigma_rho    (member_id, time, lev, y, x) float64 dask.array<chunksize=(1, 4, 70, 385, 360), meta=np.ndarray>
    so_sigma     (member_id, time, y, x, sigma_0) float64 dask.array<chunksize=(1, 4, 385, 360, 10), meta=np.ndarray>

Another remedy is to just drop sigma_0, and then run dset['so_sigma'] = x.
Here's an updated version of the for loop with all changes I discussed above:
for k, ds in cmip6_compiled.items():

    grid = Grid(
            ds,
            periodic=False,
            coords={'Z':{'center':'lev', 'outer':'lev_outer'}})

    target_values = levels=np.arange(24,28, 0.4)

    so_transformed = grid.transform(
              ds.so,
              'Z',
              target_values,
              target_data=ds.sigma_0
                )

    thetao_sigma_transformed = grid.transform(
              ds.thetao,
              'Z',
              target_values,
              target_data=ds.sigma_0
                )

    # Now that we are done with `sigma_0`, let's drop it
    ds = ds.drop_vars('sigma_0')

    # Add our computed results to the original dataset
    ds['so_sigma'] = so_transformed
    ds['thetao_sigma'] = thetao_sigma_transformed

I hope this helps...

@jdldeauna, I just realized that there's a simpler solution... With the following, you don't need the two loops One loop is enough for computing rho and grid.transform(). Also, we don't have to mess with the renaming, and dropping approaches I suggested earlier):
for k, ds in cmip6_compiled.items():
    sigma_rho = rho(ds.so, ds.thetao, 0) - 1000
    sigma_rho.name = 'sigma_0' # xgcm.transform needs a datarray with a name

    grid = Grid(
            ds,
            periodic=False,
            coords={'Z':{'center':'lev', 'outer':'lev_outer'}})

    target_values = levels=np.arange(24,28, 0.4)

    ds['so_sigma'] = grid.transform(
              ds.so,
              'Z',
              target_values,
              target_data=sigma_rho
                )

    ds['thetao_sigma'] = grid.transform(
              ds.thetao,
              'Z',
              target_values,
              target_data=sigma_rho
                )

Great, thank you so much! This was exactly what I needed.


get closer to Puppet4 readyness

Comments please :newspaper:, there are two tests failing, maybe @globin has an idea about the inifile paramter, and I still have to think over the spaceship operator, as long as nobody else has a quick solution for that.

Is it possible to turn of the empty string lint for that line? We actually want that there because of php.ini weirdness having no section/an empty section in a few places.
And we always want to make sure we always restart fpm after installing/changing extensions even if we don't define them. Hence the empty spaceship is fully intended.
Are those not allowed in Puppet4 or is that just fancy "hack-freeness"?

I don't think it's possible to turn off the check for just one line. See http://www.camptocamp.com/actualite/getting-code-ready-puppet-4/ for details on the checks. I would be OK to turn off the spaceship check if there's no good solution, especially as I used it in the past, too. ;)

http://puppet-lint.com/controlcomments/

Ah, nice, didn't know that. :bow:
However, would undef instead of '' also do the trick for inifile?

If it's allowed here: https://github.com/puppetlabs/puppetlabs-inifile/blob/master/lib/puppet/util/ini_file.rb#L12
I don't know, someone ( :panda_face: ) will have to try,

doesn't work with undef :crying_cat_face:

All :green_heart: now, for your kind consideration.
BTW, we really need more spec tests, I don't think this is really future parser ready...

Go for it :wink:


i got it to work once but now am getting this error, please help

i got it to work once but now am getting this error, please help @divyam234

if you restarted the docker, you will have to see again the ip that postgresql is working, that is your error @aniel300

it stays the same '<IP_ADDRESS>" however for my understanding i can use "<IP_ADDRESS>" which is what am using

u shouldn't work with ips in an docker environment.

i was able to fix it by adding "xxx:port number"


which tensorflow version is required?

Which tensorflow the "flod" can support ? not work with 0.11

1.0 is required; earlier versions like 0.11 will work because TF 1.0 introduced breaking API changes. The setup page has full instructions and links to get TF 1.0 pips.


Recent Activity Log for my organization

##Summary
Any user associated with a company will be taken to this page after they switch to member console, select foundation from left navigation and EasyCLA from top navigation.
Here is the link to wireframe for the foundation page for EasyCLA.

Step 4 in PRD https://confluence.linuxfoundation.org/display/PROD/Foundation+Dashboard+for+EasyCLA
Shows recent EasyCLA activity log for user's company. This includes information from all projects under this foundation for which your company has signed CLA. For project EasyCLA page this chart will only show information for that project associated with user's company.
The activity-log should display project icons along with date/time stamp in the same format as shown in the wireframe design.
The list of projects will be scrollable and will show 5 events per page until the top 10 events are displayed. Notice that the web page will show x of y events at the bottom of the page. The value of 'x' refers to a number of records displayed and the value of 'y' refers to the maximum number of records found, limit the value of 'y' to 10.
The information for this table will be provided by EasyCLA API.
NOTE :
If the user's company has not got any signed CLAs that fall under this foundation then this table display is empty. Green dot doesn't have any significance, it is just showing the latest event.
##Acceptance Criteria

[ ] Design Changes Required ?--> Not Applicable (N/A)
[ ] Unit Testing Complete

[ ] Unit Testing complete for backend API
[ ] Unit Testing complete for UI

[ ] Functional Testing Complete

[ ] Functional Testing complete for backend API
[ ] Functional Testing complete for UI

[ ] Integration Testing Complete

[ ] Integration Testing complete for backend API and UI
[ ] Integration Testing complete end to end dev deployment

[ ] Documentation Updated
[ ] Any Open Sev. 1 or Sev 2 bug(s)

@prasannamahajan for Organization Access:
users must be in one of the following roles for the associated Organization ID:

company-admin
company-alternate-owner
company-owner
cla-manager
cla-signatory
lf-admin
lf-legal
lf-operations
super-admin

Pull request:
https://github.com/communitybridge/easycla/pull/1069

Change needed : we also have query for sub projects if projectSFID is of the foundation type

Moved to the next sprint. Awaiting QA @nirupamav

@dealako @pranab-bajpai
Could you please provide the list of events that are displayed in this section and the standard format of display for each event

Tested and observed below issues

403 is returned for cla-manager-designee who has access to project but not foundation when events are fetched at foundation level
Steps followed

As company admin (Company: Black Duck Software, Inc.)Start CLA process for ATOM project under Open Mainframe Project
Identify user that has LFID (having just user role and not associated to any company) as company cla-manager-designee. From backend cla-manager-desingee role is assigned for the user with scope ATOM|Black Duck Software, Inc.
Now try to fetch events at foundation level. Observed 403 is returned

Always empty object is returned for the foundation even if events exists for projects
Foundation Level
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/0014100000TdznTAAR/project/a0941000002wBymAAE/events

Project Level
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/0014100000TdznTAAR/project/a092M00001IfR9lQAF/events

@nirupamav
Can you test this again.
I have provided cla-manager-designee permissions.
And this api got modified in https://app.zenhub.com/workspaces/easyclav2-5ed619832c71a855a76ef404/issues/communitybridge/easycla/1267

Observed that data is fetched in the response now. But I will be testing it during end-end flow testing when project console and contributor console is ready to make sure all events are fetched

_Tested and observed below issues
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/events/foundation/a0941000002wBzCAAU_
1. When CLA is signed by Signatory still the even is logged as EmployeeSignatureSigned

2. Company name is undefined for event when Individual Contributor signs ICLA for the project

3. User None is displayed for both Individual and Employee signature events

4. CLA group id is displayed in EventData when approval list is added or removed

5. None in displayed in the user association event when corporate contributor(who has not raised PR for the project) is added to approval list, and corporate contributor created PR, completed the CLA process to get acknowledged (This scenario is when corporate contributor need not sign ICLA)

@dealako @nirupamav Issues raised in this ticket are not related to this api
but it is related to event data.

Resolved these issues during a stakeholder review meeting. The next phase will cleanup the summary data to make it more english-sentence-like.


Detect cross-origin error, e.g. in IE11, and optimize.

First, thanks for this polyfill for URL and URLSearchParams!
After some testing on IE11, I found there are security issues preventing use of a cross-origin base, so I made a more obvious error out of that situation.  I didn't understand the use of window.doc = doc; so I removed that.
I also optimized the use of the separate doc and base to only be necessary if the given base is different from the current global.location.href.
There's also a minor improvement to the URLSearchParams toString() where using an Array join("&") prevents repeating re-concatenation of strings.

Wow, great job ! I'll run the tests and publish on npm tomorrow. Thanks a lot.

@lifaon74 With more testing I'm seeing some discrepancies with this ... I'll work on another patch later today.

@lifaon74 I think it's OK.  I'll still do some more testing.

Ok, fully tested and published


Direct Line Speech throw "actions of null" error when bot is on unsupported region

I was using this example to implement directline speech in webchat. Here is the script I used

seems like "...adapters" is not supported in Edge or IE, How can I change it so that it will be working in Edge and IE ?

The sample code we provided is for latest version of JavaScript. Both Edge and IE11 do not support the latest syntax. You will need to transpile it down to the version you need (IE11 support up to ES5).
There are multiple ways to do it, we are outlining two popular choices here:

For development, you can use @babel/standalone to transpile on-the-fly

This is strictly used for development purpose only
You can refer to https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/01.getting-started/e.host-with-react, this sample do two things:

Use @babel/standalone to transpile on-the-fly (this is the part you need)
Host Web Chat using React (this is optional)

For development and production, you should use Webpack + Babel to precompile your website

Babel is for transpiling: convert newer syntax of JavaScript code to older syntax of JavaScript code

IE11 support up to ES5 only, so you should target ES5

Webpack is for bundling: merge multiple *.js files into a single app.js file

While doing the bundling, Webpack can be configured to load the file through Babel, a.k.a. loader. This means "transpiling while bundling".

@compulim I'm embedding webchat with directline speech. So I chose the second option. Here is my updated code
<!DOCTYPE html>

    <title>Web Chat: Send welcome event</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

It was working fine in all browsers till yesterday. Today when I check I see this error.

I haven't published or made any changes in bot yesterday. Bot is working fine in Azure portal and also in emulator.

@Hari-c4 I tried your code with my bot's region + subscription key and it works normally.
I am searching through the code for potential 'actions' of null error.
Could it be related to a malformed Adaptive Cards or suggested actions?

@compulim  Thanks for the quick response. Directline webchat without speech is also working fine for me. Issue happens when I use directline speech. Here is the working code for directline webchat

If it is working for you, can you tell me your speech resource's region ? Mine is central India.

Mine is westus2.

@compulim I changed my speech resource to one in westus2 region. Its working now!

Good to know!
Let me rename this bug so we don't surface a hard-to-guess error message.

Hi,
today we have same problem with westeurope region but we are unable to change the region of service.
Until saturday I'm sure that it works, any help?
Thanks

Hi,
today we have same problem with westeurope region but we are unable to change the region of service.

We use the npm package.
Until saturday I'm sure that it works, any help?
Thanks

I'm also facing this issue again, I have raised a support request from Azure. Will keep you updated, if i get to resolve this.

Hi,
For me this issue was resolved without making any changes in code or configuration. I believe this issue was from the speech API side. It got resolved 3 to 4 days after reporting and it never occurred again.


Oxidize PauliFeatureMap

Summary
This PR oxidizes the PauliFeatureMap (and derivatives) and implements a first step in refactoring the circuit library, where structurally fixed circuits are moved to functions. As part of this, PauliFeatureMap & co. are pending deprecation.
Details and comments

This code is ~8x faster than it's Python equivalent. The most time is spent in parameter multiplication, which could be further improved by caching the expression across the repetitions, or (bigger scale) have the parameter logic in Rust.
If #12767 is merged, this will be handled in a follow up.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

242 of 248 (97.58%)  changed or added relevant lines in 7 files are covered.
23 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.02%) to 89.233%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/accelerate/src/circuit_library/pauli_feature_map.rs
193
195
98.97%

crates/circuit/src/operations.rs
20
22
90.91%

qiskit/circuit/library/data_preparation/pauli_feature_map.py
21
23
91.3%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.43%

crates/qasm2/src/lex.rs
3
92.98%

qiskit/synthesis/two_qubit/xx_decompose/decomposer.py
6
90.84%

crates/qasm2/src/parse.rs
12
97.15%

Totals

Change from base Build<PHONE_NUMBER>6:
0.02%

Covered Lines:
71879

Relevant Lines:
80552

💛  - Coveralls


Support Data Streams in OpenSearch

Description
This PR aims to add the missing MetadataFieldMapper required to parse the _data_stream_timestamp metadata field mapping used to create data streams and to perform timestamp field validation on the ingested documents. This PR also allows users to change the default timestamp field name (from "@timestamp") as required using an index template.
Issues Resolved

Closes https://github.com/opensearch-project/OpenSearch/issues/675

Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.
Signed-off-by: Ketan Verma<EMAIL_ADDRESS>

start gradle check

start gradle check

Thank you for working this enhancement. Can you open a backport PR to the 1.x branch? The pending label will stay applied until we merge to 1.x.

@nknize Created this backport PR – https://github.com/opensearch-project/OpenSearch/pull/713


Support for proxy auth

Is there any option to provide proxy username and password ?

+1

Looks like https://www.npmjs.com/package/tunnel supports Basic authentication via proxyAuth


Filtering strings doesn't work

Not quite clear to me how PyArrow Compute functions & Lance interweave. Should I be able to use any of them? Are they re-implemented in Lance?
Regardless, I'm just trying to do a a substring match:
import lance
import numpy as np
import pyarrow.compute as pc

ds = lance.dataset("2.lance")
filters = pc.match_like(pc.field("title"), "%")
ds.to_table(filter=filters, nearest={"column": "vector", "q": np.random.random(768)})

Gets an errror like:
Traceback (most recent call last):
  File "/home/chris/search/gumbase/experiments/test_lance_filters.py", line 7, in <module>
    ds.to_table(filter=filters, nearest={"column": "vector", "q": np.random.random(768)})
  File "/home/chris/.pyenv/versions/vector_search/lib/python3.8/site-packages/lance/dataset.py", line 159, in to_table
    return self.scanner(
  File "/home/chris/.pyenv/versions/vector_search/lib/python3.8/site-packages/lance/dataset.py", line 102, in scanner
    ScannerBuilder(self)
  File "/home/chris/.pyenv/versions/vector_search/lib/python3.8/site-packages/lance/dataset.py", line 460, in to_scanner
    scanner = self.ds._ds.scanner(
ValueError: LanceError(I/O): sql parser error: Expected an expression:, found: {

@cemoody we're adding sql string support for "like" and "in" here https://github.com/eto-ai/lance/pull/696 . Would that work for your use case (see unit test for usage)?

Yeah! Anything works! I'm ambivalent whether it is SQL-style or anything else.

A different filter which would be super useful, is an "allow list" filter. Basically: id is in [1, 5, 3490, 90002]. I'm considering a hybrid vector+bm25 search and I have already precomputed Tantivy (another Rust project) indexes alongside Lance. Passing an allow list would be a nice way to mix both retrieval engines. I'd be interesting to see if that raises my relevance.

v0.3.16 is being released now with #696 included. Both LIKE and IN should be supported. Please give it a shot when you have time.
I'm super curious if the vector + bm25 combo is meaningfully better. if it does, potentially we could integrate tantivy as another index type at some point.

Awesome. Just wrote tests on my end and verified that numeric range, string LIKE, and subset IN filters all work! Thank you!!!!

re: hybrid search.
If you are not aware, In the literature,  vector + bm25 is near-universally the strongest baseline. The difference is substantial. So much so that all of the vector search engines added BM25 search in the last few months. To everyone's surprise, hybrid search being superior continues to be true despite the last decade of AI & LLMs! Shocking that an algo from the 70s is still that good.
A simplified but typical near-SOTA (text-only, which isn't exactly gumtap does ) search pipeline looks like:

Retrieve with at least BM25, optionally union with a vector search
Score both sets with TF-IDF and vector search dot products/euclidean/cosine (you might be missing one if you retrieve with the other method)
Pass through a re-ranking model that uses BM25 and dot product scores and anything else as features. More advanced rerankers run BERT or DistillBERT  or whatever using the full query and document text to re-score the outputs and re-rank them.

The reranker is a lot of extra complexity, and costs a lot in terms of latency, but the scores are dramatically better and results qualitatively worth it. Some vector search engines (eg vespa or weaviate) try to include this via ONNX, but I think that makes things even harder to deploy and manage. It's reason #875 why I like Lance; it has clearer separation of concerns.


examples: fix trunk config to run tailwind at the right time

The current example only works if there is already a created CSS file but on the first run it fails.
This patch should fix is.

Thanks!


fixed a typo in time-travel-debugging-replay.md

you an also use  -> you can also use

Thanks Tanya, we appreciate the PR! :)


Update host to use new web host builder

And add serilog: https://nblumhardt.com/2017/08/use-serilog/

And add serilog

done


Create a Kubernetes Cluster in IBM Cloud

As a Developer
I need a Kubernetes cluster on IBM cloud
So that cloud deployment can be completed
Acceptance Criteria
IBM cloud works

Dude cloud not easy cmon.. can blow my brain lol the hell

Im not script and code what can u do that 🌊


Add note about pytest log messages

I keep referring back to my community post[1] on this topic, and figured it should be in the dev guide.
I wonder if we need to rework the paragraph just above my new one, since it refers to stdout? It also says "rare standalone usages": I don't know that that's exactly "rare"?
1: https://community.lsst.org/t/recent-changes-to-science-pipelines-logging/5732/4?u=parejkoj

Here's the rendered version: https://developer.lsst.io/v/u-parejkoj-pytest_logging-1/python/testing.html#pytest-logging-output


Keep updated

I am pretty sure the keep updated option does not work

I'm pretty sure it does, as it's part of the test suite. Can you describe what you've done to come to the assessment that it doesn't work, and get me a debug ID after you've tried to replay the problem?

Really can't do anything with so little information.

Yesterday, I updated from Zotero 4 to 5 and noticed that better latex citation keys were missing. In the add-on Manager the Better Bib(la)tex plugin is disabled (see screenshot). Do I need to uninstall / reinstall?

It seems it doesn't work only under particular circumstances. If I succeed in isolate them, I will report back

1.6 is not Zotero5-compatible -- upgrade to the latest release.

I had the 1.6 installed and the "check for updates" did not seem to do anything. I had to download the 5 series from github manually. The plugin was marked as not compatible with Zotero 5. Perhaps this is what happened for @raffam as well?

Where was it marked as not compatible?

If you're on 1.6 an update check should now upgrade to a 5.0 version (not necessarily the latest version); subsequent checks will get the latest version.

@raffam you don't need to isolate the circumstances. If you restart with debug logging, replay the problem once, then submit a BBT error report, I usually have all the info I need.


Easily handle assigning flux to network for analysis

Again, writing the example in the paper shows where there’s room for improvement. This PR makes it easier to use an external flux calculation for the MISTIS rate. The problem is that there needs to be a flux for every transition. The flux from a state and through an interface is, of course, uniquely identified by the tuple (state, interface). The network receives a dictionary of (state, interface): flux, and assigns the flux to the appropriate transitions, using the new network.set_fluxes(flux_dictionary) function.
This takes much less deep understanding on the part of the user than the previous approach. The code for the function is short, but to do the correct thing would require advanced understanding.

[x] Add method to easily set flux for network analysis
[x] Tests for setting flux for analysis
[x] Use in MISTIS example

Passes. I'll call this part ready for review/merge, but I noticed that there was some strange behavior with moves running to max length allowed by the engine (unrelated to the goal of this PR, but worth knowing about). I'll check on that soon.

Looks good. It seems to be a rather special use case.


phpredis vs predis lazy connect

The laravel phpredis connector seems to connect to redis straight away, but the predis connector does not. It would be good if the phpredis one was also lazy when it comes to connecting to redis.

 For context, these tests are checking that I can resolve some classes from the IOC, which in turn causes the IOC to resolve the redis connection, which now tries to connect to the db, but before, with predis, it wouldn't try to connect.

Not sure if this is even feasable

In a way that won't break code that messes with the internals of the connectors, that is.


[5.2] Illuminate\Http\Request::header() does not retrieve multiple values

When the Illuminate\Http\Request::header() function accesses the HeaderBag (stored in headers property) it only returns the first value of a header, even when a header has multiple values.
Example:
$request = new Illuminate\Http\Request;
$request->headers->set('X-My-Header', ['foo', 'bar']);
var_dump($request->header('X-My-Header'));

Will output:
string(3) "foo"

However it should output:
array(2) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
}

When calling Symfony's HeaderBag::get(), the third parameter $first is not specified, defaulting to true and only returning the first item.
It looks like the third parameter was removed from Illuminate's Request::retrieveItem() after the $deep flag was deprecated in Symfony's ParameterBag::get() and ServerBag::get(), however HeaderBag::get() still needs that third parameter.

Where is this "headers" method you are calling defined? I can't find it in our request or Symfony's?

Thanks for looking into this, and sorry I mistook what should have been a call to $this->headers->get(). The last commit (361e933) should pass build.

It seems a number of other tests use the Illuminate\Http\Request::header() method. I'm going to stop making these changes in the browser, and will come back with a proposal on what other tests might need to change.

I've checked Request::header() in previous versions of the Laravel framework, and they also only return the first value (as a string) even when the header has multiple values.
As many other Laravel methods rely on this method returning a string to function properly, this is not a bug but perhaps some slight confusion in the documentation. Sorry for the run around.
My understanding was that this method would return an entire header, eg string if it the header had one value, or array if it had multiple values. However as it only returns the first value of a header (as a string), perhaps the docblock should mention this specifically?

Perhaps so. Closing this for now.


[SPARK-35714][FOLLOW-UP][CORE] WorkerWatcher should run System.exit in a thread out of RpcEnv

What changes were proposed in this pull request?

This PR proposes to let WorkerWatcher run System.exit in a separate thread instead of some thread of RpcEnv.
Why are the changes needed?

System.exit will trigger the shutdown hook to run executor.stop, which will result in the same deadlock issue with SPARK-14180. But note that since Spark upgrades to Hadoop 3  recently, each hook now will have a timeout threshold which forcibly interrupt the hook execution once reaches timeout. So, the deadlock issue doesn't really exist in the master branch. However, it's still critical for previous releases and is a wrong behavior that should be fixed.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Tested manually.

cc @mridulm @cloud-fan @jiangxb1987

Thanks for proactively fixing this!

Thanks all! Merged to Master/branch-3.2/branch-3.1/branch-3.0.

Late +1


Add variadic version of scalar_seq_view

Description
In the finite-diff framework PR (and some other functions that I'm planning), we need to be able to sequentially iterate through each element of all arguments passed to a function.
The current approach is to use the serializer/deserializer framework which copies all values to a single Eigen::VectorXd and then re-constructs the arguments to the appropriate shape/size by passing in the original arguments. This obviously introduces pretty significant overhead in both copy and memory costs.
A better alternative would be to extend scalar_seq_view to take a variadic number of arguments, and then in the []/() index operator use a hash table to map the input index to the appropriate value in the appropriate argument
Example
In Math pseudo-code, something like:
Eigen::VectorXd a_vec(2);
Eigen::MatrixXd b_mat(2,2);

scalar_seq_view<Eigen::VectorXd, Eigen::MatrixXd> args_view(a_vec, b_mat);

args_view[0]; // Returns a_vec[0]
args_view[1]; // Returns a_vec[1]
args_view[2]; // Returns b_mat(0, 0)
args_view[3]; // Returns b_mat(1, 0)
args_view[4]; // Returns b_mat(0, 1)
args_view[5]; // Returns b_mat(1, 1)

Current Version:
v4.7.0

Are you only reading through it once in sequential order? For sequential reads we could just do something where we store a tuple of references to the arguments constructor and the sizes and iterate with a next() member function. Toy example below where i didn't figure out the inner array indexing bits but I think is possible.
https://godbolt.org/z/cfbEzTY44
Do you need it to have a operator[]? We could just mock that inside of the class and actually when operator[] is called it always just returns the next scalar. Though that's kind of gross

Actually can you show me where you need to do that? Idt I like what I wrote there

Oh interesting, thanks for prototyping!
The best example for the use-case is anything that needs to use the gradient or hessian functors. These involve looping through each parameter value and either peturbing it (for finite-diff) or constructing a var/fvar for autodiff.

Are you only reading through it once in sequential order?

It would likely be iterated through multiple times, and I don't know if it could always be guaranteed to be sequential, so that's why I thought an index-lookup approach would be best


Mutual TLS Authentication ， CN cannot be specified

After configuring the ca certificate, you can access it, but you cannot control the required CN. Now all the issued ca certificates can be authenticated successfully.
https://apisix.apache.org/docs/ingress-controller/references/apisix_tls_v2/     No parameter to set CN

What is the way to realize it? According to CN
Originally posted by @wangyp0701 in https://github.com/apache/apisix/issues/8474#issuecomment-1418550432

The hosts filed.


refactor: Remove async code and Octocrab to make Dobby lighter (closes #68)

See #68 for more detail on motivation and results. Tested GitHub issue functionality by verifying issues are listed for this repo. Tested Jira list issue functionality on inventory-server. I suppose we should also test Jira transitions to make sure I didn't break that.

Octocrab is just a lib for communicating with GitHub's API, it used reqwest internally. I would like to get a second look from @Shadow53  or @z-triax since this is a pretty significant change.


No download file for 1.51.2 but release notes available

According to the Release nodes version 1.51.2 was released on 31st of August;
https://github.com/jfrog/jfrog-cli/commit/30121d66bc623505f0d8244460975ab016c5d8e4
But, when I go to the link below, then I do not see an artifact for version 1.51.2, the last build seems to be 1.51.1, is that correct?
See: https://releases.jfrog.io/artifactory/jfrog-cli/v1/
When I try to directly download https://releases.jfrog.io/artifactory/jfrog-cli/v1/1.51.2/jfrog-cli-linux-amd64/jfrog then I receive 404, file not found.
Has the tag been forgotten? Or is this not yet released?

@s-geiger-si -
Allow me to appologize for the confusion caused by this.
Version 1.51.2 (and also 2.3.1) were released only for the debian and rpm distribution of JFrog CLI. To avoid further confusion, we will refrain from not releasing a patch for all distributions.
Version 1.51.1 is identical to 1.51.2, if you're not using the debian installer.

Understood, thanks a lot for the quick response.