Module border

Is your feature request related to a problem? Please describe.
I'm unable to do a floating bar with borders around individual modules without making a bunch of separate
Why does polybar need this feature?
To enable better-looking "floating" bars (background set to #00000000).
Describe the solution you'd like
A per-module border setting.
Additional context

See that bar between transparent space? I don't want that there. There also is no border on the sides of modules, only on the bordering modules.

Hi, thanks for suggesting.
I'm not quite sure about this feature. With the current way the bar is structured it's not possible to implement, we would have to make some pretty substantial changes to how the bar is rendered.
We won't implement this now. But we may come back to it in the future if make big changes to the renderer.

Here is an example of how to do this with the current capabilities:
[bar/main]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right = alsa-switch pulseaudio-tail time calendar
modules-left = ;yadm-checker.sh true
modules-center = i3
background = #00000000
bottom = false
tray-position = none
height = 3%
padding = 1
line-size = 4
line-color = #f00
; radius = 15

; This creates a fake offset (floating bar)
; offset causes i3 windows to overlap with the bar.
; Not specifying border-color makes it transparent.
border-top-size = 20
; border-bottom-size = 20 ; switch top/bottom based on 'bottom=false/true'
border-left-size = 20
border-right-size = 20

[bar/main.top.left]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right =
modules-left = yadm-checker.sh true
modules-center =
border = 2
width = 8.8%
background = #00000000
bottom = false
tray-position = none
height = 3%
padding = 0
override-redirect = true
offset-x = 30
offset-y = 20
; underline-size = 4
; underline-color = #f00
; radius = 15

; This creates a fake offset (floating bar)
; offset causes i3 windows to overlap with the bar.
; Not specifying border-color makes it transparent.
border-size = 4
; border-top-size = 7
; border-bottom-size = 7 ; switch top/bottom based on 'bottom=false/true'
; border-left-size = 7
; border-right-size = 7
border-color = ${colors.nord2}

Here is a screenshot of what it looks like. Notice how the left green/yellow module has a border, that's because it's it's own module with fixed positioning and width set to line up with the second bar. The second bar has no left modules, is width 100% with a transparent border. I use transparent border instead of override-redirect because override-redirect is bugged in conjunction with i3wm (really it's i3's fault, i3 windows will overlap with polybar). So the second bar (main) is responsible for setting the boundaries with i3 and the screen edges, then the second bar can use override redirect, offset-x/y, etc.

Couple issues/limitations:

if your module has a variable width, like the i3wm module for example, which becomes wider/narrower depending on how many workstations you have open, this forces you to select a width for the bar that is wider than the module, and to set the background to some fixed color, which isn't the same as "the border follows the width of the module as it adjusts". Doesn't ruin it, but it's a limitation.

the positioning logic is incredibly brittle. Setting this up for multiple resolutions can be daunting, even when using percentages. Still totally doable, but would be better if it was handled by c++ in polybar.

I can totally see why the devs don't want to implement it right away. It requires some thought for sure. I came across your issue because i was mid way setting up all the widths/borders/etc and thought to myself "let me just double check to see if this is supported out of the box, because damn that would save me some work!".

Here's an example of doing it for left, middle, and right:

Below is the code. Notice that I chose to leave one module on the main bar. This is because one module must be included for the bar to render. I'll switch the module at some point to one that doesn't do anything. For now it's just being drawn over by the main.top.right bar:
[bar/main]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right = time
; alsa-switch pulseaudio-tail time calendar
modules-left = ;yadm-checker.sh true
modules-center = ;i3
background = #00000000
bottom = false
tray-position = none
height = 3%
padding = 1
line-size = 4
line-color = #f00
; radius = 15

; This creates a fake offset (floating bar)
; offset causes i3 windows to overlap with the bar.
; Not specifying border-color makes it transparent.
border-top-size = 20
; border-bottom-size = 20 ; switch top/bottom based on 'bottom=false/true'
border-left-size = 20
border-right-size = 20

[bar/main.top.middle]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right =
modules-left =
modules-center = i3
border = 2
background = ${colors.secondary-bg}
width = 33%
bottom = false
tray-position = none
height = 3%
padding = 0
override-redirect = true
offset-x = 33%
offset-y = 20
border-size = 4
border-color = ${colors.nord2}

[bar/main.top.right]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right = alsa-switch pulseaudio-tail time calendar
modules-left =
modules-center =
border = 2
background = ${colors.secondary-bg}
width = 350
bottom = false
tray-position = none
height = 3%
padding = 0
override-redirect = true
offset-x = 85.2%
offset-y = 20
border-size = 4
border-color = ${colors.nord2}

[bar/main.top.left]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right =
modules-left = yadm-checker.sh true
modules-center =
border = 2
width = 8.8%
background = #00000000
bottom = false
tray-position = none
height = 3%
padding = 0
override-redirect = true
offset-x = 30
offset-y = 20
; underline-size = 4
; underline-color = #f00
; radius = 15

; This creates a fake offset (floating bar)
; offset causes i3 windows to overlap with the bar.
; Not specifying border-color makes it transparent.
border-size = 4
; border-top-size = 7
; border-bottom-size = 7 ; switch top/bottom based on 'bottom=false/true'
; border-left-size = 7
; border-right-size = 7
border-color = ${colors.nord2}

It also drives me nutts that my volume modules don't have proper padding. I'm going to fix that.... at some point...
All this stuff is checked into my dotfiles repo if you're interested in seeing more. I update it regularly. Star/follow for updates.
I have polybar setup to load themes dynamically based on selection from a rofi menu. Fun stuff.

This solution utilizes just a single bar with transparency.
[global/wm]
font-4 = "border:size=1"; the font name can be anything

[module/m_border]
type = custom/text

format = <label>
format-background = ${colors.border_color}
format-foreground = ${colors.border_color}
format-padding = 0

label = "%{T5} %{T-}"

format-underline = ${colors.border_color}
format-overline = ${colors.border_color}

also, to note. for some reason it will only work if your bar's dpi is greater than 108


Filtering with --spoof-for

Hi,
first of all thanks for this great tool :D
I have a feature request regarding filtering with --spoof-for.
Following example:
# pretender --verbose --interface ens18 --no-lnr --spoof-for <IP_ADDRESS>
Pretender by RedTeam Pentesting built from git commit 69d85ac239
Listening on interface: ens18
IPv4 relayed to: <IP_ADDRESS>
IPv6 relayed to: fe80::8f6:4eff:fef4:f415
Answering queries from: <IP_ADDRESS>

23:44:35 [DNS] listening via TCP on [fe80::8f6:4eff:fef4:f415%ens18]:53
23:44:35 [DNS] listening via UDP on [fe80::8f6:4eff:fef4:f415%ens18]:53
23:44:35 [DHCPv6] listening via UDP on [ff02::1:2%ens18]:547
23:44:36 [RA] sending router advertisement on ens18
23:44:51 [DHCPv6] ignoring DHCP SOLICIT request from fe80::d09b:746d:4510:5d8c (win2016.arasaka.local, <IP_ADDRESS>): host not in spoof-for list

I think pretender should answer the DHCPv6 request, because it knows that fe80::d09b:746d:4510:5d8c belongs to the allowed address <IP_ADDRESS>.
Otherwise allowing only specific IPs is quiet cumbersome because you have to know the IPv6 address in beforehand.
Another case is this:
# pretender --verbose --interface ens18 --no-lnr --spoof-for win2016.arasaka.local
Pretender by RedTeam Pentesting built from git commit 69d85ac239
Listening on interface: ens18
IPv4 relayed to: <IP_ADDRESS>
IPv6 relayed to: fe80::8f6:4eff:fef4:f415
Answering queries from: win2016.arasaka.local (<IP_ADDRESS>)

23:39:10 [DHCPv6] listening via UDP on [ff02::1:2%ens18]:547
23:39:10 [DNS] listening via TCP on [fe80::8f6:4eff:fef4:f415%ens18]:53
23:39:10 [DNS] listening via UDP on [fe80::8f6:4eff:fef4:f415%ens18]:53
23:39:11 [RA] sending router advertisement on ens18
23:39:38 [DHCPv6] responding to SOLICIT from fe80::d09b:746d:4510:5d8c (win2016.arasaka.local, <IP_ADDRESS>) by assigning IPv6 "fe80::8000:c66d:7e7b:5e75"
23:39:39 [DHCPv6] responding to REQUEST from fe80::d09b:746d:4510:5d8c (win2016.arasaka.local, <IP_ADDRESS>) by assigning DNS server and IPv6 "fe80::8000:c66d:7e7b:5e75"
23:39:39 [DNS] ignoring query for "win2016.arasaka.local" (SOA) from fe80::8000:c66d:7e7b:5e75 (<IP_ADDRESS>): host address and name not in spoof-for list

Here it would be nice if the query from fe80::8000:c66d:7e7b:5e75 (<IP_ADDRESS>) would be answered, because pretender knows that fe80::8000:c66d:7e7b:5e75 belongs to <IP_ADDRESS> which in turn belongs to win2016.arasaka.local.

Hi, i'm glad you like pretender. I myself have been annoyed by this this, too, so I have thought about this a lot already. However, I have come to the conclusion that the filtering rules should not utilize the data in the parentheses ("host info") for the following reasons:

The info in parentheses ("host info") is infered through various methods by the logger. The only purpose of this function is to provide additional insight into what's going on and to make it easier to match name resolution events to events captured by other tools such as ntlmrelayx.py. This is why the implementation of both features (filter rules and host info) are quite isolated of each other.
The info is infered on best-effort basis. For example, it currently only works on Windows and Linux, the name resolution and ARP lookup timeouts are also quite short in order to not delay logging the event for too long and it is performed asynchronously after having received a request. That's why some of the info may not be available or it may only be available after having already previously received a request. This could result in race conditions when say a IPv6 mDNS request is received when the host info logic has not yet matched the IPv6 address to an IPv4 address. In contrast, filtering rules should be very reliable as deciding who to attack and who not to attack is a very deliberate decision, therefore it should be very precise.
The decision whether or not to answer a request has to be fast for local name resolution methdos such that the attacked system receives the spoofed response before the legitimate response. Waiting for asyncronous information gathering (when the info is not yet cached) would significantly delay the response.

Hi, thanks for detailed explanation.
Wouldn't it be possible to build a lookup table in beforehand? E.g. take the IPs or FQDNs specified with --spoof-for and do the ARP, DNS, etc. lookups on startup.
If the implementation takes to much time or is otherwise unfeasible you can close the issue. After all this was just a quick idea that popped into my head :D

If you specify a domain, it will do a DNS lookup for IPv4/IPv6 addresses and add the results to the list (they will also appear in stdout). However, ARP and NDP lookups are not performed as this is platform specific and I don't want critical functionality like --spoof, --spoof-for, --dont-spoof and --dont-spoof-for to be platform specific and potentially unreliable.
These lookups are currently implemented by running the shell commands and parsing the output because otherwise they'd require additional privileges. So when the parsing fails it would not be too bad for 'nice to know' info but it would be bad for making a decision what to answer.
I'll close this issue now, but I'm glad we discussed it :wink:


fix(tracing): support explicit StartOptions().setSources(false)

Prior to this commit using new Tracing.StartOptions().setSources(false) was was wrongfully treated as .setSources(true)since it only tested theBooleanto be non-null. Also,includeSources` was converted into a local variable as it is not used anywhere else.

The patch looks good! Please sign the CLA above so that we could merge your PR.

@yury-s done, had to get legal to give the green light first.


Release version 1.5

Heey,
What is the planned release date for version 1.5.0?
(HACS does not offer an update)
I see some features that I would like to use for my styling 😸

Curious about this as well, this may solve some of the issues I'm seeing.

@FamousWolf could you please push this version out to hacs?

Due to health issues I was out of the running for a while, but I'm back now. Sorry about that. I've just released version 1.5.0.

Health is more important than a home assistant plugin. Feel better and thanks for the work you’re doing here!


Schedule change updates

This adds a monitor update when the the schedule for a monitored job changes. Bon appétit

Sorry -- this change comes off my master branch, which includes the job watcher changes.


Show when loading more tokens

Loading tokens (actually token balance) can take some time and the tokens cards only appear when the RPC got answered. I'd like to know as a user that the tokens are loading.
Either by showing a loader under the cards that are displayed already or by showing the tokens, but hiding temporarily the balance (and prevent the card from being clickable) while the balance gets retrieved.
2 alternatives that I like equally. Pick the one you prefer or the easiest to be implemented.

I think this PR https://github.com/paritytech/fether/pull/414 will resolve this issue using the 2nd alternative

closing as addressed


Remove stars when repo goes private

Fixes #18600

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@3d9c02a). Click here to learn what that means.
The diff coverage is 18.18%.

@@           Coverage Diff           @@
##             main   #19904   +/-   ##
=======================================
  Coverage        ?   47.31%
=======================================
  Files           ?      960
  Lines           ?   133686
  Branches        ?        0
=======================================
  Hits            ?    63247
  Misses          ?    62727
  Partials        ?     7712

Impacted Files
Coverage Δ

modules/repository/create.go
42.28% <0.00%> (ø)

models/repo/star.go
38.98% <25.00%> (ø)

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 3d9c02a...c57c545. Read the comment docs.

Perhaps we should add a UI warning that starts will be removed when made private, as we don't want to repeat: https://twitter.com/httpie/status/1514729922799022083

We need to add this to change list on the popup warning window.

In my view, maybe should recheck read permission of each stared users.

In my view, maybe should recheck read permission of each stared users.

But that's a low-performance thing.

We need to add this to change list on the popup warning window.

Which change list do you mean ? on which warning window ?
Afaik nothing shows a popup when updating anything on the basic setings of the repo.

Sure

We need to add this to change list on the popup warning window.

Which change list do you mean ? on which warning window ? Afaik nothing shows a popup when updating anything on the basic setings of the repo. (should we move setting the repo private to the danger zone?)

I mean we need to popup a warning window when submit the button if private property changed. The popup window should list all possible break changes.

There is already a hint beside the checkbox.

Then another tooltip is also about the effect.
I think we can group the two warning into a popup window and user have a confirm button.

There is already a hint beside the checkbox.

Then another tooltip is also about the effect.
I think we can group the two warning into a popup window and user have a confirm button.

I also think a pop-up is a better idea! Some users may just press it without noticing the tooltip (which is their mistake but still). Don't forget that is something very important and there is no turning back after that. So in my humble opinion, having a pop-up after ticking the box is a better idea.
Batter be safe than sorry!

agree  - we need to highlight that this is a reversible change as stuff will get deleted


Fast amortized KZG commitments

Description
This is an implementation of fast amortized KZG commitments with additional details from here and here and here
Definitely a "work in progress" but early-stage review, feedback, critique is appreciated.

Thanks for the PR! Left some comments

I added more comments to the SubproductDomain algorithms

this looks great, modulo the nits and the bug fix!

I stumble into this stale PR yesterday, for those who want to use this FK23 (Fast amortized KZG https://eprint.iacr.org/2023/033.pdf) today, we have an implementation in Jellyfish library.
(relevant PR: initial work, follow-up refactor)
Essentially, you can go to: jellyfish/primitives/pcs/univariate_kzg/mod.rs::UnivariateKzgPCS::multi_open() for general multi-points opening, and the multi_open_rou_*() APIs in the same file that are specialized for roots of unity (faster)
Of independent interest, you can find

Toeplitz Matrix multiplication implementation in jellyfish/primitives/toeplitz.rs
our generalization of DensePolynomial in arkwork in jellyfish/primitives/pcs/poly.rs::GeneralDensePolynomial<T: GroupCoeff<F>, F: Field>

this allows polynomial whose coeffs can be both fields and groups elements. (this is useful during proofs for the multi-points in the FK23)
imo, this actually should be eventually be pushed to upstream arkwork lib, since the underlying fft-related API in arkwork already implicitly support trait GroupCoeffs


Implementation of adapter?

Parameter-efficient transfer learning for NLP
May I ask why you opt not to implement the "adapter" from this paper? Is it due to performance or anything else?

Hello, we are in the process of adding it

Also looking forward to the implementation!

@pacman100 Is this still open? I'd love to help out if so

mark

Hi,
Any plans to integrate the bottleneck adapters such as Adapter_H and Adapter_P into PEFT library?

@pacman100 Is this still open? I'd love to help out if so

Me too👋🏼


Adds generation of FlatLowered

Summary

This PR adds the pipeline to compile Cairo files and retrieve the FlatLowered struct from the Cairo compiler.
It also adds the first command build for the cli which prints the FlatLowered struct generated by the Cairo compiler. The next PR will export FlatLowered to files.
Details

Compilation of Cairo files requires the use of corelib from the Cairo repository. To ensure that corelib version matches Cairo crates version, Cairo is included as a git submodule.
A new license exception has been added for tiny-keccak which is released under the CC0-1.0 license.
Checklist

[x] Code is formatted by Rustfmt.
[x] Documentation has been updated if necessary.

@iamrecursion I have added diagnostics tests in the branch wip/gafe/flat_lowered_export. I open a PR after this one.


[BEAM-2281] Improve SQL expression testing so SQL syntax tests suffice; delete extraneous unit tests

Previously, we had unit tests because we implemented a lot of standard functions from scratch. Now we use Calcite's implementations and we don't need tests for them. We need some smoke tests that we have plumbed things correctly. The SQL syntax tests are more more concise and work well for that (and actually for all purposes).
To make this feasible, the base testing infrastructure needed a tweak to give more informative errors, by having separate asserts for each test case.

Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

run go precommit

run go precommit

run go precommit

R: @apilloud since you said I should be deleting a lot more code...

run go precommit

Delete all the code! LGTM


Wrap python2.7 error message

Wraps python2.7 error message with user-friendly error message
Resolves https://github.com/vmware/tern/issues/362
Signed-off-by: Prajwal M<EMAIL_ADDRESS>

@nishakm @rnjudge Can you review this ?

The error is being hit in tern/classes/docker_image.py. Might consider using the traceback library: https://docs.python.org/3/library/traceback.html

Another option would be for Tern to check for dependencies somehow before running.

@rnjudge I chose to check for dependencies before running.  If I wrap the error in docker_image.py, it may turn up in some other class, so I thought that it would good to check for dependencies before running.


eval returns Response

Eval return value may not be a string and trying to coerce it into one causes a ClassCastException.
This appears to be a regression. Version 2.2.5, from which I am trying to upgrade, did the right thing...

LGTM

This is good, but shouldn't the test actually create a script that returns something other than a string so it makes more sense to return an Object?

@HeartSaVioR has a PR that will fix all these test cases https://github.com/xetorthio/jedis/pull/749. Eventually we need to review this :)

AFAIK, we already addressed this but it was only merged into 3.0.0 since it breaks backward compatibility.

We addressed this at #607. There're similar cases for 3.0.0 so we would want to go ahead of 3.0.0 anyway to resolve such issues.

@HeartSaVioR too bad we didn't realize earlier so add it in 2.9 in a backward compatible way :(

@marcosnils Could you elaborate your comment? I don't get it.

Sure, I'm saying that we could have added the Response in 2.9 without removing this methods and do it in a backward-compatible manner. If we want to land this before 3.0 we need to release another minor.

Yes we can do it anyway but I think it will introduce methods with less-intuitive method name. We were not handling #607 to backward compatible way since unlike others it needs to change just return type so we can't rely on method overloading.

Does it fixed in version 2.8.2 ?

Resolved by #1667


char varying length error on insert

Facing the below error when inserting values. Have checked the schema in code & also in db, couldnt find any discrapencies. This what AI had to say after debugging this... what do you suggest?

api:dev: [08:50:16 UTC] FATAL: Unexpected error.
api:dev:     err: {
api:dev:       "type": "",
api:dev:       "message": "value too long for type character varying(255): ",
api:dev:       "stack":
api:dev:           error: value too long for type character varying(255)
api:dev:               at then (/Users/krishna404/codeProjects/teziapp/zeon-fork/node_modules/.pnpm/pqb@0.40.0/node_modules/pqb/src/queryMethods/then.ts:411:15)
api:dev:               at processTicksAndRejections (node:internal/process/task_queues:95:5)
api:dev:               at async updateDataToDb (/Users/krishna404/codeProjects/teziapp/zeon-fork/apps/api/src/services/brightdata/postsWebhook.brightdata.service.ts:132:4)
api:dev:               at async postsWebhookBrightdataService (/Users/krishna404/codeProjects/teziapp/zeon-fork/apps/api/src/services/brightdata/postsWebhook.brightdata.service.ts:299:2)
api:dev:           caused by: Error
api:dev:               at Db.getThen (/Users/krishna404/codeProjects/teziapp/zeon-fork/node_modules/.pnpm/pqb@0.40.0/node_modules/pqb/src/queryMethods/then.ts:84:18)
api:dev:               at Db.catch (/Users/krishna404/codeProjects/teziapp/zeon-fork/node_modules/.pnpm/pqb@0.40.0/node_modules/pqb/src/queryMethods/then.ts:49:17)
api:dev:               at updateDataToDb (/Users/krishna404/codeProjects/teziapp/zeon-fork/apps/api/src/services/brightdata/postsWebhook.brightdata.service.ts:141:11)
api:dev:               at processTicksAndRejections (node:internal/process/task_queues:95:5)
api:dev:               at async postsWebhookBrightdataService (/Users/krishna404/codeProjects/teziapp/zeon-fork/apps/api/src/services/brightdata/postsWebhook.brightdata.service.ts:299:2)
api:dev:       "length": 99,
api:dev:       "name": "error",
api:dev:       "severity": "ERROR",
api:dev:       "code": "22001",
api:dev:       "file": "varchar.c",
api:dev:       "line": "641",
api:dev:       "routine": "varchar"
api:dev:     }

I agree with the AI.
Could you enable log in the ORM itself?
Add log: true to the config where you're defining databaseURL, and then it will log the query with values when it fails.

Where can I DM/email you the actual query @romeerez ?

I just changed all columns to text type and still I am getting the varchar error. copy pasting the log-query (after basic formatting for syntax ofcourse) works wihout any issue

So here is some highlights after some major logging & debugging with the help of AI. So basically when doing a onConflict.merge I am getting this error where the input is being typecasted. Does that ring any bells?
AHA! The insert worked! This tells us something very important:
1. The varchar(255) error only happens during the ON CONFLICT DO UPDATE part of your original query
2. All the fields work fine with TEXT type for direct inserts

2. The UPDATE part might be triggering some type conversion

The issue is with the `post_text` field! Even though it's defined as TEXT in the schema, something in the update path is trying to put it into a varchar(255).

You can DM to my email<EMAIL_ADDRESS>or just put the query log with error here with redacted sensitive info.
Okay, so the error happens on onConflict.merge, but it's still unclean what data is merged, and why is it causing the error if you changed the string types to unlimited text type.

Hi! Sorry for troubling you with this. the issue was that one of the fields was of type varchar[]. But postgres was not throwing the error properly.
And when inserting the data directly via SQL query it was working... Unless you have reasons to debug this, you may close this issue. Apologies & Thanks!

Also a enhancement request... what if when creating zod schema we could have the max-length property set within it... would help us get better errors at validation level itself.

So did you resolve the issue?
varchar[] shouldn't have 255 limit. Only the t.string() sets 255 by default, so I suspect you have t.string() column somewhere.

what if when creating zod schema we could have the max-length property set within it.

As far as I remember, this should be already working, so if you make a column t.varchar(123), or t.string() (255 by default), or t.text().max(123), these should have a max validation in zod. Let me know if that doesn't work, though I believe I have tests testing this.

The column type was t.array(t.string()) changing it to t.array(t.text()) solved the issue.
Just that postgres error wasnt verbose enough. & postgres detailed logging was pointing to a wrong column, making me go in circles :|

Indeed, if the error could point to the specific column it would save a lot of time. And I'm sure that at least in some cases, the error does that and suggests a specific column, but apparently not in this case.
Glad for you to resolve it after much investigation, and hopefully this will go smoother the next times.


Remove filtered and renamed topics from publish-set after branch filtering #2980

Signed-off-by: Robert D Anderson<EMAIL_ADDRESS>Description
Modifies the branch filtering module to:

Track all topic references that are filtered out due to branch filtering (set filteredTopics)
Track all topics that are renamed due to branch filtering (set renamedTopics)
Track all topics that are still exist after filtering, and are not renamed (set sameNameTopics)
After renaming and filtering of the map, remove any topics from job if they were filtered or renamed, and also do not appear in the third list (that last check will catch a topic that is renamed within a filtered branch, but also appear with the original name, either in another copy of the branch or somewhere outside of the branch).

~Once the approach is validated and tests corrected, I hope to also update to fix #2865, which I think I've diagnosed but not yet fixed.~
Motivation and Context
Fixes #2980
How Has This Been Tested?
Attaching test cases, which include:

A branch filtered twice (each copy renames topics), including one topic that is filtered out of one copy
A branch that is filtered twice (once with original name, once with rename), including a different topic filtered out of each copy
A topic that appears in the renamed branches but also appears outside the branch with original name
A topic outside of any renamed branch
2980.zip

Type of Changes

Bug fix (non-breaking change which fixes an issue)

Checklist
Still need to update tests for changes (fix broken tests and add new for this condition)

I've changed my mind about trying to have this pull request address the DOM exception that comes from two ditavalref elements at the root level. I still want to fix that but it's really unrelated to this one and requires more thought before I make the changes.

@robander Sorry I missed this while it was still open for review, but after pulling the latest commits from the hotfix/3.4.1 branch (which includes these changes), I still get the extra file in output as described in https://github.com/dita-ot/dita-ot/issues/2980#issuecomment-393097854.
Not sure if there's something else in our docs project that causes the file to still be generated, or whether these changes aren't yet working as intended. 🤔


C/C++ Grammer-related crash when opening file

Describe the bug
When I open a C++ file, I get a crash with the following error message:
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24: Error executing lua: ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:25: BufReadPost Autocommands for "*"..FileType Autocommands for "*": V
im(append):Error executing lua callback: ...im/0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid node type at position 878 for language c
stack traceback:
        [C]: in function '_ts_parse_query'
        ...im/0.9.4/share/nvim/runtime/lua/vim/treesitter/query.lua:259: in function 'get_query'
        ...r-textobjects/lua/nvim-treesitter/textobjects/shared.lua:99: in function 'available_textobjects'
        ...r-textobjects/lua/nvim-treesitter/textobjects/select.lua:172: in function 'attach'
        ...lazy/opt/nvim-treesitter/lua/nvim-treesitter/configs.lua:509: in function 'attach_module'
        ...lazy/opt/nvim-treesitter/lua/nvim-treesitter/configs.lua:532: in function 'reattach_module'
        ...lazy/opt/nvim-treesitter/lua/nvim-treesitter/configs.lua:133: in function <...lazy/opt/nvim-treesitter/lua/nvim-treesitter/configs.lua:132>
        [C]: in function 'nvim_cmd'
        ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:25: in function <...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24: in function <...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_cmd'
        ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:25: in function <...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24: in function <...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_buf_call'
        ...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:24: in function <...brew/Cellar/neovim/0.9.4/share/nvim/runtime/filetype.lua:10>

I cannot reference text objects in C/C++, though I can reference them in other languages such as Python.
It appears to be related to the C grammar file (which is imported by the C++ grammar file): If I comment out this section of the file, the crash goes away and I can reference the C++ text objects correctly (with, for example, vaf to select a function).
; (if_statement
;   alternative: (else_clause (compound_statement . "{" . (_) @_start @_end (_)? @_end . "}"
;   (#make-range! "conditional.inner" @_start @_end)))) @conditional.outer

To Reproduce
Opening any C or C++ file in vim can cause the crash for me.
I'm using the following config (copy/pasted from the README).
I'm using lunarvim 1.3, (a wrapper layer around neovim 0.9), so this config is in ~/.config/lvim/config.lua
lvim.plugins = {
  -- {example/plugin}
  {
    "nvim-treesitter/nvim-treesitter-textobjects",
    after = "nvim-treesitter",
    config = function()
      require 'nvim-treesitter.configs'.setup {
        textobjects = {
          select = {
            enable = true,

            -- Automatically jump forward to textobj, similar to targets.vim
            lookahead = true,

            keymaps = {
              -- You can use the capture groups defined in textobjects.scm
              ["af"] =<EMAIL_ADDRESS>              ["if"] =<EMAIL_ADDRESS>              ["ac"] =<EMAIL_ADDRESS>              -- You can optionally set descriptions to the mappings (used in the desc parameter of
              -- nvim_buf_set_keymap) which plugins like which-key display
              ["ic"] = { query =<EMAIL_ADDRESS>desc = "Select inner part of a class region" },
              -- You can also use captures from other query groups like `locals.scm`
              ["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" },
            },
            -- You can choose the select mode (default is charwise 'v')
            --
            -- Can also be a function which gets passed a table with the keys
            -- * query_string: eg<EMAIL_ADDRESS>            -- * method: eg 'v' or 'o'
            -- and should return the mode ('v', 'V', or '<c-v>') or a table
            -- mapping query_strings to modes.
            selection_modes = {
<EMAIL_ADDRESS>= 'v', -- charwise
<EMAIL_ADDRESS>= 'V', -- linewise
<EMAIL_ADDRESS>= '<c-v>', -- blockwise
            },
            -- If you set this to `true` (default is `false`) then any textobject is
            -- extended to include preceding or succeeding whitespace. Succeeding
            -- whitespace has priority in order to act similarly to eg the built-in
            -- `ap`.
            --
            -- Can also be a function which gets passed a table with the keys
            -- * query_string: eg<EMAIL_ADDRESS>            -- * selection_mode: eg 'v'
            -- and should return true of false
            include_surrounding_whitespace = true,
          },
        },
      }
    end,
    dependencies = "nvim-treesitter/nvim-treesitter",
  },
}

Expected behavior
There should be no crash, the file should open and I should be able to reference C++ text objects.
Output of :checkhealth nvim-treesitter

==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()
Installation ~

OK tree-sitter found 0.20.8 (9f398ca955d3329110d31ed523dac5275074948f) (parser generator, only needed for :TSInstallFromGrammar)
OK node found v14.18.2 (only needed for :TSInstallFromGrammar)
OK git executable found.
OK cc executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
Version: Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.

Also experience this error, also confirm that commenting out those lines in textobjects.scm fixes

I personally don't have this problem.
@dwcoates Are you also using LunarVim?
I think what's likely that happened was that C parser has been updated, and your nvim-treesitter version is old. This used to happen when you use LunarVim because they snapshot the old version and restrict it from being updated.
@theHamsta Can you confirm this?
@mortezadadgar Anything you know why this happens?


Support dynamic entry

Operating System: Linux
Node Version: 8.9.1
NPM Version: 6.1.0
webpack Version: 4.16.3
webpack-command Version: 0.4.1

Dynamic entry does not work due to a glitch sanitizing the configuration. This seems to be used most often to have webpack pick up globbed entry points (example package; getEntries returns a function).
CLI Command
  $ wp

Code
// webpack.config.js
const { resolve } = require('path');

exports.default = {
    entry: () => resolve(__dirname, 'src/another-missing-file.js'),
}

Expected Behavior
Can't resolve '.../src/another-missing-file.js'
Works as expected with webpack-cli.
Actual Behavior
Error: Can't resolve './src'
How Do We Reproduce?
Function has no enumerable properties, so will be discarded by compiler.js#L83
Believe adding a typeof target === 'object' check is the safe fix. I have a local fix with test if you'd like me to throw up a fork and PR.

Believe adding a typeof target === 'object' check is the safe fix. I have a local fix with test if you'd like me to throw up a fork and PR.

I disagree. The proper fix would to not enter that loop if the type of the entry value is a function or thenable.

Are we looking at the same line? Skipping the loop (and therefore the output cleanup) because of a dynamic entry seems wrong.
The dynamic entry function may return a PromiseLike.

DEPRECATED. Please use webpack-cli. If any features were not implemented in webpack-cli feel free to create issue.
Why deprecated webpack-command ?

webpack-cli is very stable and have more features.
Two CLIs are misleading for developers.
Hard to maintain two package with same purpose.
The author stopped developing the package.
Most of the features are already implemented in webpack-cli.

Thanks for using webpack! We apologize for the inconvenience. In the future, we will avoid such situations.


Issues when run two programs compute the same metrics

I got the following error when running two different programs that both compute sacreblue metrics. It seems that both read/and/write to the same location (.cache/huggingface/metrics/sacrebleu/default/default_experiment-1-0.arrow) where it caches the batches:
File "train_matching_min.py", line 160, in <module>ch_9_label
    avg_loss = valid(epoch, args.batch, args.validation, args.with_label)
  File "train_matching_min.py", line 93, in valid
    bleu += eval.compute()
  File "/u/tlhoang/projects/seal/match/models/eval.py", line 23, in compute
    return self.metric.compute()['score']
  File "/dccstor/know/anaconda3/lib/python3.7/site-packages/datasets/metric.py", line 387, in compute
    self._finalize()
  File "/dccstor/know/anaconda3/lib/python3.7/site-packages/datasets/metric.py", line 355, in _finalize
    self.data = Dataset(**reader.read_files([{"filename": f} for f in file_paths]))
  File "/dccstor/know/anaconda3/lib/python3.7/site-packages/datasets/arrow_reader.py", line 231, in read_files
    pa_table = self._read_files(files)
  File "/dccstor/know/anaconda3/lib/python3.7/site-packages/datasets/arrow_reader.py", line 170, in _read_files
    pa_table: pa.Table = self._get_dataset_from_filename(f_dict)
  File "/dccstor/know/anaconda3/lib/python3.7/site-packages/datasets/arrow_reader.py", line 299, in _get_dataset_from_filename
    pa_table = f.read_all()
  File "pyarrow/ipc.pxi", line 481, in pyarrow.lib.RecordBatchReader.read_all
  File "pyarrow/error.pxi", line 84, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Expected to read<PHONE_NUMBER> metadata bytes, but only read 454396

Hi ! To avoid collisions you can specify a experiment_id when instantiating your metric using load_metric. It will replace "default_experiment" with the experiment id that you provide in the arrow filename.
Also when two experiment_id collide we're supposed to detect it using our locking mechanism. Not sure why it didn't work in your case. Could you share some code that reproduces the issue ? This would help us investigate.

Hi ! To avoid collisions you can specify a experiment_id when instantiating your metric using load_metric. It will replace "default_experiment" with the experiment id that you provide in the arrow filename.
Also when two experiment_id collide we're supposed to detect it using our locking mechanism. Not sure why it didn't work in your case. Could you share some code that reproduces the issue ? This would help us investigate.

Thank you for your response. I fixed the issue by set "keep_in_memory=True" when load_metric.
I cannot share the entire source code but below is the wrapper I wrote:
class Evaluation:
    def __init__(self, metric='sacrebleu'):
        # self.metric = load_metric(metric, keep_in_memory=True)
        self.metric = load_metric(metric)

    def add(self, predictions, references):
        self.metric.add_batch(predictions=predictions, references=references)

    def compute(self):
        return self.metric.compute()['score']

Then call the given wrapper as follows:
eval = Evaluation(metric='sacrebleu')
for query, candidates,  labels in tqdm(dataset):
    predictions = net.generate(query)
    references = [[s] for s in labels]
    eval.add(predictions, references)
    if n % 100 == 0:
        bleu += eval.compute()
        eval = Evaluation(metric='sacrebleu')

Thank you for your response. I fixed the issue by set "keep_in_memory=True" when load_metric.
I cannot share the entire source code but below is the wrapper I wrote:
class Evaluation:
    def __init__(self, metric='sacrebleu'):
        # self.metric = load_metric(metric, keep_in_memory=True)
        self.metric = load_metric(metric)

    def add(self, predictions, references):
        self.metric.add_batch(predictions=predictions, references=references)

    def compute(self):
        return self.metric.compute()['score']

Then call the given wrapper as follows:
eval = Evaluation(metric='sacrebleu')
for query, candidates,  labels in tqdm(dataset):
    predictions = net.generate(query)
    references = [[s] for s in labels]
    eval.add(predictions, references)
    if n % 100 == 0:
        bleu += eval.compute()
        eval = Evaluation(metric='sacrebleu')


Build out Datacite DOI minting service

Build the Datacite DOI minting service as a gem.
The service should:

have an initializer that gets installed into config/initializers/external_apis/doi/
have a rake task that appends any config to the config/credentials.yml.enc file and instructions for the dev on how to update the values
a method called heartbeat that can be used to quickly determine if the external site's api is online
a method called mint to create a new DOI (passing along whatever pertinent metadata is required). The URL that the DOI should resolve to is the public facing version of the DMP's RDA Common Standard JSON (via API v1)
a method called update to send an update to an existing DOI
should have tests!

related to #2597

Complete and ready for integration into DMPRoadmap.
Note that this has only been tested against the DataCite sandbox (no live prod testing)


Updated tech demo example 05 with postprocessing images

This tech demo example updated with the post-processing images.

@samigithub2022 : Clean PR for you to review it. Thanks !


Update of all notebooks to fix outstanding DEA Docs issues

This PR consists of many small updates to all existing notebooks on develop to bring them in line with the formatting necessary for the Digital Earth Australia documentation (built by Sphinx).

@robbibt, as previously discussed, would you mind addressing the following two issues (either as part of this PR, or in a follow-on PR)

Add the necessary files to Supplementary data for the Open Geotiff and NetCDF notebook
Fix the duplicated analysis in the Working with Time notebook (needs the resampling analysis)

Thanks!

Status:

Add the necessary files to Supplementary data for the Open Geotiff and NetCDF notebook
Fix the duplicated analysis in the Working with Time notebook (needs the resampling analysis)


Update threema.json

Hash needs to be updated too.

Closes #XXXX

Relates to #XXXX

[ ] I have read the Contributing Guide.

Checkver was brocken:
threema: couldn't match '">Threema\sfor\sDesktop\s([\d.]+)' in https://threema.ch/en/whats-new#desktop

/verify


ZEPPELIN-3339. Add more test for ZeppelinContext

What is this PR for?
Add more test for ZeppelinContext, especially for run api and ResourcePool
What type of PR is it?
[Improvement  | Refactoring]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-3339

How should this be tested?

CI pass

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

hey @zjffdu thanks for making all these improvements, could we make sure there is at least one review before merging?
@Leemoonsoo


Remove Caseworker and Team Leader assignment from internal contacts

Due to confustion from users about what 1) a "team leader" actually is, and 2) the difference between a caseworker and the "assigned to" person on a project we have decided to hide these two fields from users.
The team leader will always be one of two people, and the "assigned to" person is the field we want users to populate & pay attention to.
Along with removing the two fields from the view, we have repurposed some of the tests to test the assignment of "assigned_to" still works correctly.
Changes
Add a summary of the changes in this pull request
Checklist

[ ] Attach this pull request to the appropriate card in Trello.
[x] Update the CHANGELOG.md if needed.

 Remove the team lead and caseworker fields from the internal contacts tab


Possible to run this with a Nucypher worker running in a docker container?

Is there any particular reason this wouldn't run with the worker running in a docker container as opposed to a systemd service if it has the proper ports exposed?

So the answer is yes, you can run this while running the worker in a docker container. I essentially installed what was called for  in the instructions, but then had to import the dashboard via the grafina UI using the json config file and set the datasource to Prometheus. I also added the default.yaml config file for the datasource to the appropriate directory but I don't think that was necessary.


Python Crash

I've tried several configurations in an attempt to get the correct Python version linked with the pxr and other modules, but keep getting the following crash:
Python crashed. FATAL ERROR: Failed axiom: ' Py_IsInitialized() '

I've seen a couple other issues mentioning this problem, but haven't seen a resolution. Is there a specific system configuration required to run these scripts with the pxr module?

To avoid system Python configuration issues, I switched to using a containerized toolset: https://github.com/Plattar/python-xrutils


nettyCookie turns standard cookie into futuristic cookie - erroneous millisecond/second conversion

Hi,
following the upgrade from karate 0.9.6 to any 1+ version, I encountered the following :
After a specific login call, my server answers a setCookie with the following expires directive :
Expires=Mon, 09 Aug 2021 08:34:21 GMT
(cookie is supposed to have couple hours lifetime).
But then Karate displays Expires=Tue, 25 Aug 53626 23:46:21 GMT;
After some digging, the problem is here :
https://github.com/intuit/karate/blob/3a9d5148c3e0ae167736174527040abb8d7fc536/karate-core/src/main/java/com/intuit/karate/http/ApacheHttpClient.java#L301
c.getExpiryDate().getTime() units are milliseconds, while MAX_AGE expects seconds.
Simple correction would be to divide by 1000 :  c.getExpiryDate().getTime()/1000
We could also convert this to Instant and use the toEpochSeconds method, but that approach requires more type conversions and doesn't look clear to me.
What are your thoughts on this ?

@zgael do you want to take a shot at a PR ? I'd like a test added to perhaps this set to catch this: https://github.com/intuit/karate/blob/v1.1.0/karate-core/src/test/java/com/intuit/karate/core/KarateHttpMockHandlerTest.java

Sure I'll try to give it a shot.
Thanks for pointing the direction to the test!

So I've actually tried to tackle the problem... and it is a bit more complicated than I thought. You can find my changes here : https://github.com/zgael/karate (develop branch).

Wrote a test (pretty similar to the previous last one)
Tried to correct (with a mere /1000 added, see above c.getExpiryDate().getTime()/1000).
Then I realized what was really wrong :

There are 2 attributes in a cookie that do almost the same thing : Max_Age, and Expires. They both point to a time when the cookie should stop being used, but the unit is different :
Max_Age : a duration in seconds (could be 1hour for the sake of this example).
Expires : A date (format : https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Date)
So the line map.put(Cookies.MAX_AGE, c.getExpiryDate().getTime());  is quite wrong, as it puts in the max_age field a timestamp, which leads to huge futuristic dates.
I tried to convert max_age to expiry_date, relatively to Instant.now()... But that leads to erroneous conversions if there's some leeway (you can try to execute the new test I've written to check : server sends 08/13/2021 08:34:21 GMT, I receive 08/13/2021 08:34:20 GMT).
Also, the ServerCookieEncoder.LAX.encode function performs a transformation from max_age to expires, using System.currentTimeMillis, but includes both directives in the final cookie, which I find weird (once again you can check the test failure and the comparison : expected Expires, found Max_Age + Expires).
All in all, the problem arises because :

On one side, we use io.netty.handler.codec.http.cookie.Cookie, which uses exclusively Max_Age directive.
On the other side, we use org.apache.http.cookie.Cookie which uses exclusively Expires directive.
We convert from Apache to Netty Cookie.

Ultimately, since both implementation fail to adress what we need, I'd rather use a "custom" Cookie class (could re-use the 0.9.6 simple one) that can handle both Expires and Max_Age (and bring the utilities from Netty we use, like the encode function)
As a consequence, you wouldn't need to rely anymore on Netty Cookies or Apache Cookies, since their implementations are "incomplete" (they chose to do it this way - one using Expires, the other Max-Age for probably good reasons, but as a test framework that should behave like a browser, I believe karate has to handle correctly both directives, as do browsers).
What are your thoughts on this @ptrthomas ? If I'm not clear enough, we could plan a small video talk to make it clearer.
@davinkevin

closing because of inactivity

https://github.com/karatelabs/karate/blob/925eebb3dfbd7f3ac7a39d11ad43720107bf2a2f/karate-core/src/main/java/com/intuit/karate/http/ApacheHttpClient.java#L291..315
We use Karate for testing web stuff.  Since version 1.0.1 we are unable to validate that the cookies we return are set correctly.  Especially the cookie properties called "samesite" and "Path".  This was removed and we're wondering what was the reason for manual management of the cookies by Karate.
The problematic is that the cookie is made anew by lines 309-311 and the new value was generated from a map (line 304) that does not contain the whole cookie that was received (Line 296-303, missing "samesite" attribute and "path").
I would like to suggest that instead of making everything about cookie managed in Karate, that we give a config for disablingCookieManagement (old behaviour) or leave it (new behaviour).
This would basically put back the old behaviour of leaving the cookie as a string (but not take action on it).  At the same time, I could just add the 2 fields I see missing (Path, SameSite).
I can work on this if you want.

@elafontaine sure we welcome a PR. please do check whether the latest develop version works first, I don't exactly remember - but some tweaks to cookie handling were contributed in the mean time for e.g. https://github.com/karatelabs/karate/pull/1965

that said - I try to avoid introducing config like this - so if you can fix things so that it works for all cases, that will be very much preferred. some history can be found here for cookie handling: https://github.com/karatelabs/karate/issues/1777

@elafontaine would be great if you can weigh in on if this is related: https://github.com/karatelabs/karate/issues/2165

Hi @ptrthomas , I saw the new commit :) good job, I'll look into testing it tomorow.  However, I still don't see the "sameSite" attribute being passed, so I'm hoping it will be present in responseCookie either way.
I'll keep you posted.

I tested, but the cookies aren't showing either :( .
    When method post
    Then status 302
    * print response
    * print responseHeaders
    * print responseCookie
    And match responseCookies == '#notnull'
    And match responseHeaders['Set-Cookie'][0] contains 'SameSite=None'

The Set-Cookie is not present nor is there any other way of retrieving it...  Unless I'm missing something

For me, it's clear that the following documentation isn't working ;
https://github.com/karatelabs/karate#responsecookies

@elafontaine feel free to create a fresh issue if you are able to create a simple example to replicate.


Bug 2083466: Disable dualstack when it is not available

In some AWS regions S3 does not have a dual-stack endpoint. In these regions the operator should fallback to the standard endpoint.

/assign @flavianmissi

left a comment but lgtm as is
/lgtm

/label qe-approved
Installed AWS, C2S and SC2S cluster successfully

/test e2e-upgrade

/cherrypick release-4.10


Investigate ELR pipeline errors (in UAT) with named contact from LAC

The errors all seem to have to do with incorrectly formatted date strings:
The format of Date or DateTime is invalid:<PHONE_NUMBER>5501-080000000.
This has 5 extra zeroes after a valid datetime string. We inspected a failed ELR message, and it contained a number of correctly formatted datetimes alongside this incorrect one with five extra zeroes.


Error with UUID Column in Notifications Column

I have a new issue now that #16 solved the orderBy error. When utilizing fastPaginate with a table using a UUID column the sub query fails:
production.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column '53b79b97' in 'where clause' (SQL: select * from notifications where notifications.notifiable_type = App\Models\User and notifications.notifiable_id = 3 and notifications.notifiable_id is not null and notifications.id in (53b79b97-d794-4260-9b74-c4e78d01d870) order by created_at desc limit 11 offset 0)
Note the column the query is attempting to read is the first part of the UUID in the notifications table. I assume escaping the ids in the case they're not integers would be the solution.

@seanfoushee ah, good call. Can you check #18 and see if that works for you?

Great! Published v0.1.5


when use wordvec as the weight as embedding ,how does it works?

Please make sure that the boxes below are checked before you submit your issue. Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[x] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[ ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

See:  #853


Cleanup/remove EOL PHP versions from matrix

Q
A

Documentation
no

Bugfix
no

BC Break
yes

New Feature
no

RFC
no

QA
yes

Ref: https://github.com/laminas/laminas-continuous-integration-action/issues/149

Main motivation is that packages upgrading to v2 now should also stop supporting PHP 7.
Secondary: reduce contaoner size and clutter 👍


HL7Conversion - deployhl72fhir.bash not working

Hi,
Tried deploying HL7Conversion:

Deploying FHIRProxy creates a KeyVault
Deploying Ingest creates a KeyVault
When deploying Convert (deployhl72fhir.bash), script is asking for one KeyVault name instead of the 2 above, causing the script to fail.

Just tested the following scenario with success:

Deployed FHIR Proxy, created KeyVault
Deployed Ingest using KeyVault created by FHIR Proxy
Deployed Converter (deployhl72fhir.bash) using Key Vault created by FHIR Proxy.

Please pull latest and retry installations using Key Vault created by the FHIR Proxy.


Solve #69 (Tests improvements)

I suggest to squash the commits while merging.

Divides tests into unit and integration.
Clean and structure info it provided.
Disjoints mod helpers from the release; along the road where pastes and adapts "one-liners" where it relied on the actual code under the testing (preserves used function calls indication on the best efforts as comments, they're good to be removed on a next iteration).

Circom checks fail?

Should be out of bounds running long as usual. :shrug: Of course I
didn't touch it, only one crate here.
On Thu, Feb 1 2024 at 09:12:03 AM -0800, Yush G
@.***> wrote:

Circom checks fail?
—
Reply to this email directly, view it on GitHub
https://github.com/plume-sig/zk-nullifier-sig/pull/87#issuecomment-1921814916,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APXLOT5DJI4WRCB6BJROXBTYRPEGHAVCNFSM6AAAAABCUVGANWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRRHAYTIOJRGY.
You are receiving this because you authored the thread.Message ID:
@.***>

Should be out of bounds running long as usual. 🤷 Of course I didn't touch it, only one crate here.
…
On Thu, Feb 1 2024 at 09:12:03 AM -0800, Yush G @.> wrote: Circom checks fail? — Reply to this email directly, view it on GitHub <#87 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APXLOT5DJI4WRCB6BJROXBTYRPEGHAVCNFSM6AAAAABCUVGANWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRRHAYTIOJRGY. You are receiving this because you authored the thread.Message ID: @.>

Can we still correct that test timeout though? I can't pass a failing test. Github actions should work.

@Divide-By-0 , I just run locally when see that something is changed in .
Do they offer plans for running longer tasks? It takes around 20 min. IIRC?
Another way could be moving  to a separate repo, so it won't run unless it's changed.

@Divide-By-0 , I just run locally when see that something is changed in <./circuits/circom>. Do they offer plans for running longer tasks? It takes around 20 min. IIRC? Another way could be moving <./circuits/circom> to a separate repo, so it won't run unless it's changed.

I'd recommend either using a self-hosted runner on my GCP account (I can add you) or triggering a modal.com run to test instead (I can cover that, it's dirt cheap).

should add that it's also needed to

convert tests to integration,
clean hex strings assertions for further comprehensibilty.
(This well might demote AsRef issue to a nice to have thing.)

Can we add these to some issues?

should add that it's also needed to

convert tests to integration,
clean hex strings assertions for further comprehensibilty.
(This well might demote AsRef issue to a nice to have thing.)

Can we add these to some issues?

This PR did both!
(cross-linking for consistency: https://github.com/plume-sig/zk-nullifier-sig/issues/84#issuecomment-1929013072)


Update compose in jetsnack and imageviewer to 1.4.0-dev-wasm09

Please note: I have a weird issue in Chrome Version 114.0.5735.106 (Official Build) (64-bit), but no issue in Chrome Beta Version 115.0.5790.75 (Official Build) beta (64-bit):

I mean, it looks good on my machine :)


update blob path and increase version 🎉

Released signed publistestresults.zip from releases/M135.
Updated the blob version in make.json.
Increase version of task in task.json
Manual validation done.

Please mention the fixes that are going with change


Tables: Better column width adjustment depending on content?

Dataview tables seem to have quite a "fixed" column width. To use the space more efficiently, it would be nice if the columns would auto-adjust according to content/header width.
Example which could profit from that:

I already shortened the link names (left column) using CSS, but if, for instance the "Age" column would be smaller, we had more space for the "Birthday" column and no need to wrap inside cells.

Seems like some simple CSS changes did the trick - coming as part of the next release.

I think it would be better if we have choice which column have which width.
For example, now it's looks pretty bad, and I don't now how fix it (
I about "created" column

Turned out it was caused by the pub-Image Flags.css and could easily be remedied by using either of the following CSS snippets (I think I also posted these in the forums somewhere):
tables-auto-left.css:
/*
    tables-auto-left.css snippet

    Adjust tables for auto-width columns & not using full width.

    2021-06-07 Matthias C. Hormann (Moonbase59)
*/

table {
  table-layout: auto !important;
  width: unset !important;
  max-width: 100%;
}

— or —
tables-auto-centered.css:
/*
    tables-auto-centered.css snippet

    Adjust tables for auto-width columns & not using full width.
    Also centers table.

    2021-06-07 Matthias C. Hormann (Moonbase59)
*/

table {
  table-layout: auto !important;
  width: unset !important;
  max-width: 100%;

  /* for centered tables, add the following */
  margin-left: auto;
  margin-right: auto;
}

For specifying custom table column width, what do you suggest as syntax?
TABLE <blah blah blah> AS column(<name>, <width>, <other junk>)

or maybe
TABLE <blah blah blah field> AS "name" WIDTH 30%, ...

Although not the OP, if I may jump in with a suggestion, I think using a separate keyword might be handy and easier to format which can be mapped with the columns. I'm thinking something along the lines of the SQL syntax for inserting
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

So with DataView, we might have,
TABLE field1, field2, field3...
COLWIDTH 30%, 45px, auto...
FROM "<SOURCE>"

I'm using different units hoping they are directly set to CSS for setting the width but even if it is just percentages, it would work great!

I’m sometimes slow, excuses. So much other stuff to do …
I like @rishifter’s idea of using CSS properties, especially "auto". Regarding "other junk" column properties, I cant really make my mind up. I like having stuff together, so @blacksmithgu’s variant. Then again, @rishifter’s "COLWIDTH" also looks rather clean, and is probably easier for an end user. Hmmm …

+1 for this!

release

+1 for this!

Another idea I've thought about is some auto generated CSS classes for each column and table which would make custom styling much easier without necessarily having to change the query language itself.

What's the status of this? For me, dataview tables always split the horizontal space equally, even when values in one column are always short.

Although not the OP, if I may jump in with a suggestion, I think using a separate keyword might be handy and easier to format which can be mapped with the columns. I'm thinking something along the lines of the SQL syntax for inserting
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

So with DataView, we might have,
TABLE field1, field2, field3...
COLWIDTH 30%, 45px, auto...
FROM "<SOURCE>"

I'm using different units hoping they are directly set to CSS for setting the width but even if it is just percentages, it would work great!

I think this would be great, having a COLWIDTH optional keyword would allow for maximum customization and maintain compatibility with all existing Dataview queries


Expose init_with_rng()

Makes it possible to initialize crypto library with the same random number generator seed to get reproducible behavior.

@Fraser999 says for security reasons let's not allow folks to use this function in production code.


Prevent multiple instances

Only allow one instance of Black-Sink to run at any given time on a user's desktop

Fixed in a recent commit.


Add some more functions to ALLOWED_ADMIN_FUNCTIONS

Fixes #8128, hopefully. (@fantix can you verify?)
Also addresses a failure reported in #8138, but that only exposes some
other failures.

I can confirm that my Fivetran sync passed successfully.

Thanks!


✨ Let core.#Source use a file list for includes/excludes

What are you trying to do?
When I use core.#Source for a node project, I only want to include files that are actually tracked in git. Conveniently, we already have files that tell git what to ignore ie. .gitignore. It would be nice if we had 2 things:

Recursive exclude - Currently, excluding "node_modules" only excludes the top level folder, but not any in subfolders
The ability to reference a file with a list of files to exclude. In this case, .gitignore.

I apologize if this is possible in some way. The documentation for built-in actions is pretty much non-existent. This is the closest I could find: https://docs.dagger.io/1222/core-actions-reference. But that doesn't detail anything about what each actions' parameters are or how to use them
Why is this important to you?
Combining those 2 things, I could easily ignore all "node_modules", "dist", ".git", etc. folders throughout a monorepo. This is a step towards the goal of the local pipeline running the same way it would in CI environment.
How are you currently working around this?
I have to manually exclude every single file I don't want:
getSource: core.#Source & {
    path: "."
    exclude: [
        "node_modules",
        "client/node_modules",
        "shared/node_modules",
        "server/node_modules",
        "client/dist",
        "shared/dist",
        "server/dist",
        "cue.mod"
    ]
}

I do have a question about this as it is being considered. Am I approaching this the wrong way? In the yarn example, it pulls the source code from github:
todoreact: {
		pull: git.#Pull & {
			remote: "https://github.com/mdn/todo-react"
			ref:    "4c1ad2bc5d50f96265693be50997c306081b0964"
		}

and uses those files. That makes sense for a test, but it didn't make sense to me for production use. When running this in github actions, for example, the code has already been checked out. I guess you could just remove the actions/checkout@v3 action.
So I guess my question is: When running dagger locally to test the pipeline, should we be running it with our local code, or always check out a fresh copy like in the yarn example?

So I guess my question is: When running dagger locally to test the pipeline, should we be running it with our local code, or always check out a fresh copy like in the yarn example?

You can do both, you could have a step that pull your repository and another step that use your current directory.
For instance
#CI: {

   source: dagger.#FS
   // Define your CI here so you can reuse it from multiple sources and avoid duplication
}

actions: {
  local: {
    source: // Retrieve data from filesystem with core.#Source

    #CI & {
       "source:" source.output
    }
  }

  remote: {
    pull: git.#Pull & {...}

    #CI & {
       source: pull.output
    }
  }
}

Recursive exclude - Currently, excluding "node_modules" only excludes the top level folder, but not any in subfolders

**/node_modules do not works?

The ability to reference a file with a list of files to exclude. In this case, .gitignore.

That's a good idea, WDYT @helderco ?

Recursive exclude - Currently, excluding "node_modules" only excludes the top level folder, but not any in subfolders

**/node_modules do not works?

Yes, this should be the solution.

The ability to reference a file with a list of files to exclude. In this case, .gitignore.

That's a good idea, WDYT @helderco ?

I've suggested this when I started working on client: filesystem, to make it easier but the feedback I got from Solomon was "Not a fan of .dockerignore, IMO it's much better to have it in the plan. Make the CUE config the source of truth for as much as possible."
You can reuse the exclude/include either as lists in CUE, or the core.#Source itself if it's something that's common. Wrap it in an abstraction.

Recursive exclude - Currently, excluding "node_modules" only excludes the top level folder, but not any in subfolders

**/node_modules do not works?

Yes, this should be the solution.

Thanks for this. That does ease the situation a tad.

I've suggested this when I started working on client: filesystem, to make it easier but the feedback I got from Solomon was "Not a fan of .dockerignore, IMO it's much better to have it in the plan. Make the CUE config the source of truth for as much as possible."

Considering the prevalence of .*ignore usage ie. .gitignore, .npmignore, .eslintignore, .dockerignore, etc. I don't see why this would be a bad feature to add for the people who would like that convenience. It's fine if Solomon doesn't want to use them that way, but why force everyone to have duplicate file lists?

Make the CUE config the source of truth for as much as possible."

Not only does this not make sense, but you quite literally cannot make the CUE config the source of truth for this situation. I can't have git ignore files based on what's in the CUE config. So it will be 2 of the exact same list that have to be maintained. What's worse is that in a monorepo (a very common repo setup these days) you'll have several .gitignore files in various levels of the file hierarchy. So now I have to make sure my CUE config matches all of those different files.
Of course I could write scripts to keep these in sync. But that seems a little ridiculous based on how common the pattern I'm requesting is.

@troncoso Yes, I agree with you. So what do you suggest?
getSource: core.#Source & {
    path: "."
    patterns: ".gitignore"
}

If also adding include/exclude I'd assume they would supersede the patterns file, correct?

Hey @helderco, I agree that include/exclude should take priority, yes.

Our exclude option in WithMountedDirectory and Host.Directory supports wildcard.
I'm closing this issue.


Should we add ghstPrice to raffle wearables?

All of the shop wearables have a ghstPrice field that shows their price in the store. Since raffle wearables were not sold in the store, their price is 0. However, it may be beneficial to assign an estimated GHST price to the raffle wearables, so we can help estimate how much an Aavegotchi is worthy (based on how many wearable it is holding)

I think part of the challenge and fun of the game is determining or finding out how much things should cost.  I say let the market decide.   But you are the boss, boss, and I'm happy either way.

This has been implemented in https://github.com/aavegotchi/aavegotchi-contracts/commit/3b19f6e638206dd7752c25666d5599674ffe5d6b.


Add mapThemrProps option

This PR brings a new option and property to the decorator than can be very useful in some scenarios. Until now, we were passing a ref prop always to the decorated component with the withRef property. This is not always the case: picture that you have a component that is decorated already with an HOC that maps innerRef to ref. For those cases you can use the new mapThemrProps option/prop.
It receives all properties given to the component (included themr ones) and the generated theme object and it should return the properties that you want to pass down. For the exposed scenario you might want:
function mapThemrProps(props, theme) {
  const { composeTheme, innerRef, mapThemrProps, themeNamespace, ...rest } = props;
  return { ...rest, withRef: innerRef, theme };
}

Check the tests[https://github.com/javivelasco/react-css-themr/commit/8b7dab8fe15d6cbeff19745ec5e38bfcfde5713e#diff-a8d0360e1ce2281d4f9b22ca5a8e2380R305] to see a full use case.

This needs an update of typings @raveclassic

Backwards compatible so merging :)


RadSideDrawer is not able to shown over the navigation bar if using router-outlet in root

If I use router-outlet instead of page-router-outlet in the root, like below:
<RadSideDrawer>
    <GridLayout tkDrawerContent>
        <Label text="Side Menu"></Label>
    </GridLayout>
    <StackLayout tkMainContent>
        <router-outlet></router-outlet>
    </StackLayout>
</RadSideDrawer>

Then the sidedrawer can not shown over the navigation bar.
Is there any way to let it shown over the navigation bar without using page-router-outlet?
Thanks!

This issue was moved to telerik/nativescript-ui-feedback#761