Globalnet Controller to skip annotating master nodes with globalIp

In order to support hostNetwork to remoteCluster connectivity, globalnet needs
the CNIInterfaceIP of all the worker nodes. The CNIInterfaceIP for the nodes is
annotated by submariner-route-agent. However, submariner-route-agent runs ONLY
on the worker nodes and not on the master nodes. Globalnet controller has a
listener for nodes and will wait for this annotation before it can program rules
for HostNetwork to remoteCluster support. In the current code, the master nodes
are constantly getting re-queued as the annotation will never be added on such
nodes.
In this PR we check if the node is capable of scheduling pods (aka worker node)
and only process (or re-queue) such nodes.
Fixes Issue: https://github.com/submariner-io/submariner/issues/553
Signed-off-by: Sridhar Gaddam<EMAIL_ADDRESS>

This PR is ready for review :)


Add a license file

This repo is missing a license (even though you have mentioned that the project is MIT licensed in README.md). Without a license, all code is copyright to the author and may not be used by anyone else.

Hey, Tanay! I do have a License file in the repository. This is the link.

@Diksha-Rathi This will solve the issue: https://github.com/Diksha-Rathi/find-my-place/pull/3

Thank you! Next time, I will definitely take care of this issue.

@Diksha-Rathi No problem!


RFE: display date in project list #3626 (pypa/warehouse#3626)

Proposed solution for #3626, adding human readable time since last release to package search view.
Would appreciate guidance on how to read time as datetime (currently string) from the elasticsearch in warehouse/views.py.
Collaborators: @AyalaO, @MiHess

Thanks @rok, @AyalaO and @MiHess!
Could you please post some screenshots (desktop, tablet, mobile) of this?

morning @pradyunsg!
Would you be able to provide guidance on "how to read time as datetime (currently string) from the elasticsearch in warehouse/views.py." ?

Hi @nlhkabu!
I'm not familiar enough with the Warehouse codebase to help out here and I'm a little short on time currently due to some academic workload to take a deeper look here. Sorry! :(

ok, no problem @pradyunsg, just saw you were about :P I've also assigned @di so we should be covered here :)

Thanks! ^>^
All the best for the sprints! Based on the activity here, it seems to be going well. :)

@nlhkabu Thanks! :smile: Attaching some screenshots.

I think it would be nice to only show the date if the user is sorting by date, otherwise the timestamp seems a little meaningless to the user (i.e., it could be the date the project was created, the last release, etc.)

@di - thanks for the feedback! Removed the item.last_updated and used item.created. Timestamps should now only when sorting on date last update.
A question about item.created: elasticsearch query returns a timestamp string and we must cast it in order for humanize to work. Is there a way to read it as timestamp directly to avoid this casting?

A question about item.created: elasticsearch query returns a timestamp string and we must cast it in order for humanize to work. Is there a way to read it as timestamp directly to avoid this casting?

I don't think so, we are probably also expecting this to be a string in other places. One thing we could do to make this a little cleaner is to add the cast as a property function on this class instead.

I don't think so, we are probably also expecting this to be a string in other places. One thing we could do to make this a little cleaner is to add the cast as a property function on this class instead.

I've tried adding a property to Project class like so:
@property
def created_timestamp(self):
    return datetime.strptime(self.created, "%Y-%m-%dT%H:%M:%S.%f")

but that didn't seem to add a new attribute to instances of <class 'elasticsearch_dsl.response.hit.Hit'>. Is this what you suggested?

this feature is useful for me as a project owner. sometimes, I forget when I have released my package since I have 40+ packages. So I resorted to look at pypi for more info. However, github releases and pypi at moment both love moment.js and also give some time ago. Still I could not find the exact date when a version is released.

@di - It seems to me that the search is not using the Project model, but rather uses elasticsearch_dsl to search directly. I would guess that is either for flexibility reasons or using the model has simply not been implemented yet. Elasticsearch_dsl is returning the created field as a string. It would be interesting to know why this was made this way.
I think we have two options here:

Cast the created field to datetime on the fly as we originally proposed.
Refactor search to use the Project model.

What do you think? How would such a decision normally be made?
Thanks for your input :)

Hi @rok, sorry for the delay here. I think casting it on the fly is probably fine!

Hey @di! No worries. Shall we merge it then?
I suppose if more cases like this appear a more general mechanism should be made.

Thanks @rok, @AyalaO and @MiHess!

Reverting this for the moment, something is going awry with the strptime being applied to results from elastic search:
ValueError: time data '2008-12-14T10:22:11' does not match format '%Y-%m-%dT%H:%M:%S.%f'
full traceback:
HTTPNotFound: The resource could not be found.
  File "pyramid/tweens.py", line 13, in _error_handler
    response = request.invoke_exception_view(exc_info)
  File "pyramid/view.py", line 769, in invoke_exception_view
    raise HTTPNotFound
ValueError: time data '2008-12-14T10:22:11' does not match format '%Y-%m-%dT%H:%M:%S.%f'
  File "warehouse/raven.py", line 40, in raven_tween
    return handler(request)
  File "pyramid/tweens.py", line 43, in excview_tween
    response = _error_handler(request, exc)
  File "pyramid/tweens.py", line 17, in _error_handler
    reraise(*exc_info)
  File "pyramid/compat.py", line 179, in reraise
    raise value
  File "pyramid/tweens.py", line 41, in excview_tween
    response = handler(request)
  File "warehouse/cache/http.py", line 75, in conditional_http_tween
    response = handler(request)
  File "warehouse/sanity.py", line 76, in sanity_tween_egress
    return unicode_redirects(handler(request))
  File "pyramid/router.py", line 148, in handle_request
    registry, request, context, context_iface, view_name
  File "pyramid/view.py", line 657, in _call_view
    response = view_callable(context, request)
  File "warehouse/sessions.py", line 299, in wrapped
    return view(context, request)
  File "warehouse/csrf.py", line 39, in wrapped
    return view(context, request)
  File "pyramid/viewderivers.py", line 514, in csrf_view
    return view(context, request)
  File "warehouse/cache/origin/__init__.py", line 85, in wrapped
    return view(context, request)
  File "warehouse/cache/origin/derivers.py", line 31, in wrapper_view
    return view(context, request)
  File "warehouse/metrics/views.py", line 34, in wrapper_view
    return view(context, request)
  File "pyramid/viewderivers.py", line 436, in rendered_view
    result = view(context, request)
  File "pyramid/viewderivers.py", line 144, in _requestonly_view
    response = view(request)
  File "warehouse/views.py", line 357, in search
    item.created = datetime.strptime(item.created, "%Y-%m-%dT%H:%M:%S.%f")
  File "python3.6/_strptime.py", line 565, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "python3.6/_strptime.py", line 362, in _strptime
    (data_string, format))

Thanks @ewdurbin - is this error something we can add a unit test for?

Turns out some of our oldest records are with timestamps formatted as %Y-%m-%dT%H:%M:%S rather than %Y-%m-%dT%H:%M:%S.%f, so if a search result has releases before that changed we get this exception.
The reason this didn't show up locally is that our dev db is based on TestPyPI which was reset most recently after the change that began storing the .%f part.
As far as tests for this go within warehouse, it's a fairly straightforward set of cases for the return of values from this view. The data translation being done should probably fail safe anyway rather than blow up.


Web3-Onboard - Update utils [8/n]

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #1739

PR #1740

PR #1741

PR #1742

PR #1743

PR #1744

PR #1745

PR #1746   👈

This comment was auto-generated by Graphite.


Add text type.

Description
See doc for technical details: https://github.com/Bit-Quill/opensearch-project-sql/blob/dev-add-text-type/docs/dev/text-type.md
See also this comment describing some changes.
Issues Resolved

Pass full types (instances of OpenSearchDataType) though :core module instead of simplified ones (ExprCoreType).
This unblocks access to important mapping info such as text fields or date formats. This info is required to build proper DSL queries to OpenSearch.
Use text fields instead of hardcoded keyword subfield name.

Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[x] New functionality has user manual doc 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.

For docs/dev/img/type-hierarchy-tree-final.png:
...

@acarbonetto
I listed all current ExprCoreType possible widenings according to the code.


Account linking failed

Please help me to link.
I've read all issues about this, but I could not solve it.
https://labiot.co.kr is the webhook url.
Error messages below,
#1, Google Assistant app, I recieved ,
"Bad response from IdP in Auth Code Exchange"

/login  { redirect: '',
client_id: 'ZxjqWpsYj3',
redirect_uri:
'https%3A%2F%2Foauth-redirect.googleusercontent.com%2Fr%2Fiotlab-rev3',
state:
'AICAm6zrU93XwxIZxF1tWbMVw1gOsf6ANPaqZBHMHrF5kIc-b4e83smGdZ9lmG5TQptpJB03BGj_8u2vUIV41tlf3pK78MDzYau9xA_AVHeibIrA87vg8AT3GaftbVCzxV1AzA2nyfmoQOu4OcgUouP61EKNNBPW-SOmybgeCUyw81ii9FFY2vcJZF5hAeU_rCtXqvZs7oE___I7uUe0_9IN53EsBOu5RH8_anKtdTeTj4KqvXkWhbcCPfOUUJAfagRRuQRTvi-qAoTcEnsX4foyPkn56uIR_KyQjCtTmhXTsSNJRwQ2SLqkzQOGice1AxPRx4u2RZh3ZW-bCO6qgg0FvkP73M6ZIhcLcTI4Zrl1f9eUM3g--EH1MEY-FfWzqkzydGtoOJWgyaYV-Oi4XLsbR6iHwNcyHTi5Xq-8kGdL4DZuyDEgmhoGh9TTVCZh0_RP9ebayuHEa02rGZZ7rKc0Gg5-V8jPEmHswjLrrLOy_AtxnRPKFmf-heAs2OkF-HPIop8w6n-Xxmm072dIpnC1KCYoO2bG-4wUsDJDCd7smBHUKu-L8RRP4iwzfKEfTZ3tU8TinCNDSmurMamorpi0iwlISiThJQ',
username: 'rick',
password: 'oldman' }
getUser rick
logging in  { uid: '1234',
name: 'rick',
password: 'oldman',
tokens: [ 'psokmCxKjfhk7qHLeYd1' ] }
login successful  rick
authCode successful  6raceai0ob8000000000000000
POST /login 302 1.524 ms - 1466
/token query {}
/token body { grant_type: 'authorization_code',
code: '6raceai0ob8000000000000000',
redirect_uri: 'https://oauth-redirect.googleusercontent.com/r/iotlab-rev3' }
missing required parameter
POST /token 400 1.099 ms - 26

I solve it, I've changed the 'auth-provider.js' file , following Pull Request issue.
It says "Client ID issued by your Actions to Google(in this sample ZxjqWpsYj3) remain constant it will work"
is Client ID variable values in production mode?
Is Client ID someone's id of my website user?

client id/client secret is your app(smart-home-nodes run on your server) gives Actions on Google (google home) to identify, so when your app receives a call from Actions on Google, it knows it is the Actions on Google.
So you can generate any client id/secret and fill them in Actions on Google, when a call come in, you just compare client id/secret sent with your stored pair, once match, you know the call is from Actions on Google, not other application

The client id and secret are placed in the Account Linking section of the Actions console.

Thank you so much, wyx2000 and Fleker.
I understood it :)


sapling: remove intermediate package

Description of changes
The build for the sapling package happens in three steps:

build sapling-isl
build sapling-main, copying files from sapling-isl
build sapling, copying files from sapling-main

I don't see a reason for splitting sapling-main and sapling. The problem
with splitting is that it makes it hard to use a package override to
patch sapling-main.
Merge sapling-main and sapling so I can easily apply patches with my
nixpkgs/config.nix.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Combining into one derivation seems reasonable and simpler to me. Thanks for working on this!


Is there any documentation for the ssm package, or at least for GLM-HMM part?

Sorry, we just have the notebooks and the code comments!


Bump the required Django version range

The oldest still-supported Django release is currently 1.11, which will stay supported until early 2020. Drop Mezzanine's support for Django versions older than that.
Also include the Django 2.0 release series in the travis tests, since support for Django 2.0 is targeted for the next Mezzanine release.

Thank you


Fix AlluxioUtilsSuite build on Databricks for 22.12 [databricks]

Fixes #7271 by cherry-picking the fix from #7248

build


Check speed test

Based on the speed test branch, I changed the dbt coding. Move the datasets to their own folder. Add models for data transformations that Brett required for health and other datasets, such as change variable types.

Looks good to me - do I need to do anything? Also, should we cancel #12?

Ok - I'll merge #12 into main.


[PACKS] #3 Allowing the selection of custom request units in partner request

Summary
Allow the selection of custom request units in partner request
Why
This is step #3 of adding the ability to specify "packs" versus "individual" for requests
Details
When an item is selected that has request choice units, the units drop down will appear.  It will contain the reporting unit and the additional units selected.    The units will be pluralized.
If the item selected has no request choice units,  the units drop down will not appear.
If the item selected has custom units, the units must be selected.

Disallow selecting multiple different unit selections on the same item within the same request.   (Example -- we would disallow requesting 15 Adult Briefs (Large XL)  units and 3 Adult Briefs (Large XL) packs within the same request.   The error message in this case should be "You may only request one unit level per item -- please  consolidate: Adult Briefs (Large XL)")
Please note that the seed has data in it that does not pass the above condition -- we'll need to address that too!
N.B.
All of the changes for PACKS  must  be implemented behind a flipper flag "enable_packs"
Criteria for completion

[ ] functionality as described above
[ ] tests that support the functionality as described above

Background
The following sections have been identified as required for the PACKS implementation.  These should be implemented in numerical order.

I will claim this.

This issue is available for contribution. There is a draft-PR (thank you @patelkrunal31) at https://github.com/rubyforgood/human-essentials/pull/4420 with an experiment toward a dependent-dropdown; you may build on top of that or be inspired by it as you like!


[FEATURE] Enhance presenter view

Description
#324 introduced a first presenter view, but it is quite experimental and could be improved:

[ ] automatically detect two or more screens and display on two separate screens
[ ] fix --fullscreen CLI option
[ ] if one screen, what do we do?
[ ] add button to swap screens?

Other ideas or questions are welcome!
Screenshots
Current view:

Additional information
No response

Note: I think it would be great to have an 3-variant enum for hide-info-window: auto, always, and never. A bit like -c/--color[=<WHEN>] with Rust's Clap package.
auto would check if two or more screens are present and, if true, display the content info window on a separate screen.


reggen: Avoid whitespace large blocks of whitespace output

Originally posted by @sjgitty in https://github.com/lowRISC/stwg-base/diffs/4
hw/ip/gpio/rtl/gpio_reg_top.sv has a large amount of whitespace around line 1120. Investigate where this is coming from and improve the script based on it.

On a mission to clean up old issues, scraping from stalest to freshest.
The spacing here is much improved, closing this one.


Add Beta Firmware 2.2.2 for Beta release

Added all new firmware versions and updated the boards configs.

fixes #898


Bringing components to a common standard

1.  Create or reformat README

merge: #dependencies and #requirements section of readme and use one subtitle #requirements
add a section TLDR with quick instructions how to add component, if any hook required as for IAM role component today, and minimum required parameters all as a snippet or snippets
So, general structure of REDME:
-- NAME COMPONENT
-- TLDR
-- Requirements
-- Parameters
-- Implementation Details
Deployment follows to the following   algorithm:
--  Inference Service config
-- See also

https://github.com/epam/hub-kubeflow-components/issues/54
2. Standardize parameters in components according to the following list of names:
params.xlsx
3. Check components for correct deployment

@NellyHargeliya  @seseque  please advise this is a duplicate for #54 and #55? If yes, please feel free to close this issue. #54 needs to have a link to the params.xlsx


JSON Web Tokens (Dingo\Api\Auth\Provider\JWT)

{
"message": "Target class [PHPOpenSourceSaver\JWTAuth\JWTAuth] does not exist.",
"status_code": 500
}{
"message": "Target class [PHPOpenSourceSaver\JWTAuth\JWTAuth] does not exist.",
"status_code": 500
}

Hi, did you solve the problem? i have the same problem here


CustomSection derive Default

This will permit to create a CustomSection with default values programmatically

This PR makes me think that we should check parity-wasm API for the conformance with the rust's API guidelines because, as shows this PR, we definitely don't (since types should eagerly implement common traits).


Add z-index to tether-element

Fixes #375

Current coverage is 92.51%

Merging #378 into master will not affect coverage as of c078d69

@@            master    #378   diff @@
======================================
  Files            9       9
  Stmts          187     187
  Branches        38      38
  Methods         88      88
======================================
  Hit            173     173
  Partial          4       4
  Missed          10      10

Review entire Coverage Diff as of c078d69

Powered by Codecov. Updated on successful CI builds.

:+1:

Also relates to #332, #343, #353


BUG: base_lengths should be computed from base_frame instead of self in copartition

In some cases, self object may be empty, which may lead to incorrect work, for example, for insert function.
Place: https://github.com/modin-project/modin/blob/eee5f435f68786778184c4886ff25d386fce0c4f/modin/core/dataframe/pandas/dataframe/dataframe.py#L2486

This is a good catch. Do you have a specific test/reproducer for such a case?

This is a good catch. Do you have a specific test/reproducer for such a case?

It is quite difficult to write a test because this situation will only occur when take_2d_labels_or_positional function returns a core dataframe that has no cached lengths, and this will happen after I change the function in that way so it stops triggering the length calculation in the cases when we work with columns.


WSLv1: how to find real throttled laptop CPU frequency

Windows Version
10.0.22621.1992
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[ ] WSL 2
[X] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps
My Dell XPS 13 throttles CPU quite severely, especially on battery. This makes benchmarking some number crunching CPU programs in WSLv1 quite hard. What's worse is that I couldn't find a way to get the real CPU freq in WSLv1 Ubuntu 20.04. The real CPU freq is reported in Windows Task Manager, but not in WSLv1 Ubuntu 20.04. I've tried some ways recommended for real Ubuntu, but they all report only nominal/constant/max CPU freq.

$ cat /proc/cpuinfo | grep MHz
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000
cpu MHz         : 2918.000

$ cat /sys/devices/system/cpu/cpu0/cpufreq/*
2918000
2918000

Expected Behavior
can find from WSLv1 ubuntu real CPU freq (to detect amount of throttling)
Actual Behavior
always reports 2.90 GHz
Diagnostic Logs
No response

Thank you for reporting this @vadimkantorov. This is the expected behavior since WSL1 doesn't have any way to access real time CPU frequency information.
The only way to get this information would be by using a win32 API

If anyone finds this issue, I found two ways (using WinAPI under the cover):
# has no way to stop refreshing, will go on printing perf counters until Ctrl+C is hit
typeperf.exe "\Processor Information(_Total)\Processor Frequen
cy"

# relatively slower to complete, but will just quit after printing the requested info
wmic.exe cpu get name,CurrentClockSpeed,MaxClockSpeed

typeperf.exe -qx | grep Frequency
\Windows Time Service\Clock Frequency Adjustment (PPB)
\Windows Time Service\Clock Frequency Adjustment
\Processor Information(0,0)\% of Maximum Frequency
\Processor Information(0,1)\% of Maximum Frequency
\Processor Information(0,2)\% of Maximum Frequency
\Processor Information(0,3)\% of Maximum Frequency
\Processor Information(0,4)\% of Maximum Frequency
\Processor Information(0,5)\% of Maximum Frequency
\Processor Information(0,6)\% of Maximum Frequency
\Processor Information(0,7)\% of Maximum Frequency
\Processor Information(0,_Total)\% of Maximum Frequency
\Processor Information(_Total)\% of Maximum Frequency
\Processor Information(0,0)\Processor Frequency
\Processor Information(0,1)\Processor Frequency
\Processor Information(0,2)\Processor Frequency
\Processor Information(0,3)\Processor Frequency
\Processor Information(0,4)\Processor Frequency
\Processor Information(0,5)\Processor Frequency
\Processor Information(0,6)\Processor Frequency
\Processor Information(0,7)\Processor Frequency
\Processor Information(0,_Total)\Processor Frequency
\Processor Information(_Total)\Processor Frequency


Update documentation to support ops-agent as a new agent type

https://github.com/sophieyfang/terraform-google-cloud-operations/tree/master/modules/agent-policy

Thanks for the PR! 🚀✅ Lint checks have passed.

It seems that i don't have write access to this repo for merging the PR. Thus kindly asking @morgante to merge it.
THANK YOU!!


docs: add instructions for installing via homebrew

I found the information hidden in a closed issue and believe it should be made available more prominently.

Thanks, good spot!


The information icon is bold when a Settings item has focus

Testing #153349
Not sure if it is intentional or not, but the info icon is bolded when a Settings editor item has focus. The rest of the text in indicator area remains normal text.
Only "Word Wrap" is bold:

With focus, not the info icon is also bold:

Might be "by design" but I found it unexpected and didn't really help me to know there was a hover.

Looks like there are a recent fix to remove the info icon, so maybe this is no longer a concern?


Line no 139(after edit 140 in my console)

@Cyanic76     How can I solve this problem?

Done work

Locking down the repo until 4.45PM UTC.


[msal-angular] Add docs for Angular Universal SSR

This PR:

Updates msal-angular@2 README to note that Angular Universal is supported
Adds comments to angular11-sample-app on how to SSR with Angular Universal
Updates MSAL README links to msal-angular libraries on correct branches
Bumps msal-angular@2 and msal-browser versions in v2 samples

Coverage decreased (-2.3%) to 79.901% when pulling 67d0eba87799a3c7ef64ffebc1a7e3b9cb2aba7e on angular-universal-docs into 596d2bb33a207819936bc96d9134d9cb3c78f8c2 on dev.


Can't get email confirmation thus can't use HF

Hi,
I can't confirm my email.
I once got this email, confirmed and it wasn't updated in HF that it was confirmed.
Since then , when I press resend confirmation number i dont get the email.
Please help, can't login for a couple of weeks now.
please see the first time I pressed confirm suggesting a bug on your end. thanks!

@Michellehbn

Hi @giladros ! Thanks for reaching out and sorry to hear about the email confirmation issue. Can you let us know the email address or username ? If you prefer to send me an email with this information please feel free! My email is<EMAIL_ADDRESS>and you can cc<EMAIL_ADDRESS>Thanks!


Unitypackage can't import in unity mac,every package show all files imported

when I package a unitypackage with unitypacker,the final unitypackage file can be import in unity win.
when i import the unitypackage file in unity mac,it show all files already import.but nothing imported.
every package packed with unitypacker use in mac,all show that error.

can u help check and fix the error,add support to mac.thanks.

in mac,I have try unity 5.x-unity 2017, all show the same error.


adding in StarRocks connection information

Important Read
What is the purpose of the pull request
adding in StarRocks connection information
Brief change log
documentation to the website
Verify this pull request
This pull request is a trivial rework / code cleanup without any test coverage.

Thanks for submitting the PR @alberttwong, I'll review this over the weekend and comment/approve.

fixed and squashed.


wx.isProperty(...) fails for properties created using toProperty()

This can be verified via
const prop = Observable.of(true).delay(1000).toProperty(false);
// this returns a string, instead of a boolean
const shouldBeTrue = wx.isProperty(prop);

This issue will be encountered for a few situations where we support inputs of either observable or property, notably the data grid, list, and inline edit components.

the issue is visible in the webrx ToProperty source


Support for AcraServer integration with Patroni HA

Hey folks, feature request/question here.
We are currently using patroni as an HA solution for PostgreSQL and want to use Acra as an encryption/decryption DB proxy for on-the-fly transparent data encryption.
In Patroni, a. HAproxy connects with multiple postgres nodes, based on a leader-replica architecture using raft.
Is it possible to integrate AcraServer over the same patroni's HAProxy, so that we can introduce AcraServer without sacrificing our DB's latency instead of a separate AcraServer instance?

We have a demo with docker-compose scripts that deploys Acra with HAProxy - https://github.com/cossacklabs/acra-balancer-demo. Acra works as a proxy like PgBouncer/PgPool over DB-specific wire-protocol and provides additional transparent features. And has similar requirements like transactions should be proxied into the same node because it relies on connection session.
But when you will try, you should run docker-compose files with ACRA_DOCKER_IMAGE_TAG=0.90.0 environment variable value that specifies using Acra version 0.90.0 which was tested in this demo. It uses extra components AcraConnector and AcraWebConfig that were removed in next releases.

Thanks for the response, I could get the examples to work. Currently I am integrating AcraServer with a dummy app and patroni cluster. But the app(Jmeter load test client) doesn't support SSL currently.
How do I install Acra's version 0.90.0 on an Ubuntu machine, didn't find any guides on the documentation to install older releases.

We publish only latest versions of packages to our ubuntu/debian repositories. But you can easily generate .deb package from sources for required version:
git clone https://github.com/cossacklabs/acra.git
cd acra
git checkout 0.90.0
make deb

And you can find generated .deb package at the folder ./build/deb/. But it requires installation all dependencies for building: build-essential git golang wget lsb-release ruby ruby-dev rubygems and installed themis
I run next commands inside fresh ubuntu:focal container to compile deb package:
apt update
apt install build-essential git golang wget lsb-release ruby ruby-dev rubygems apt-transport-https
git clone https://github.com/cossacklabs/acra.git
cd acra
git checkout 0.90.0
wget -qO - https://pkgs-ce.cossacklabs.com/gpg | apt-key add -
echo "deb https://pkgs-ce.cossacklabs.com/stable/ubuntu focal main" | tee /etc/apt/sources.list.d/cossacklabs.list
apt update
apt install libthemis-dev
gem install --no-document fpm
make deb

I can't put here file because github deny .deb and large files. So you can build it by yourself or download here - https://filetransfer.io/data-package/ysKJIrU8#link. I uploaded it to first found file sharing service.

Thanks for the setup, I am able to setup AcraConnector on application's host VM and AcraServer on a seperate VM. But I'm running through an error when trying to relay the PostgreSQL connection from App <-> AcraConnector <-> AcraServer <-> HAProxy <-> Patroni Nodes.
I used the following commands to init AcraConnector and AcraServer respectively:
acra-connector --client_id=Neutron --acraserver_connection_host=<IP_ADDRESS>
acra-server --db_host=indo-integration.kernel-new-go-acra-server.server.golabs.io --db_port=5432 --postgresql_enable=true --client_id=Neutron --http_api_enable
And I am getting presented with these errors on the following logs:
AcraConnector
time="2022-03-29T22:05:21+07:00" level=error msg="Can't wrap connection" client_id=Neutron code=538 error=EOF
AcraServer
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7f893cb74000 pc=0x7f8941ab04c0]

runtime stack:
runtime.throw(0xec0e14, 0x2a)
	/usr/lib/go-1.13/src/runtime/panic.go:774 +0x72
runtime.sigpanic()
	/usr/lib/go-1.13/src/runtime/signal_unix.go:378 +0x47c

goroutine 24 [syscall]:
runtime.cgocall(0xc8e700, 0xc000208908, 0xc0002be640)
	/usr/lib/go-1.13/src/runtime/cgocall.go:128 +0x5b fp=0xc0002088d8 sp=0xc0002088a0 pc=0x40655b
github.com/cossacklabs/themis/gothemis/session._Cfunc_session_unwrap_size(0xc00049a1e0, 0xc0002be640, 0x94, 0xc0004c20c8, 0x0)
	_cgo_gotypes.go:220 +0x4d fp=0xc000208908 sp=0xc0002088d8 pc=0x959f9d
github.com/cossacklabs/themis/gothemis/session.(*SecureSession).Unwrap.func1(0xc00049a1e0, 0xc0002089b8, 0xc0004c20c8, 0x94)
	/root/acra/build/pkg/mod/github.com/cossacklabs/themis/gothemis@v0.13.1/session/session.go:211 +0x174 fp=0xc000208958 sp=0xc000208908 pc=0x95c014
github.com/cossacklabs/themis/gothemis/session.(*SecureSession).Unwrap(0xc00049a1e0, 0xc0002be640, 0x94, 0x94, 0x94, 0x0, 0x0, 0x0, 0x0, 0xedb6a0)
	/root/acra/build/pkg/mod/github.com/cossacklabs/themis/gothemis@v0.13.1/session/session.go:211 +0xb3 fp=0xc0002089b0 sp=0xc000208958 pc=0x95ada3
github.com/cossacklabs/acra/network.(*SecureSessionConnectionWrapper).wrap(0xc000032540, 0x104a9e0, 0xc00017e180, 0x1701601, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/root/acra/network/secure_session_wrapper.go:373 +0x5ff fp=0xc000208b58 sp=0xc0002089b0 pc=0x96659f
github.com/cossacklabs/acra/network.(*SecureSessionConnectionWrapper).WrapServer(0xc000032540, 0x103f740, 0xc00017e450, 0x104a9e0, 0xc00017e180, 0x2, 0x2, 0x103f740, 0xc00017e450, 0xc0000f2180, ...)
	/root/acra/network/secure_session_wrapper.go:426 +0xf1 fp=0xc000209300 sp=0xc000208b58 pc=0x967a01
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).processConnection(0xc0002f63f0, 0x103f680, 0xc000087840, 0x104a9e0, 0xc00017e180, 0xc00016cde0)
	/root/acra/cmd/acra-server/common/listener.go:233 +0x36a fp=0xc000209d98 sp=0xc000209300 pc=0xb6d03a
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start.func1(0xc0002f63f0, 0xc000151180, 0xc00016cde0, 0x104a9e0, 0xc00017e180, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/common/listener.go:309 +0x2fe fp=0xc000209fa8 sp=0xc000209d98 pc=0xb72b4e
runtime.goexit()
	/usr/lib/go-1.13/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc000209fb0 sp=0xc000209fa8 pc=0x462c21
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start
	/root/acra/cmd/acra-server/common/listener.go:303 +0x106

goroutine 1 [chan receive]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer(0xc0002f63f0, 0x103f680, 0xc000087840, 0xc0004aba00, 0x100, 0x0, 0x0)
	/root/acra/cmd/acra-server/common/server.go:57 +0x107
main.realMain(0x0, 0x0)
	/root/acra/cmd/acra-server/acra-server.go:812 +0x4f8f
main.main()
	/root/acra/cmd/acra-server/acra-server.go:113 +0x22

goroutine 5 [syscall]:
os/signal.signal_recv(0x462c26)
	/usr/lib/go-1.13/src/runtime/sigqueue.go:147 +0x9c
os/signal.loop()
	/usr/lib/go-1.13/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
	/usr/lib/go-1.13/src/os/signal/signal_unix.go:29 +0x41

goroutine 9 [select]:
github.com/cossacklabs/acra/cmd.(*SignalHandler).RegisterWithContext(0xc000176500, 0x103f680, 0xc000087840)
	/root/acra/cmd/utils.go:113 +0x12c
main.realMain.func1(0xc0004aba00, 0xc000176500, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/acra-server.go:513 +0x73
created by main.realMain
	/root/acra/cmd/acra-server/acra-server.go:511 +0x4093

goroutine 10 [select]:
github.com/cossacklabs/acra/cmd.(*SignalHandler).RegisterWithContext(0xc000176550, 0x103f680, 0xc000087840)
	/root/acra/cmd/utils.go:113 +0x12c
main.realMain.func2(0xc0004aba00, 0xc000176550, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/acra-server.go:519 +0x73
created by main.realMain
	/root/acra/cmd/acra-server/acra-server.go:517 +0x40f9

goroutine 11 [select]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016ce40, 0xc00016ce70, 0xc0004540e0)
	/root/acra/cmd/acra-server/common/listener.go:513 +0x1e4
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartCommands(0xc0002f63f0, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/common/listener.go:472 +0x5e3
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer.func1(0xc0004aba00, 0xc0002f63f0, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/common/server.go:46 +0x73
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer
	/root/acra/cmd/acra-server/common/server.go:44 +0x85

goroutine 12 [select]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016cdb0, 0xc00016cde0, 0xc000151180)
	/root/acra/cmd/acra-server/common/listener.go:513 +0x1e4
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).Start(0xc0002f63f0, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/common/listener.go:347 +0x630
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer.func2(0xc0004aba00, 0xc0002f63f0, 0x103f680, 0xc000087840)
	/root/acra/cmd/acra-server/common/server.go:52 +0x73
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer
	/root/acra/cmd/acra-server/common/server.go:50 +0xdc

goroutine 13 [IO wait]:
internal/poll.runtime_pollWait(0x7f893d51e050, 0x72, 0x0)
	/usr/lib/go-1.13/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc00031b898, 0x72, 0x0, 0x0, 0xe9acb7)
	/usr/lib/go-1.13/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/lib/go-1.13/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00031b880, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/lib/go-1.13/src/internal/poll/fd_unix.go:384 +0x1f8
net.(*netFD).accept(0xc00031b880, 0x5cf258, 0x0, 0xc0004c2040)
	/usr/lib/go-1.13/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc00048f8c0, 0xc0001f6000, 0x11, 0xe285c0)
	/usr/lib/go-1.13/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00048f8c0, 0x43c22e, 0xc0000678d8, 0xc000067908, 0x40986a)
	/usr/lib/go-1.13/src/net/tcpsock.go:261 +0x47
github.com/cossacklabs/acra/network.(*safeCloseListener).Accept(0xc00016cdb0, 0xc0002e1ec0, 0xc0002f6300, 0xc000151180, 0xc00016cde0)
	/root/acra/network/utils.go:144 +0x40
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016cdb0, 0xc00016cde0, 0xc000151180, 0xc0002e1f20)
	/root/acra/cmd/acra-server/common/listener.go:277 +0x15d
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run.func1(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016cdb0, 0xc00016cde0, 0xc000151180, 0xc0002e1f20)
	/root/acra/cmd/acra-server/common/listener.go:510 +0xc6
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run
	/root/acra/cmd/acra-server/common/listener.go:508 +0x132

goroutine 14 [IO wait]:
internal/poll.runtime_pollWait(0x7f893d51df80, 0x72, 0x0)
	/usr/lib/go-1.13/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc0000f2098, 0x72, 0x0, 0x0, 0xe9acb7)
	/usr/lib/go-1.13/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/lib/go-1.13/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc0000f2080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/lib/go-1.13/src/internal/poll/fd_unix.go:384 +0x1f8
net.(*netFD).accept(0xc0000f2080, 0x0, 0x0, 0x0)
	/usr/lib/go-1.13/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc00048f900, 0x0, 0x0, 0x0)
	/usr/lib/go-1.13/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00048f900, 0x0, 0x0, 0xc000069908, 0x40986a)
	/usr/lib/go-1.13/src/net/tcpsock.go:261 +0x47
github.com/cossacklabs/acra/network.(*safeCloseListener).Accept(0xc00016ce40, 0xc0002e1ec0, 0xeae800, 0x1b, 0x0)
	/root/acra/network/utils.go:144 +0x40
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016ce40, 0xc00016ce70, 0xc0004540e0, 0xc0002e1f80)
	/root/acra/cmd/acra-server/common/listener.go:277 +0x15d
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run.func1(0xc0002f63f0, 0x103f680, 0xc000087840, 0x103ac00, 0xc00016ce40, 0xc00016ce70, 0xc0004540e0, 0xc0002

I believe it's not able to comprehend the request which is coming from the HAProxy to AcraServer. The app works perfectly with the HAProxy when Acra is out of the picture. I also tried enabling SSL termination on HAProxy but no luck,  same error.
Any insights to unblock this error will be really appreciated. Thanks!

Hm, I have two ideas where is a problem:

You didn't install Themis. Instructions how to install. It should be installed on acra-server and acra-connector sides.
Some problem with golang and CGO calls. You use go-1.13. But latest tested version for 0.90.0 was 1.14.9. Also tested 1.15.2 and 1.16.9. Newer - better.

You can run ldconfig  -p | grep themis command to check, did your system contain and cached themis library or not.

I updated go version to 1.16.9 and still it didn't work. Same error, also checked if themis is installed, it's there on both VMs. Didn't work for both HAProxy SSL termination on and off.
root@g-kernel-new-go-serverextreme-a-d67eae8d:~# ldconfig -p | grep themis
	libthemis.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libthemis.so.0
	libthemis.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libthemis.so

root@g-kernel-new-go-serverextreme-a-d67eae8d:~# go version
go version go1.16.9 linux/amd64
root@g-kernel-new-go-serverextreme-a-d67eae8d:~# which go
/usr/local/go/bin/go

The server starts up and starts listening for connections, but as soon I make a DB call from my app. It terminates with this error. Posting stacktrace for debugging purposes:
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7fbf17e29000 pc=0x7fbf3f5a14c0]

runtime stack:
runtime.throw(0xdd6fe0, 0x2a)
	/usr/local/go/src/runtime/panic.go:1117 +0x72
runtime.sigpanic()
	/usr/local/go/src/runtime/signal_unix.go:718 +0x2e5

goroutine 13 [syscall]:
runtime.cgocall(0xc08000, 0xc0003489a0, 0xc00034a000)
	/usr/local/go/src/runtime/cgocall.go:154 +0x5b fp=0xc000348970 sp=0xc000348938 pc=0x406f9b
github.com/cossacklabs/themis/gothemis/session._Cfunc_session_unwrap_size(0xc000142100, 0xc00034a000, 0x94, 0xc0003d6090, 0x0)
	_cgo_gotypes.go:220 +0x48 fp=0xc0003489a0 sp=0xc000348970 pc=0x917d48
github.com/cossacklabs/themis/gothemis/session.(*SecureSession).Unwrap.func1(0xc000142100, 0xc000348a48, 0xc0003d6090, 0x94)
	/root/acra/build/pkg/mod/github.com/cossacklabs/themis/gothemis@v0.13.1/session/session.go:211 +0xe9 fp=0xc0003489e8 sp=0xc0003489a0 pc=0x919829
github.com/cossacklabs/themis/gothemis/session.(*SecureSession).Unwrap(0xc000142100, 0xc00034a000, 0x94, 0x94, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0)
	/root/acra/build/pkg/mod/github.com/cossacklabs/themis/gothemis@v0.13.1/session/session.go:211 +0xae fp=0xc000348a40 sp=0xc0003489e8 pc=0x91896e
github.com/cossacklabs/acra/network.(*SecureSessionConnectionWrapper).wrap(0xc000476ae0, 0xee6e08, 0xc0003a09c0, 0x13e8c01, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/root/acra/network/secure_session_wrapper.go:373 +0x60e fp=0xc000348c00 sp=0xc000348a40 pc=0x923d6e
github.com/cossacklabs/acra/network.(*SecureSessionConnectionWrapper).WrapServer(0xc000476ae0, 0xedef18, 0xc00008f620, 0xee6e08, 0xc0003a09c0, 0x2, 0x2, 0xedef18, 0xc00008f620, 0xc00051e100, ...)
	/root/acra/network/secure_session_wrapper.go:426 +0xf1 fp=0xc0003493a0 sp=0xc000348c00 pc=0x925271
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).processConnection(0xc0004ea000, 0xedee70, 0xc000298900, 0xee6e08, 0xc0003a09c0, 0xc0003a08a0)
	/root/acra/cmd/acra-server/common/listener.go:233 +0x369 fp=0xc000349de0 sp=0xc0003493a0 pc=0xae8429
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start.func1(0xc0004ea000, 0xc0001ff340, 0xc0003a08a0, 0xee6e08, 0xc0003a09c0, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/common/listener.go:309 +0x2da fp=0xc000349fa8 sp=0xc000349de0 pc=0xaedfda
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc000349fb0 sp=0xc000349fa8 pc=0x475aa1
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start
	/root/acra/cmd/acra-server/common/listener.go:303 +0x109

goroutine 1 [chan receive]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer(0xc0004ea000, 0xedee70, 0xc000298900, 0xc0003c3cc0, 0x100, 0x0, 0x0)
	/root/acra/cmd/acra-server/common/server.go:57 +0x107
main.realMain(0x0, 0x0)
	/root/acra/cmd/acra-server/acra-server.go:812 +0x4ece
main.main()
	/root/acra/cmd/acra-server/acra-server.go:113 +0x25

goroutine 7 [select]:
github.com/cossacklabs/acra/cmd.(*SignalHandler).RegisterWithContext(0xc0001039f0, 0xedee70, 0xc000298900)
	/root/acra/cmd/utils.go:113 +0x10f
main.realMain.func1(0xc0003c3cc0, 0xc0001039f0, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/acra-server.go:513 +0x6b
created by main.realMain
	/root/acra/cmd/acra-server/acra-server.go:511 +0x40bd

goroutine 8 [select]:
github.com/cossacklabs/acra/cmd.(*SignalHandler).RegisterWithContext(0xc000103a40, 0xedee70, 0xc000298900)
	/root/acra/cmd/utils.go:113 +0x10f
main.realMain.func2(0xc0003c3cc0, 0xc000103a40, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/acra-server.go:519 +0x6b
created by main.realMain
	/root/acra/cmd/acra-server/acra-server.go:517 +0x4125

goroutine 9 [select]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0900, 0xc0003a0930, 0xc00032a0e0)
	/root/acra/cmd/acra-server/common/listener.go:513 +0x1b5
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartCommands(0xc0004ea000, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/common/listener.go:472 +0x5d8
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer.func1(0xc0003c3cc0, 0xc0004ea000, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/common/server.go:46 +0x6b
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer
	/root/acra/cmd/acra-server/common/server.go:44 +0x85

goroutine 10 [select]:
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0840, 0xc0003a08a0, 0xc0001ff340)
	/root/acra/cmd/acra-server/common/listener.go:513 +0x1b5
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).Start(0xc0004ea000, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/common/listener.go:347 +0x618
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer.func2(0xc0003c3cc0, 0xc0004ea000, 0xedee70, 0xc000298900)
	/root/acra/cmd/acra-server/common/server.go:52 +0x6b
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).StartServer
	/root/acra/cmd/acra-server/common/server.go:50 +0xdc

goroutine 22 [syscall]:
os/signal.signal_recv(0xc0003c3cc0)
	/usr/local/go/src/runtime/sigqueue.go:168 +0xa5
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:23 +0x25
created by os/signal.Notify.func1.1
	/usr/local/go/src/os/signal/signal.go:151 +0x45

goroutine 11 [IO wait]:
internal/poll.runtime_pollWait(0x7fbf16df4788, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000090818, 0x72, 0x0, 0x0, 0xdb529c)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000090800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc000090800, 0x5caf45, 0x0, 0xc0003c3d45)
	/usr/local/go/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc00000f7b8, 0xc00003ec48, 0x11, 0xd5c200)
	/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000f7b8, 0x446d2e, 0xc0000b98f0, 0xc0000b9920, 0x40a77a)
	/usr/local/go/src/net/tcpsock.go:261 +0x65
github.com/cossacklabs/acra/network.(*safeCloseListener).Accept(0xc0003a0840, 0xc000508d80, 0xc0004ea000, 0xc0001ff340, 0xc0003a08a0)
	/root/acra/network/utils.go:144 +0x42
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0840, 0xc0003a08a0, 0xc0001ff340, 0xc000508de0)
	/root/acra/cmd/acra-server/common/listener.go:277 +0x162
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run.func1(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0840, 0xc0003a08a0, 0xc0001ff340, 0xc000508de0)
	/root/acra/cmd/acra-server/common/listener.go:510 +0xad
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run
	/root/acra/cmd/acra-server/common/listener.go:508 +0x126

goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x7fbf16df46a0, 0x72, 0x0)
	/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00051e018, 0x72, 0x0, 0x0, 0xdb529c)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00051e000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc00051e000, 0xdbaa4d, 0xf, 0xc0004d2200)
	/usr/local/go/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc00000f7d0, 0x0, 0x0, 0xc000183050)
	/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000f7d0, 0xc0001830b0, 0x1, 0xc000135920, 0x40a77a)
	/usr/local/go/src/net/tcpsock.go:261 +0x65
github.com/cossacklabs/acra/network.(*safeCloseListener).Accept(0xc0003a0900, 0xc000508d80, 0xdc5900, 0x1b, 0x0)
	/root/acra/network/utils.go:144 +0x42
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).start(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0900, 0xc0003a0930, 0xc00032a0e0, 0xc000508e40)
	/root/acra/cmd/acra-server/common/listener.go:277 +0x162
github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run.func1(0xc0004ea000, 0xedee70, 0xc000298900, 0xedbef0, 0xc0003a0900, 0xc0003a0930, 0xc00032a0e0, 0xc000508e40)
	/root/acra/cmd/acra-server/common/listener.go:510 +0xad
created by github.com/cossacklabs/acra/cmd/acra-server/common.(*SServer).run
	/root/acra/cmd/acra-server/common/listener.go:508 +0x126
root@g-kernel-new-go-serverextreme-a-d67eae8d:~#

Stopped using Acra version 0.90.0 and updated to 0.92.0. And now the connection is passing through from the app(using sslmode=require) to AcraServer and reaching the DB. But seems like my TLS setup isn't correct. Can you help me debug using this log from AcraServer, as to till where the connection has been established.
time="2022-03-31T21:01:47+07:00" level=info msg="Got new connection to AcraServer: <IP_ADDRESS>:56968" connection_string="tcp://<IP_ADDRESS>:9393/" from_descriptor=false
time="2022-03-31T21:01:47+07:00" level=debug msg="ConnectionManager Added new connection"
time="2022-03-31T21:01:47+07:00" level=info msg="Handle client's connection" client_id=neutron session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Connecting to db" client_id=neutron session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg=ProxyClientConnection client_id=neutron proxy=client session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Pg db proxy" client_id=neutron proxy=server session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Read startup message" client_id=neutron proxy=server session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Can't read first message type" client_id=neutron code=588 error=EOF proxy=server session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Stop to proxy" client_id=neutron interrupt_side=AcraServer-Database session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="EOF connection closed" client_id=neutron interrupt_side=AcraServer-Database session_id=2
time="2022-03-31T21:01:47+07:00" level=info msg="Closing client's connection" client_id=neutron interrupt_side=AcraServer-Database session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Close acra-connector connection" client_id=neutron session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Can't read first 5 bytes" client_id=neutron code=588 error="read tcp <IP_ADDRESS>:9393-><IP_ADDRESS>:56968: use of closed network connection" proxy=client session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Can't read packet from client to database" client_id=neutron error="read tcp <IP_ADDRESS>:9393-><IP_ADDRESS>:56968: use of closed network connection" proxy=client session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Close db connection" client_id=neutron session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="All connections closed" client_id=neutron session_id=2
time="2022-03-31T21:01:47+07:00" level=debug msg="Second proxy goroutine stopped" client_id=neutron error="Client-AcraServer:read tcp <IP_ADDRESS>:9393-><IP_ADDRESS>:56968: use of closed network connection" interrupt_side=AcraServer-Database session_id=2
time="2022-03-31T21:01:47+07:00" level=info msg="Finished processing client's connection" client_id=neutron interrupt_side=AcraServer-Database session_id=2

Any help will be appreciated. Thanks!

I'm not sure that you app or DB client actually uses sslmode=require option.
That is how logs looks when database supports TLS and psql connects with PGSSLMODE=require psql -h<host> -p<acra port>:
time="2022-03-31T17:23:50+03:00" level=info msg="Got new connection to AcraServer: [::1]:49832" connection_string="tcp://<IP_ADDRESS>:9393/" from_descriptor=false
time="2022-03-31T17:23:50+03:00" level=debug msg="ConnectionManager Added new connection"
time="2022-03-31T17:23:50+03:00" level=info msg="Handle client's connection" client_id=client session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Connecting to db" client_id=client session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg=ProxyClientConnection client_id=client proxy=client session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Pg db proxy" client_id=client proxy=server session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Read startup message" client_id=client proxy=server session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Start tls proxy" client_id=client proxy=server session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Can't read first 5 bytes" client_id=client code=588 error="read tcp [::1]:9393->[::1]:49832: i/o timeout" proxy=client session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Stop client connection" client_id=client proxy=server session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Init tls with client" client_id=client proxy=server session_id=2

Here we can see:
time="2022-03-31T17:23:50+03:00" level=debug msg="Read startup message" client_id=client proxy=server session_id=2
time="2022-03-31T17:23:50+03:00" level=debug msg="Start tls proxy" client_id=client proxy=server session_id=2

That after startup message started establishing TLS connection. In that case driver sends SSLRequest as first packet. I used our image for PostgreSQL that uses official image for 13 version and just copy and configure TLS certs.
And psql rendered error for me:
psql: error: SSL error: sslv3 alert bad certificate

It's expected error because I didn't pass any certs for TLS and AcraServer configured with mTLS requirement.
That is how looks logs when I tried connect to database that doesn't support tls:
time="2022-03-31T17:28:44+03:00" level=info msg="Got new connection to AcraServer: [::1]:49934" connection_string="tcp://<IP_ADDRESS>:9393/" from_descriptor=false
time="2022-03-31T17:28:44+03:00" level=debug msg="ConnectionManager Added new connection"
time="2022-03-31T17:28:44+03:00" level=info msg="Handle client's connection" client_id=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Connecting to db" client_id=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Pg db proxy" client_id=client proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Read startup message" client_id=client proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg=ProxyClientConnection client_id=client proxy=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Deny ssl request" client_id=client proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Read packet" client_id=client proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Can't read first 5 bytes" client_id=client code=588 error=EOF proxy=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Can't read packet from client to database" client_id=client error=EOF proxy=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Stop to proxy" client_id=client interrupt_side=Client-AcraServer session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="EOF connection closed" client_id=client interrupt_side=Client-AcraServer session_id=3
time="2022-03-31T17:28:44+03:00" level=info msg="Closing client's connection" client_id=client interrupt_side=Client-AcraServer session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Close acra-connector connection" client_id=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Close db connection" client_id=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Can't read packet" client_id=client code=588 error="read tcp [::1]:56110->[::1]:5432: use of closed network connection" proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="All connections closed" client_id=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Second proxy goroutine stopped" client_id=client error="AcraServer-Database:read tcp [::1]:56110->[::1]:5432: use of closed network connection" interrupt_side=Client-AcraServer session_id=3
time="2022-03-31T17:28:44+03:00" level=info msg="Finished processing client's connection" client_id=client interrupt_side=Client-AcraServer session_id=3

Here we can see that database denied SSL request:
time="2022-03-31T17:28:44+03:00" level=debug msg="Read startup message" client_id=client proxy=server session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg=ProxyClientConnection client_id=client proxy=client session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="Deny ssl request" client_id=client proxy=server session_id=3

And after that driver terminated connection:
time="2022-03-31T17:28:44+03:00" level=debug msg="Stop to proxy" client_id=client interrupt_side=Client-AcraServer session_id=3
time="2022-03-31T17:28:44+03:00" level=debug msg="EOF connection closed" client_id=client interrupt_side=Client-AcraServer session_id=3

In your case, I can suppose that your driver sent a simple Startup packet (not SSLRequest) and took SSL requirement from database. In such, when the driver doesn't support TLS, they terminate connection.
Without extra information about the application or software used to connect to the database, I can't help more.

Sure, that makes a lot of things clear for me, thanks. Currently I am just trying to connect to the DB through AcraServer using psql. The command I used is
psql "host=indo-integration.acra-server.server.golabs.io port=9393 user=hannibal dbname=hannibal_integration sslmode=verify-full sslcert=/etc/secret_manager/indo-integration.hannibal-load-testing.server.golabs.io/fullchain.pem  sslkey=/etc/secret_manager/indo-integration.hannibal-load-testing.server.golabs.io/privkey.pem  sslrootcert=/etc/secret_manager/indo-integration.hannibal-load-testing.server.golabs.io/root.pem"

If you have a problem with this command, then try: chmod 0600 /etc/secret_manager/indo-integration.hannibal-load-testing.server.golabs.io/privkey.pem. I had a problem with TLS using psql when it silently ignored my key with certificate because it had incorrect and group/other readable permissions. And didn't warn. So check it too.
Also, personally I didn't try to connection through connection string like that, so I can't confirm that it should work. Everytime I passed certs/keys through env variables PGSSLROOTCERT/PGSSLCERT/PGSSLKEY/PGSSLMODE like PGSSLKEY=<path> PGSSLCERT=<path> PGSSLROOTCERT=<path) PGSSLMODE=verify-full psql <params>

Thanks, I was able to connect to the HAProxy via AcraServer. I have a few questions regarding data migration:

I updated the types for fields to be encrypted to bytea. The documentation says that Acra expects and returns a bytestring. Do I need to explicitly convert the string data to binary in base64/hex format and then perform queries? Can you explain the flow how am I supposed to prepare data for encoding/decoding strings to/from byte strings, such that Acra understands it?

There are a few queries on which AcraServer from which encryption isn't happening. I am seeding the database with this method COPY booking_routes(booking_id,distance_in_meters,origin_latitude,origin_longitude) FROM STDIN WITH CSV, AcraServer is ignoring such requests with ignoring error of non parsed sql statement.

Thanks in advance!

Thanks for the reply, there is another issue with foreign keys.
Consider an example where, I have two tables bookings and booking_routes, id in bookings is the foreign key to booking_routes stored as booking_id. Both encrypted and with bytea types in the schema.
When I run this query:
INSERT INTO bookings(
  id,
  order_number,
  customer_id,
  status
) VALUES (
  '0',
  'RB-0',
  '1',
  'booked'
);

INSERT INTO booking_routes(
  booking_id,
  distance_in_meters,
  origin_latitude,
  origin_longitude
) VALUES (
  '0',
  45,
  1.2342353,
  106.123124
);

The second one fails with this error, and is unable to find the booking id in bookings table using FK relationship.
ERROR:  insert or update on table "booking_routes" violates foreign key constraint "booking_routes_booking_id_fkey"
DETAIL:  Key (booking_id)=(\x7fae1c158627e1d34bc5989afcaf483b5135a63c648cea4d14dbb9bef1752f2ce22525259700000000000000f022222222870000000000000000861c004c00000101400c0000001000000020000000d43f5c7ee0fdcd50a8b8c03c8b8ad1708cf8bc3ae6645ded55a43cf6282ed5dfcf6cc6e0087c017692d1fc07b7fad9a8c5f066b08d72fcf038ce6473000101400c0000001000000001000000b3376b85840f1daabf54dfdb603ec8b75f4b3c281bd0dde36aa004a446) is not present in table "bookings".

What fix do you suggest in this case? Should I remove encryption in the booking_routes table so that FK relationship can be used again?

As first step, I suggest deciding what data you want to encrypt and why) What the final goal. Not all data must be encrypted. Usually, it is sensitive data, some PII (personally identifiable information), etc. Usually, identifiers are not sensitive data and can be decrypted. Because they stores only some unrelated to data value used just for identification data. If app needs to hide somehow it too and hide ordering, then it can be UUID with random part in the value.
So yes, if your app doesn't require encrypting identifiers then leave it not encrypted.
If you need cross-joins between tables through data then you should use searchable encryption that uses hash values additionally to ciphertext. They can be used for joins and searching. In the open-sourced version of Acra it supports only WHERE statements with automatic update of predicates for searching and doesn't support cross-joins. But you can use it manually by replacing columns value with substr(search_encrypted_column, 1, 33) to use static hash value for joins.
If you will encrypt order_number and want to join two tables through this column:
select * from table1 t1 inner join table2 t2 on substr(t1.booking_number, 1, 33)=substr(t2.booking_number);

In this example booking_number configured with searchable: true.

Thanks a lot for these suggestions, incorporated these and now it works for our use-case. I have trying to install Acra 0.92.0 on other clusters also now, but getting this error while installing. Looks like the SSL certs are expired from your side.
Can you confirm once? I tried this on multiple VMs, same error.
~# wget -qO - https://pkgs.cossacklabs.com/gpg | sudo apt-key add -
OK

~# echo "deb https://pkgs.cossacklabs.com/stable/debian focal main" | \
>     sudo tee /etc/apt/sources.list.d/cossacklabs.list
deb https://pkgs.cossacklabs.com/stable/debian focal main

~# apt-get update
Hit:1 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:4 https://packages.cloud.google.com/apt google-cloud-logging-focal-all InRelease
Get:5 https://artifactory-gojek.golabs.io/artifactory/debian-virtual trusty InRelease [3218 B]
Hit:6 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:7 http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu focal InRelease
Get:8 https://artifactory-gojek.golabs.io/artifactory/debian-virtual trusty/main amd64 Packages [3122 kB]
Ign:9 https://pkgs.cossacklabs.com/stable/debian focal InRelease
Err:10 https://pkgs.cossacklabs.com/stable/debian focal Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: <IP_ADDRESS> 443]
Reading package lists... Done
E: The repository 'https://pkgs.cossacklabs.com/stable/debian focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

~# apt-get install acra
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package acra

you should use: echo "deb https://pkgs.cossacklabs.com/stable/debian bullseye main"
or change debian to ubuntu and leave focal.

My bad, I didn't change the OS type in the URL. Still facing same issue when tried with ubuntu focal and all other options:
root@:~# wget -qO - https://pkgs.cossacklabs.com/gpg | sudo apt-key add -
OK
root@:~# echo "deb https://pkgs.cossacklabs.com/stable/ubuntu focal main" | \
>     sudo tee /etc/apt/sources.list.d/cossacklabs.list
deb https://pkgs.cossacklabs.com/stable/ubuntu focal main
root@:~# sudo apt-get update
Hit:1 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:4 https://packages.cloud.google.com/apt google-cloud-logging-focal-all InRelease [5492 B]
Get:5 https://artifactory-gojek.golabs.io/artifactory/debian-virtual trusty InRelease [3218 B]
Get:6 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1712 kB]
Get:7 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [320 kB]
Get:8 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [14.9 kB]
Get:9 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [916 kB]
Get:10 http://asia-east1.gce.archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [20.4 kB]
0% [6 Packages store 0 B] [Connecting to security.ubuntu.com (<IP_ADDRESS>)] [Waiting for headers]
Hit:11 http://ppa.launchpad.net/vbernat/haproxy-2.0/ubuntu focal InRelease
Get:12 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:13 https://artifactory-gojek.golabs.io/artifactory/debian-virtual trusty/main amd64 Packages [3100 kB]
Ign:14 https://pkgs.cossacklabs.com/stable/ubuntu focal InRelease
Get:15 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1384 kB]
Err:16 https://pkgs.cossacklabs.com/stable/ubuntu focal Release
  Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate.  Could not handshake: Error in the certificate verification. [IP: <IP_ADDRESS> 443]
Get:17 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [239 kB]
Get:18 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [9900 B]
Get:19 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [696 kB]
Get:20 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [14.1 kB]
Reading package lists... Done
E: The repository 'https://pkgs.cossacklabs.com/stable/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Are you sure it's not an issue with your certs?
One more thing, I can still build Acra from source code, but does 0.92.0 still uses themis, or it's deprecated?
As getting this same error while installing themis.

Have a question regarding integrating AcraServer into existing infra.
App -> AcraServer -> HAProxy -> Databases
I have tried two different config flows:

Using AcraServer on a separate VM between application and HAProxy.
Using AcraServer on the same VM as HAProxy, and AcraServer connects to HAProxy via localhost:5432

All VMs have 4 cores and 10+ GB of RAM.
Both of the flows work perfectly, but flow 1 is significantly faster than flow 2, which is unexpected. With flow 2 I am saving an extra network hop, so I expected it to have lower latency than flow 2, but that's not the case.
All DB and load test configurations are the same in both of the above flows.
Am I missing something here, or would you suggest any other configurations to lower the latency?

Are you sure it's not an issue with your certs?

Yes, because I tested it. Plus, you can open in browser https://pkgs.cossacklabs.com and check it by yourself. It will redirect you to https://pkgs-ce.cossacklabs.com/:

Sure, thanks. Was going through the key rotation docs but realized it's only available on Enterprise Edition.
Are all the three strategies restricted to enterprise edition? As it's a bit confusing from the docs as it's mentioned atop.
If using community edition, will I be able to use rotation without re-encryption strategy or will I have to resort to full re-encryption, as I see that can be achieved via a script. Is full re-encryption also only available on the enterprise edition?

I am from database team at Gojek and currently we are experimenting with Acra Community edition for transparently encrypting PII data in our critical databases.
We have published a POC to integrate AcraServer with our Patroni cluster setup and have run viable load tests for the same, our next step is to integrate AcraServer to a critical production database.
I really appreciate your offer for your services, but before jumping into a paid plan, we want to integrate Acra to atleast few of our production databases, and help our security team to provide clearance to Acra for using it as a TDE solution org-wide at Gojek.
Once, we have established these above expectations from our side, then it would be easier to us to choose which plan suits best for our use-case.

Hey @Lagovas @vixentael , we have a few concerns regarding data migration for preparing DB for transparent encryption using Acra:

For a live production DB with over a million rows, what is the strategy you would recommend to change the data type to bytea and encrypt the existing data with minimal downtime. One approach which comes to my mind is to query all data of the columns and re-write it passing through Acra, but that seems inefficient and will bring downtime in a live production setup.

In case, we completed the migration, and due to some issue we need to rollback to the previous setup. How will we go about it, as the data inserted for the period between Acra setup and rollback will have to be retrieved specifically as it'll be encrypted. So, how do we deal with rollback and point-in-time recovery in such cases?

Thanks in advance!

The most safe way to do it with zero-downtime is to provide +1 column with bytea type. Then encrypt data from source column to new one. Save new data to both columns on application side during migration (triggers will not work because they change data on DB side and don't pass through Acra).
Or if it is not possible then make downtime and process remaining data with encryption.
And after that rename <old_column_name : type> to <_old_column_name : type>, and <new_column : bytea> rename to <old_column_name: bytea>.
To rollback you should rename columns back. As I remember, renaming is fast operation and will not block DB too long.
And yes, the simplest way to encrypt data is select + update data through Acra. Or you can write your own script according to your requirements, run AcraTranslator and encrypt data via AcraTranslator's API and replace data by yourself. Or in the loop row by row over production DB without long blocks.

I guess the Q is resolved :)


Leading zero

NimCx can add trailing zero, remove digits and add thousands separator:
import nimcx
const aa = 1234.56
echo ff2(aa, 3)
echo ff2(aa, 1)
echo ff2(aa, 0)

However it seems to have no way to add leading zero. Compare with other options:
import strformat
const aa = 1234.56
echo &"{aa:08}"

import strfmt
const aa = 1234.56
echo "{:08}".fmt(aa)

https://github.com/kaushalmodi/strfmt
https://nim-lang.github.io/Nim/strformat

Maybe this helps a bit :
# pad a numberstring with 0 on the left until overall width is 15 and show 5 after comma positions
echo cxlpad(ff2(1234.56,5),15,"0")

@qqtop it seems like cxlpad is a string method, while my other examples are number methods. so your solution works but its not ideal as it requires 2 function calls. I think I will use the other methods I listed for now
thank you

With this file:
import nimcx
let aa = ff2(-1, 0)
echo cxlpad(aa, 3, "0")

Result:
0-1

With this file:
import strformat
let aa = -1
echo &"{aa:03}"

Result:
-01

Fixed this .. I hope.
You are finding all the edge cases . Thank's for looking.
Use the new function cxlpadN
echo cxlpadN(ff2(-1, 0), 8, "0")

gives here:
-0000001

@qqtop yes that you, that does produce expected output
however I think some method should be available that accepts number input. this
is available with base Nim:
import strformat
const aa = 11
echo &"{aa:03}"

as well as other languages like C:
#include <stdio.h>
int main() {
   printf("%03d\n", 11);
}

Python:
format(11, '03')

JavaScript:
(11).toLocaleString(0, {minimumIntegerDigits: 3});

PHP:
printf('%03d\n', 11);

Go:
package main
import "fmt"
func main() {
   fmt.Printf("%03d\n", 11)
}

D:
import std.format, std.stdio;
void main() {
   auto aa = "%03d".format(11);
   writeln(aa);
}

It is available since now.
import nimcx

echo cxLpadN(ff2(1234.45,5),15,"0")
echo cxLpadN(1234.45,15,"0")
echo cxLpadN(-1.45, 15)

# obviously stdlib functions are available in Nimcx too
assert cxLpadN(-1.45, 6)  ==  &"{-1.45:06}"

# you even can let python do the formating
# via import nimpy or run awk via execCmdEx
# at least under Linux

Nimcx was conceived before strfmt was a thing.

@qqtop this file:
import nimcx
echo cxLpadN(-1, 3)

makes this:
-01

Perfect! However this file:
import nimcx
let aa = ff2(1234, 0)
echo cxLpadN(aa, 8)

makes this:
0001,234

which some would say is not correct. However given the circumstances I think its
reasonable to expect that result, as cxLpadN isnt currently programmed to add
the extra separators needed to create a correct result. Here is JavaScript with
correct output:
(1234).toLocaleString(0, {minimumIntegerDigits: 7});
"0,001,234"

Python:
>>> format(1234, '08,')
'0,001,234'

Go:
package main
import "golang.org/x/text/language"
import "golang.org/x/text/message"
func main() {
   message.NewPrinter(language.English).Printf("%07d\n", 1234)
   // 0,001,234
}

Interestingly D, fails in similar fashion:
import std.format, std.stdio;
void main() {
   auto aa = "%09,d".format(1234);
   writeln(aa);
   // 00001,234
}

I am not sure what would be a good way to fix this problem. If you try this:
ff2(0001234)

the leading zeros just get stripped, and ff2 does not currently support string
input. I can understand I you do not want to fix this, or even if you think
the current output is correct, but I felt it proper to report it. Also I will
be reporting the D issue as well, thanks again!

You are getting into the rabbit hole of custom formating.
It depends on what you want to achieve .
Try this
import nimcx
let aa = 1234
echo insertsep(cxLpadN(aa,7),',',3).multiReplace((",,",","))

you get
0,001,234

which basically means nothing to most library users unless they need some custom table alignment,
besides that you might still have to consider US or Eu locale . So ...  lets close this.

@qqtop you were right about rabbit hole, all is good now.
thanks for the patches!


Make e2e fail early

There is no need to continue running e2e tests if one of them failed. It's just a waste of time and compute.
Instead, the process should fail asap when any error is encountered.

Should be closed with this: https://github.com/ionos-cloud/cluster-api-provider-proxmox/pull/359


Selecting same branch twice

If I have a branch without children and click it twice the $scope.events_tree_handler only fires once, you need to click on another branch and back to the first t get it to fire again.
I've hacked abn_tree_directive.js to get this to work:
scope.user_clicks_branch = function(branch) {
if (branch !== selected_branch) {
var ret = select_branch(branch);
selected_branch = null;
return ret;
}
};

This is expected behavior as the handler is for on-select which is semantically distinct from on-click. The current branch can be retrieved via tree.get_selected_branch().
Reopen if this is still a desired feature and will discuss potential implementations.


bug: exclude null types being decoded with pydantic model_dump()

fixes ruff version
removes ruff from make format due to incompatibility
fixes null types being decoded with model_dump

Linking the related ticket: https://linear.app/together-ai/issue/ENG-8489/json-llama-31-70b-does-not-work-properly-doesnt-respect-the-schema-it

confirmed this is working on prod by hassan.


[web3t[[xstate-wallet] web3t with xstate wallet

As an intermediate goal, I'm trying to get web3t working with the xstate wallet using direct funding. Hopefully this will iron out some of the issues that might arise with the differences in API implementation versus the FakeProvider, which is what we have been building against so far.
To be clear, ultimately we will use virtual funding (and associated concepts such as the hub and budgets etc) and the wallet will not show as much UI.
Progress toward #1135

The first issue I hit was that onChannelProposed  is not supported in the xstate wallet. If that is not an easy fix, we can revert to using onChannelUpdated for this step, too.
(In that case we should remove it from the API altogether).

Closing in favour of #1231


Fix typo and improve README formatting

It's just typo and formatting fixes of the README file.

Thank you very much!


classify_name for MacroCall

I saw this
https://github.com/rust-analyzer/rust-analyzer/blob/a599147b4232c0d4f6b071a3a96e86f903f4cf52/crates/ra_ide_api/src/references/classify.rs#L24
and went to implement it. I got stuck implementing impl FromSource for MacroDef.

MacroDefIds are primaraly created in DefCollector
On Fri, 15 Nov 2019 at 18:38, Jeremy Kolb<EMAIL_ADDRESS>wrote:

I saw this
https://github.com/rust-analyzer/rust-analyzer/blob/a599147b4232c0d4f6b071a3a96e86f903f4cf52/crates/ra_ide_api/src/references/classify.rs#L24
and went to implement it. I got stuck implementing impl FromSource for
MacroDef.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/issues/2260?email_source=notifications&email_token=AANB3M7MPGKPYRGI4G5FVADQT2663A5CNFSM4JN4PPGKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HZUSZ5Q,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANB3MY32CYLEKUYRER7JVLQT2663ANCNFSM4JN4PPGA
.

see collect_macro
On Fri, 15 Nov 2019 at 19:01, Aleksey Kladov<EMAIL_ADDRESS>wrote:

MacroDefIds are primaraly created in DefCollector
On Fri, 15 Nov 2019 at 18:38, Jeremy Kolb<EMAIL_ADDRESS>wrote:

I saw this
https://github.com/rust-analyzer/rust-analyzer/blob/a599147b4232c0d4f6b071a3a96e86f903f4cf52/crates/ra_ide_api/src/references/classify.rs#L24
and went to implement it. I got stuck implementing impl FromSource for
MacroDef.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/issues/2260?email_source=notifications&email_token=AANB3M7MPGKPYRGI4G5FVADQT2663A5CNFSM4JN4PPGKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HZUSZ5Q,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANB3MY32CYLEKUYRER7JVLQT2663ANCNFSM4JN4PPGA
.

I can't figure out how to access the DefCollector from there. So far I have something like:
impl FromSource for MacroDef {
    type Ast = ast::MacroCall;
    fn from_source(db: &(impl DefDatabase + AstDatabase), src: Source<Self::Ast>) -> Option<Self> {
        let ast_id = AstId::new(
            src.file_id,
            db.ast_id_map(src.file_id).ast_id(&src.ast),
        );

        let kind = MacroDefKind::Declarative; // <--- ?

        let id: MacroDefId = MacroDefId{
            krate, // <--- ?
            ast_id,
            kind,
        };
        Some(MacroDef { id })
    }
}

Where krate and kind are obviously wrong.

kind is OK I think, it shouldn't matter much. The best way to get the "correct" crate is to first get a Module via Module::from_definition, and extract the crate from that. It's OK if this will be wonky, this whole module should be rewritten: #2258

Thanks I now have that working. The last piece I need to fill is  NameDefinition::container in classify_name. Is that the same module I found above?

yeah!
On Sat, 16 Nov 2019 at 00:06, Jeremy Kolb<EMAIL_ADDRESS>wrote:

Thanks I now have that working. The last piece I need to fill is
NameDefinition::container in classify_name. Is that the same module I
found above?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/issues/2260?email_source=notifications&email_token=AANB3M3U5RQQRPGAU3EILYTQT4FLZA5CNFSM4JN4PPGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEGW3ZA#issuecomment-554528228,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANB3M6TUFRUZB3FRTKTZ63QT4FLZANCNFSM4JN4PPGA
.


Showcase Submission for challenges/78-simple-particle-system

Thank you Panna for your contribution! A member of the Coding Train team will review it shortly.

Cooking
Panna

love this @panna3!

Thank you.


Large image doesn't pan properly

I'm trying to replicate the exact functionality from this example: https://prc5.github.io/react-zoom-pan-pinch/?path=/story/examples-big-image--big-image with a large image, but panning is not initially possible past the viewport size. If you zoom in, you can pan around, but only around the section of the image that's already viewable within the viewport, the rest is cut off. How can the same effect as the example be achieved, what props or extra styling are used here?

Hey @jasymons! I believe you just need to wrap it into some div which will adjust to the viewport of your site.
<div style={{ maxWidth: "100%" }}> // -> here you need to control the max size to fit into your page
    <TransformWrapper>
       // your code
    </TransformWrapper>
</div>


fail to build segmentator

There are other ways to get superpoints？

There are other ways to get superpoints？
Do you know how to get the segmentor library?


Feature: Support for editing metadata of multiple files simultaneously

What feature or improvement do you think would benefit Files?
We don't have support for editing metadata of multiple files simultaneously, if you try selecting multiple files and opening properties, you'll see the general page but nothing else. Support for editing the details of multiple files is an important feature that sometimes forces me to use File Explorer.
Requirements

This proposal will allow users to edit the metadata of multiple files simultaneously

Files Version
v2.4.40
Windows Version
Windows 11
Comments
No response

I'm working on this.


Reserved word table names break with quoting off at the project level

Describe the bug
When a table name is a reserved word and you set the generate_columns parameter to True, the generate_source macro fails with an error. You can avoid this by setting quoting at the project level, but that's not recommended especially for Snowflake according to the docs. It's manageable to flip it on during development and back off.
Seems related to #11.
Steps to reproduce

Create a table named group
Leave quoting unspecified in project.yml
Run the generate_source macro on the database/schema that includes the group table and generate_columns=True

Expected results
Produce a source schema entry for the table, or fail more elegantly by skipping the table with a placeholder.
Actual results
The code fails with a Runtime Error - see the log output below.
Screenshots and log output
Encountered an error:
Runtime Error
  Database Error in analysis _codegen (analysis\_codegen.sql)
    001003 (42000): SQL compilation error:
    syntax error line 1 at position 40 unexpected 'GROUP'.
    syntax error line 1 at position 28 unexpected '.'.
    syntax error line 1 at position 39 unexpected '.'.

System information
The contents of your packages.yml file:
  - package: fishtown-analytics/codegen
    version: [">=0.3.0", "<0.4.0"]

Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[x] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
installed version: 0.19.1
   latest version: 0.19.1

Up to date!

Plugins:
  - bigquery: 0.19.1
  - postgres: 0.19.1
  - redshift: 0.19.1
  - snowflake: 0.19.1

The operating system you're using:
Windows 10
The output of python --version:
Python 3.8.9

Additional context
I haven't fully traced it but I think it's happening in the call to adapter.get_columns_in_relation. The issue does not happen if you don't set generate_columns=True.
Are you interested in contributing the fix?
Possibly. If I do I'll need a nudge on how to solve the issue. Is there a way to override quoting within a macro?

Hey,
I saw a similar issue reported on Slack and I think it has nothing to do with this package, nor should be fixed here.
My assumption is that it's purely related to the usage of reserved words as identifiers.
Therefore an official solution would be to enable quoting:
see recommendation for Snowflake here:
https://docs.getdbt.com/reference/project-configs/quoting


Revisit conventions for naming of handler methods

We want to make sure it's possible to make the On and Async in a handler method options.
We also want to consider if you can drop Post from a handler method name and just have the handler method portion. So Delete() would match the delete form action. In this model all public methods are considered handler methods (same exceptions for dispose).
I also want to consider, could get get away from using verbs entirely... this would mean choosing a different term to represent GET and non-GET.

I'm also wondering whether we should rename the "formaction" concept to be more in line with pages, e.g. "handler". I'm using it for things that expressly aren't form-actions, they're HTTP GET callbacks from other sites for example, and it seems to gel better with the whole "page handler" thing we have going.
Thoughts?

I chose the term form action based on the HTML attribute. We could certainly revisit this

Yeah I know, and it made sense, but I'm finding I'm using it for more than that, and as we discussed, we could end up "hiding" that attribute via a Tag Helper in some cases anyway.

297196baa0d4a28a4f71d0b4bba2d5b942af6190


add Inventory ID  when creating tasks

see https://github.com/semaphoreui/semaphore/issues/2283
https://github.com/semaphoreui/semaphore/blob/cde8515fb13cde353c496bec35f00a336947a219/db/Task.go#L52
I saw that the inventory ID has been defined in the database task table, which means we can pass it in from the API, but it has not been processed in the future. I think we can override the inventory in https://github.com/semaphoreui/semaphore/blob/cde8515fb13cde353c496bec35f00a336947a219/services/tasks/TaskRunner.go#L251-L257 to make this configuration effective

Hi @gaoyue1989 will old scenario work if user don't provide inventory id in task?

Hi @gaoyue1989 will old scenario work if user don't provide inventory id in task?

Hi @gaoyue1989 will old scenario work if user don't provide inventory id in task?

thinks, now the code if i don't provide inventory id in task  is will be use inventory id in template,and if not find inventory id  is also use  inventory id in template

@gaoyue1989 did you test it?

@gaoyue1989 did you test it?

I add tow test in askRunner_test.go  one is inventory id in task and  one is inventory id is nil in task
and I also run the changed docker ues api test

Thank you @gaoyue1989 !


Remove Liferay config, skip ignored tests and other improvements

@ngriffin7a

@ngriffin7a

Merged with updated commit messages that contain PLUTO ticket IDs. Thanks.
See the following issues:
https://issues.apache.org/jira/browse/PLUTO-763
https://issues.apache.org/jira/browse/PLUTO-762
https://issues.apache.org/jira/browse/PLUTO-761
https://issues.apache.org/jira/browse/PLUTO-760
https://issues.apache.org/jira/browse/PLUTO-759


Allow for overriding constants at runtime

To enable rapid prototyping and calibration of our models, we would like to have:

a way to override any constant value at runtime (above and beyond the declared "input" variables)
a way to override data or lookup variables at runtime

The first one can be implemented similar to how I added support for capturing any variable as an output at runtime (see #105), i.e., generate a big switch statement that allows for overriding any constant value (referenced by "variable index").
The second one can also be implemented in a similar way.  I prototyped this in my work-in-progress "generate JS" branch because I needed it for a small model we were working on.  I believe that @ToddFincannonEI already has a related branch, so we should put our heads together on this.
I'm lumping these two things together into one feature because we will need to touch the same parts of the compile and runtime package, and it should be easier to implement them together instead of separately.
This will require changes to the code generation phase of the compiler, and will also require improvements and refactoring in the runtime packages.

I started working on this but realized that it would be better if we divided the work into a few distinct parts, so I changed the focus of this issue to be on the first part only (overriding constants at runtime), and then filed two new issues:

#471
#472

I will come back to this issue once #471 is complete, and then after this issue is finished, it will be more straightforward to work on #472.


Add support for opening files in other apps

Take for example this zip

Actual results:
Tapping gets you

Compare with Safari:

Bug Report Dump (Auto-generated)

Version 1.21.0<PHONE_NUMBER>)
Device: iPhone 6s (iOS 11.3.1)
TestFlight: true

Also can't seem access any options on a link by tapping and holding (standard iOS feature)
Compare with Safari:

Yeah, that’s a tricky one I think; we’re using tap locations at the moment. Cc @rnystrom
Sent with GitHawk

That would explain the lack of feedback that a link has actually been tapped

Ya links are rendered natively, we don’t use web views. We could definitely add more features on long press.
@gingerbeardman can you paste the link from SFVC? Curious why it didn’t load.
Sent with GitHawk

Issue is https://github.com/KMFDManic/NESC-SNESC-Modifications/issues/126#issuecomment-390419825
Link is a long one: https://github-production-repository-file-5c1aeb.s3.amazonaws.com/106747505/2019679?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180519%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180519T204732Z&X-Amz-Expires=300&X-Amz-Signature=c788e64ee486336a250535640abb77539300bc81ec7e23c65ae56e8c072c0b0b&X-Amz-SignedHeaders=host&actor_id=49612&response-content-disposition=attachment%3Bfilename%3Dagony.zip&response-content-type=application%2Fzip


Improve batch characterization speed

Using 4 threads locally seems optimal for 10 inverters

Using 4 threads locally seems optimal for 10 inverters

It is possible and it doesn't look too hard to have liberate load balance across multiple remote machines. Perhaps when we have larger numbers of candidates, we could improve runtime by running on both iccad1 and iccad2 in parallel.
Closing for now

It is possible and it doesn't look too hard to have liberate load balance across multiple remote machines. Perhaps when we have larger numbers of candidates, we could improve runtime by running on both iccad1 and iccad2 in parallel.
Closing for now


Added Diffy to the devops tools list in index.md

Diffy is used by SRE teams as part of their CI/CD process to automatically detect regressions in services before they are deployed to production. The tool is currently being used at Twitter, Airbnb, Mixpanel, Baidu, and Bytedance to name a few.
Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[x] Content (and my changes are in index.md)

Diffy is used by SRE teams as part of their CI/CD process to automatically detect regressions in services before they are deployed to production. The tool is currently being used at Twitter, Airbnb, Mixpanel, Baidu, and Bytedance to name a few. Adding Diffy to this list will alow other organizations to discover and use it.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thank you for your contribution! Currently we are only accepting additions to collection lists with the new item appended to the end of the list. Please make this change and we can merge it in 😄 .

Done.


Solid Query is failing to recognize signal change in onMount

Describe the bug
I'd like to load different query on the server and on the client, to speed up the initial page load.
I've tried doing that by including a isClient signal in the queryKey and setting it in onMount. However, the change in isClient signal is not picked up by Solid Query. With createResource, it seems to be working okay.
Your minimal, reproducible example
https://stackblitz.com/edit/github-pqy8j7-jw28rz?file=src%2Fcomponents%2FPage.tsx
Steps to reproduce
See that while the value of the signal is client, the query was resolved with signal value server:

resource: server
signal: client

Expected behavior
After hydration, this is displayed

resource: client
signal: client

How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
Windows, Chrome 123
Tanstack Query adapter
solid-query
TanStack Query version
5.30.3
TypeScript version
No response
Additional context
cc @ardeora

@ardeora After update from 5.30.3 to 5.30.5 I'm getting an error in queries that use enabled:

The value [object Function] of type "function" cannot be parsed/serialized.

https://stackblitz.com/edit/github-pqy8j7-jw28rz?file=package.json,src%2Fcomponents%2FPage.tsx

Sorry slight regression. Fix should be up soon https://github.com/TanStack/query/pull/7300

@ardeora Can you make this work with placeholderData: keepPreviousData? Right now, it's triggering Suspense on load. I'd like the server data to be considered previous data.

@PeterDraex
This wont be possible because you're essentially changing the query key before the query is hydrated. So on the client query doesnt know the data of the server rendered query. One workaround is passing the server data as initialData shown here
https://stackblitz.com/edit/github-pqy8j7-bzfkzw?file=package.json,src%2Fcomponents%2FPage.tsx
One other way would be to expose an onHydrated callback on each query where you can provide logic after a query has been hydrated. But that's not planned at the moment! If you would like that please feel free to open a new issue and I'll put it on my backlog!

@ardeora I don't see initialData in the stackblitz. Maybe you forgot to hit save? 😀

@PeterDraex Oops yes I did 😀 https://stackblitz.com/edit/github-pqy8j7-bzfkzw?file=package.json,src%2Fcomponents%2FPage.tsx

@ardeora I see, I was hoping to see some trick to actually get the data that was loaded on the server, without calling the API manually function again 😆
I feel like callback on full completion of hydration should be implemented on the level of SolidJS APIs, not via Solid Query's callback. I'm surprised that the query is not hydrated yet when onMount is called and isHydrated is true, though I understand that there might be some upstream limitations there. Combination of onMount and setTimeout seems to be working ok, so I'll use that for now:
onMount(() => setTimeout(() => setIsQueryHydrated(true), 0));

Thank you!


Generic selector baremetal flatcar

This Pull request concerns flatcar-linux on bare metal. It aims to add a generic selector which could be used with matchbox to use some other selectors than just the MAC address, such as a machine's architecture or UUID for example.
This is done here through the addition of an 'extra_selectors' variable which uses the 'map' data structure and defaults on {}.
Fixes #1317

Thanks, but no thanks.