Reducing the number of call to fsync on the directory.

Codecov Report

Merging #1228 (03ec58f) into main (03c2f6e) will decrease coverage by 0.00%.
The diff coverage is 94.59%.

:exclamation: Current head 03ec58f differs from pull request most recent head 49c9707. Consider uploading reports for the commit 49c9707 to get more accurate results

@@            Coverage Diff             @@
##             main    #1228      +/-   ##
==========================================
- Coverage   94.10%   94.09%   -0.01%
==========================================
  Files         205      205
  Lines       34450    34457       +7
==========================================
+ Hits        32418    32423       +5
- Misses       2032     2034       +2

Impacted Files
Coverage Δ

src/directory/directory.rs
94.11% <ø> (ø)

src/directory/mmap_directory.rs
90.98% <88.23%> (+0.44%)
:arrow_up:

src/directory/managed_directory.rs
88.21% <100.00%> (+0.41%)
:arrow_up:

src/directory/ram_directory.rs
90.00% <100.00%> (+0.20%)
:arrow_up:

src/indexer/segment_updater.rs
94.29% <100.00%> (-0.02%)
:arrow_down:

src/store/compression_lz4_block.rs
89.74% <100.00%> (+0.26%)
:arrow_up:

src/fastfield/multivalued/mod.rs
93.93% <0.00%> (-3.04%)
:arrow_down:

src/store/compressors.rs
85.10% <0.00%> (-2.13%)
:arrow_down:

src/fastfield/reader.rs
94.06% <0.00%> (-0.85%)
:arrow_down:

src/store/index/mod.rs
97.83% <0.00%> (-0.55%)
:arrow_down:

... and 2 more

Continue to review full report at Codecov.

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


Typo on install message

Small Typo on the success install message when using zsh, it prints
You may also want to source the completion script (for zsh):
source /opt/rez/completion/complete.sh

The path should be /opt/rez/completion/complete.zsh

fix released in 2.104.9


Add model module and tests

model.Object is the dict with deprecation warnings class. I'm not entirely certain that "model" is the best name for this module.

Coverage increased (+0.07%) to 82.561% when pulling e5a879e56c3c3210e0024b7b71b2a2b047bc2f11 on issue758 into c097a81b5f78b8a95a5370b56d5f734a2580dd21 on maint-1.9.

Coverage increased (+0.07%) to 82.561% when pulling e5a879e56c3c3210e0024b7b71b2a2b047bc2f11 on issue758 into c097a81b5f78b8a95a5370b56d5f734a2580dd21 on maint-1.9.

Coverage increased (+0.07%) to 82.561% when pulling e5a879e56c3c3210e0024b7b71b2a2b047bc2f11 on issue758 into c097a81b5f78b8a95a5370b56d5f734a2580dd21 on maint-1.9.


Missing source map mapping for return keyword in single-line lambda output

Under circumstances that I have yet to nail down, TypeScript 1.6.2 will fail to emit a source map mapping from the return keyword in the generated JavaScript back to a single-line lambda. I am having trouble producing a base case that exhibits the behavior, but I do have a real-world source file that does!
Here's the offending line in the generated JS, and the corresponding line in the source TS. You can reproduce this behavior yourself using that TS file alone; just run tsc --inlineSourceMap --inlineSources doppioh.ts and ignore the compilation errors.
The generated JS in that gist contains embedded source maps and the source code. If you upload it to this nice source map visualization tool using the "custom" button, you'll see that it lacks a source map for the return keyword on line 204. (Unfortunately, the tool does not display line numbers, but you can CTRL+F for return (item.indexOf('.ts') !== -1 && item[0] !== '.')). It does map the content of the statement, but not the return keyword.
I'm happy to provide further information as-needed; just let me know what I can do!

I just found a minimal test case; updating description...

PRs are welcomed.


Rollback redis

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.20%. Comparing base (de7de9b) to head (3507087).

Additional details and impacted files
@@             Coverage Diff             @@
##            master      #12      +/-   ##
===========================================
- Coverage   100.00%   98.20%   -1.80%
===========================================
  Files            9        9
  Lines          168      167       -1
===========================================
- Hits           168      164       -4
- Misses           0        3       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fixed padding for credits

From

To

CLA is signed.
Thanks a lot, @tarungarg546.

Unfortunately we'll need to revert this change. The space was left at the bottom so there's enough room for the z-index details to expand into.

Oooh, forgot about those. My bad!


Cherry-pick PR #6536 into release-1.0: [storage, json-rpc] Expose root hash through json-rpc

This cherry-pick was triggerd by a request on #6536
Please review the diff to ensure there are not any unexpected changes.

Motivation
To expose the information. related to effort seen in #5803 and #5634
Have you read the Contributing Guidelines on pull requests?
Y
Test Plan
unit tests.
Related PRs

cc @sausagee

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Chaning JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

/land


710 - Get staff endpoint

Add GET /premises/{id}/staff endpoint

 Changes to how Key Workers are handled


Automate adding issues and PRs to project board

This introduces automation for adding issues and PRs to an org-wide project board. The goal is to have a clear view into incoming issues/PRs so that we know none can fall through the cracks.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


⚠ ku-s has degraded performance

In f2de7ba, ku-s ($KU_API_STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 9873 ms

Resolved: ku-s performance has improved in a88bcf7.


ClientModel Prototype: Make PipelineOptions freezable

Prove concept for https://github.com/Azure/azure-sdk-for-net/issues/41200 in Azure.Core 2.0 feature branch.

API change check
API changes are not detected in this pull request.

Closing in favor of https://github.com/Azure/azure-sdk-for-net/pull/41428


Power-on behavior

When updating and change power-on behavior on Hue-lights to "last uses color and brightness". Then connect them to conbee again. The Power-on behavior changes back to 100% White light regardless what previous state was.

When updating and change power-on behavior on Hue-lights to "last uses color and brightness". Then connect them to conbee again. The Power-on behavior changes back to 100% White light regardless what previous state was.

I think this is a deCONZ issue - pinging @manup

Likely the settings are lost when the light is brought back to factory settings, which could be expected.
We may implement configuring this feature in future versions.


[master] An invalid CREATE DATABASE statement returns status 200, should be 400

From the CLI:
> create database abc with duration -1d
ERR: retention policy duration must be at least 1h0m0s
> show databases
name: databases
---------------
name
_internal

The logs show a 200 status returned, even though the database was not created:
[query] 2016/06/17 09:57:00 CREATE DATABASE abc WITH DURATION -24h0m0s REPLICATION 1 NAME
[httpd] ::1 - - [17/Jun/2016:09:57:00 -0700] "POST /query?chunked=true&db=junk&epoch=ns&q=create+database+abc+with+duration+-1d HTTP/1.1" 200 99 "-" "InfluxDBShell/unknown" 81fdb8c5-34ac-11e6-82e8-000000000000 984

For what it's worth, a syntactically invalid CREATE DATABASE statement like > create database xyz with correctly returns a 400 status:
[httpd] ::1 - - [17/Jun/2016:10:18:26 -0700] "POST /query?chunked=true&db=junk&epoch=ns&q=create+database+xyz+with HTTP/1.1" 400 121 "-" "InfluxDBShell/unknown" 80ce98bc-34af-11e6-837a-000000000000 6712

I think this is expected. A 200 status usually just means it got passed off to the query executor successfully. We return the error message as part of the response instead of through the status code.

Yeah I think this is the case where checking Result.Err is used.


Use rails db:prepare to prepare the database

Since Rails 6, the db:prepare task has provided a simple API for managing databases in Rails applications.
Running bin/rails db:prepare will prepare the database. This means
If the database does not exist:

Create the database
Load the schema if it exists, or run migrations
Seed the database

If the database exists already, then only migrations are run.

I'm not sure it's running schema load yet https://blog.saeloun.com/2023/02/02/rails-allow-db-prepare-to-load-schema-if-database-exists

I'm not sure it's running schema load yet https://blog.saeloun.com/2023/02/02/rails-allow-db-prepare-to-load-schema-if-database-exists

Currently it loads the schema when the database doesn't exist.
However in Rails 7.1 the command will load the schema instead of running migrations if the database exists but hasn't yet been populated with tables 👍

In UAT the database will already exist, so db:seed isn't run (but we want it to).
We could always seed the database, but that might not be much better.
bundle exec rails db:prepare db:seed

Let's discuss


f32 precision for compare-with-transformers tests

Allow these tests to pass locally on devices where inference is run by default in FP16 (GPU) or BF16 (latest Xeon).
Also added an OpenVINO version check to make a test pass in 2023.3 (get_property now returns a string instead of an object).

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks a lot @helena-intel


Operators in C#

Proposed title of article
Operators in C#
Introduction paragraph (2-3 paragraphs):
In C#, operators are special symbols that perform a task on operands. The plus sign (+) in mathematics equals the sum of the left and right numbers. Similarly, C# has a variety of operators. Many of them are provided by built-in forms, allowing you to perform simple operations on their values.
In this article, we will understand all the C# operators and how they play an important role in programming arithmetic.
Key takeaways:
In this article we will learn understand:

 what are operators.

arithmetic operators.
assignment operators.
comparison operators.
equality operators.
Boolean logical operators.

bitwise and shift operators.

member access operators.
type-cast operators.
pointer related operators.

References:
N/A

seems like a helpful topic - lets please be sure it add value beyond what is in the official docs and that it does not overlap with any existing EngEd articles or incoming topic suggestions (if you haven't already). - approved @neshmacharia


Extra tests of container requirements.txt

Spent a bunch of time trying to parse pip dependencies and whatnot but realized the most direct way to test that modal/requirements.txt works is to just run the container tests with it.
Could potentially also run all tests and use an environment variable to disable any tests that's "local only" (e.g. any test of stub.serve)

this is failing pretty hard because some dumb stuff. will revisit this later.

seems pretty hard to get this working in a clean way – closing it now


Blog Configuration will not allow http connections

Whenever I set up the blog for http instead of https, the blog address outlines in red.  I can't connect via https, and was always able to connect via http before.

Hey @chuckdee68, sorry to hear you're having trouble! http:// connections should be perfectly fine - would you mind sharing the exact URL you're trying to enter?

http://chuckdee.net/ghost.  When I enter it, it's fine.  When I click save, it starts to save, then the textbox for the URL outlines in red.  This works if I use https, but I can't connect to my blog using https.

Huh, weeeeeeird! If you go to About - About Ghost, what version do you see? I'm only asking because I can add your blog just fine (I can't login obviously). I'm asking because I'm wondering if you're stuck on an older version - if so, maybe downloading Ghost 0.6 would fix your issue.

I downloaded 0.6 just to make sure (I originally tried to install it using chocolatey), but that didn't help.  The version in the preferences says 0.6.0, however, I noticed after you asked, that I don't have an About.  The only thing on my help menu is learn more.  I've tried to uninstall 0.6.0 and reinstall it, but no joy there either.

I have been trying the same thing and face the exact same issue.
The difference , however was the URL.
I am trying to add the default ghost localhost url
http://localhost:2368/

Just trying it out and a new fresh install on localhost:2368 won't allow me past the the Add blog screen.


pktctl crashing pktd node

running
./pktctl -V

works fine, however sending
./pktctl version

it crashes both PKTCTL & PKTD.

EOF means, rather unhelpfully, that your query has crashed pktd. Can you paste the crash log on pktd side ?

sure, please find attached zip which is a piped stderr when PKTD crashes.
error.zip


Bug parsing comments

This failing unit test showcases the problem reported in #21

The test had a bug.

The test had a bug.


BLE Scan (continuous), RSSI

hi, thanks for the BLE scan program. A couple of quick questions if I may

How do I keep the scan going continuously? I can loop, call the scan again etc but I was thinking if there is some value that can be passed to the scan to keep it scanning continuously?
Is is possible to get the RSSI of the beacons as those are scanned?

I am referring to this example
/*
   Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleScan.cpp
   Ported to Arduino ESP32 by Evandro Copercini
*/

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>

int scanTime = 30; //In seconds

class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks {
    void onResult(BLEAdvertisedDevice advertisedDevice) {
      Serial.printf("Advertised Device: %s \n", advertisedDevice.toString().c_str());
    }
};

void setup() {
  Serial.begin(115200);
  Serial.println("Scanning...");

  BLEDevice::init("");
  BLEScan* pBLEScan = BLEDevice::getScan(); //create new scan
  pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
  pBLEScan->setActiveScan(true); //active scan uses more power, but get results faster
  BLEScanResults foundDevices = pBLEScan->start(scanTime);
  Serial.print("Devices found: ");
  Serial.println(foundDevices.getCount());
  Serial.println("Scan done!");
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000);
}

scan(0),
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLEAdvertisedDevice.cpp#L95

@chegewara, fantastic ... thanks! :100:

scan(0),
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLEAdvertisedDevice.cpp#L95

@chegewara can you clarify your response regarding 1. from above?
Maybe I am just not understanding what you are saying, but what do you mean by scan(0)? How would the originally quaoted code be changed to scan continously?

What you dont understand?
int scanTime = 30; //In seconds
BLEScanResults foundDevices = pBLEScan->start(scanTime);

Scan until esp32 wont crash, die or whatever.

@chegewara Firstly I apologize if these are dumb questions, I am trying my best to learn from this.
Will setting scantime to 0 just repeadtly loop my callback?
After have just tried this it appears this is what is happening. But then my scans still seems very slow. I have set my scan interval to 100 and my scan window to 95, but I am not acheiving scans nearly that fast. Any ideas of anything else I can try to acheive the orginally mentioned "continous" scanning?
Thanks

Its not dumb question, about 2 years ago when i started with esp32 i didnt know what is button debouncing.
There is many factors that impacts how fast you discover devices. Advertising setting on the other devices for example.
If you dont worry about power consumption and dont use wifi then you can setup interval and window with the same very short or longer value(just do some tests).

@chegewara thank you for your reply. I guess I have one more conceptual question then, now that I have got the continuous scanning to work! :-).
While continuously scanning, new beacons are discovered and come up as scan results which is the intended purpose. When will these beacons get scanned again?
For example, if I am continuously scanning and scan 5 beacons, their info is printed as they are discovered. Now what? Will the ESP just continue to print the results of scanned beacons as it comes across them, in a sort of unpredictable, random order?

Here is the answer:
https://github.com/espressif/arduino-esp32/blob/master/tools/sdk/sdkconfig#L199-L204
I didnt test it by myself, but as far as i understand esp-idf will discard duplicates by address up to 20 devices.
Here is API you may want for your next question:
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLEScan.cpp#L204-L252

Thank you for the reply @chegewara
I am trying to scan bluetooth beacons, and continuously get the rssi from nearby beacons. So I have decided that I would like to turn on duplicate scanning in hope that this will help me with this goal. I will set "CONFIG_BTDM_SCAN_DUPL_TYPE" off:
(https://github.com/espressif/arduino-esp32/blob/master/tools/sdk/sdkconfig#L199)
I am currently using the Arduino framework, but I know that I need to use the esp-idf framework. In my IDE (PlatformIO) I have set my framework to esp-idf. I am getting some errors about missing .h files from the BLE library, but I will try to figure that out.
Once I figure this issue out, should I just be able to go into the menuconfig.h file and change the CONFIG_BTDM_SCAN_DUPL_TYPE" parameter?
Thanks again for all the help.

This will work
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLEScan.cpp#L173

ble scan maximum can scan how much?

Hello.
I'm solving the same problem.
When I set int scantime = 0 void loop doesn't work.
https://github.com/nkolban/esp32_ble_arduino/blob/master/examples/ble_scan/ble_scan.ino
int scantime = 30;
Void Loop waits for 30 seconds to the scanning.
How do they do to work alone?
Maybe through the thread?

Hello.
I'm solving the same problem.
When I set int scantime = 0 void loop doesn't work.
https://github.com/nkolban/esp32_ble_arduino/blob/master/examples/ble_scan/ble_scan.ino
int scantime = 30;
Void Loop waits for 30 seconds to the scanning.
How do they do to work alone?
Maybe through the thread?


Some datasets have deviating plev coordinates

A few datasets have deviating vertical coordinates of [100000.00000001  92500.00000001]:
./esmvaltool_sample_data/data/timeseries/CMIP6/CMIP/CSIRO/ACCESS-ESM1-5/historical/r1i1p1f1/Amon/ta/gn/v20191115
./esmvaltool_sample_data/data/timeseries/CMIP6/CMIP/CSIRO-ARCCSS/ACCESS-CM2/historical/r1i1p1f1/Amon/ta/gn/v20191108

and [100000.00000001  85000.00000001]:
./esmvaltool_sample_data/data/timeseries/CMIP6/CMIP/CSIRO/ACCESS-ESM1-5/historical/r1i1p1f1/day/ta/gn/v20191115
./esmvaltool_sample_data/data/timeseries/CMIP6/CMIP/CSIRO-ARCCSS/ACCESS-CM2/historical/r1i1p1f1/day/ta/gn/v20191108

Fixes:
https://github.com/ESMValGroup/ESMValCore/issues/956

Is this picked up by the cmor checks/fixes if the data is loaded in ESMValTtool?

Is this picked up by the cmor checks/fixes if the data is loaded in ESMValTtool?

no - why would it be? It's a valid plev coordinate wrt CMOR standards:
DimCoord(array([100000.00000001,  92500.00000001]), bounds=array([[103750.00000001,  96250.00000001],
       [ 96250.00000001,  88750.00000001]]), standard_name='air_pressure', units=Unit('Pa'), long_name='pressure', var_name='plev', attributes={'positive': 'down'})

is a perfectly fine coordinate :smiley:

no - why would it be? It's a valid plev coordinate wrt CMOR standards:
DimCoord(array([100000.00000001,  92500.00000001]), bounds=array([[103750.00000001,  96250.00000001],
       [ 96250.00000001,  88750.00000001]]), standard_name='air_pressure', units=Unit('Pa'), long_name='pressure', var_name='plev', attributes={'positive': 'down'})

is a perfectly fine coordinate :smiley:

note that this doesn't fix https://github.com/ESMValGroup/ESMValCore/issues/956 - there is no need for a fix for that perse, it behaves as it should (I'll post a comment there); also this is not an issue :+1:

note that this doesn't fix https://github.com/ESMValGroup/ESMValCore/issues/956 - there is no need for a fix for that perse, it behaves as it should (I'll post a comment there); also this is not an issue :+1:

Okay so maybe it's valid, but it's not a standard level. If you try to join two cubes in Iris where one of them has plev = [100000.00000001,  92500.00000001] and the other has plev=[100000.,  92500.], it will fail because it cannot merge cubes with different coordinates. This makes a lot of sense to me.
So somewhere in the chain you want to make sure that all coordinates are consistent, right?

Okay so maybe it's valid, but it's not a standard level. If you try to join two cubes in Iris where one of them has plev = [100000.00000001,  92500.00000001] and the other has plev=[100000.,  92500.], it will fail because it cannot merge cubes with different coordinates. This makes a lot of sense to me.
So somewhere in the chain you want to make sure that all coordinates are consistent, right?

what do you mean they're not standard? ie they're not plev17 or plev19? That's true, but Z-data can be whatever the model outputs, as long as the units, standard name and order in which the points are (positive: up or down depending what type of coord is) are CMOR-standard all's fine. Note that iris' restriction applies to any difference in coordinate points values and attributes, no matter if they're CMOR-compliant or not, that's a self-imposed standard that the iris devs have implemented so that there are no unexpected issues, which in some cases, like here, is useful; in other cases we need to go around it and shunt it since it's a nuisance

what do you mean they're not standard? ie they're not plev17 or plev19? That's true, but Z-data can be whatever the model outputs, as long as the units, standard name and order in which the points are (positive: up or down depending what type of coord is) are CMOR-standard all's fine. Note that iris' restriction applies to any difference in coordinate points values and attributes, no matter if they're CMOR-compliant or not, that's a self-imposed standard that the iris devs have implemented so that there are no unexpected issues, which in some cases, like here, is useful; in other cases we need to go around it and shunt it since it's a nuisance

Is this picked up by the cmor checks/fixes if the data is loaded in ESMValTtool?

Yes, this should issue a warning coming from here: https://github.com/ESMValGroup/ESMValCore/blob/b632f9ac7172a91b52fe91264f37a2ce3e13ac3e/esmvalcore/cmor/check.py#L633

Is this picked up by the cmor checks/fixes if the data is loaded in ESMValTtool?

Yes, this should issue a warning coming from here: https://github.com/ESMValGroup/ESMValCore/blob/b632f9ac7172a91b52fe91264f37a2ce3e13ac3e/esmvalcore/cmor/check.py#L633

So somewhere in the chain you want to make sure that all coordinates are consistent, right?

I agree, see my comments here https://github.com/ESMValGroup/ESMValCore/issues/956#issuecomment-768419704

So somewhere in the chain you want to make sure that all coordinates are consistent, right?

I agree, see my comments here https://github.com/ESMValGroup/ESMValCore/issues/956#issuecomment-768419704

I made a PR that removes the deviating datasets from the repo, since we do not use the esmvalcore machinery to go through the fixes. See #21

I made a PR that removes the deviating datasets from the repo, since we do not use the esmvalcore machinery to go through the fixes. See #21

I'm not entirely sure if this is a bad enough error for removing the datasets. If I understood it correctly, the plev coordinates are the same up to the numerical precision of the floating point number used to represent the coordinate data, right?

iris will say they are different. If these are still included, https://github.com/ESMValGroup/ESMValCore/pull/968 will fail.

Yes, I think that is a usability problem of iris, because to a scientist this doesn't make sense, from a physical point of view they are the same. It would be good if the ESMValCore is able to deal with this kind of technical detail without bothering the scientist users with it.


Autocomplete: Audit cache and last candidate behavior

After making some minor changes to the surrounding code, I am still getting the suggestion returning from cache

Deleting a line should force a new creation always

We should validate these things:

Does the last candidate properly reset if you delete a line (and thus reject the completion)
Does the last candidate reset if you change the prefix
Do we still need the network cache at all? What is the current value it provides?
I noticed that hovering over a single line completion generates a variant right now

umbrella

[ ] audit cache behavior
[ ] audit the last candidate's behavior
[ ] https://github.com/sourcegraph/cody/issues/1030


sol-aio: Add C API to handle Analog I/O (V3)

Tested on RIOT using dummy native API and Galileo.
Applied suggested changes from V2 and V1

forget the branches name ;-)

Closing because V4 at #438


Sort and group assets by date

Sort and group assets by date just similar to 'Moments' of Photos.app

Sorting function is added in the v3.0.0-beta.1


refactor(actor): update top-level info

moves force powers and specializations into the section with species, career, and specialization for characters and adversaries

#713

Can I see some screenshots of some more scenarios for this?
I'm a little concerned it might get a bit cluttered as characters can often have many force powers by mid to experience levels. Having the nice easy talents page view where you can expand and collapse force powers to show more / less info when needed can be pretty useful when playing such characters.
How does this look by the time a character has a half dozen force powers?

Example has six (which is more than I've had in any game.)

Also some screenshots confirming it works fine in V1 sheets as well as V2 is probably worthwhile.
If I'm reading the changes right, we still have the talents view with the expandable / collapsible bits so I think this is fine as long as it's an optional extra. Maybe we should make it configurable in sheet options?

It looks the same in v1 and v2.

Looked a bit closer and I think you've already tied it to the existing showForcePool sheet option so seems fine to me.
I think this will be a bit messy for some Force & Destiny characters personally but I'm happy to go with it for now, although I think people might end up wanting it configurable separately in the long run.

It is tied to the showForcePool option, yeah. Happy to add an option if people ask for it.


Reccuring payments

This is more of an inquiry but I was wondering if there's any info on recurring payments using checkout.js? Or is it only possible through server side API?
Any pointers would be much appreciated.

You can use either Billing Plan or Billing Agreement flow through REST server-side. The flow will be 1. Create a billing plan.
2. Activate the billing plan.
3. Create a billing agreement.
4. Execute the billing agreement.
See the api details here
Or you can utilize the billing agreement with reference transaction feature (you'd need to contact the sales team to enable it on your account)
See the postman snippet here

But can we use checkout.js at all to facilitate the process, or do we have to manually call the REST API without using checkout.js at all?


CLI auto-completions

Closes: #1096
Description
Add a completions command using the functionality of clap_complete to generate completion scripts for various shells.

PR author checklist:

[x] Added changelog entry, using unclog.
[ ] Added tests: integration (for Hermes) or unit/mock tests (for modules).
[x] Linked to GitHub issue.
[ ] Updated code comments and documentation (e.g., docs/).

Reviewer checklist:

[ ] Reviewed Files changed in the GitHub PR explorer.
[ ] Manually tested (in case integration/unit/mock tests are absent).

Thanks @rnbguy for providing a code example and the timely release of modelator to enable a clap upgrade!

I have tested that it works with bash.

Couldn't make it work with zsh but that's likely an issue with my setup (my dotfiles are a mess). In any case, this mostly piggy backs on clap so we should be good to go.

@romac where are you putting the generated completions scripts for zsh?


Add clade reference sequences

This PR adds a file that lists one or multiple (in case there is no basal one) reference sequences for each clade/lineage combination.
This should be useful to make minimal trees that display all known clades/lineages.
The sequences were chosen to be:

Available via NCBI/Genbank
As complete as possible (few terminal and internall Ns or ambiguous nucleotides)
As basal as possible (or if no basal one is available, multiple sequences are chosen so that the MRCA is basal)

There is often no single best choice - better sequences may become available over time in which case the representative sequences could change.
This is a first draft, so the format may still change.
I did not want to make strain/isolate name something that we rely on since it often changes - hence I have packed it in the "comment" column. It may also not always exist independently of accession.
We could potentially add a convenience link to the Genbank page for each sequence - but this is somewhat redundant since we have the accession.
Original proposal to implement this came from @rambaut

Shall we move this PR to https://github.com/mpxv-lineages/lineage-designation now? I think the file may be more appropriate there, esp as it's not used in the build itself.

@emmahodcroft yes good idea - though I'm a bit worried that people may start relying on this.
Maybe we can put "experimental" files in a special folder that says "experimental"? Or add it to the file name?

We can just let it be a PR over there, and not merge it yet? I suppose the clades (2, 3) need updating (in line with whenever we update everything else). I guess more generally, there's still some uncertainty about ensuring the right references have been chosen?

Ported to https://github.com/mpxv-lineages/lineage-designation


Broken Links to WIKI in install.md and others

guess the above is self-explanatory

Will be fixed when we release the next version.

Fixed.


/debug_enabled/is_debug_enabled/

Fixes https://github.com/zchee/deoplete-jedi/issues/141

Merged.


Crash wallet when delete tags.

Steps to reproduce behavior:
Note:
To import data into a wallet, contact the author of the task to get the seed phrase.
Data to import - All.zip
Steps to reproduce behavior:

Restore wallet.
Make import data in wallet (All.zip)
Go to the "ADDRESSES" screen.
In the " MY EXPIRED" tab, activate addresses. Do not activate the address with the name"Expired".
Go to the "SETTINGS" screen.
Tap on section "Tags".
Remove tags one at a time from the bottom up.
Expected: the tags are removed and the wallet continues to work.
Actual: wallet crashes.
video_2019-12-12_16-14-59.zip

checked


Country addition

Currently, the MotherCountry property is treated as an enum, but the engine is perfectly capable of having new countries, and this will be very useful to automate. This should probably be something similar to a Manager on ModCreationContext.
i don't actually know where these are defined in-game, so this will take a bit of research.

Someone on the WARNO discord listed the files which need to be edited for this; once Discord is unblocked for the day, i should copy that information here.

Some relevant files from manual searching with Notepad++:

GameData/Gameplay/UI/UnitNamesDico.ndf
GameData/Generated/Sound/AcknowDescriptors.ndf
GameData/UserInterface/Style/DefaultStyle/DefaultTextFormatScript.ndf
GameData/UserInterface/Use/Common/UIChatTextFormatScript.ndf
GameData/UserInterface/Use/Common/UISpecificCountriesInfos.ndf
GameData/UserInterface/Use/ShowRoom/UIShowRoomResources.ndf


Consider changing NEOFS_HTTP_GATE to HTTP_URL_PREFIX

Is your feature request related to a problem? Please describe.
I'm always frustrated when we're referring to outdated components (HTTP gateway) and using instance-specific configurations by default (/$CID/path only works because of rewrites, it's not a native HTTP or REST interface). There also can be cases where people run a gate of their own with some better URL scheme (like reports.example.com/path) and NEOFS_HTTP_GATE puts too many restrictions on them (implying /$CID/path)
Describe the solution you'd like
Rework NEOFS_HTTP_GATE into HTTP_URL_PREFIX (but keep old one for compatibility unles HTTP_URL_PREFIX is set), this would work like
HTTP_URL_PREFIX=https://rest.fs.neo.org/$CID/
HTTP_URL_PREFIX=https://reports.nspcc.io/

leaving gateway/rewrite specifics out of scope.
Additional context
https://github.com/nspcc-dev/neofs-rest-gw/issues/156

In fact, BASE_URL that's used internally is exactly that, it just needs to be exposed properly.

URL_PREFIX makes no sense in this scheme.


MSC2076: Enforce key-validity periods when validating event signatures

Rendered: https://github.com/matrix-org/matrix-doc/blob/rav/proposal/enforce_key_validity_periods/proposals/2076-enforce-validity-periods.md

In the hope that this is relatively uncontentious:
@mscbot fcp merge

related: https://github.com/matrix-org/synapse/issues/4364

Spec PR: https://github.com/matrix-org/matrix-doc/pull/2080 (for when this clears FCP)

merged 🎉


add button "send to"

First of all thank you for your effort and amazing job.
I think it would be nice to have a button to send to img2img or inpainting. Maybe only the positive and negative promts,  just to speed up the workflow.
Thank you for reading

Yeah I had this in mind as well while thinking about how the interrogator might be integrated. #65


Make istio-proxy's sub-server and prober can be uniform and compatible both for IPv4 and IPv6

Please provide a description of this PR:

Make istio-proxy's sub-server can be compatible both for IPv4 and IPv6

status server
sts server
prober for health checking, readiness and liveness

Remove unnecessary wrapped IPv6 localhost

Change wrapped IPv6 localhost from [::1] to ::1,  this wrapped IPv6 localhost is specified as node.IPaddresses in some place , and then this IP address will be parsed by net.ParseIP, this will caused a IPv6 address can not be detected.

To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@zhlsunshine: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ipv6_istio
7b9a2c0a6da03b3e0f4aa240920bf0ffa15d5a9f
link
true
/test integ-ipv6_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Hi @istio/wg-security-maintainers & @istio/wg-networking-maintainers could you please help to check this PR when u r available? Thanks so much for your efforts! ^_^

@zhlsunshine: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
c564d16adb02e5d7a1068fcafb2bad7a672d0b2b
link
true
/test integ-pilot-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-multicluster_istio

/test integ-pilot-multicluster_istio


perf(tests/ini{,_str}): remove unnecessary cloning and refactor

I was benchmarking this parser against one I wrote in munch.rs and found some low hanging fruits to speed up this one, specifically removing the unnecessary cloning of the HashMap returned by keys_and_values.
(If you want, I can also add the benches to these examples. I already have them written but I didn't know whether you want benches for these in the repo.)

Coverage remained the same at 0.0% when pulling<PHONE_NUMBER>e5df40ef84f0b4050a9ec4a3a50816 on utkarshkukreti:optimize-ini-parser into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Coverage remained the same at 0.0% when pulling<PHONE_NUMBER>e5df40ef84f0b4050a9ec4a3a50816 on utkarshkukreti:optimize-ini-parser into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Coverage remained the same at 0.0% when pulling<PHONE_NUMBER>e5df40ef84f0b4050a9ec4a3a50816 on utkarshkukreti:optimize-ini-parser into 3000d54cc643289cc1d75e48a0f49a659a8dbe4a on Geal:master.

Thanks! That parser was not built with performance in mind, but this also makes the code simpler. Can you add the benchmarks to nom too? I was thinking of adding more benchmarks to track if there were performance regressions.

BTW, how did the parser libraries fare against each other? :)

I'll try to send a PR with the benchmarks as soon as possible. The way I did it in the tmp branch I linked to above will make the tests not run on stable. If I add it in a new file in benches, I cannot load tests/ini.rs as a module with custom path because it includes macro_use with extern crate which is only allowed at crate root:
error[E0468]: an `extern crate` loading macros must be at the crate root
 --> benches/../tests/ini.rs:3:1
  |
3 | extern crate nom;
  | ^^^^^^^^^^^^^^^^^

Do you have any suggestions for this?

For the benchmark I linked above, I'm getting around 96 MB/s for ini_str + nom and 140 MB/s for munch. I don't know nom well enough to say why it's slower.

Fixed the compilation errors and opened #471!


additionalVolumeMounts removed

The following used to be possible.
persistence:
  config:
    enabled: true
  media:
    enabled: true
    existingClaim: media

additionalVolumeMounts:
  - name: media
    mountPath: /downloads
  - name: media
    mountPath: /series
    subPath: series

Please restore additionalVolumeMounts or provide clear documentation on how to achieve this end state.

Hi @windowsrefund,
Functionally still persists, but has moved within the persistence key. Changelog here -- https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#3.0.0
Example configuration here: https://github.com/carpenike/k8s-gitops/blob/master/cluster/apps/home/zigbee2mqtt/helm-release.yaml#L45-L54

It's not working though as I'm trying to mount my RWX pvc on both /series and /downloads.
persistence:
  config:
    enabled: true
    skipuninstall: true
  series:
    enabled: true
    type: pvc
    existingClaim: media
    mountPath: /series
    subPath: series
  downloads:
    enabled: true
    type: pvc
    existingClaim: media
    mountPath: /downloads
    subPath: downloads

From the describe
Warning  FailedMount  2m34s (x75 over 6h27m)  kubelet  Unable to attach or mount volumes: unmounted volumes=[downloads], unattached volumes=[config downloads series kube-api-access-wgjkq]: timed out waiting for the condition

We will have to devise a way to integrate having multiple subPath/mountPath combo's with our current solution for persistence.

Just to clarify why this is so important when working with a single RWX PVC that's used by nzbget/transmission and things like sonarr/radarr...
The downloader is going to mount the PVC as /downloads
*arr is going to mount as /media. This will be set to the root folder which is scanned for new media. Sonar then imports a series into /media/NameOfSeries. This is obviously not clean/tidy but it works. The real problem of this sloppy structure is seen from a Jellyfin/Emby/Plex perspective since you'd have to point it to /media (assuming access is intact). The application is going to recursively scan that directory resulting in "best guess" attempts to interpret the crazy file names under /media/completed (<- Where nzbget stores completed downloads). The result is a bunch of false positive anime episodes showing up in the application's dashboard.
So basically, the way around that would be to use subPath in order to have /media mounted against something like /media/series. That would work nicely but it creates a problem on the *arr side of things since now the application can't import because there's no visibility into the completed directory.
So basically, I don't see how anyone can possibly be using a RWX PVC shared among all relevant apps ever since additionalVolumeMounts was just cast aside.
additionalVolumeMounts was clean, and totally usable? What possible incentive could there have been to just dump it so casually with no testing or thought given to overall impact?

So in your case, are you trying to use a single PVC across all 3 scenarios with different subPath definitions?

Yes, the first comment shows what used to be possible before the recent change to this library.

I'll just point out how I am doing it... I know this isn't a fix just an alternative way of doing what you are trying to do.
My folder structure on my NFS share is like this:
./Media
|__ Downloads
     |__ qbittorrent
|__ Library
     |__ Movies
     |__ Series

This Media folder is mounted into to Sonarr, Radarr, qBittorrent, sabnzbd, Plex etc all the same as /media. All apps see every folder.

additionalVolumeMounts was clean, and totally usable. What possible incentive could there have been to just dump it so casually with no testing or thought given to overall impact?

Again, we didn't purposely "dump" this. There's a lot of changes and it's hard to test them all the way thru everyones different setups. We count on you and others to provide feedback, I am sure we will have a way for you to do this. Sit tight on the older versions of the charts until then... or...
I'll just point out how I am doing it... I know this isn't a fix just an alternative way of doing what you are trying to do.
My folder structure on my NFS share is like this:
./Media
|__ Downloads
     |__ qbittorrent
|__ Library
     |__ Movies
     |__ Series

This Media folder is mounted into to Sonarr, Radarr, qBittorrent, sabnzbd, Plex etc all the same as /media. All those apps see every folder.
I only need 1 PVC and no subPaths for all apps that are doing work in these directories.

Your NFS implementation is quite different however, from that of a RWX PVC. I'm guessing this "style" also means you are then expected to configure each and every application to read and write from particular areas of the share you are mounting. Obviously, it works for you but it imposes a degree of micro-management and it also assumes people are working with a similar NFS solution. This is where the mistake was made in my opinion. Everything should be based around a RWX PVC rather than some kind of SAN solution.
That said, I appreciate things are happening behind the scenes to restore the functionality.
All the best

I'm guessing this "style" also means you are then expected to configure each and every application to read and write from particular areas of the share you are mounting. Obviously, it works for you but it imposes a degree of micro-management and it also assumes people are working with a similar NFS solution.

All those applications require user defined configuration of where to put or look for things, what are you talking about?

For example, nzbget ships out of the box configured to download into /downloads/completed. If you're just using a single mountpoint of /media, you'd need to change that path to /media/downloads/completed. That's just one example. The point I'm making here is that you're clearly managing your NFS server exclusively... creating the directory structore beforhand and then tailing each application as needed rather than being able to benefit from a more dynamic approach.

For example, nzbget ships out of the box configured to download into /downloads/completed. If you're just using a single mountpoint of /media, you'd need to change that path to /media/downloads/completed. That's just one example. The point I'm making here is that you're clearly managing your NFS server exclusively... creating the directory structore beforhand and then tailing each application as needed rather than being able to benefit from a more dynamic approach.

Do you use Windows or MacOS or a Linux and never change any default settings? The whole point of these apps are to configure them to your liking and use.
If you just want what comes out of box without any custom configuration on these applications you're doing it completely wrong IMO.

Excuse me? How is making use of well established features resulting in a perfectly useful environment doing it wrong?

Nothing is wrong with you opening an issue on the library chart or your use of it. What I said was you not changing application settings is wrong. You're relying on default application settings that are meant to be changed to suit your environment.

You're kinda just being silly at this point and a bit overly defensive. Nobody is saying I don't tweak my apps as needed. What I've shown a light on here is that you guys are clearly writing your charts assuming people are managing external NFS servers (in the way you do) rather than writing them to support native Kubernetes objects. I mean... these are Helm charts... you should be writing them to make the best use of PVCs, not external SANs that have to be micro-managed in a particular fashion. Maybe try and take something positive away from this instead of looking for a way to attack me just because I use Kubernetes correctly?

We have some ideas on how to fix it but it will take time, we will update this issue when it's fixed 👍🏼

I don't see anybody being attacked here. I see two different solutions to the same problem. Both with equal merit if you ask me. Using Kubernetes "correctly" can mean a gazilion different things to just as many users.
As has been indicated several times by different people, there are some workaround you can apply.
If you feel these are not valid for your use case you will be better off sticking with the old chart versions until we implement a solution.

It's not working though as I'm trying to mount my RWX pvc on both /series and /downloads.
persistence:
  config:
    enabled: true
    skipuninstall: true
  series:
    enabled: true
    type: pvc
    existingClaim: media
    mountPath: /series
    subPath: series
  downloads:
    enabled: true
    type: pvc
    existingClaim: media
    mountPath: /downloads
    subPath: downloads

From the describe
Warning  FailedMount  2m34s (x75 over 6h27m)  kubelet  Unable to attach or mount volumes: unmounted volumes=[downloads], unattached volumes=[config downloads series kube-api-access-wgjkq]: timed out waiting for the condition

We have some ideas on how to fix it but it will take time, we will update this issue when it's fixed 👍🏼

Thank you


Please switch to safe baseURL for example config

Apparently a scammer has registered the default base url genreated by hugo ("http://replace-this-with-your-hugo-site.com") and has some malware, ads, etc on it. See: spf13/hugoThemes#171.
To avoid such abuse in the future I would recommend to switch to a base url like "https://www.example.com".
Thanks

Thanks @digitalcraftsman, I updated the base url to example.org.


Support for array of luminosity in options.

Can you please add support for array of luminosity in options?
I want to generate both dark and light luminosity colors but not bright luminosity colors.

okay, I will implement that now


Fatal process out of memory: Failed to reserve virtual memory for CodeRange

deno_core = { version = "0.311.0", optional = true }
deno_ast = { version = "0.38.2", features = ["transpiling"], optional = true }

#
# Fatal process out of memory: Failed to reserve virtual memory for CodeRange
#
==== C stack trace ===============================

    0   screenpipe                          0x00000001027cfc98 v8::base::debug::StackTrace::StackTrace() + 24
    1   screenpipe                          0x00000001027d5af0 v8::platform::(anonymous namespace)::PrintStackTrace() + 24
    2   screenpipe                          0x00000001027c6210 v8::base::FatalOOM(v8::base::OOMType, char const*) + 68
    3   screenpipe                          0x000000010282a3b8 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) + 616
    4   screenpipe                          0x00000001029eff94 v8::internal::Heap::SetStackStart() + 0
    5   screenpipe                          0x000000010295dba8 v8::internal::Isolate::Init(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) + 1564
    6   screenpipe                          0x000000010295e2f8 v8::internal::Isolate::InitWithSnapshot(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) + 12
    7   screenpipe                          0x0000000102de5ad0 v8::internal::Snapshot::Initialize(v8::internal::Isolate*) + 460
    8   screenpipe                          0x000000010283eea0 v8::Isolate::Initialize(v8::Isolate*, v8::Isolate::CreateParams const&) + 344
    9   screenpipe                          0x000000010283efbc v8::Isolate::New(v8::Isolate::CreateParams const&) + 32
    10  screenpipe                          0x00000001027b8360 v8::isolate::Isolate::new::h0a5c619b6084e341 + 164
    11  screenpipe                          0x000000010274d698 deno_core::runtime::setup::create_isolate::h43f7780524624353 + 724
    12  screenpipe                          0x000000010276f42c deno_core::runtime::jsruntime::JsRuntime::new_inner::h6d05ca2ba0988f22 + 7276
    13  screenpipe                          0x000000010276d4f8 deno_core::runtime::jsruntime::JsRuntime::new::h7b60c681af2638b4 + 108
    14  screenpipe                          0x0000000100fbae8c _ZN15screenpipe_core5pipes5pipes6run_js28_$u7b$$u7b$closure$u7d$$u7d$17h006fc4225d5b821eE + 904
    15  screenpipe                          0x0000000100fb9d74 futures_util::stream::stream::StreamExt::poll_next_unpin::hce92ea0f4fd90e15 + 4296
    16  screenpipe                          0x000000010110a5d4 _ZN72_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$4poll17h48170fcbfa2f0c24E + 80
    17  screenpipe                          0x0000000101180af0 _ZN88_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$4poll17hc62754d069a4f9b5E + 292
    18  screenpipe                          0x00000001010e7c60 _ZN10screenpipe4main28_$u7b$$u7b$closure$u7d$$u7d$17h524b03b0df84b9a4E + 39844
    19  screenpipe                          0x00000001010d6868 tokio::runtime::park::CachedParkThread::block_on::h5280d81c0b7b4cf6 + 212
    20  screenpipe                          0x000000010109630c tokio::runtime::context::runtime::enter_runtime::h255fb501dd3e45f3 + 376
    21  screenpipe                          0x00000001012292a0 tokio::runtime::runtime::Runtime::block_on::h2b187f4984928f06 + 112
    22  screenpipe                          0x00000001010a3f90 screenpipe::main::he886e40573f82a41 + 172
    23  screenpipe                          0x00000001010720ac std::sys::backtrace::__rust_begin_short_backtrace::h459f278f47b570a5 + 12
    24  screenpipe                          0x00000001011ed8ec _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h500060577f2d92c3E + 24
    25  screenpipe                          0x000000010439a3f4 std::rt::lang_start_internal::hdd117cb81a316264 + 808
    26  screenpipe                          0x00000001010a4170 main + 52
    27  dyld                                0x00000001954320e0 start + 2360
Trace/BPT trap: 5
(base) louisbeaumont@louisbeemacbook:~/Documents/screen-pipe$

code https://github.com/mediar-ai/screenpipe/blob/main/screenpipe-core/src/pipes.rs
this is weird
when i build locally cargo build --release it works, don't have this issue, but when i build in github ci, macos runner, the binary crash with this error when i use my deno features
https://github.com/mediar-ai/screenpipe/blob/main/.github/workflows/release-app.yml
https://github.com/mediar-ai/screenpipe/blob/4ea365ad2655343c350e6dd2159d287c820e0699/.github/workflows/release-app.yml#L154
only on macos, works fine on windows
do you know anything i could change?
tried to bump the version without success
claude
here are 10 possible reasons for this issue, focusing on the differences between your local build and the github ci macos runner:

memory constraints:
the ci runner might have less available memory than your local machine, causing the out of memory error.

deno version mismatch:
there could be a version incompatibility between deno_core and other dependencies in the ci environment.

macos version differences:
the macos version on the runner might be different from your local machine, affecting memory management.

cargo caching issues:
improper caching of dependencies in the ci pipeline could lead to inconsistent builds.

compiler optimizations:
different optimization levels between local and ci builds might affect memory usage.

environment variables:
missing or different environment variables in the ci could impact the build process.

third-party library conflicts:
interactions between deno and other libraries might behave differently in the ci environment.

architecture differences:
subtle differences in cpu architecture between your local machine and the runner could affect memory allocation.

ci-specific limitations:
github actions might impose resource limits that aren't present locally.

dependency resolution:
the ci might resolve dependencies slightly differently, pulling in versions that conflict in unexpected ways.

to troubleshoot, you could try:

increasing the runner's memory allocation if possible
explicitly specifying deno_core and deno_ast versions in your cargo.toml
adding verbose logging to the build process to identify where it's failing
comparing the exact build environment (os version, rust version, etc.) between local and ci
temporarily disabling certain features or dependencies to isolate the issue

Increase the amount of logging and debugging information in your code to accurately locate where the memory issue is. This will help in identifying specific sections that may require optimization.
try this :
jobs:
  build:
    runs-on: macos-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true

      - name: Build project
        run: cargo build --release
        env:
          RUSTFLAGS: "-C target-cpu=native"
          V8_FLAGS: "--max-old-space-size=4096"  # Adjust this value as needed

Increase the amount of logging and debugging information in your code to accurately locate where the memory issue is. This will help in identifying specific sections that may require optimization.
try this :
jobs:
  build:
    runs-on: macos-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true

      - name: Build project
        run: cargo build --release
        env:
          RUSTFLAGS: "-C target-cpu=native"
          V8_FLAGS: "--max-old-space-size=4096"  # Adjust this value as needed

optimisation?
my JS code is this:
console.log("hi")

same issue with the V8_FLAGS: "--max-old-space-size=4096"
whats RUSTFLAGS: "-C target-cpu=native"? is it necessary?

@devsnek please take a look

chatgpt o1
Certainly! Here are 20 ideas to help you fix the "Fatal process out of memory: Failed to reserve virtual memory for CodeRange" issue occurring in your GitHub Actions macOS runner:

Adjust V8 Code Range Size: V8 may try to allocate a large contiguous memory block for its code range. You can limit this size by setting the V8_CODE_RANGE_SIZE environment variable:
env:
  V8_CODE_RANGE_SIZE: "512"  # in MB

Add this to your GitHub Actions workflow to limit the code range size to 512 MB.

Set V8_FLAGS to Limit Memory Usage: Use the --max-old-space-size flag to limit the maximum heap size of V8:
env:
  V8_FLAGS: "--max-old-space-size=2048"

This sets the heap size to 2 GB, which can prevent excessive memory allocation.

Upgrade deno_core and deno_ast: Ensure you're using the latest versions of these dependencies, as updates may contain fixes for memory allocation issues:
deno_core = "0.311.0"
deno_ast = "0.38.2"

Or update to the latest versions if available.

Match Local Build Environment: Make sure the Rust version and toolchain in CI match your local environment:
- uses: actions-rs/toolchain@v1
  with:
    toolchain: stable-<your-local-version>
    override: true

Set MACOSX_DEPLOYMENT_TARGET: Specify the deployment target to ensure compatibility with the CI runner:
env:
  MACOSX_DEPLOYMENT_TARGET: "11.0"

Disable Code Caching in V8: Code caching can consume extra memory. Disable it by setting V8 flags:
env:
  V8_FLAGS: "--no-cache-code"

Reduce Parallelism During Build: Limit the number of concurrent jobs to reduce memory pressure:
run: cargo build --release --jobs 2

Use a Self-Hosted Runner with More Resources: If possible, set up a self-hosted macOS runner with increased memory.

Check for Differences in Dependencies: Ensure that all your dependencies are the same versions locally and in CI. Lock them in your Cargo.toml with exact version numbers.

Verify Environment Variables: Output environment variables in both environments to check for discrepancies:
- name: Print Environment Variables
  run: printenv

Increase Runner Memory Allocation: While GitHub Actions runners have fixed resources, consider using larger runners or cloud-based runners with more memory.

Test with Minimal Code: Create a minimal version of your application that uses deno_core to see if the issue persists. This can help isolate the problem.

Use Different macOS Runners: Try using macos-11 instead of macos-latest to see if the issue is related to the OS version:
runs-on: macos-11

Set ulimit in CI: Increase the virtual memory limits in the CI environment:
- name: Increase ulimit
  run: ulimit -v unlimited

Disable JIT in V8: Just-In-Time compilation can use significant memory. Disable it for testing:
env:
  V8_FLAGS: "--jitless"

Build Without LTO: Link Time Optimization can increase memory usage during build. Disable it:
[profile.release]
lto = false

Check for Code Signing Issues: Unsigned binaries on macOS may have restricted permissions. Sign your binary in CI:
- name: Code Sign Binary
  run: codesign --force --sign - ./target/release/your_binary

Use actions/cache Wisely: Incorrect caching can cause unexpected behavior. Ensure caches are correctly set up or try disabling them temporarily.

Update Xcode Command Line Tools: The CI runner might have outdated tools. Add a step to update them:
- name: Update Xcode Command Line Tools
  run: sudo softwareupdate -i -a

Consult deno_core Documentation and Issues: There might be known issues or recommended settings for macOS. Check the deno_core GitHub repository for similar issues.

By applying these suggestions, you can address potential causes of the memory allocation issue in the CI environment. Start by adjusting V8's memory settings and ensuring consistency between your local and CI environments. If the problem persists, consider reaching out to the deno_core community for further assistance.

i will try some of these suggestions, lmk if you have better ideas

This backtrace doesn't make much sense to me, CodeRange allocation is not part of setting up the stack. Maybe try a debug build to get a better backtrace?

This backtrace doesn't make much sense to me, CodeRange allocation is not part of setting up the stack. Maybe try a debug build to get a better backtrace?

does not crash in debug mode :(

so weird
/Applications/screenpipe.app/Contents/MacOS/screenpipe -> crash
~/Downloads/screenpipe -> works

nvm its not the path, i ran the CI, ran, moved to different paths it works
i sign the CLI using apple license, although doubt this could be the issue but checking

actually im confused  error does not happen on my friend computer

1 download build pre tauri + apple signing
https://github.com/mediar-ai/screenpipe/blob/390633ab28297c547a91ffcb90c953e4679d481e/.github/workflows/release-app.yml#L198
2 run ~/Downloads/spp6
works
3 download build post tauri + apple signing
https://github.com/mediar-ai/screenpipe/blob/390633ab28297c547a91ffcb90c953e4679d481e/.github/workflows/release-app.yml#L205

run /Applications/screenpipe.app/Contents/MacOS/screenpipe

@devsnek are you available for a call in upcoming hours? doing a $300 OSS bounty for this, quite urgent
https://cal.com/louis030195/abcd

I don't know much about macOS code signing and I don't have a mac, so I can't really advise you further here.

not sure how but i fixed the issue


Instructions about installation (the famous 404 npm error)

A little notice about how to install the package or a link to the related issue (the good one) would be useful and would prevent the large amount of issues about the 404 npm error.
I've used the search function as it's suggested in every issue about this and I've not found the solution yet.
Thank you.

@kcmr I feel the same


Include MoveTo Helper class to ign-rendering

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 New feature
This PR is part of the consolidation of Scene3D with ign-gazebo's GzScene3D https://github.com/ignitionrobotics/ign-gui/issues/137
Summary
This class is inside the ign-gazebo plugin which contains a TODO to move this hidden class to ign-rendering.
Test it
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[x] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)

Note to maintainers: Remember to use Squash-Merge

@iche033 do you mind to have a look to the new tests? https://github.com/ignitionrobotics/ign-rendering/pull/311/commits/8e98a132a8545ad4379e4d4cf70ea79f6d7fa201


How to connect typescript with ecmascript 6 library?

Hello. I'm writed in modern ES6 typed library and want use with typescript. How to I can use declarations in typescript, If I used ES6 classes and statics?
Do not question what better ES6 or TS.

TypeScript is a super-set of ES6. so any valid ES6 code is valid TypeScript code. this includes classes and modules..
class C {
     constructor(public c: number) {
     }
}
export {C};

For more information take a look at the handbook at: https://github.com/Microsoft/TypeScript-Handbook


[BUG] Whenever i launch Bloxstrap, It says "An exception occured while running Bloxstrap"

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
I tried to enter Roblox and it wouldn't open, so I deleted and re-downloaded Bloxstrap and a sign appears that says that. Please fix that I want to continue playing Roblox, because without Bloxstrap Roblox doesn't work for me


when i right click on building escape uproject , i dont get an option of generate visual studio project file

@BenTristem

What do you get when you right click?

If you are on Win10, you will need to copy the UnrealVersionSelector.exe from ProgramFiles (x86)\Epic Games\Launcher\Engine\Binaries\Win64 into ProgramFiles\Epic Games\Launcher\Engine\Binaries\Win64. Then click on the .exe and you will see the context menu option when right clicking on BuildingEscape.uproject

Thanks for mentioning the fix. I personally haven't experienced this issue.


stage 1 - wallet fixtures + big integer update

stage 1 of fixing wallet fixtures throughout all projects

Coverage increased (+0.02%) to 96.457% when pulling 6598170b37fa0ead2aa04fff06707f3ac2f50e7f on ixje:wallet_fixtures into e690bae3683badd95e3cd1963c282accf5fcdd8b on CityOfZion:master.


Unable to build on the Mac

I'm having this issue when building/running on the Mac. Can you please let me know how to go around it. When i do
ionic cordova build android i get this error message
xxx/platforms/android/src/com/crypho/plugins/SecureStorage.java:229: error: local variable title is accessed from within inner class; needs to be declared final
Intent intent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
^
xxx/platforms/android/src/com/crypho/plugins/SecureStorage.java:229: error: local variable description is accessed from within inner class; needs to be declared final
Intent intent = keyguardManager.createConfirmDeviceCredentialIntent(title, description);
^
xxx/platforms/android/src/com/crypho/plugins/SecureStorage.java:249: error: local variable userAuthenticationValidityDuration is accessed from within inner class; needs to be declared final
RSA.createKeyPair(getContext(), alias, userAuthenticationValidityDuration);
Can you please help.
Thank you

@orest @mibrito707 I have this fixed here https://github.com/Chuckv01/cordova-plugin-secure-storage/commit/c962d937a2c855dd8378da88221a63f1a55910c1
I didn't do a pull request as I changed the package name so I could publish the changes to an npm package. Should be pretty easy to merge that commit to this repo though.

Thanks @Chuckv01, I'll merge that change ASAP

Fixed in PR #6

Thanks a lot @giordanocardillo 👍


Append rule id to the Swiftlint message

This is really useful if you want to disable the rule.
Emulates the default that swiftlint text on xcode.

merge on green

maybe make them code

This is too many chars (line_length)

Yep i will open another PR with that change


v0.2.3

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Now contains two packages in one repo: knit and dask_yarn


Can't connect to OracleDB using host+port combo

Environment
Knex version: 0.21.12
Database + version: OracleDB (any)
OS: any
Bug
When connecting to an OracleDB database using a combination of host+port, Knex isn't able to acquire the connection. This is most likely because of:
https://github.com/knex/knex/blob/073df48cc6f31ba0ea1f732341d15b631fe1d386/lib/dialects/oracledb/index.js#L99-L101
I believe changing client.connectionSettings.host + '/' + client.connectionSettings.database to client.connectionSettings.host + ':' + client.connectionSettings.port + '/' + client.connectionSettings.database might do the trick
Ref https://github.com/directus/directus/issues/3266

Can you add (failing) reproduction test for this?

Connecting using
const knex = require('knex');

const database = knex({
  client: 'oracledb',
  connection: {
    host: 'your-oracle-host',
    port: 12345,
    (user creds + db)
  }
});

should cause this to show up
@yapnel could you confirm the connection settings you were using?


Certificate file 'MyAPP_TemporaryKey.pfx' not found.

This is a duplicate of Issue #231. The original issue has instructions for how to generate the file through VS.

thanks


Add openapi swagger-core documentation for arrows

This change brings trace-server's [1] version of the TSP OpenApi herein.
It is therefore a continuation of [2]'s WIP.
Contributes to fixing #61 further as yet another incremental step.
[1] https://git.eclipse.org/r/c/tracecompass.incubator/org.eclipse.tracecompass.incubator/+/186626
[2] https://github.com/theia-ide/trace-server-protocol#alternate-tsp-version
Signed-off-by: Marco Miller<EMAIL_ADDRESS>

This PR inadvertently included [3] below, too.

Not a problem as this ([3]) was also a change to bring in.
It is however still preferred to bring only one such change per PR or commit.
[3] https://git.eclipse.org/r/c/tracecompass.incubator/org.eclipse.tracecompass.incubator/+/186743


⚠ SkipTheCommericals has degraded performance

In 3d05627, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 11311 ms

Resolved: SkipTheCommericals performance has improved in 0e29fe6.


Fresh gclient sync fails on harfbuzz

gclient sync fails on harfbuzz.  Navigating to https://fuchsia.googlesource.com/third_party/harfbuzz fails too.  My guess is that the dependency has gotten moved.
steps to reproduce

Start a new engine checkout and attempt to run gclient sync on it

error log
aaclarke@aaclarke-ubi:~/dev/engine/src$ gclient sync
Updating depot_tools...
/usr/local/google/home/aaclarke/dev/engine/.gclient_entries missing, .gclient file in parent directory /usr/local/google/home/aaclarke/dev/engine might not be the file you want to use.
96>WARNING: subprocess '"git" "-c" "core.deltaBaseCacheLimit=2g" "clone" "--no-checkout" "--progress" "https://fuchsia.googlesource.com/third_party/harfbuzz" "/usr/local/google/home/aaclarke/dev/engine/src/third_party/_gclient_harfbuzz_cd50lksj"' in /usr/local/google/home/aaclarke/dev/engine failed; will retry after a short nap...
96>WARNING: subprocess '"git" "-c" "core.deltaBaseCacheLimit=2g" "clone" "--no-checkout" "--progress" "https://fuchsia.googlesource.com/third_party/harfbuzz" "/usr/local/google/home/aaclarke/dev/engine/src/third_party/_gclient_harfbuzz_cd50lksj"' in /usr/local/google/home/aaclarke/dev/engine failed; will retry after a short nap...
Syncing projects:  95% (122/128) src/third_party/skia
src/third_party/harfbuzz (ERROR)

Looks like flutter is using our own fork of harfbuzz, but skia is depending on the missing fuchsia harfbuzz.

The engine DEPS file is pulling harfbuzz here: https://github.com/flutter/engine/blob/3b5b5fc96b8f934a63fc8b57e7f27b09ca67179c/DEPS#L271. flutter_git is https://flutter.googlesource.com.

I'm surprised that the engine gclient sync would be pulling transitive DEPS from Skia.

We do a recurse_deps on vulkan-deps. I don't think that pulls it in.  I raised this as an issue in an internal bug where Fuchsia discussed wanting to delete this.

Ugh, you know what the problem is.  When following the steps for setting up a new repo it clones your fork of the engine.  If you haven't updated that in years it's going to be all goofed up.  This happened to me last time too.

It's a chicken and an egg problem were you can't pull from upstream until you gclient sync, and your sync will fail unless you update.

git fetch upstream
git reset --hard upstream/main

doesn't work without a gclient sync?

I think ideally we'd change the .gclient to point to flutter/engine.git then have steps to add your fork to origin and move flutter/engine.git to `upstream.

doesn't work without a gclient sync?

no because in the beginning you just have an empty directory with a .gclient file, so you can't issue git commands.

I edited the wiki to recommend doing a gclient sync on flutter/engine.git then replacing that with the users fork afterwards.  This guarantees that the first gclient sync will work.
https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment/f257558aa874febcbb5629035d6c48a82510ecfb

If you go to the GitHub page for your fork (for me https://github.com/zanderso/engine), there's an alert telling me when my fork is out of date.

I guess alternatively we could have added a step that asks people to hit that "sync fork" button before doing gclient sync.  You know if someone messes up the step about updating origin though it's probably not the end of the world since probably 50% of the people building the engine aren't contributing changes, they're just poking around and don't even need a fork.


DO NOT MERGE - Openstack - Regression Testing Validation

!!!!! DO NOT MERGE THIS PR - EVER !!!!
What does this PR do?
This PR contains the end to end test created in the following https://github.com/DataDog/integrations-core/pull/2603.
If CI passes then it means that no regression is being introduced in the above PR (at least to the realm of the end to end test created)
This test has been created by running the check as of https://github.com/DataDog/integrations-core/pull/2603. on our OpenStack lab.
Motivation
Make sure (at least with a maximum of certainty) that we didn't introduce regressions in our refactoring and perf improvement work.

Codecov Report

Merging #2637 into master will increase coverage by 2.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2637      +/-   ##
==========================================
+ Coverage    83.9%   85.96%   +2.06%
==========================================
  Files         644       13     -631
  Lines       36468     1489   -34979
  Branches     4439      133    -4306
==========================================
- Hits        30597     1280   -29317
+ Misses       4555      172    -4383
+ Partials     1316       37    -1279


bug in Database.clean

I found what is pretty clearly a bug in Database.clean.   I ran this:
rename={ 'latitude' : 'lat', 'longitude' : 'lon'}
db.clean_collection('source',rename_undefined=rename,verbose=True)

When verbose is True, as here, it ran.  However, when I first ran the default (False) clean threw an error.   I have lost the error since it now runs, but I remember it was saying the list "print_messages" was not defined. There appears to be an initialization bug.
I note this could be fixed.  The docker container I'm running this on is a couple weeks old.

Good catch Gary. I think the way I was dealing with verbose was somehow inappropriate. I will fix it soon today.


Unable to upload or display uploaded images when using UUIDs and Postgres

I've setup active_storage but uploads keep failing...
Started POST "/maglev/api/assets" for ::1 at 2023-12-07 21:35:31 -0500
Processing by Maglev::Api::AssetsController#create as JSON
  Parameters: {"asset"=>{"file"=>#<ActionDispatch::Http::UploadedFile:0x000000010b8925e0 @tempfile=#<Tempfile:/var/folders/fd/04qkytls0xxc3nhjyccdw3vm0000gn/T/RackMultipart20231207-22731-6ci014.jpg>, @content_type="image/jpeg", @original_filename="fabian-centeno-uY60pJUHqOo-unsplash.jpg", @headers="Content-Disposition: form-data; name=\"asset[file]\"; filename=\"fabian-centeno-uY60pJUHqOo-unsplash.jpg\"\r\nContent-Type: image/jpeg\r\n">}}
  Maglev::Site Load (0.5ms)  SELECT "maglev_sites".*  FROM "active_storage_attachments" WHERE "active_storage_attachments"."record_id" = $1 AND "active_storage_attachments"."record_type" = $2 AND "active_storage_attachments"."name" = $3 LIMIT $4  [["record_id", nil], ["record_type", "Maglev::Asset"], ["name", "file"], ["LIMIT", 1]]
  ActiveStorage::Blob Create (1.6ms)  INSERT INTO "active_storage_blobs" ("key", "filename", "content_type", "metadata", "service_name", "byte_size", "checksum", "created_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["key", "002ab95u4hdex998jpobmw5cpc4u"], ["filename", "fabian-centeno-uY60pJUHqOo-unsplash.jpg"], ["content_type", "image/jpeg"], ["metadata", "{\"identified\":true}"], ["service_name", "local"], ["byte_size", 1583948], ["checksum", "f1y2gVRUElO71YtYCE0nZw=="], ["created_at", "2023-12-08 02:35:31.637841"]]
  ActiveStorage::Attachment Create (1.3ms)  INSERT INTO "active_storage_attachments" ("name", "record_type", "record_id", "blob_id", "created_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["name", "file"], ["record_type", "Maglev::Asset"], ["record_id", nil], ["blob_id", "89625400-95c5-42d7-9e8d-b91cb8fdf3b3"], ["created_at", "2023-12-08 02:35:31.640474"]]
  TRANSACTION (0.4ms)  ROLLBACK
Completed 500 Internal Server Error in 51ms (ActiveRecord: 20.4ms | Allocations: 38835)
`

ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR:  null value in column "record_id" of relation "active_storage_attachments" violates not-null constraint
DETAIL:  Failing row contains (4c6ed3a7-1022-467d-a048-1cc0e427e416, file, Maglev::Asset, null, 89625400-95c5-42d7-9e8d-b91cb8fdf3b3, 2023-12-08 02:35:31.640474).
):

But still failing to serve the uploaded images so digging into that.

Ok well i had to patch Maglev::Asset to make this work, but theres probably a better way, would love some help.
Maglev::Asset.class_eval do
  def self.find(friendly_name)
    # Extract uuid from friendly_name using a regex
    uuid = friendly_name.match(/(?<uuid>[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/)['uuid']
    super(uuid)
  end

end

hey @j-mcnally. sorry for being late in the game. Let me read everything :-)

No worried @did appreciate you taking a peek for me. I have an unideal working solution, but feels like im hacking too much of the Maglev::Asset model, not really clear how its "supposed to work".

Thanks for the clear explanation. I'm confused because Rails is supposed to take care of "friendly" urls by parsing ids (either integer based or UUID base). Hmm..
And writing a spec for this specific use case, it's not an easy task...

its likely some edge case with the "Friendly part" and "UUIDs" i noticed that if i pass anything other than a UUID to find, it auto nullls it out, likely something rails added for safety with UUIDs without considering how normal id lookups work. So unfortunately this feels like an upstream bug.

This article explains how UUIDs or non valid uuids are converted to nil
https://pawelurbanek.com/uuid-order-rails

I knew about the to_i trick regarding friendly urls. And I also read Pawel's article!
Actually, we need to 2 things to make Maglev support uuids.

the installation procedure must have an option to install the migrations with uuids as the primary keys of the Maglev models.
handle uuids in the Maglev friendly urls (https://www.fastruby.io/blog/ruby/uuid/friendlier-uuid-urls-in-ruby.html)

ActiveStorage handles this well i think, if you want to take a look
# This migration comes from active_storage (originally<PHONE_NUMBER>5915)
class CreateActiveStorageTables < ActiveRecord::Migration[7.0]
  def change
    # Use Active Record's configured type for primary and foreign keys
    primary_key_type, foreign_key_type = primary_and_foreign_key_types

    create_table :active_storage_blobs, id: primary_key_type do |t|
      t.string   :key,          null: false
      t.string   :filename,     null: false
      t.string   :content_type
      t.text     :metadata
      t.string   :service_name, null: false
      t.bigint   :byte_size,    null: false
      t.string   :checksum

      if connection.supports_datetime_with_precision?
        t.datetime :created_at, precision: 6, null: false
      else
        t.datetime :created_at, null: false
      end

      t.index [ :key ], unique: true
    end

    create_table :active_storage_attachments, id: primary_key_type do |t|
      t.string     :name,     null: false
      t.references :record,   null: false, polymorphic: true, index: false, type: foreign_key_type
      t.references :blob,     null: false, type: foreign_key_type

      if connection.supports_datetime_with_precision?
        t.datetime :created_at, precision: 6, null: false
      else
        t.datetime :created_at, null: false
      end

      t.index [ :record_type, :record_id, :name, :blob_id ], name: :index_active_storage_attachments_uniqueness, unique: true
      t.foreign_key :active_storage_blobs, column: :blob_id
    end

    create_table :active_storage_variant_records, id: primary_key_type do |t|
      t.belongs_to :blob, null: false, index: false, type: foreign_key_type
      t.string :variation_digest, null: false

      t.index [ :blob_id, :variation_digest ], name: :index_active_storage_variant_records_uniqueness, unique: true
      t.foreign_key :active_storage_blobs, column: :blob_id
    end
  end

  private
    def primary_and_foreign_key_types
      config = Rails.configuration.generators
      setting = config.options[config.orm][:primary_key_type]
      primary_key_type = setting || :primary_key
      foreign_key_type = setting || :bigint
      [primary_key_type, foreign_key_type]
    end
end

@did i really do appreciate you digging into this, hopefully things will continue to work well for me atleast in the meantime. Maglev seems awesome so far.

@j-mcnally you're very welcome and thanks for taking the time to find a solution!

hey @j-mcnally!
Thanks to this PR #72  (not yet merged), I successfully managed to create a Maglev site within an application which uses UUIDs.

this is great, the comprehensive support across models for uuids will be a win win i think for users.


Altair alpha.2 release

Includes test generator fixes and avoids the conflict in sync subcommittee naming

test gens pass locally
I'm moving forward with this minor pre-release bump


Releasing 0.12.0 Stalled

0.12.0 was not released 16 days ago due to some error: https://circleci.com/gh/googleapis/nodejs-bigtable/1109
I'm trying to get the release through now, but we're stalled on a new error.
@kolodny could you please take a look?
https://circleci.com/gh/googleapis/nodejs-bigtable/1408:
1) Bigtable/Table
       mutate()
         valid mutation:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules/lolex/src/lolex-src.js:671:15)
      at Context.done (system-test/mutate-rows.js:132:15)

  2) Bigtable/Table
       mutate()
         retries the failed mutations:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules/lolex/src/lolex-src.js:671:15)
      at Context.done (system-test/mutate-rows.js:132:15)

  3) Bigtable/Table
       mutate()
         has a `PartialFailureError` error when an entry fails after the retries:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules/lolex/src/lolex-src.js:671:15)
      at Context.done (system-test/mutate-rows.js:132:15)

  4) Bigtable/Table
       mutate()
         does not retry unretryable mutations:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules/lolex/src/lolex-src.js:671:15)
      at Context.done (system-test/mutate-rows.js:132:15)

  5) Bigtable/Table
       mutate()
         considers network errors towards the retry count:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules/lolex/src/lolex-src.js:671:15)
      at Context.done (system-test/mutate-rows.js:132:15)

  6) Bigtable/Table
       createReadStream
         simple read:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  7) Bigtable/Table
       createReadStream
         retries a failed read:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  8) Bigtable/Table
       createReadStream
         resets the retry counter after a successful read:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  9) Bigtable/Table
       createReadStream
         moves the start point of a range being consumed:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  10) Bigtable/Table
       createReadStream
         removes ranges already consumed:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  11) Bigtable/Table
       createReadStream
         removes keys already read:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  12) Bigtable/Table
       createReadStream
         adjust the limit based on the number of rows read:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

  13) Bigtable/Table
       createReadStream
         does the previous 5 things in one giant test case:

      AssertionError [ERR_ASSERTION]: .on('end') shoud have been invoked
      + expected - actual

      -false
      +true

      at Context.it (system-test/read-rows.js:138:11)

Very weird, I can't replicate. Try re-releasing? It may have been a transient bug

@kolodny do we need the same patch you figured out for the GAPIC PR?

@kolodny @sduskis we're still stuck with failures from the system-test/mutate-rows.js test suite. Could you please take a look?
  Bigtable/Table
    mutate()
      1) valid mutation
      2) retries the failed mutations
      3) has a `PartialFailureError` error when an entry fails after the retries
      4) does not retry unretryable mutations
      5) considers network errors towards the retry count

  0 passing (200ms)
  5 failing

  1) Bigtable/Table
       mutate()
         valid mutation:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules\lolex\src\lolex-src.js:671:15)
      at Context.done (system-test\mutate-rows.js:128:15)

  2) Bigtable/Table
       mutate()
         retries the failed mutations:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules\lolex\src\lolex-src.js:671:15)
      at Context.done (system-test\mutate-rows.js:128:15)

  3) Bigtable/Table
       mutate()
         has a `PartialFailureError` error when an entry fails after the retries:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules\lolex\src\lolex-src.js:671:15)
      at Context.done (system-test\mutate-rows.js:128:15)

  4) Bigtable/Table
       mutate()
         does not retry unretryable mutations:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules\lolex\src\lolex-src.js:671:15)
      at Context.done (system-test\mutate-rows.js:128:15)

  5) Bigtable/Table
       mutate()
         considers network errors towards the retry count:
     Error: Aborting after running 1000 timers, assuming an infinite loop!
      at Object.runAll (node_modules\lolex\src\lolex-src.js:671:15)
      at Context.done (system-test\mutate-rows.js:128:15)

I opened #59 with a fix. The issue was not having a projectId on the bigtable instance nodejs-common has the throwing code. I'm not sure what changed which caused the error to only show up now

Thanks! How did you track it down to that throwing code link? The error I got above doesn’t seem related at first glance.

Sure!
It was a matter of putting a debugger in the mocha code where it tries to runAll and see that it keeps adding more items to the run loop, when I looked at where those items were being set I saw it was in the try catch or decorateRequest which I was able to see the error text of not having a projectId. I cleaned up the code a drop to make sure things like this don't happen in the future and to make the error failure in the test reflect the actual error if it doesn't match an error we're respecting (it threw on an assert too fast to get the useful error message)
By the way I could have put a debugger in the onBatchResponse callback too for the same result, would have probably been easier too, hindsight === 20/20

Gotcha, thank you for the explanation!


Export Into Database MySQL Error 'text' be 'varchar'

Hello,
I found bug on export to database.
I'll export my table into another host, when I start to export, I got an error about data type (as you can see on capture bellow), so, I have to manually change it to 'text' and reprocess export.
Thank you

seems that issue is fixed


"curl https://compose.lakefs.io | docker-compose -f - up" fails on docker-compose 1.25.0

Workarounds
These all seem to fix the issue:

Upgrade to docker-compose version >= 1.25.5
Download and run from a file:curl https://compose.lakefs.io -o lakefs-compose.yml
docker-compose -f lakefs-compose.yml up

@tzahij fixed this by documenting.


Rewrite ratelimit handling to use X-Ratelimit-Bucket

Summary
title
What is the feature request for?
The core library
The Problem
ratelimiting is sync
The Ideal Solution
rewrite ratelimit handling
The Current Solution
slowdowns on requests, plus possible bucketing issues
Additional Context
No response

I would like to work on this.


Add handler for incorrect launch items in execute method

Coverage increased (+0.1%) to 85.356% when pulling dbaa66a47fd4ac1a4d586c1eef6bebe723081985 on execute-launch-items into dbcaeb163c08fd34f1fdfaa3b0af9505f599c345 on master.


Change query pageSize to improve grant scraping performance

Changing this parameter from 10 to 25 will result in a 250% improvement (66 minutes to 26 minutes) in the elapsed time for doing a scraping for 200 days worth of grants.
https://github.com/usdigitalresponse/usdr-gost/blob/699ff64d194237c7eb18c724fbc90ba68371020c/packages/server/src/lib/grantsgov.js#L193
This is because (1) we can use fewer queries, and (2) we won't get the same grant twice in different queries:

There is some unknown risk here, in that there is no official documentation for the API we call. Here is my attempt at reverse-engineering that documentation:
https://github.com/usdigitalresponse/usdr-gost/wiki/API-"spec"-for-currently-used-grants.gov-endpoint
If, however, we get access to an official API, we may not need to do this, thus 'low priority'.

Closing this as the functionality will be replaced by the new ingest process.


New failing test for HTTP/2 connection interference.

https://github.com/square/okhttp/issues/1981

Flaky tests are bugs! Well done.


[RFC] Setup data for backend tests

Problem
Saleor is using pytest with fixtures to prepare data for tests. We now have more than 10k tests and around 800 fixtures. The fixtures contain a lot of repetition and became hard to maintain. For any db change adding a new field there are multiple fixtures that have to be updated. We need a way to make them easier to maintain without adding complexity.
General Assumptions

We'd like a way to avoid overhead of multiple changes in fixtures after a single change in Django models.
Proposed changes should be easy to introduce and shouldn't require rewriting a lot of code.

Proposed changes
I'd like to propose a concept of model helper functions. A helper function would prepare a model instance with predefined defaults.
Let's look at an example of a helper function for the Address model
def create_address(
    first_name="John",
    last_name="Doe",
    company_name="Mirumee Software",
    street_address_1="Tęczowa 7",
    city="WROCŁAW",
    postal_code="53-601",
    country="PL",
    phone="+48713988102",
    country_area="test_country_area",
    city_area=None,
    ):
    return Address.objects.create(
        first_name=first_name,
        last_name=last_name,
        company_name=company_name,
        street_address_1=street_address_1,
        city=city,
        postal_code=postal_code,
        country=country,
        phone=phone,
        country_area=country_area,
        city_area=city_area,
    )

This way the fixtures for address will go from an example from current code:
@pytest.fixture
def address(db):
    return Address.objects.create(
        first_name=first_name,
        last_name=last_name,
        company_name=company_name,
        street_address_1=street_address,
        city=city,
        postal_code=postal_code,
        country=pl,
        phone=phone,
        country_area=country_area,
        city_area=city_area,
    )

To the following
@pytest.fixture
def address(db):
    return create_address()

@pytest.fixture
def address_with_areas(db):
    return create_address(city_area="test_city_area")

@pytest.fixture
def address_other_country():
    return create_address(
        street_address_1="4371 Lucas Knoll Apt. 791",
        city="BENNETTMOUTH",
        postal_code="13377",
        country="IS",
        phone="+40123123123",
    )

@pytest.fixture
def address_usa():
    return create_address(
        street_address_1="2000 Main Street",
        city="Irvine",
        postal_code="92614",
        country_area="CA",
        country="US",
        phone="",
    )

This way:

Each model has just one entry point with defaults and each fixture or test function can then decide which fields are meaningful for their case.
We can decide if we want the helper functions to create the instance in the db or just prepare it without saving.
We can put the functions outside of tests so we could also use them to generate demo data (which now use similar functions that also have to be maintained).

Other options considered
factory_boy
Factory_boy is a popular choice used for preparing data for tests. It has many benefits coming from readable representation of default data and a mature set of tools around it. It has been well tested and has been around for years.
It has been rejected for the following reasons:

The main idea behind tools like factory_boy is to generate random data which is not what we want in our tests. We'd like to always know exactly against what data we're going tu write a test.
Automated factories save a few lines of code once while making debugging harder every single time. We should optimize code for ease of reading, not ease of writing.
There are cases where generating a lot of various instances will make sense but most of our tests don't operate on large number of objects with randomised values.
Creating factories for each of the models means we need to maintain two places representing a single database table. Combining that with already existing fixtures means 3+ places for every model before we'd fully move to factory_boy (or a similar tool).
Any custom logic placed in factory definition is invisible when we read the tests after they fail. So whatever custom logic or relation is added to factory post_generation means harder debugging when a test fails. And more code to maintain for logic that's unique to factories.

factories/generators as fixtures
Pytest docs mention factories as fixtures.
While pytest does suggest that approach, making a fixture out of a simple python function doesn't seem to add any benefit for us on top of the suggested function approach.

I like this idea. We also wanted to explore ways of reducing DB queries in tests. Would creating the model instance without saving it to DB be enough here? I'm also wondering if we should somehow differentiate such fixtures/functions, perhaps by using different naming conventions.

There was a different approach applied on the repo recently, so closing this now.


HHVM tests are failing on master

https://travis-ci.org/yiisoft/yii2/jobs/238664249#L830

looks like HHVM Postgres driver does not work with binary columns... https://travis-ci.org/yiisoft/yii2/jobs/239526225#L1096

42) yiiunit\framework\rbac\PgSQLManagerTest::testRemoveAllPermissions
yii\db\Exception: SQLSTATE[42601]: Syntax error: 7 FEHLER:  Syntaxfehler bei »\«
LINE 1: ..., "created_at", "updated_at") VALUES ('isAuthor', \x4f3a3333...
                                                             ^

The SQL being executed was: INSERT INTO "auth_rule" ("name", "data", "created_at", "updated_at") VALUES ('isAuthor', :qp1,<PHONE_NUMBER>,<PHONE_NUMBER>)

/home/cebe/dev/yiisoft/yii2/framework/db/Schema.php:636
/home/cebe/dev/yiisoft/yii2/framework/db/Command.php:852
/home/cebe/dev/yiisoft/yii2/framework/rbac/DbManager.php:359
/home/cebe/dev/yiisoft/yii2/framework/rbac/BaseManager.php:127
/home/cebe/dev/yiisoft/yii2/tests/framework/rbac/ManagerTestCase.php:209
/home/cebe/dev/yiisoft/yii2/tests/framework/rbac/ManagerTestCase.php:442
/home/cebe/dev/yiisoft/yii2/vendor/phpunit/phpunit/phpunit:47

binary value is not properly quoted by HHVM PDO pgsql driver. I did not find a way to fix this. Neither passing it as as string, nor as a stream works. I tried this patch but it does not solve the problem:
diff --git a/framework/db/pgsql/QueryBuilder.php b/framework/db/pgsql/QueryBuilder.php
index 54fcfb7..b70d307 100644
--- a/framework/db/pgsql/QueryBuilder.php
+++ b/framework/db/pgsql/QueryBuilder.php
@@ -267,12 +267,16 @@ class QueryBuilder extends \yii\db\QueryBuilder
         if ($columns instanceof \yii\db\Query) {
             return $columns;
         }
-
         if (($tableSchema = $this->db->getSchema()->getTableSchema($table)) !== null) {
             $columnSchemas = $tableSchema->columns;
             foreach ($columns as $name => $value) {
                 if (isset($columnSchemas[$name]) && $columnSchemas[$name]->type === Schema::TYPE_BINARY && is_string($value)) {
-                    $columns[$name] = [$value, \PDO::PARAM_LOB]; // explicitly setup PDO param type for binary column
+                    if (defined('HHVM_VERSION')) {
+                        // passing binary data as strings is broken on HHVM pgsql extension
+                        $columns[$name] = [fopen('data://text/plain;base64,' . base64_encode($value),'r'), \PDO::PARAM_LOB];
+                    } else {
+                        $columns[$name] = [$value, \PDO::PARAM_LOB]; // explicitly setup PDO param type for binary column
+                    }
                 }
             }
         }

As far as I see, the problem needs to be fixed in HHVM PDO driver. Skipping the test for now.

related: https://github.com/yiisoft/yii2/commit/23790272dc561aacf2070cbbda396f49e44cbb7d , https://github.com/yiisoft/yii2/commit/6b607d078f415ae1eb5fb12305f6577044b83370 (#11498)

could be the same as https://github.com/yiisoft/yii2/issues/13010

Related https://github.com/yiisoft/yii2/commit/5c6ba33e553476cddd468df0ef9b99a00d7e0411

HHVM support is dropped. #14178


LICENSE?

Hi, sorry about the late response — completely missed this.
I added the MIT license, but please be advised that this project is under active development, so there will probably be a lot of breaking changes and a few enhancements coming in. That said, please let me know if you have thoughts and/or questions! Thanks!