Now you can prepend middleware in the MessageBus

Thanks for suggesting this change! Usually I wouldn't allow for these kinds of state-changing methods, but MessageBusSupportingMiddleware already was mutable anyway :)
I would rather not use a $prepend parameter, but a separate method, like appendMiddleware() and prependMiddleware(). Could you change that please, as well in the code as in the code samples? I'll take care of changing it later in the DoctrineORMBridge and the SymfonyBridge.

@matthiasnoback done.
Although I don't know where the docs for this method fits best. You should decide :)

Excellent, no problem. It probably makes sense to mention the method here: http://simplebus.github.io/DoctrineORMBridge/doc/domain_events.html (near the end I instruct people to add the middleware before another middleware). I will add it right-away.


added functionlity to load style from file with chache on modified date

This change will allow a developer to keep the CSS files inside the proper CSS file instead of defining them inside the .py file.
I have also added caching to the CSS file. The cache will reset if the file is modified.

If we already have this functional, please let me know and I would be okay to decline this PR.
Thanks

We recommend using File or Link for putting CSS in external files -- let us know if that doesn't meet your needs. (PS: you can use fastcore's flexicache for mtime-based caching).


refactor plugins

This is still annoying but at least now we have real interfaces, I need this
so we can pass the zip to build hooks, letting us skip I/O and do the nodejs
env injection a lot easier.

Love it. Much clearer now.


Gibson Les Paul Studio

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your PR.
Describe the contribution to the taxonomy

...
...
...

Input given at the prompt

   ...

Response from the original model

  ...

Response from the fine-tuned model

  ...

Contribution checklist

[ ] The contribution was tested with ilab generate
[ ] No errors or warnings were produced by ilab generate
[ ] All commits are signed off (DCO)
[ ] The qna.yaml file contains at least 5 seed_examples
[ ] The qna.yaml file was linted and prettified (yaml-validator can do both)
[ ] An attribution.txt file in the same folder as the qna.yaml file
[ ] Content does not include PII or otherwise sensitive or confidential information
[ ] Content does not include anything documented in the project's Avoid these Topics guidelines

@dal0643 The qna.yaml file is a duplicate of the submission in PR: https://github.com/instructlab/taxonomy/pull/964
with the exception of escaping the double quotes around \"Gothic\".  This minor change is already considered in the merged "Les Paul" submission found in this PR:  https://github.com/instructlab/taxonomy/pull/1099
Truly appreciate your trying to get the YAML linting to pass, but I have got this covered for you (along with a few other peer contributors submitting similar knowledge in the referenced PR) ;)
@jjasghar This can be closed as a duplicate for the given rationale above. Thanks!


unbuffered query

Since i could not find anything in the documentation, i now try to open an issue...
My question is, how can i create a unbuffered query? because i want to load a large blob file from the database, but i always get memory allocation issues.
I there the possibility to do this or do i neet to use the raw functions?

You can try the (https://medoo.in/api/select) Traverse Fetch With Callback that v2.0 added.
Also, you need to check the memory setting for your PHP and Nginx.


Drought indices

Drought indices from the source @huard pointed me is now developing an xarray interface. Might be useful to keep an eye on it.
See https://github.com/monocongo/climate_indices/issues/191

This effort is somewhat stalled, as I discovered limitations when using dask that seem to prevent its use internally (i.e. I'd need to pull out numpy arrays in order to do several things that you can't do using dask, such as indexing individual array elements using integer array indices, etc.). See this and this for some of the details.
I'll be happy to pick this up again, as I'd like to be able to leverage dask for larger input datasets, as well as making the library easier to integrate into xclim (if that's the intention here). It's just not clear how I can get there from here -- apparently my xarray/dask-fu is still weak.
BTW I ended up getting much better performance using vanilla multiprocessing mapping of numpy.apply_along_axis rather than xarray.apply_ufunc, but there may be something obvious I'm missing there. See monocongo/climate_indices#210 for details.

@huard  @tlogan2000  Is this a library that would be interesting to have as a dependency and wrap into indices/indicators? Or should we reimplement the indices so that they make use of xarray/dask and follow our standards (instead of numpy/numba)?

If this ball gets rolling I'll be happy to help where I can. My current processing scripts utilize a complicated shared memory solution which I'd love to replace with something more elegant by leveraging xarray and/or dask, so if you guys have good ideas I'd love to piggyback on it (my xarray/dask-fu is still weak).

I think this would certainly be a valuable addition, but looking at the original code, probably not a trivial task. Before we jump into this, I suggest we make sure that

We have identified potential users
James has some free time to help us out
We have enough free cycles to do a good job.

In terms of projects / users asking for indices to my knowledge we have only SPEI so far (I believe PET would needed as a sub calculation though).
So we could maybe look at implementing this single calculation to start with?  FYI We are using environment canada SPEI datasets (already calculated) for current needs so there is no real urgency to have this done in the short-term

The computations aren't too tricky, but doing them in parallel has been surprisingly challenging for me. Each computation (SPI, PET, SPEI, etc.) is done on a time series, i.e. a 1-D array, for a location (typically a lat/lon point). So it's essentially a question of doing something like this, but in a more elegant fashion:
# input data array with shape (lats, lons, times)
lats, lons, _ = data.shape
indices = np.array(data.shape, dtype=float)
for lat in lats:
    for lon in lons:
        timeseries = data[lat, lon]
        indices[lat, lon] = compute_index(timeseries, other_params)

I have tried doing "split-apply-combine" with xarray.GroupBy and cooking up ufuncs for use with numpy.apply_over_axes, etc. but to no avail, hence my current Frankenstein approach where I've cooked up shared memory arrays to facilitate parallelization with multiprocessing. You guys are probably a lot better at this than I am and can maybe come up with a better solution, and if you do I'll be eager to cook it into my processing scripts to get away from the current complexity therein.
As far as having some time to help with this I do have a bit, but my day job does keep me busy so I want to set reasonable expectations. This is purely a labor of love for me these days to indulge the wannabe scientist in me. Fortunately, the package does seem to be getting some use outside of NOAA, most recently I was made aware that it is being used in a training by NASA.

We have another similar case with fire weather indices. It's original fortran code, translated into python, then wrapped by numba and numpy. See #388  I suspect a similar strategy would work here.
Got it, we appreciate the dedication !

From #973

It would also be convenient to add some drought indices. This package is useful: https://climate-indices.readthedocs.io/en/latest/
The code can be called outside the command line and be made to work with apply_ufunc as in: https://github.com/mintproject/droughtIndices/blob/d1149ba63f275b5a4531fbd6a6cadefaef90ecc2/WM_climate_indices.py#L369


How to change the appearance of this plug-in using css?

I want to change the appearance of this plug-in.
How can i do this?

Do you mean you just want to change the color of the reticle image (green box)?
That's hardcoded in the plugin, so if you wanted to make this configurable, someone would need to implement methods to configure those colors.

What about changing the size of the screen to show the below page contents as the title bar. Can that also be done. Please advice.

@jlowe234 @maduperera
i need do this https://yadi.sk/d/Js7sck9MvqhJS
this can be done?

It doesn't appear to be an easy way to customize the plugin in the way that you're describing.  You would need to fork and rewrite some of the view controller code for the plugin in order to do what you're describing.

@jlowe234 Thanks for the answer

UI is not very beautiful.
We need a more beautiful UI

+1

@jlowe234 Can you specify the view controller base file?

#11 & #35


Added test case for AU_ABN

@bgbryan2002 reminder you have a 2 pylint errors to resolve

I reverted the test_au_medicare to its working state but the Pylint and Python app test seem to be recursively buffering the issue. At this point the test are running inconclusively on my end.

@bgbryan2002 - this should be the reason for you pylint errors you should be OK to merge your PR now


Change warning message to user exception for model type and task type mismatch

Description
It seems RAI dashboard may show incorrect insights if we do regression based RAI computation for a classification model. Hence, changing the warning to a user exception.
Areas changed

npm packages changed:

[ ] responsibleai/causality
[ ] responsibleai/core-ui
[ ] responsibleai/counterfactuals
[ ] responsibleai/dataset-explorer
[ ] responsibleai/fairness
[ ] responsibleai/interpret
[ ] responsibleai/localization
[ ] responsibleai/mlchartlib
[ ] responsibleai/model-assessment

Python packages changed:

[ ] erroranalysis
[ ] raiutils
[ ] raiwidgets
[ ] rai_core_flask
[x] responsibleai

Tests

[x] No new tests required.
[ ] New tests for the added feature are part of this PR.
[ ] I validated the changes manually.

Screenshots (if appropriate):
Documentation:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Codecov Report

Merging #1330 (7f26225) into main (2432040) will decrease coverage by 14.38%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1330       +/-   ##
===========================================
- Coverage   89.97%   75.58%   -14.39%
===========================================
  Files          80       10       -70
  Lines        3410      258     -3152
===========================================
- Hits         3068      195     -2873
+ Misses        342       63      -279

Flag
Coverage Δ

unittests
75.58% <ø> (-14.39%)
:arrow_down:

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

Impacted Files
Coverage Δ

...sibleai/responsibleai/rai_insights/rai_insights.py

raiutils/raiutils/version.py

responsibleai/responsibleai/_data_validations.py

...nalysis/erroranalysis/_internal/version_checker.py

...onsibleai/_tools/shared/attribute_serialization.py

...erroranalysis/_internal/error_analyzer/__init__.py

responsibleai/responsibleai/_internal/constants.py

responsibleai/responsibleai/__init__.py

erroranalysis/erroranalysis/report/error_report.py

...ponsibleai/responsibleai/rai_insights/constants.py

... and 60 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 2432040...7f26225. Read the comment docs.


Failing to use pm2 deploy feature with Gitea

Gitea version (or commit ref): 1.10.3
Git version: 2.26.0
Operating system: Ubuntu 16.04
Database (use [x]):

[ ] PostgreSQL
[X] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist: There are no relevant logs from that event (no errors are being logged)

Description
Hey there folks. I'm trying to use pm2's (a nodejs production process manager) deploy feature and I've seemed to run into an issue with gitea. I have the following configuration for the server:
deploy : {
    production : {
      key  : '<key>',
      user : 'git',
      host : [{host: '<hostname>', port: '<port>'}],
      ref  : 'origin/master',

      repo : 'git@<hostname>:<port>/guy/<reponame>.git',
      // I tried all these but non worked.
      //path : '/var/www/production',
      //path: "/",
      //path: "<actual repo's path>"
      'post-deploy' : 'npm install && pm2 startOrRestart ecosystem.config.js --env production'
    }
  }

What showed up as response from PM2 was:
--> Deploying to production environment
--> on host <host>
  ○ hook pre-setup
Gitea: Unknown git command
Unknown git command mkdir

  setup paths failed

Deploy failed
1

After some snooping around, I saw that there are certain git commands which are available in Gitea and I was wondering if that's related to what I'm trying to do and if Gitea actually supports what I'm trying to do.

I guess it'is not properly detecting the repo URL as such and falling back to some local action, maybe try prefixing it with git:// or https:// URL.

@silverwind - not working sadly, I think maybe PM2 is trying to execute something on Gitea's side which Gitea doesn't allow?

No idea, sorry. mkdir is certainly not a valid git command. I guess you should dig into pm2 source to really see what it's doing or ask there.

pm2 appears to be trying to put hooks on the gitea server directly! We don't support that and won't support that - GitHub, bitbucket and Gitlab would not allow this either.
Why is it trying to add hooks like this?


[WIP] stm32 mspi drivers for the MSPI flash and controller

this PR is introducing the MSPI driver device a controller for the stm32 mcus : stm32H5 serie

MSPI device = nor flash node drivers/flash/flash_mspi_nor_mx  typically the  mx25lm51245 mounted on the disco kit
---> compat is mspi_nor_mx25
MSPI controller : drivers/mspi/mspi_stm 32  typically the octospi peripherals of the stm32 devices.
---> compat is st,stm32-mspi-controller

Build an run the  samples/drivers/mspi/mspi_flash/ on stm32h573i_dk disco kit

[x] only SPI / STR mode : configure/
[x] SPI / STR mode : read (in async. IT )
[x] SPI / STR mode : erase/write (in async. IT ) wait for mem ready (typ. SPI_NOR_WEL_MATCH/SPI_NOR_WEL_MASK)
[ ] OPI/QUAD and DTR mode :  configure/erase/read/write (octal commands)
[ ] read/erase/write with DMA
[ ] XIP configuration (stm32 memorymap mode)
[ ] Support more platforms (and NOR flash devices)
[ ] Support psRAM device

reading external NOR at offset 0 in spi/str mode :
Perform test read on single sector
 command Instruction = 0x13
Data read at is
Read at 00000000 read 08
Read at 00000001 read b5
Read at 00000002 read 06
Read at 00000003 read 4a
Read at 00000004 read 06
Read at 00000005 read 49
Read at 00000006 read 07
Read at 00000007 read 48
Read at 00000008 read 00
Read at 00000009 read f0
Read at 0000000a read 12
Read at 0000000b read f8
Read at 0000000c read bd
Read at 0000000d read e8
Read at 0000000e read 08
Read at 0000000f read 40

The MSPI adds an abstraction layer and allows for the addition of device-specific MSPI drivers (e.g., for MX, Winbond, etc.). However, it looks like a step backward from existing O/Q/X/SPI drivers. The SFDP autoconfiguration capabilities are dropped, and no dependencies between lines and opcodes are taken into account. The command configuration happens on the lowest level outside the device MSPI driver. All of that increases footprint and potentially degrades performance.
Perhaps I am missing something. But what advantages does MSPI offer over the existing Q/O/X/SPI drivers, particularly for STM32 NOR-flash support?

Perhaps I am missing something. But what advantages does MSPI offer over the existing Q/O/X/SPI drivers, particularly for STM32 NOR-Flash support?

@GeorgeCGV, if you asking the question to me, I am not in a position to answer

@GeorgeCGV

However, it looks like a step backward from existing O/Q/X/SPI drivers. The SFDP autoconfiguration capabilities are dropped, and dependencies between lines and opcodes are not considered. The command configuration happens on the lowest level outside the device MSPI driver. That will lead to a bloated low-level driver, increasing footprint, and potentially degrading performance.

The SFDP autoconfiguration can definitely be handled within the device (flash) driver layer. Since opcodes and line dependencies are specific to the device or JEDEC standard, they should be managed by the device (flash) driver. While there are methods to optimize overhead and reduce footprint, I don't have sufficient knowledge of STM Q/O/X SPI hardware to offer specific recommendations. Ultimately, the implementation of the controller driver is entirely your decision.

To address some of these issues, device-specific drivers must have greater control over low-level aspects (e.g., data lines, opcodes, etc.). However, this could lead to code duplication across drivers for MX, Winbond, and other NOR-Flash devices. A potential solution might be a generic MSPI-NOR-Flash driver that works in conjunction with a specific low-level Q/O/X/SPI MSPI driver. For example, the Q/O/X/SPI MSPI driver must use the mspi-io-mode when it performs mspi_stm32_prepare_cmd. However, as MSPI allows users to provide write/read opcodes and io-mode over DT a bit of logic is required to figure out what is used to configure the lines mspi-io-mode or opcode (that complicates the matter for the end-user). While this approach reduces code duplication across Q/O/X/SPI drivers it would come at the cost of some performance (but perf. hit applies to all approaches).

I attempted to develop an MSPI NOR flash driver, but I found the JEDEC specification to be rather chaotic and cumbersome when trying to consolidate everything into a single driver.
The opcode and IO mode specified in the device tree are part of the target device's configuration after initialization, reflecting the most common operational state of the device. I think surely the device lines and write and read opcode would not change frequently if the user are aiming for performance.
An important optimization for all controllers would be to skip reconfiguring settings in struct mspi_xfer and struct mspi_packet when they match the target device settings defined in the device tree.


Error while training question generation

ModuleNotFoundError: No module named 'fused_layer_norm_cuda'

HI @DivyaWadehra,
Have you successfully installed the NVIDIA apex? You can install it following the instructions in README.md. Specifically:
cd $(mktemp -d)
git clone -q https://github.com/NVIDIA/apex.git
cd apex
git reset --hard 1603407bf49c7fc3da74fceb6a6c7b47fece2ef8
python setup.py install --user --cuda_ext --cpp_ext

Yes I did the same

Hi @DivyaWadehra ,
I am wondering whether you are running the code using CPUs? If so, you need to remove the dependency on apex.*.
The instructions in https://github.com/microsoft/unilm#docker could help. The docker makes the env setup way easier.

No I am not running it on CPU, I am using GPU

It seems like the apex was not correctly installed:
PWD_DIR=$(pwd)
cd $(mktemp -d)
git clone -q https://github.com/NVIDIA/apex.git
cd apex
git reset --hard 1603407bf49c7fc3da74fceb6a6c7b47fece2ef8
python setup.py install --user --cuda_ext --cpp_ext
cd $PWD_DIR

I did the same, but didn't get the error resolved

@DivyaWadehra strangley I had forked the version you had here in Jan, and I didnt get the segmentation fault: https://github.com/elnazsn1988/unilm/tree/master/layoutlm
however I used latest commit and am now facing the segmentation fault error, were you able to overcome this?

@DivyaWadehra Update - Using pytorch 1.6 removed all issues and allowed installation of latest commit.


Thank you so much for this - where can I donate?

This is so cool, and thanks for keeping it up to date and alive.
Where can I donate?

@ffMathy thank you so much. I really appreaciate your attitude.
You can support our project at Open Collective https://opencollective.com/puppeteer-sharp


clichouse failed to create directory of s3 metadata.

desc
k8s ck yaml.
...
spec:
  configuration:
    files:
      config.d/storage_policy_jbod.xml: |
        <yandex>
          <storage_configuration>
            <disks>
              <s3>
                <type>s3</type>
                <endpoint>https://s3.cn-north-1.amazonaws.com.cn/bucket.../mergetree/</endpoint>
                <use_environment_credentials>true</use_environment_credentials>
              </s3>
            </disks>
            <policies>
              <s3>
                <volumes>
                  <main>
                    <disk>s3</disk>
                  </main>
                </volumes>
              </s3>
            </policies>
          </storage_configuration>
        </yandex>
....
...

clichouse stderr logs
failed to create s3 metadata dir.
0. std::system_error::system_error(std::error_code, String const&) @ 0x13ed7080 in /usr/bin/clickhouse
1. ? @ 0xbb81ed0 in /usr/bin/clickhouse
2. ? @ 0x13e7e54c in /usr/bin/clickhouse
3. ? @ 0x13e81920 in /usr/bin/clickhouse
4. std::__fs::filesystem::__create_directories(std::__fs::filesystem::path const&, std::error_code*) @ 0x13e82174 in /usr/bin/clickhouse
5. std::__fs::filesystem::__create_directories(std::__fs::filesystem::path const&, std::error_code*) @ 0x13e821f4 in /usr/bin/clickhouse
6. DB::prepareForLocalMetadata(String const&, Poco::Util::AbstractConfiguration const&, String const&, std::shared_ptr<DB::Context const>) @ 0xfb3d46c in /usr/bin/clickhouse
7. ? @ 0xfb522b8 in /usr/bin/clickhouse
8. DB::DiskFactory::create(String const&, Poco::Util::AbstractConfiguration const&, String const&, std::shared_ptr<DB::Context const>, std::map<String, std::shared_ptr<DB::IDisk>, std::less<String>, std::allocator<std::pair<String const, std::shared_ptr<DB::IDisk>>>> const&) const @ 0xfaff2f4 in /usr/bin/clickhouse
9. DB::DiskSelector::initialize(Poco::Util::AbstractConfiguration const&, String const&, std::shared_ptr<DB::Context const>) @ 0xfcacc10 in /usr/bin/clickhouse
10. DB::Context::getDiskSelector(std::lock_guard<std::mutex>&) const @ 0xfc7de6c in /usr/bin/clickhouse
11. DB::Context::getDisksMap(std::lock_guard<std::mutex>&) const @ 0xfc7e33c in /usr/bin/clickhouse
12. DB::Context::getDisksMap() const @ 0xfc7f064 in /usr/bin/clickhouse
13. DB::ServerAsynchronousMetrics::updateImpl(std::unordered_map<String, DB::AsynchronousMetricValue, std::hash<String>, std::equal_to<String>, std::allocator<std::pair<String const, DB::AsynchronousMetricValue>>>&, std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l>>>, std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l>>>) @ 0x105edff0 in /usr/bin/clickhouse
14. DB::AsynchronousMetrics::update(std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<long long, std::ratio<1l, 1000000l>>>) @ 0xbc382d8 in /usr/bin/clickhouse
15. DB::AsynchronousMetrics::start() @ 0xbc2d8f0 in /usr/bin/clickhouse
16. DB::Server::main(std::vector<String, std::allocator<String>> const&) @ 0xbbcc7f0 in /usr/bin/clickhouse
17. Poco::Util::Application::run() @ 0x11fcdbdc in /usr/bin/clickhouse
18. DB::Server::run() @ 0xbbbed20 in /usr/bin/clickhouse
19. Poco::Util::ServerApplication::run(int, char**) @ 0x11fe3684 in /usr/bin/clickhouse
20. mainEntryClickHouseServer(int, char**) @ 0xbbbc040 in /usr/bin/clickhouse
21. main @ 0x7d7b6e0 in /usr/bin/clickhouse
22. __libc_start_main @ 0x20e10 in /usr/lib/aarch64-linux-gnu/libc-2.31.so

Cannot print extra info for Poco::Exception (version <IP_ADDRESS> (official build))
2023.08.03 08:11:23.233048 [ 1 ] {} <Error> Application: filesystem error: in create_directories: Permission denied ["/var/lib/clickhouse/disks/s3"]
2023.08.03 08:11:23.233068 [ 1 ] {} <Information> Application: shutting down
2023.08.03 08:11:23.233076 [ 1 ] {} <Debug> Application: Uninitializing subsystem: Logging Subsystem
2023.08.03 08:11:23.233490 [ 47 ] {} <Information> BaseDaemon: Stop SignalListener thread

@rfyiamcool , do you have a persistent volume with RW permissions mounted to /var/lib/clickhouse? Even for S3 ClickHouse requires persistent disk to store metadata.

When I use the following configuration, I can successfully create a ch cluster，the ck data directories specified in the configuration are automatically created.
spec:
  configuration:
    files:
      config.d/storage_policy_jbod_1.xml: |
        <yandex>
          <storage_configuration>
            <disks>
                <disk01>
                    <path>/var/lib/clickhouse/disks/disk01/</path>
                </disk01>
                <disk02>
                    <path>/var/lib/clickhouse/disks/disk02/</path>
                </disk02>
            </disks>
            <policies>
                <hot_and_cold>
                    <volumes>
                        <hot>
                            <disk>disk01</disk>
                        </hot>
                        <cold>
                            <disk>disk02</disk>
                        </cold>
                    </volumes>
                    <move_factor>0.2</move_factor>
                </hot_and_cold>
            </policies>
          </storage_configuration>
        </yandex>
...

😅  I don't knonw why does clichouse failed to start when storage config contains s3 config?

@rfyiamcool please provide full error message from line before

std::system_error::system_error(std::error_code, String const&) @ 0x13ed7080 in /usr/bin/clickhouse

<use_environment_credentials>true</use_environment_credentials>

do you have
AWS_ACCESS_KEY_ID
AWS_ACCESS_SECRET_KEY
environment variables in clickhouse-server container?
Or do you have IMDS or IRSA IAM authorization in your kubernetes cluster?

<use_environment_credentials>true</use_environment_credentials>

do you have AWS_ACCESS_KEY_ID AWS_ACCESS_SECRET_KEY
environment variables in clickhouse-server container?
Or do you have IMDS or IRSA IAM authorization in your kubernetes cluster?

I already set irsa iam for podTemplate，when the clickhouse storage_policy config does not include s3, i can read and write s3 resources normally through awscli. but add s3 to clichouse storage_policy，clickhouse always report error about s3.
root@chi-logs-sandbox-logs-0-0-0:~# aws s3 cp 1 s3://sandbox-titan-logclick
upload: ./1 to s3://sandbox-titan-logclick/1

root@chi-logs-sandbox-logs-0-0-0:/# aws s3 ls sandbox-titan-logclick
PRE mergetree/

error message:
2023.08.03 08:11:23.233048 [ 1 ] {} <Error> Application: filesystem error: in create_directories: Permission denied ["/var/lib/clickhouse/disks/s3"]

do you use securityContext in your CHI?
could you share kubectl get chi logs-sandbox -n <your-namespace> -o yaml?

do you use securityContext in your CHI?
could you share kubectl get chi logs-sandbox -n <your-namespace> -o yaml?

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2023-08-04T02:50:40Z"
  generateName: chi-logs-sandbox-logs-0-0-
  labels:
    clickhouse.altinity.com/app: chop
    clickhouse.altinity.com/chi: logs-sandbox
    clickhouse.altinity.com/cluster: logs
    clickhouse.altinity.com/namespace: clickhouse-operator
    clickhouse.altinity.com/ready: "yes"
    clickhouse.altinity.com/replica: "0"
    clickhouse.altinity.com/settings-version: 998331e652a41ccdb6b67840242224165fdf8516
    clickhouse.altinity.com/shard: "0"
    clickhouse.altinity.com/zookeeper-version: 0aede248a3f055570cc6f52cbbfff5e83842c2a1
    controller-revision-hash: chi-logs-sandbox-logs-0-0-658d557d95
    statefulset.kubernetes.io/pod-name: chi-logs-sandbox-logs-0-0-0
  name: chi-logs-sandbox-logs-0-0-0
  namespace: clickhouse-operator
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: StatefulSet
    name: chi-logs-sandbox-logs-0-0
    uid: 405b076d-fab7-483a-856a-168d3bb3859a
  resourceVersion: "2225214783"
  uid: a7c10e2d-bdbd-4aa8-ac11-b311ead46a8a
spec:
  containers:
  - env:
    - name: AWS_STS_REGIONAL_ENDPOINTS
      value: regional
    - name: AWS_DEFAULT_REGION
      value: cn-northwest-1
    - name: AWS_REGION
      value: cn-northwest-1
    - name: AWS_ROLE_ARN
      value: arn:aws-cn:iam::6666666:role/logclick-sa
    - name: AWS_WEB_IDENTITY_TOKEN_FILE
      value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
    image: 6666666.dkr.ecr.cn-northwest-1.amazonaws.com.cn/clickhouse/clickhouse-server:23.3
    imagePullPolicy: IfNotPresent
    livenessProbe:
      failureThreshold: 10
      httpGet:
        path: /ping
        port: http
        scheme: HTTP
      initialDelaySeconds: 60
      periodSeconds: 3
      successThreshold: 1
      timeoutSeconds: 1
    name: clickhouse-pod
    ports:
    - containerPort: 9000
      name: tcp
      protocol: TCP
    - containerPort: 8123
      name: http
      protocol: TCP
    - containerPort: 9009
      name: interserver
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /ping
        port: http
        scheme: HTTP
      initialDelaySeconds: 10
      periodSeconds: 3
      successThreshold: 1
      timeoutSeconds: 1
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /etc/clickhouse-server/config.d/
      name: chi-logs-sandbox-common-configd
    - mountPath: /etc/clickhouse-server/users.d/
      name: chi-logs-sandbox-common-usersd
    - mountPath: /etc/clickhouse-server/conf.d/
      name: chi-logs-sandbox-deploy-confd-logs-0-0
    - mountPath: /var/lib/clickhouse
      name: data-volumeclaim-template
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-9hdjm
      readOnly: true
    - mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
      name: aws-iam-token
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  hostAliases:
  - hostnames:
    - chi-logs-sandbox-logs-0-0
    ip: <IP_ADDRESS>
  hostname: chi-logs-sandbox-logs-0-0-0
  nodeName: ip-172-24-134-7.cn-northwest-1.compute.internal
  nodeSelector:
    intend: system
    kubernetes.io/arch: arm64
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: logclick-sa
  serviceAccountName: logclick-sa
  subdomain: chi-logs-sandbox-logs-0-0
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: aws-iam-token
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          audience: sts.amazonaws.com
          expirationSeconds: 86400
          path: token
  - name: data-volumeclaim-template
    persistentVolumeClaim:
      claimName: data-volumeclaim-template-chi-logs-sandbox-logs-0-0-0
  - configMap:
      defaultMode: 420
      name: chi-logs-sandbox-common-configd
    name: chi-logs-sandbox-common-configd
  - configMap:
      defaultMode: 420
      name: chi-logs-sandbox-common-usersd
    name: chi-logs-sandbox-common-usersd
  - configMap:
      defaultMode: 420
      name: chi-logs-sandbox-deploy-confd-logs-0-0
    name: chi-logs-sandbox-deploy-confd-logs-0-0
  - name: kube-api-access-9hdjm
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2023-08-04T02:50:40Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2023-08-04T02:50:40Z"
    message: 'containers with unready status: [clickhouse-pod]'
    reason: ContainersNotReady
    status: "False"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2023-08-04T02:50:40Z"
    message: 'containers with unready status: [clickhouse-pod]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2023-08-04T02:50:40Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: containerd://e132498f125a3a4b510f44778ca4349fb84a0782b9976b072d7fe9e1fa0a77a1
    image: 6666666.dkr.ecr.cn-northwest-1.amazonaws.com.cn/clickhouse/clickhouse-server:23.3
    imageID: 6666666.dkr.ecr.cn-northwest-1.amazonaws.com.cn/clickhouse/clickhouse-server@sha256:386bb06acd583d2846470902ea4267c3bdd6ac610ee5be44b8fd04605c67b144
    lastState:
      terminated:
        containerID: containerd://e132498f125a3a4b510f44778ca4349fb84a0782b9976b072d7fe9e1fa0a77a1
        exitCode: 70
        finishedAt: "2023-08-04T03:11:27Z"
        reason: Error
        startedAt: "2023-08-04T03:11:26Z"
    name: clickhouse-pod
    ready: false
    restartCount: 9
    started: false
    state:
      waiting:
        message: back-off 5m0s restarting failed container=clickhouse-pod pod=chi-logs-sandbox-logs-0-0-0_clickhouse-operator(a7c10e2d-bdbd-4aa8-ac11-b374ead46a8a)
        reason: CrashLoopBackOff
        ...
  qosClass: BestEffort
  startTime: "2023-08-04T02:50:40Z"

You shared POD specification instead of sharing CHI manifest
share
kubectl get chi logs-sandbox -n clickhouse-opeator -o yaml
try to change your podTemplates
   podTemplates:
      - name: clickhouse:23.3
        spec:
          serviceAccountName: logclick-sa
          securityContext:
            runAsUser: 101
            runAsGroup: 101
            fsGroup: 101
            capabilities:
              add: [ "CAP_NICE", "CAP_IPC_LOCK" ]

share full log
kubectl log -n clickhouse-operator chi-logs-sandbox-logs-0-0-0 --since=24h

could you remove <metadata>/var/lib/clickhouse/disks/s3/</metadata> usually it calculated by default

@Slach
thank u,  that problem has been solved.  the clickhouse cluster using s3 storage is created successfully.
😁 😁 😁
But I have a question?  all clickhouse nodes use the same s3 endpoint, so is there any data conflict?
If there is a problem, how should I fix it ?
spce:
  configuration:
    files:
      config.d/storage_policy_jbod_2.xml: |
        <yandex>
          <storage_configuration>
            <disks>
              <s3>
                <type>s3</type>
                <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/</endpoint>
...
...

It depends on which table engine do you use
if you use *MergeTree without replication, then you need use separate prefix for each node, something  like that
<endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/{cluster}/{shard}/{replica}/</endpoint>
but endpoint is not substitute system.macros value ;(
so you need setup CHI something like that, and it not looks good
we need to think how to properly handle it in clickhouse-operator
spec:
  configuration:
    clusters:
    - name: cluster
      layout:
        shardsCount: 2
        replicasCount: 2
        replicas:
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-0/replica-0/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-0/replica-1/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-1/replica-0/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-1/replica-1/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>

for ReplicatedMergeTree you could try to use less boilerplate code with allow_remote_fs_zero_copy_replication but also need use unique-by-shard path, so finally spec will look like that
spec:
  configuration:
    clusters:
    - name: cluster
      layout:
        shardsCount: 2
        replicasCount: 2
        shards:
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-0/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>
        - files:
            config.d/s3_disk.xml: |
                <yandex><storage_configuration>
                <disks><s3>
                  <type>s3</type>
                  <endpoint>https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-1/</endpoint>
                  <use_environment_credentials>true</use_environment_credentials>
                </s3></disks>
                </storage_configuration></yandex>

oh, I found less boilerplate code workaround
spec:
  configuration:
    files:
      config.d/s3_disk.xml: |
        <yandex><storage_configuration>
          <disks><s3>
            <type>s3</type>
            <endpoint from_env="S3_ENDPOINT"/>
            <use_environment_credentials>true</use_environment_credentials>
          </s3></disks>
        </storage_configuration></yandex>

  defaults:
    templates:
      podTemplate: shard-and-replica-substitution
  templates:
    podTemplate:
    - name: s3-endpoint
      spec:
        containers:
        - name: clickhouse
          image: clickhouse/clickhouse-server
          env:
          - name: SHARD_NUM
            valueFrom:
               fieldRef: metadata.labels['clickhouse.altinity.com/shard']
          - name: REPLICA_NUM
            valueFrom:
               fieldRef: metadata.labels['clickhouse.altinity.com/replica']
          - name: S3_DISK_ENDPOINT
            value: https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-$(SHARD_NUM)/replica-$(REPLICA_NUM)

@Slach
thank u.  😁

@Slach , using your example, but just fixing a few typos :). With these changes, your boilerplate code is working perfectly!
changes:

renaming env variable name from S3_ENDPOINT to S3_DISK_ENDPOINT
using fieldPath in addition to valueFrom for SHARD_NUM and REPLICA_NUM

spec:
  configuration:
    settings:
      allow_remote_fs_zero_copy_replication: 1
    files:
      config.d/s3_disk.xml: |
        <yandex><storage_configuration>
          <disks><s3>
            <type>s3</type>
            <endpoint from_env="S3_DISK_ENDPOINT"/>
            <use_environment_credentials>true</use_environment_credentials>
          </s3></disks>
        </storage_configuration></yandex>

  defaults:
    templates:
      podTemplate: shard-and-replica-substitution
  templates:
    podTemplate:
    - name: s3-endpoint
      spec:
        containers:
        - name: clickhouse
          image: clickhouse/clickhouse-server
          env:
          - name: SHARD_NUM
            valueFrom:
               fieldRef:
                    fieldPath: metadata.labels['clickhouse.altinity.com/shard']
          - name: REPLICA_NUM
            valueFrom:
               fieldRef:
                    fieldPath: metadata.labels['clickhouse.altinity.com/replica']
          - name: S3_DISK_ENDPOINT
            value: https://s3.cn-northwest-1.amazonaws.com.cn/sandbox-titan-logclick/mergetree/shard-$(SHARD_NUM)/replica-$(REPLICA_NUM)

@SoumyadipAuddy glad to hear it


Send to terminal doubles closing parentheses

Sometimes when I send lines or blocks to the console via ctrl+enter without selecting the code, the ending parentheses will be doubled and stop the code from being run:

If the line/block of code is selected this never happens.
I have not managed to reproduce the bug reliably :(
It happens often enough when executing expect_*() within test_that blocks that I assume it it has something todo with the enclosing brackets. It also only happens on the last statement in a block but does also happen when it is the only one:
test_that("assertInRange works", {
  expect_silent(assertInRange(a = 1:5, range = c(0, 100)))
})

I have tried to reproduce the bug with similarly nested, more generic functions (also "non-function" with same arguments) but could not get the bug to show up.

Hi @assignUser, thank you for reporting this. This is a weird one.
When this problem happens, if you immediately try to send the same line/block again, does the extra parenthesis appear again?
It looks like you are using radian. I think radian does some autocompletion of parenthesis etc. as well, so it is possible that this is some interaction problem between vscode-R and radian. (Although the fact that the error doesn't occur if you select the code does suggest that this is just due to vscode-R.) Next time this happens, could you try opening a plain R terminal, send the line/block to that, and see whether the extra parenthesis appears?
Extra examples might be useful too. The next few times this happens, if you could paste here the code section from the editor, the code that appears in the console, and indicate where the cursor was when you hit Ctrl-Enter, that would be great.

I will swicht to plain r-term and try to reproduce the error.

Can not reproduce at all with R.exe so it must be an issue with radian. I will look into it and open an issue there.

@assignUser Thank you for investigating!
Since it only seems to occur with radian, I thought of something else. Do you have r.bracketedPaste enabled? If not, try enabling that and see if the problem persists.

I have brackted paste activated. Interestingly, when I turn it off the error now happens more often... so very likely that it is an issue with radians input checks

I also had this problem so I turned off radian.auto.match, just add following code to the radian profile: options(radian.auto_match = FALSE)
But apparently this is only a temporary solution, waiting for someone to open an issue there.

I'm having the same issue. For me this happens particularly often when I have a double quote symbol followed by a closing parenthesis.
")
Then the the line appears in the terminal
c("example", "example")
")

The cursor then is at the beginning of the second line.

Has anyone found a solution to this yet? Starting to drive me bonkers. The ") is exactly for me as well.

The issue resolves with options(radian.auto_match = FALSE).
However, yes the issue occurs under latest build of and radian version: 0.5.11 and ikuyadeu.r 2.3.1, with r.bracketedPaste enabled.


discv4: Force new bonds with bootnodes when bootstrapping

Before we started persisting bond information in our NodeDB we'd always
perform a new bond with our bootnodes during bootstrap, ensuring they
get added to our RT so that we can query them but also ensuring they
have our latest ENR. This change restores that behaviour by having
bootstrap() pass force_new_bond=True when bonding with bootnodes
Also turns DiscoveryService.bootstrap_nodes into an @property that
always loads the last version of our bootnodes from the DB instead
of the ones passed at instantiation time, which might get outdated.

Interesting, the CI failure seems to come from a failed test_logger_configuration test.


Fixes qualifier XML parsing bug

Co-authored-by: Eduardo Buitrago<EMAIL_ADDRESS>Signed-off-by: Frank Schnicke<EMAIL_ADDRESS>

It looks good to me.
The tests run locally without the changes in the Qualifier class, so I guess it is more for clarity.


feat: add widget schema

Add schema validation and IntelliSense for WidgetProperties.json

Should I squash these commits?

I can squash it.


[Polkadot Wiki Migration] Common Errors

The "Common Errors" page was migrated from the existing Polkadot Wiki page: https://wiki.polkadot.network/docs/maintain-errors/

@Luca all I did was add qoutes around file name on .pages page but it decided your review is now stale so if you can give a fresh sign off, that would be amazing. Please and thank you!


Host ping

It can happen that the host ms doesn't update during a game
Trigger: Unknown

Seems fixed in e94e26d873771f284d96626a58fbc6c2d3fe025b


Build position independent code

Fixes issue arising from #544. PTAL @patmarion.

im curious, what's the use case for building director with static libs?  is it part of a bazel build system for director?


EXPORT docs notes from QA

EXPORT doesn't show up in jobs -- it shows up in SHOW QUERIES and can be cancelled like other queries. Some day we might make jobs for them, but for now we need to let users know where to look.

From https://github.com/cockroachdb/cockroach/issues/25223:

The nullas` docs have a typo and read as if they’re still talking about IMPORT

Not a bug, but unicode emoji aren’t valid delimiters and that makes me sad :(

We should mention that only valid ascii chars can be used as csv delimiters.

The documentation of the GCS parameters doesn’t make sense, and appears incorrect.

It equates not specifying AUTH with setting AUTH=default, which isn’t true in practice:

root@:26257/defaultdb> EXPORT INTO CSV 'gs://cockroach-alex/csv' WITH delimiter=e'\u03B1' FROM SELECT * from startrek.quotes;
pq: write to google cloud: googleapi: Error 403<EMAIL_ADDRESS>does not have storage.objects.create access to cockroach-alex/csv/n1.0.csv., forbidden
root@:26257/defaultdb> EXPORT INTO CSV 'gs://cockroach-alex/csv?AUTH=default' WITH delimiter=e'\u03B1' FROM SELECT * from startrek.quotes;
pq: expected settings value for cloudstorage.gs.default.key
root@:26257/defaultdb> EXPORT INTO CSV 'gs://cockroach-alex/csv?AUTH=implicit' WITH delimiter=e'\u03B1' FROM SELECT * from startrek.quotes;
pq: write to google cloud: googleapi: Error 403<EMAIL_ADDRESS>does not have storage.objects.create access to cockroach-alex/csv/n1.0.csv., forbidden

Should mention that it is important to pick nullas values unlikely to appear in the exported data to avoid collusions.

I fixed the GCS auth and nullas documentation in https://github.com/cockroachdb/docs/pull/3225

@Amruta-Ranade, @lhirata, did either of you document EXPORT? If so, maybe you could take this issue?

I can take this


Remove scripts.

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

Project coverage is 92.29%. Comparing base (a8d93a0) to head (f8395f7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #367      +/-   ##
==========================================
+ Coverage   92.00%   92.29%   +0.29%
==========================================
  Files          53       53
  Lines        3792     3792
  Branches      352      353       +1
==========================================
+ Hits         3489     3500      +11
+ Misses        302      291      -11
  Partials        1        1

Flag
Coverage Δ

unittests
92.29% <ø> (+0.29%)
:arrow_up:

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

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


Broken Link in Readme

Hello
I want to use the passthrough controllers test function and the link "integration tests" in the Readme is broken under "Examples". It gives me an "404" error. A quick explanation how to use the test function would be also nice because the demo.launch doesn't exist anymore in this github repo.
Just to be sure: This is atm the passthrough controller that we should use?
Regards.

Hi @AlcatrAAz
Thanks for pointing this out. I'll fix that. The two test scripts that it should reference are here and here.

Just to be sure: This is atm the passthrough controller that we should use?

Yes, this is the right package for pass_through_controllers.
Until recent PRs are merged into the driver's mainline, a minimal setup could look like as described in this post.
We are currently reworking the driver's test_move script.  The draft is here. You could have a look at that to find out how to use the different controller interfaces.


MaxMix classified as virus on PC

Describe the bug
MaxMix has been removed by Windows Virus & threat protection and consequently been deleted. Redownload is also not possible as it immediately gets classified as virus and deleted.
To Reproduce
Well I guess try to download MaxMix without completely disabling your vanilla Windows security options.
Expected behavior
I exptected it not to be classified as a virus
Screenshots
Can add later if necessary
System information:

OS version: Windows 10 Professional Version 1909 (Build 18363.1139)
Firmware version: MaxMix device says 1.4.7 built on Nov 2 2020

https://github.com/t3knomanzer/maxmix-software/issues/213

Yes, but now it's not just third party programs but also the native Windows one

it doesnt change what was said.

Appreciate it, thank you

it's annoying but microsofts response tells me they dont really give a damn. all we can do is submit the files to the anti virus programs and hope they remove the flag.


Create some github actions to check or automatically update to the correctly translation link.

https://github.com/microsoft/IoT-For-Beginners/blob/main/TRANSLATIONS.md#links
Links
When translating, please update links to the translated files. If a file hasn't been translated, keep the link to the English version. As each file is in a translations folder, you will also need to update the link depth for hyperlinks and images.

I found that many links didn't link to the correctly translation file.
Maybe we can create a github actions to check/update it?

That would be a cool feature! Is this something you want to work on?

That would be a cool feature! Is this something you want to work on?

It would be better to let experienced developers do it.
I haven't been exposed to git hook and github actions.
Although I can try to do while learning it.
But I am afraid that I will introduce some strange bugs.😂

If you are interested in learning it then this could be a great way to start!


error handling in xhrHttpClient

in the rejectOnTerminalEvent of xhrHttpClient, when throw error for "error" event, the xhr.response is not passed, instead it passes undefined.
xhr.addEventListener("error", () => reject(new RestError(Failed to send request to ${request.url}, RestError.REQUEST_SEND_ERROR, undefined, request)));
can xhr.response be added to replace undefined above?
So that we can know the details of error to handle it correctly.

the third parameter of RestError constructor is statusCode. We could pass xhr.response as the last parameter, after request.  One concern is that the error response may contain sensitive information and we probably don't want to leak everything in the error?

the third parameter of RestError constructor is statusCode. We could pass xhr.response as the last parameter, after request.  One concern is that the error response may contain sensitive information and we probably don't want to leak everything in the error?


fix(workers): event improvements

Motivation/Description of the PR

Emit the workers.result event

You could get test stats when running with workers

const { event } = require('codeceptjs');

module.exports = function() {

  event.dispatcher.on(event.workers.result, function (result) {

    console.log(result);

  });
}

// in console log
FAIL  | 7 passed, 1 failed, 1 skipped   // 2s
{
    "tests": {
        "passed": [
            {
                "type": "test",
                "title": "Assert @C3",
                "body": "() => { }",
                "async": 0,
                "sync": true,
                "_timeout": 2000,
                "_slow": 75,
                "_retries": -1,
                "timedOut": false,
                "_currentRetry": 0,
                "pending": false,
                "opts": {},
                "tags": [
                    "@C3"
                ],
                "uid": "xe4q1HdqpRrZG5dPe0JG+A",
                "workerIndex": 3,
                "retries": -1,
                "duration": 493,
                "err": null,
                "parent": {
                    "title": "My",
                    "ctx": {},
                    "suites": [],
                    "tests": [],
                    "root": false,
                    "pending": false,
                    "_retries": -1,
                    "_beforeEach": [],
                    "_beforeAll": [],
                    "_afterEach": [],
                    "_afterAll": [],
                    "_timeout": 2000,
                    "_slow": 75,
                    "_bail": false,
                    "_onlyTests": [],
                    "_onlySuites": [],
                    "delayed": false
                },
                "steps": [
                    {
                        "actor": "I",
                        "name": "amOnPage",
                        "status": "success",
                        "agrs": [
                            "https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST"
                        ],
                        "startedAt":<PHONE_NUMBER>610,
                        "startTime":<PHONE_NUMBER>611,
                        "endTime":<PHONE_NUMBER>098,
                        "finishedAt":<PHONE_NUMBER>098,
                        "duration": 488
                    },
                    {
                        "actor": "I",
                        "name": "grabCurrentUrl",
                        "status": "success",
                        "agrs": [],
                        "startedAt":<PHONE_NUMBER>098,
                        "startTime":<PHONE_NUMBER>098,
                        "endTime":<PHONE_NUMBER>099,
                        "finishedAt":<PHONE_NUMBER>099,
                        "duration": 1
                    }
                ]
            }
        ],
        "failed": [],
        "skipped": []
    }
}

CodeceptJS also exposes the env var process.env.RUNS_WITH_WORKERS when running tests with run-workers command so that you could handle the events better in your plugins/helpers
const { event } = require('codeceptjs');

module.exports = function() {
    // this event would trigger the  `_publishResultsToTestrail` when running `run-workers` command
  event.dispatcher.on(event.workers.result, async () => {
    await _publishResultsToTestrail();
  });

  // this event would not trigger the  `_publishResultsToTestrail` multiple times when running `run-workers` command
  event.dispatcher.on(event.all.result, async () => {
      // when running `run` command, this env var is undefined
    if (!process.env.RUNS_WITH_WORKERS) await _publishResultsToTestrail();
  });
}

Type of change

[ ] :bug: Bug fix

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[ ] Lint checking (Run npm run lint)
[ ] Local tests are passed (Run npm test)

@DavertMik can you please re-check changes ?

@DavertMik  can you please review? Need this changes/fixes


[HOLD #22875][ECard Settings] - Allow users to update the card address via  “Update address” link

HOLD ON https://github.com/Expensify/App/issues/22875
Design Doc Section
https://docs.google.com/document/d/1rFxJ78vz5On6zSWzYa51B9v-tyLdC5pUsBeLOLig0t4/edit#bookmark=id.22f8lolqi418
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c19b21da848eb3a6
Upwork Job ID:<PHONE_NUMBER>863567360
Last Price Increase: 2023-07-14

cc @pac-guerreiro

Could you assign me to this @grgia ? 😄

I am Michał from Callstack - expert contributor group. I’d like to work on this job.

In progress

on hold

^

^

@narefyev91 do you think you'll be able to review this today?

@narefyev91 do you think you'll be able to review this today?

Today unfortunately no - it's already late in my timezone - i can prioritise as a first item in the morning tomorrow

Sounds good, ty!


Async validators

Currently async validators are not supported by class-validator
Once this is implemented, update the docs and add tests to verify.

🎉  @pleerock has implemented async functionality (along with a lot of extra goodies) in https://github.com/pleerock/class-validator/pull/14 All that is needed now is documentation update.

I have merged branch to the master. I made most of things I wanted to do. Basically what is left is to test everything + a bit more test coverage

Awesome thanks, and nice work 😄


Datasource CSV file

When I try to use data from local CSV file, I get error 'ID' is not table column, but I have the table headers as given in the example. Does is work only with SQL datasource?

@GyurkanM  Sorry for the wait.
column names are case sensitive at the moment.
the default ID column name is lowercase id.


deployed environment not processing production variables

it instantly crashes my app when I go to fabric fastlane it to TestFlight (cannot process production env variables)… which is odd behavior because it works perfectly on my local machine, and xcode lets me seamlessly toggle between dev and production variables using schemas. But if flawlessly working locally, do you have any clues as to why it’s not processing env production variables when deployed? fastlane does not overlook any changes made to projects in xcode, and logs are not leaving any clues

@AVEmedia what does your Fastfile look like for iOS? I use Fastlane and it works fine for me.

@AVEmedia Are you using ENVFILE?
@kevinnguy are you using the default .env?
Based on https://github.com/shakepay/react-native-config/blob/master/ios/ReactNativeConfig/BuildDotenvConfig.ruby there's no support for ENVFILE which can explain the difference.

Addressed by this PR: https://github.com/luggit/react-native-config/pull/145

Thanks folks!


Add prometheus_scrape support.

Also tested it end-to-end with the built provider.
(raised https://linear.app/betterstack/issue/STA-900/bug-cannot-select-any-team-other-than-the-default-when-creating-a-team) while testing...

Sigh. I'll look at the failed checks in the morning.


Provide support for passing build flags down the dependency chain

Abstract
poudriere creates packages from ports in isolated jails, which feature their own set of environment variables that are usually set on starting the jail. A dependency X of a port Y thus is unaware of any environment settings the ports framework does on Y's behalf.
In some situations, it is necessary that environment settings are passed down the build chain to allow dependencies to build correctly based on whatever the framework decides "to be the best" for port Y.
Problem Space
As of writing, the FreeBSD ports tree allows users and ports to build, install and use different versions of the Python language (lang/python) at the same time. Ports using the Python bits of the ports framework (namely Mk/Uses/python.mk) are enabled to choose a specific Python version or can be marked to support a series of Python versions, giving users (and other ports) the opportunity and flexibility to pick their specific preferred and supported version of the Python language.
The pre-pkg era did not allow ports to install packages for different Python versions, which used the same origin information, which was resolved with the availability of pkg 1.3. The ports and pkg framework are capable of installing e.g. py33-foo and py27-foo originating from devel/py-foo at the same time.
A single poudriere instance however is unable to create such a set of packages. Within a single run, it can only create a package py33-foo or py27-foo, but not both. This in turn limits the possibilities of creating different version-specific packages based on the same origin and won't allow different ports to refer to a shared dependency, which would support those versions.
Previous Workarounds
The limiting situation was resolved in the pre-pkg era by duplicating ports, renaming them and referring to either one of them within the specific consumers.
A port py-onlypy33 may be limited to Python 3.3 and may depend on py-foo, which supports not only Python 3.3, but also Python 2.7. Another port py-onlypy27may also depend on py-foo, but only works with Python 2.7. This lead to the typical following workaround:

Create port for py-foo, using Python 2.7
Create port for py33-foo, using Python 3.3
py-onlypy33 refers to py33-foo in the BUILD_DEPENDS or RUN_DEPENDS
py-onlypy27 refers to py-foo in the BUILD_DEPENDS or RUN_DEPENDS

Current Situation within the Ports
With pkg 1.3 and newer, a workaround as shown above is not necessary anymore. The Python bits of the ports framework allow ports to pass certain flags (specifically DEPENDS_ARGS=PYTHON_VERSION=<versionnumber>) to their dependencies, which can (re)act according to those. If a user wants to install py-onlypy33, the following will happen:

User executes make install for py-onlypy33
python.mk will append PYTHON_VERSION=python3.3 to the DEPENDS_ARGS
ports framework traverses into the py-foodependency
python.mk for py-foo notices PYTHON_VERSION and will instruct it to be built for Python 3.3
py33-foo is installed
py-onlypy33 detects the proper py33-foo package and will continue to build and install

If the user is going to install py-onlypy27, the following will happen:

User executes make install for py-onlypy27
python.mk will append PYTHON_VERSION=python2.7 to the DEPENDS_ARGS
ports framework traverses into the py-foodependency
python.mk for py-foo notices PYTHON_VERSION and will instruct it to be built for Python 2.7
py27-foo is installed
py-onlypy27 detects the proper py27-foo package and will continue to build and install

Current Situation with Poudriere
Poudriere builds ports and their dependencies in (mostly) isolated jail environments, with the ability to parallelize builds. Information, such as the DEPENDS_ARGS from above are not shared or passed down the build chain. This results in the following behaviour for py-onlypy33:

poudriere gathers dependencies for py-onlypy33
poudriere runs the build for py-foo using the configured default python version (e.g. 2.7)
poudriere registers a package py27-foo
poudriere raises an error for py-onlypy33 due to the unsatisfied dependency for py33-foo

Solution
Poudriere needs to be able to pass around specific flags or settings, which can be set by a port or the ports framework. The ports framework may define a specific set of global variables, which should be respected by package builders (poudriere, tinderbox, etc.).
To prevent misbehaviour and to avoid limiting the parallelization features of package builders, those global variables should be available prior to any specific task for a port (make fetch, make patch, etc.), so that the internal package builder workflow may look like:

detect port
calculate global flags
gather dependencies to be built (with the global flags)
build dependencies (with the global flags)
build port

A single variable PACKAGE_BUILD_FLAGS may be sufficient and should be able to be passed down to dependencies of dependencies of dependencies of ...

I'm taking another look at this. I noticed that even bsd.ruby.mk has the DEPENDS_ARGS. I misunderstood some the changes that were made leading up to this problem.

Caching DEPENDS_ARGS per port and passing it to their dependencies may discover new packages that need to be built.
If we get dependencies B and C from PortA and dependencies C and D from PortB, we need to lookup further dependencies given the tuples B:PortA_DEPENDS_ARGS, C:PortA_DEPENDS_ARGS, C:PortB_DEPENDS_ARGS, and D:PortB_DEPENDS_ARGS. The DEPENDS_ARGS may all match so there would only be 1 actual lookup, but if they don't then we can discover new PKGNAMES from those lookups to queue. It could end up with A B C D, or A B B-II C C-II D.
I think implementing that makes sense and would solve this.
The problem then is that it's not easy with the current code (especially to keep performance acceptable for 24000 port build startups) but I do consider it a bug and in need of fixing.

And those DEPENDS_ARGS for the generated package would have to be passed into the actual build of it as well of course.

I think to fix this and set us up for the future of sub-packages, everything tracking an origin needs to instead track a "package" object which has stuff like the DEPENDS_ARGS and the origin it came from for the sake of building. The queue is already all pkgname-oriented at least.

dns/unbound/Makefile:DEPENDS_ARGS+=     WITH_GOST=yes
dns/unbound/Makefile:DEPENDS_ARGS+=     WITH_ECDSA=yes

These are wrong since we don't generally support multiple packages installed at once but the plan with Poudriere will allow supporting something like this in the future perhaps.

@bapt 's comment on this is that the queue should track origin:key=vaue:key2=value which would be an extensible format to support variants and other features in the future.

There's 2 implementations that tackle this problem.
https://github.com/bbqsrc/poudriere/commit/73dfbc4a88b79ca2288c0732522e04f38eabdcd8 and https://github.com/freebsd/poudriere/pull/314

I have a PoC for this working.

testport net/tiny-network-utilities

Current:
[00:00:08] ====>> Debug: net/tiny-network-utilities |  depends on net/py-netifaces
[00:00:08] ====>> Debug: net/tiny-network-utilities |  depends on textproc/py-hexdump
[00:00:09] ====>> Debug: net/py-netifaces depends on lang/python27
[00:00:09] ====>> Debug: net/py-netifaces depends on devel/py-setuptools27
[00:00:09] ====>> Debug: devel/py-setuptools27 depends on lang/python27
[00:00:09] ====>> Debug: textproc/py-hexdump depends on devel/py-setuptools27
[00:00:09] ====>> Debug: textproc/py-hexdump depends on lang/python27

Fixed:
[00:00:08] ====>> Debug: net/tiny-network-utilities | tiny-network-utilities-0.150519 depends on net/py-netifaces
[00:00:08] ====>> Debug: net/tiny-network-utilities | tiny-network-utilities-0.150519 depends on textproc/py-hexdump
[00:00:10] ====>> Debug: net/py-netifaces | py34-netifaces-0.10.4 depends on lang/python34 | python34-3.4.4_2
[00:00:10] ====>> Debug: net/py-netifaces | py34-netifaces-0.10.4 depends on devel/py-setuptools34 | py34-setuptools34-20.0
[00:00:10] ====>> Debug: textproc/py-hexdump | py34-hexdump-3.3 depends on devel/py-setuptools34 | py34-setuptools34-20.0
[00:00:10] ====>> Debug: textproc/py-hexdump | py34-hexdump-3.3 depends on lang/python34 | python34-3.4.4_2

There's several challenges to fix still. One is that for bulk -a we optimize the queue by assuming that we will visit all origins once when looking up dependencies and thus don't do recursive dependency lookup.  That optimization will have to come out to make this work properly.  That could seriously hurt the package build times on the cluster.  So I need to come up with more optimizations for it.
Another challenge is the TRIM_ORPHANED_BUILD_DEPS feature which only works off of origins.  This feature is enabled by default since it is an optimization to avoid building something unneeded.
What I've done is make a 2-tuple of ORIGIN:DEPENDS_ARGS to map to a particular PKGNAME.  For the VARIANTS feature I would just need to add in the VARIANT as well. It's not too bad to extend for that, but I suspect that the proper VARIANTS implementation should be using DEPENDS_ARGS anyhow, so there may be nothing that needs to be extended.

Actually I will just add in a VARIANT now to the tuple.  While a port may need to pass its VARIANT in DEPENDS_ARGS, the port itself relies on a particular VARIANT to determine its PKGNAME.  So it does need to go into the set.

This may also break some ports.
Example at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195342 with fix at https://bz-attachments.freebsd.org/attachment.cgi?id=150142

Is there an alternative for the meantime? I'm trying to build sysutils/py3-iocage, which requires Python 3.6 and I keep getting the following. Not sure what I should do.
[00:00:06] ====>> [01][00:00:00] Starting build of www/py3-requests
[00:00:11] ====>> [01][00:00:05] Finished build of www/py3-requests: Failed: run-depends
[00:00:11] ====>> [01][00:00:05] Skipping build of sysutils/py3-iocage: Dependent port www/py3-requests failed

@johnramsden If your tree is up to date, this is an issue with the latest py-requests commit, which requires py-chardet >= 3.0.2, but the py3-chardet port doesn't inherit its PORTVERSION from the py-chardet port (it should be a slave port). I'm on it

@koobs Yeah, my tree is up to date. Is there anything I need to do, or are you saying I just need to wait for an update to py3-chardet.

@koobs has fixed it. Try updating your ports once again

See https://svnweb.freebsd.org/changeset/ports/442754

@woodsb02 So i updated again, no change.
root@poudriere:/usr/home/john # poudriere jail -u -j 11amd64
[00:00:00] ====>> Upgrading using ftp
/etc/resolv.conf -> /usr/local/poudriere/jails/11amd64/etc/resolv.conf
mount: /usr/local/poudriere/jails/11amd64/compat: No such file or directory
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching metadata signature for 11.0-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

No updates needed to update system to 11.0-RELEASE-p10.
No updates are available to install.
Run '/usr/sbin/freebsd-update.fixed fetch' first.
11.0-RELEASE-p10
[00:00:25] ====>> Recording filesystem state for clean... done

root@poudriere:/usr/home/john # poudriere ports -u -p HEAD
[00:00:00] ====>> Updating portstree "HEAD"
Looking up portsnap.FreeBSD.org mirrors... 6 mirrors found.
Fetching snapshot tag from your-org.portsnap.freebsd.org... done.
Ports tree hasn't changed since last snapshot.
No updates needed.
Ports tree is already up to date.

root@poudriere:/usr/home/john # poudriere options -j 11amd64 -p HEAD -f /usr/local/etc/poudriere.d/port-list-iocage
[00:00:00] ====>> Appending to make.conf: /usr/local/etc/poudriere.d/11amd64-make.conf
===> Setting user-specified options for py36-iocage-<IP_ADDRESS> and dependencies

root@poudriere:/usr/home/john # poudriere bulk -j 11amd64 -p HEAD -f /usr/local/etc/poudriere.d/port-list-iocage
[00:00:00] ====>> Creating the reference jail... done
[00:00:00] ====>> Mounting system devices for 11amd64-HEAD
[00:00:00] ====>> Mounting ports/packages/distfiles
[00:00:00] ====>> Stashing existing package repository
[00:00:00] ====>> Mounting packages from: /usr/local/poudriere/data/packages/11amd64-HEAD
[00:00:00] ====>> Copying /var/db/ports from: /usr/local/etc/poudriere.d/11amd64-options
[00:00:00] ====>> Appending to make.conf: /usr/local/etc/poudriere.d/11amd64-make.conf
/etc/resolv.conf -> /usr/local/poudriere/data/.m/11amd64-HEAD/ref/etc/resolv.conf
[00:00:00] ====>> Starting jail 11amd64-HEAD
[00:00:00] ====>> Logs: /usr/local/poudriere/data/logs/bulk/11amd64-HEAD/2017-06-06_10h34m22s
[00:00:00] ====>> WWW: http://poudriere.ramsden.network//build.html?mastername=11amd64-HEAD&build=2017-06-06_10h34m22s
[00:00:00] ====>> Loading MOVED
[00:00:01] ====>> Calculating ports order and dependencies
[00:00:03] ====>> Sanity checking the repository
[00:00:03] ====>> Checking packages for incremental rebuild needed
[00:00:05] ====>> Deleting stale symlinks
[00:00:05] ====>> Deleting empty directories
[00:00:05] ====>> Cleaning the build queue
[00:00:05] ====>> Recording filesystem state for prepkg... done
[00:00:05] ====>> Building 2 packages using 2 builders
[00:00:05] ====>> Starting/Cloning builders
[00:00:06] ====>> Hit CTRL+t at any time to see build progress and stats
[00:00:06] ====>> [01][00:00:00] Starting build of www/py3-requests
[00:00:10] ====>> [01][00:00:04] Finished build of www/py3-requests: Failed: run-depends
[00:00:11] ====>> [01][00:00:05] Skipping build of sysutils/py3-iocage: Dependent port www/py3-requests failed
[00:00:11] ====>> Stopping 2 builders
[00:00:11] ====>> No package built, no need to update the repository
[00:00:11] ====>> Committing packages to repository
[00:00:11] ====>> Removing old packages
[00:00:11] ====>> Failed ports: www/py3-requests:run-depends
[00:00:11] ====>> Skipped ports: sysutils/py3-iocage
[11amd64-HEAD] [2017-06-06_10h34m22s] [committing:] Queued: 2  Built: 0  Failed: 1  Skipped: 1  Ignored: 0  Tobuild: 0   Time: 00:00:12
[00:00:11] ====>> Logs: /usr/local/poudriere/data/logs/bulk/11amd64-HEAD/2017-06-06_10h34m22s
[00:00:11] ====>> WWW: http://poudriere.ramsden.network//build.html?mastername=11amd64-HEAD&build=2017-06-06_10h34m22s
[00:00:11] ====>> Cleaning up
[00:00:11] ====>> Unmounting file systems

@johnramsden @woodsb02  It's failing for another dependency now (py3-idna, you can see by trying to build py3-requests), but this is the wrong place to go over this in detail (freenode irc or bugzilla is better)
Can everyone clean up (delete)  their comments please

There's an actual patch to resolve this and to take it a step further to support FLAVORS in #483.  Note the problem is fixed in that PR even without FLAVORS; FLAVORS is just the next step.

6ce2d0b58733ea86df26668a98e0ad356c1a6318 dropped this support. FLAVORS is the replacement.


Help with maintenance?

Hello there, friends of Authority. :) I'm going to mention you all to get your attention.
@mguymon @kevmoo @adamhunter @MP211 @sanemat @div @christhekeele @gergoerdosi @capicue @scottmartin @awinograd @binarypaladin
In the last year, I haven't used Authority at all, just because of the kind of projects I'm doing. Lately, when PRs come in or questions on usage, I have to try to remember how things are supposed to work. I've been letting issues sit for too long. In other words, I'm not the best maintainer right now.
I'm sure you're all busy, so feel free to ignore this, but each of you lovely folks has contributed to the project in the past. If you'd like to have a commit bit on the project or take a more active role in answering issues, I'd love to have some help.
Anyone?

I'm not super familiar with the codebase right now, however I'm working on a project that makes heavy use of this. I'm going to have a discussion about "adopting" the project shortly (probably next week) and see if that yields anything.
I'd love to help either way.

Yaaaaaay! :clap: :clap: :smile: Thank you!
If you dive into the codebase and find anything confusing, please open an issue and let's make it clearer.

Also, yay for @sanemat doing this: https://github.com/nathanl/authority/pull/95!

I've just made @sanemat a collaborator on the project and am open to adding others. Here's my thoughts on how we can work together:

I'd love to have help answering issues
I'd like to give a commit bit to some of you (as I've just done for sanemat)
If you get a commit bit, feel free to do small things like fixing typos on master, but let's use pull requests for anything bigger. I'll do the same.
At least for now, I'm going to keep the ability to actually release to rubygems restricted to me and @adamhunter (my friend in real life). I feel I must take responsibility for that, because releasing means shipping code to a lot of servers and they trust this project not to ship malicious code. So I will review everything before it goes out.

I've been on tangents for the last year, too, but it looks like I'm coming back around to more user-based stuff and Authority is still my weapon of choice.
I'd love to be helpful, even if just in answering issues and reviewing requests.

@christhekeele Yay! That would be awesome. :smile: Yes, and I think it should be capitalized. Friends of Authority.
@christhekeele and @binarypaladin, I hereby give you commit bits. Use them wisely. Like lightsabers, or something. :smile:

Great! I'll contribute backward/forward compatibility :sunglasses:

Yay! :)

I just had a talk with our CEO and he's cool with us spending time to maintain the project. So I'll be able to at least pop in a bit of time a week to review stuff even as a matter of work. As such, I'll dig into the codebase. (Plus, there are a couple features I was thinking of adding anyway.)

@binarypaladin Yay! :hand: :hand: :smile:


Double check cmp_group and pinfo_role

when user set different AMI name. Remove cmp_group if users change to a different AMI

This address the issue that users switch AMI and we don't auto remove cmp_group or validate if pinfo_role is set


old merged PR listed for a wrong release

PR with old commit that waited for a long time before merging may be listed for wrong release.
For example github_changelog_generator gravitystorm/openstreetmap-carto --no-issues lists adding antarctic icesheet rendering based on preprocessed shapefiles (https://github.com/gravitystorm/openstreetmap-carto/pull/1540) for v2.30 instead of v2.32 - see https://github.com/gravitystorm/openstreetmap-carto/compare/v2.31.0...v2.32.0

@matkoniecz the PR appears in the next version tag after merging, isn't it?
You can manually specify in which version PR was merged by setting milestone of PR  the same name as tag of required version.
p.s.
Any ideas, how to detect, in under which tag this PR should presented?

We don't use milestones in that way.

Any ideas, how to detect, in under which tag this PR should presented?

The earliest tag where all the commits in the PR are present

@pnorman I don't think that it will be correct behaviour in most of the cases.
If PR is merged after tag is placed in general it means that this feature will appear in next release.

I generated a changelog, and gravitystorm/openstreetmap-carto#1540 appears under v2.30.0. This PR only had one commit, https://github.com/gravitystorm/openstreetmap-carto/commit/89301f1394698e6634d58092f68e156e73e7cd38
If you look at the tags this is part of on the web interface, it is only part of v2.32.0. You can verify this with git name-rev --tags 89301f1394698e6634d58092f68e156e73e7cd38 which shows it is tags/v2.32.0~6^2

@pnorman not matter, when it was committed. Because it could be long-term feature, that developer prepare for next releases. In that case determining by last commit will be incorrect.
And I can be sure for 100% that this feature in production only after merging of related branch.

git name-rev unambiguously tells you that it is part of v2.32.0

@pnorman not matter, when it was committed

I'm not sure what you're trying to say here. If you're trying to say the commit date doesn't matter, that is correct. e.g. "especially since comparing commit dates in a project’s history doesn’t necessarily correspond to the order in which they were applied" from http://mislav.uniqpath.com/2010/07/git-tips/

I've seen a similar issue when needing to push a patch for an old release; patches applied on the mainline before the patch (v0.11.1) are showing up in the changelog there instead of v0.12.0 which is where they actually got released. Sorry, this was a private repo but I can probably generate an example in a simple repository.

@Oscil8 it would be great, if you can provide some examples.
I'm using https://github.com/skywinder/changelog_test/ repo to test change log behaviour. If you can reproduce this case in this repo - it would significantly helps me to understand this issue.
I can get you access to this repo to create necessary tags, commits and issues.

@matkoniecz  This error could related with #271. Please check, how it works now!

"adding antarctic icesheet rendering based on preprocessed shapefiles #1540 (imagico)" is still listed for v.2.30.0

same issue here!
I commit my changes in #78 branch and I commit a pull request against master. After that, someone label master with 3.0.4 (but #78 is still pending to merge, nobody has review the pull request). After releasing the 3.0.4 someone reviewed and merge the #78 in master. And the next time the CHANGELOG is generated, the #78 is under the 3.0.4 automagically. I don't think that this is the expected behavior, but having the #78 as part of the next release

@aparraga  which repository are you talking about? let me have a look on it.

I have just tested this, and with the current release of github_changelog_generator, the pull request from openstreetmap-carto is now correctly listed under release 2.32.0.
So, this ticket can be closed.
/cc @olleolleolle


Zoom feature - Second iteration

After conversation at the previous PR, we decided to move to an approach where we modify the context of the canvas to draw elements and make modifications on cursors positioning instead than mapping on all the elements.
As it's pretty much a different way to approach the feature, I have rebuilt it from scratch, hence this second PR deprecating the previous one.
-- ⚠ WIP ⚠ --
TODO:

[ ] Handle missing mouse movements like dragging.

(I didn't want to open a PR just yet, I was just drafting around, sorry)

You can keep it and add a DO-NOT-MERGE label.

@enzoferey btw, there are some drastic changes to index.tsx that will hopefully land tonight in https://github.com/excalidraw/excalidraw/pull/701. Something to keep in mind.

You can keep it and add a DO-NOT-MERGE label.

All right, I'm reopening then to avoid confusion. Sorry again, I have this weird habit of using PRs as TODO lists sometimes 😄

@enzoferey btw, there are some drastic changes to index.tsx that will hopefully land tonight in #701. Something to keep in mind.

Thanks for pointing it out. I haven't changed that in that file yet (it's the missing part), so it's perfect 👍

This is super exciting!
Few things I observed playing around:

Zooming should respect where the center of the screen is. If the center of the screen is at (1000, 1000) and you zoom x2, the center of the screen should still be at (1000, 1000) and not (500, 500) as it is currently.
Mouse selection doesn't seem to be respecting zoom level and is off
Scrolling at deep zoom level is slower. We should adjust scrolling speed so that no matter the zoom level, it moves pixels on the screen at the same speed.

The code looks good, the way I would expect zoom to be interacting with the rest of the system!

Few things I observed playing around

Yes, that's why I didn't want to open the PR just yet, it's work in progress 😄
Looks like I will be able to finish today 👍

So we have some issues about using the center of the canvas as the origin of the zoom @vjeux (and whoever wants to participate).
If you look at the drawing below, it represents the same square in a 2D environment where the origin is (6, 6). You should be able to get from left to right zooming 1 unit. Then, the closest point to the origin should translate towards it by that amount of units and the other points of the shape should redimension proportionally based on this first point once again based on amount of units you are zooming.
For sake of simplicity, as it has no impact on this discussion, I moved (-1, -1) the top right vertex (which wouldn't normally happen because 1^2 + 1^2 !== 1^2).

Do we agree this is how we expect the zoom feature to work ? As far as I can tell, it works like this on every graphic tool.
Then, the problem is that in order to know there she shape is while some zoom is applied (for hit testing and others), you have no way to calculate it except if you recreate canva's scale + translate effect that I implemented here and here for every type of element. Apart from this being pretty advanced maths, it also forces us to pass around canvas dimensions everywhere where we need to do these maths because there is no other way of knowing the origin otherwise.
Finally, if we take this path, our maths might not be totally matching rough-js + canvas transform maths and we should maybe reconsider going back to my previous implementation where I didn't use canva's scale to render the elements but I applied the same formulas for both render and hit check. We can avoid using .map all over the place and apply it inline though.
As this has a big impact on the codebase and doing maths is no easy task, I prefer to ask before spending hours on this.

We're gonna likely have to discuss and resolve conflicts in renderScene together, because I made some significant changes to it in the perf optim PR: https://github.com/excalidraw/excalidraw/pull/655/files#diff-accc264e5e8f7fb925915ce58bc15363

Sure thing @dwelle ! It doesn't look like you have made so many changes, pretty sure I can incorporate them easily. Let me finish this thing today hopefully and we will reconcíliate afterwards 👍

I'm planning to do some final checks on my PR, and merge, probably in a few hours tops. Is that ok, or do you want to merge yours, first?

@dwelle Let's merge yours first, I will adapt to it as mine will require more testing.

Let's ship it! 🚢

This PR is not ready yet (from my testing, I'll do a proper review when @enzoferey says it's ready), and nor is the perf PR (I've found several issues).

But, from my 5-min testing, here are several issues:

[ ] Element visibility doesn't work well with zoom (i.e., zoom-in/out and move elements to the edge of the viewport -- they disappear).
[ ] Creating text (the WYSIWYG part) doesn't respect zoom.
[ ] Panning (e.g. via wheel+drag) doesn't respect zoom.

Yes @dwelle, I still have to work on that, it's not finished yet (never said it was 😄). On my side I have:

Scrollbars + visibility
Text WYSIWYG
Panning
Pasting

Looks cool, work well. Couldn't break it.
As for who merges what first, that's an open question since we're both ready :).


Issue with border-image with gradient not working

not show the gradient with propery 'border-image'

@Kal-EI This is not support gradient not working anywhere. Border-image, Background.


fixed column is not exporting

When I'm using fixed column , those fridge pan are not downloading in excel/word/pdf format.

Please link to a test case showing the issue. Also, per the Contributing document please post support requests in the DataTables forums. Please also ensure that you link to a running test case showing the issue so it can be debugged.


Text selector detaches highlighted text when scrolling

version: fc789cb
Pictures say it all

I've got something related when long-clicking a drawer button:

Both issues are known and they're coming from the toolkit, not the sample itself. Thanks!


Why is everything (in code examples) wrapped in unsafe?

I checked some stuff and it seems that making rust bindings for c libraries that have unsafe code, but not needing the user of the bindings to use unsafe blocks is possible. Why not try to do this? It would make the development process nicer.

Hi! :wave:
Crates that provide low-level graphics API bindings like glow, ash, etc. require the caller to be responsible for making sure they follow all of the rules of the API (OpenGL in this case, Vulkan in ash's case). For example, glow can't guarantee that you don't read out-of-bounds in a shader and read uninitialized data, or cause undefined behavior if you use the API in a way that the driver doesn't expect.
Because glow can't guarantee that callers will use the API safely, we have to mark all functions that call the graphics driver as unsafe. If glow didn't mark these functions as unsafe, it would be possible for safe Rust code to segfault or other unexpected behavior which wouldn't follow Rust's safety guarantees.
It's possible to create safe graphics wrappers by wrapping all API calls and validating their usage (including validating shaders to clamp or avoid out-of-bounds accesses). This is what crates like wgpu do, so it's why wgpu doesn't require unsafe on their functions.


Refine available memory stat

https://superuser.com/questions/846154/how-to-estimate-available-physical-memory-on-linux


Error when enabling addon

I downloaded the version 0.4.0 release and installed it in blender 2.79b with windows 10. However, when attempting to enable the addon by checking it in the user-preferences addons menu, this traceback was thrown:
Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\addon_utils.py", line 331, in enable
    mod = __import__(module_name)
  File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\__init__.py", line 34, in <module>
    import pman
  File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\pman\pman\__init__.py", line 2, in <module>
    from .core import *
  File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\pman\pman\core.py", line 16, in <module>
    import pkg_resources
ImportError: No module named 'pkg_resources'

My guess is the Python bundled with Blender does not ship with setuptools, which would make sense. I'll look into adding a work around for this issue.

I fixed this and other issues with running Windows and created a new release (v0.4.1). Let me know if you still run into issues. I tested this new release on Windows 7.

The addon will now enable without any errors! But unfortunately there are still errors thrown when attempting to render anything or enable the "Panda 3D" renderer from the render engine dropdown. This is probably unrelated to this though.


Server resource pack and preferred resource pack

Fixed bug that preferred resource pack is sent to player even if server has server resource pack.

If this is not bug and is expected behaver, you can close PR.


[UI] Theme Toggler Button Fix

Current Behavior
Currently dark/ light theme toggler is not center aligned with other navbar elements. Also the elements has hover effect which include both underline and background color change.

Desired Behavior
The theme toggler can be centered aligned to make it uniform through out the navbar. I would love to work on this issue.
Screenshots/Logs

Environment

Browser: Chrome
Host OS: Windows
Meshery Server Version: stable-v
Meshery Client Version: stable-v
Platform: Docker Kubernetes

Contributor Guides and Handbook

🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🖥 Contributing to Meshery UI
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

I would like to work on this please assign it to me !

the issue is on this repo: https://github.com/meshery/meshery.io

I came across this issue : https://github.com/meshery/meshery.io/issues/1386
its already registered ...

anyone help me in i locally work in ui. after click on get token 500 error show. how to solve this?

please assign this issue to me

Closing this issue as it is already reported


Rename  to

I fear that the term data-model may confuse some people. They are not about persistent data storage, or even about domain objects, but they describe what the messages look like that are sent over the wire. To make that clearer, we should rename <data-model> to <message>.

A data model is not the same thing as a message, it is just one of the things that a message represents.

How about naming it properties? We'd have to do some schema fu to make sure things like examples are only valid on the top-level properties.

I think that would be helpful.  One of the reasons data-model is confusing is that it's not at all clear how it is related to properties, and why we need both.

＋1. properties is more close to its mission.

But what do we call the wrapper around all the various properties elements, i.e. what is now called data-models?

See https://github.com/restful-api-description-language/RADL/issues/34

OK, "message" is really not a good term. I was trying to remove any confusion with "data" as "stored in a database" and tried to emphasize that we're talking about information exchanged between client and server.
But "message" suggests something that goes over the wire as an actual HTTP body, which is not what I meant either. We're trying to capture the abstract structure of the information that is exchanged, with "abstract" meaning the informational value rather than the concrete serialization in a media type.


Improve permission content by clarifying for non-enterprise users

Contributions

[ ] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
Let's review/revise the entire "Access control" section.
https://docs.getdbt.com/docs/dbt-cloud/access-control/access-control-overview
What part(s) of the page would you like to see updated?
Let's review and revise our permissions docs! Some thoughts include:

We might want to rethink "access control" title because it's not self-explanatory. Do we mean permissions?
Change the Enterprise permissions page to present permissions more holistically. Some permissions apply to Team accounts. Are the Team permission only in relation to service tokens? We should revise this. See Drew's comment for more into.
Suggest in the dbt Cloud product that we rename Owner to Account Admin for consistency
Add more context to Member and read-only then add links to this content from the new Service tokens pages. See this comment for more info.
Add more GitHub Secret scanning context: for example, the company admin needs to turn this on for private GH repos. See this comment for more context.

Additional information
When documenting service token changes a few issues cropped up so this issue is a follow up to that PR.
Next steps

[ ] @saimaddali to write up a note that adds more context for GitHub Secret scanning
[ ] Leona to start on a plan that Sai and I can work on fleshing out together in our 1:1's

Closing as addressed and moving outstanding content over to the Docs project


RGB or BGR?

Hi, this is a nice work. And I have some questions about how to use the model.
What tool is used convert the caffe model? And what order should be used for testing, RGB or BGR. Thanks.

BGR. You can refer to https://github.com/flyyufelix/DenseNet-Keras/blob/master/test_inference.py. OpenCV reads the image into BGR format
As to your other question on converting Caffe to Keras, you can refer to my blog post: https://flyyufelix.github.io/2017/03/23/caffe-to-keras.html

Thanks!


Fixed #18332 - generic function for db version

I took the old patch from https://code.djangoproject.com/ticket/18332 and brushed it up a bit. To the original SQLite implementation I added PostgreSQL, MySQL and Oracle implementations.
We also no longer return a namedtuple but a dict instead because it feels more in line with the rest of Django.
The thing I'm unsure about is if it would not be better to have the 'vendor' be the 'vendor' and a 'type' that can indicate the type. For instance for MySQL there is MySQL and MariaDB with each their own version numbering schemes.

This provides an option get_backend_info() that allows you to retrieve the
database type (vendor) and version, as a tuple.
>>> from django.db import connection
>>> connection.backend_info()
{'vendor': 'postgresql', 'version': (9, 6, 2)}

I noticed PR #7778 is open which adds self.connection.mysql_is_mariadb. That could be used to set 'vendor' in this function as well.

@mbeijen This is a cool patch! Are you still interested in pursuing this PR (which at this point involves a bit of rebasing/conflict resolution)? I think you missed removing the "patch nees improvement" flag on trac when you opened this, so nobody ever thought to review it.
(If you don't want to work on this any longer, please let me know and I can take it up.)

@rixx I think we should handle this in a different way, i.e.

unify all "version" methods in backends (pg_version(), oracle_version(), Database.sqlite_version_info, and mysql_version()) to e.g. backend_version(), and
add backend_info() based on backend_version() and display_name in the base backend.

@rixx @felixxm I'll rebase the patch and see if I can implement the proposal by @felixxm as well!

Closing due to inactivity.


Test coverage warning

This is basically the test command that we call in CI for 3.10 testing with coverage:
$ poetry run pytest tests --cov=.
It generates warnings:
home/peter/.cache/pypoetry/virtualenvs/starlite-CEGnKvDD-py3.10/lib/python3.10/site-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/home/peter/PycharmProjects/starlite/index_html': No source for code: '/home/peter/PycharmProjects/starlite/index_html'. (couldnt-parse)
  coverage._warn(msg, slug="couldnt-parse")
/home/peter/.cache/pypoetry/virtualenvs/starlite-CEGnKvDD-py3.10/lib/python3.10/site-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/home/peter/PycharmProjects/starlite/nested_dir_nested_html': No source for code: '/home/peter/PycharmProjects/starlite/nested_dir_nested_html'. (couldnt-parse)
  coverage._warn(msg, slug="couldnt-parse")

'/home/peter/PycharmProjects/starlite/index_html'.
'/home/peter/PycharmProjects/starlite/nested_dir_nested_html'

These are names of temporary files created via tmp_path fixture for these tests:
@pytest.fixture()
def index_handler(engine_test: EngineTest, template_dir: pathlib.Path) -> HTTPRouteHandler:
    with open(template_dir / "index.html", "w") as f:
        f.write(engine_test.index_template)

    @get(path="/")
    def index_handler() -> Template:
        return Template(name="index.html", context={"test": "yep"})

    return index_handler

@pytest.fixture()
def nested_path_handler(engine_test: EngineTest, template_dir: pathlib.Path) -> HTTPRouteHandler:
    nested_path = template_dir / "nested-dir"
    nested_path.mkdir()
    with open(nested_path / "nested.html", "w") as f:
        f.write(engine_test.nested_template)

    @get(path="/nested")
    def nested_path_handler() -> Template:
        return Template(name="nested-dir/nested.html", context={"test": "yep"})

    return nested_path_handler

We can dance around it by being more specific with the directories we test coverage on:
$ poetry run pytest tests --cov=starlite --cov=examples