[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES

[OPENCL]:Found suitable OpenCL device [Pitcairn] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: AMD Accelerated Parallel Processing
[OPENCL]:Using device: Pitcairn(OpenCL 1.2 AMD-APP (1800.11))
[OPENCL]:Printing program log
[OPENCL]:"/tmp/OCLcdLVuG.cl", line 60: warning: arithmetic on pointer to void or
          function type
      for ( ; n-- ; s1++, s2++) {
                      ^

"/tmp/OCLcdLVuG.cl", line 60: warning: arithmetic on pointer to void or
          function type
      for ( ; n-- ; s1++, s2++) {
                            ^

"/tmp/OCLcdLVuG.cl", line 96: warning: argument of type "const void *" is
          incompatible with parameter of type "void *"
    memcpy(&w, src, sizeof w);
               ^

"/tmp/OCLcdLVuG.cl", line 103: warning: argument of type "const void *" is
          incompatible with parameter of type "void *"
    memcpy(&w, src, sizeof w);
               ^

"/tmp/OCLcdLVuG.cl", line 195: warning: integer conversion resulted in a
          change of sign
    S->f[1] = -1;
              ^

"/tmp/OCLcdLVuG.cl", line 215: warning: integer conversion resulted in a
          change of sign
    S->f[0] = -1;
              ^

"/tmp/OCLcdLVuG.cl", line 350: warning: argument of type "const void *" is
          incompatible with parameter of type "void *"
      memcpy( block, key, keylen );
                     ^

"/tmp/OCLcdLVuG.cl", line 430: warning: argument of type "const uint8_t *" is
          incompatible with parameter of type "void *"
        memcpy( S->buf + left, in, fill ); /* Fill buffer */
                               ^

"/tmp/OCLcdLVuG.cl", line 441: warning: argument of type "const uint8_t *" is
          incompatible with parameter of type "void *"
        memcpy( S->buf + left, in, inlen );
                               ^

"/tmp/OCLcdLVuG.cl", line 93: warning: function "load32" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(uint32_t) load32( const void *src )
                                ^

"/tmp/OCLcdLVuG.cl", line 117: warning: function "load48" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(uint64_t) load48( const void *src )
                                ^

"/tmp/OCLcdLVuG.cl", line 129: warning: function "store48" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(void) store48( void *dst, uint64_t w )
                            ^

"/tmp/OCLcdLVuG.cl", line 140: warning: function "rotl32" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(uint32_t) rotl32( const uint32_t w, const unsigned c )
                                ^

"/tmp/OCLcdLVuG.cl", line 145: warning: function "rotl64" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(uint64_t) rotl64( const uint64_t w, const unsigned c )
                                ^

"/tmp/OCLcdLVuG.cl", line 150: warning: function "rotr32" was declared but
          never referenced
  BLAKE2_LOCAL_INLINE(uint32_t) rotr32( const uint32_t w, const unsigned c )
                                ^

"/tmp/OCLcdLVuG.cl", line 219: warning: function "blake2b_clear_lastblock" was
          declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_clear_lastblock( blake2b_state *S )
                           ^

"/tmp/OCLcdLVuG.cl", line 237: warning: function
          "blake2b_param_set_digest_length" was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_digest_length( blake2b_param *P, const uint8_t digest_length )
                           ^

"/tmp/OCLcdLVuG.cl", line 243: warning: function "blake2b_param_set_fanout"
          was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_fanout( blake2b_param *P, const uint8_t fanout )
                           ^

"/tmp/OCLcdLVuG.cl", line 249: warning: function "blake2b_param_set_max_depth"
          was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_max_depth( blake2b_param *P, const uint8_t depth )
                           ^

"/tmp/OCLcdLVuG.cl", line 255: warning: function
          "blake2b_param_set_leaf_length" was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_leaf_length( blake2b_param *P, const uint32_t leaf_length )
                           ^

"/tmp/OCLcdLVuG.cl", line 261: warning: function
          "blake2b_param_set_node_offset" was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_node_offset( blake2b_param *P, const uint64_t node_offset )
                           ^

"/tmp/OCLcdLVuG.cl", line 267: warning: function "blake2b_param_set_node_depth"
          was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_node_depth( blake2b_param *P, const uint8_t node_depth )
                           ^

"/tmp/OCLcdLVuG.cl", line 273: warning: function
          "blake2b_param_set_inner_length" was declared but never referenced
  BLAKE2_LOCAL_INLINE(int) blake2b_param_set_inner_length( blake2b_param *P, const uint8_t inner_length )
                           ^

[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 278 ms. (117799 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
...
Segmentation fault

Im seeing this too on R9 380

I'm currently working on this. This is because you are using propriety drivers. If you switch to AMDGPU drivers this should rectify the problem.
I'll continue to try and get this to work for catalyst

Tahiti cards (Radeon 7970) are not supported by AMDGPU, FWIW.

Yeah, same with my cards. Hence trying to find a solution for all of us :)

Cheers! And thanks again!

Thx - I have 7950, 280, 280x, 290x, 380 and 390 Im testing between.

same issue with NVidia:
ZcashMiner:
proof-of-work found
prevHash: 0d84f897d873ed7d04ef36ceab7a5cec4bbbc513f706bf5e426707837d81f94a
hash: 0cda3ac2684ddbdd52f3d8346ecf1b0d33b1e609a220da3c30f86eb54fcb87ac
target: 0f0f0f0000000000000000000000000000000000000000000000000000000000
duration: 0
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)

Now full start with error:
Kernel run took 146 ms. (10.1052 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
[OPENCL]:CL ERROR:CL_INVALID_COMMAND_QUEUE
Kernel run took 118 ms. (4781.26 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
ZcashMiner:
proof-of-work found
prevHash: 064872ee852880c2174f3a6ebf294d6117591ab193308c2a2ae49ca07642e5bd
hash: 03c49703b57fb154ce6ae0684580726bef5fecd4e4555e5e15ed934940db3bb1
target: 0f0f0f0000000000000000000000000000000000000000000000000000000000
duration: 1
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
Checking solution 5
I've seen this on Ethminers in the past too, and then it was a queuing issue.

Just another example of the same issue:
running https://github.com/nginnever/zogminer/commit/470d4cd6f661a6e723fef09f4deda2f807df47f6
on GTX 960, ubuntu 16.04 with command line:
./src/zcash-miner -G -testnet -user=rpcusername -password=rpcpassword
while zcashd is running as daemon
here and there I see "Valid block found!", but I see no "proof-of-work found".
Everything looks fine, and after ~30 seconds the log gets to this repeating pattern:
[..]
Checking solution 32
Checking solution 33
Checking solution 34
Checking solution 35
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
Checking solution 5
Checking solution 6
Checking solution 7
Checking solution 8
Checking solution 9
Checking solution 10
Checking solution 11
Checking solution 12
Checking solution 13
Checking solution 14
Checking solution 15
Checking solution 16
Checking solution 17
Checking solution 18
Checking solution 19
Checking solution 20
Checking solution 21
Checking solution 22
Checking solution 23
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)
Checking solution 1
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
[..]

same here:
[0] Tahiti
CL_DEVICE_TYPE: GPU
CL_DEVICE_GLOBAL_MEM_SIZE:<PHONE_NUMBER>
CL_DEVICE_MAX_MEM_ALLOC_SIZE:<PHONE_NUMBER>
CL_DEVICE_MAX_WORK_GROUP_SIZE: 256
[1] Tahiti
CL_DEVICE_TYPE: GPU
CL_DEVICE_GLOBAL_MEM_SIZE:<PHONE_NUMBER>
CL_DEVICE_MAX_MEM_ALLOC_SIZE:<PHONE_NUMBER>
CL_DEVICE_MAX_WORK_GROUP_SIZE: 256
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 57 ms. (574456 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
Checking solution 5
Checking solution 6
Checking solution 7
Checking solution 8
Checking solution 9
Checking solution 10
Checking solution 11
Checking solution 12
Checking solution 13
Checking solution 14
Checking solution 15
Checking solution 16
Checking solution 17
Checking solution 18
Valid block found!
Segmentation fault (core dumped)

This happens after ~30 seconds also with https://github.com/nginnever/zogminer/commit/aa33f140b81a53b03393761763bd448e82636a27

Could you guys try last commit?

building now, perhaps IRC/Skype is better?
can also give access to mining nodes if that speeds up development

I have all issues with my headless miner too. 😜

still broken:
Solutions: 2
Kernel run took 129 ms. (12.8094 H/s)
Checking solution 1
Checking solution 2
ZcashMiner:
proof-of-work found
prevHash: 033dcfd734b8faccd577d475df554d0afb5d2308eda830f7af9301190949be8d
hash: 064872ee852880c2174f3a6ebf294d6117591ab193308c2a2ae49ca07642e5bd
target: 0f0f0f0000000000000000000000000000000000000000000000000000000000
duration: 3
Valid block found!
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 1
Kernel run took 127 ms. (12.7162 H/s)
Checking solution 1
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 0
Kernel run took 114 ms. (12.4808 H/s)
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 0
Kernel run took 110 ms. (12.2538 H/s)
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 2
Kernel run took 126 ms. (12.3185 H/s)
Checking solution 1
Checking solution 2
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 5
Kernel run took 132 ms. (12.7669 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
Checking solution 5
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 104 ms. (13.3757 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
Checking solution 5
ZcashMiner:
proof-of-work found
prevHash: 064872ee852880c2174f3a6ebf294d6117591ab193308c2a2ae49ca07642e5bd
hash: 03c49703b57fb154ce6ae0684580726bef5fecd4e4555e5e15ed934940db3bb1
target: 0f0f0f0000000000000000000000000000000000000000000000000000000000
duration: 1
Valid block found!
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Kernel run took 0 ms. (inf H/s)
Checking solution 1

Ok, but no segfaults. That is good.

Latest commit crashed my box. (ubuntu 14.04, prop drivers, radeon 7970)

With freezing or segfaults?

output was from the standalone miner (zcash-miner -G) no segfaults
running the zcashd with mining uption seems to be running without segfaults or out of resources error so far

That is weird, since it uses the same host code. I'll keep at it.

update: i runs a LOT longer, then segfault:
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 3
Kernel run took 132 ms. (14.9147 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
Solutions: 1
Kernel run took 130 ms. (14.91 H/s)
Checking solution 1
[OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
 After kernel is corrupted is expected. But no segfaults until that issue is a good sign. Thanks for the info. I'll keep on trying to fix this.

Run on Tahiti with strace have no interesting things and have no valid block too :(
nanosleep({1, 0}, NULL)                 = 0
nanosleep({1, 0}, [OPENCL]:Running Solver...
Step: 1...
Step: 2...
Step: 3...
Step: 4...
Step: 5...
Step: 6...
Step: 7...
Step: 8...
 That is a kernel problem. I'll be looking into it tomorrow.

Ok Guys. I've made a branch called catalyst-dev. If you checkout that branch. Let me know if this solves your problems. Its experimental and temporary, let me know if you're cards at least run.
Cheers

@AgeManning but i run NVidia / Cuda / OpenCL? Dont have catalyst installed?

This fix isn't specific for catalyst. I've changed some parameters which seems to fix this problem for a range of cards. It may work for your nvidia card if you were having this problem. I'm looking into a more robust fix.

Hi Guys
Same Problem with my AMD Sapphire rx 46.
I have installed the AMD Driver from Homepage.
If there is any workaround let me know
Thanks
Patrick

Checking solution 1
Checking solution 2
[OPENCL]:Running Solver...
Kernel run took 211 ms. (8.71144 H/s)

Success! Using catalyst-dev branch.

I have a nvidia 960gtx and it wasn't stable before I switched to catalyst-dev branch. It would crash every 5 minutes or so. I have been running for 38 minutes and still haven't crashed yet. Thats using stratum. I noticed using the test miner I still get ERROR:CL_OUT_OF_RESOURCES after a few seconds.

I used the catalyst-dev branch now instead of ERROR:CL_OUT_OF_RESOURCES I get:
[OPENCL]:Found suitable OpenCL device [Tahiti] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: AMD Accelerated Parallel Processing
[OPENCL]:Using device: Tahiti(OpenCL 1.2 AMD-APP (1800.11))
[OPENCL]:CL ERROR:CL_INVALID_VALUE

Never mind it crashed around 40m of run time. Alot better than 5 though. still gets the ERROR:CL_OUT_OF_RESOURCES error.

With a 960gtx the catalyst branch is more stable for me. I still get ERROR:CL_OUT_OF_RESOURCES errors after a while however.

@GibsT - I'm aware of the stability issues at the moment. We are working on it. I find it to be more stable without X running (temp work-around).
@kn0de - I'll have to look into that problem. I may be missing something in OpenCL 1.2 versions. Which card are you running? If I can find some time and a similar card I'll look into it for you.
Hopefully the changes we are working on will correct most of these issues

I have an r9 280x ... I happen to be running in Ubuntu 15.10 though. If I get a chance i will load 16.04 and try.

I think that card should work. And use opencl 2.0. Try upgrading opencl and drivers. (Although I should support OpenCL 1.2 also - realistically I don't have the time to test everything and build it all)

Thanks alot for your help. Ill try all those things. I think I had it tweaked for ethereum mining forgot they were older drivers.

Had some trouble with getting OpenCL drivers for 280x on 16.04 --im sure someone knows how (more research)
On my headless server, reinstalled fglrx with these instructions for 15.10:
http://unix.stackexchange.com/questions/241893/how-to-install-amd-catalyst-15-9-on-ubuntu-15-10
Still on Open CL 1.2: But Got it running :) - Thanks.
[OPENCL]:Running Solver...
Kernel run took 369 ms. (10.8401 H/s)
Checking solution 1
Checking solution 2
Checking solution 3
Checking solution 4
[OPENCL]:Running Solver...
Kernel run took 197 ms. (7.95813 H/s)
Checking solution 1
[OPENCL]:Running Solver...
Kernel run took 197 ms. (8.68951 H/s)
Checking solution 1
Checking solution 2
[OPENCL]:Running Solver...
Kernel run took 196 ms. (7.79264 H/s)
Checking solution 1
[OPENCL]:Running Solver...
Kernel run took 197 ms. (7.24934 H/s)

It was working a bit more stable two days ago, but I am now getting the ERROR:CL_OUT_OF_RESOURCES error as well.
On current master:
$ ./src/zcash-miner -G
Running the test miner
[OPENCL]:Found suitable OpenCL device [GeForce GTX 980 Ti] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: NVIDIA CUDA
[OPENCL]:Using device: GeForce GTX 980 Ti(OpenCL 1.2 CUDA)
[OPENCL]:Printing program log
[OPENCL]:

[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Segmentation fault (core dumped)

On catalyst-dev branch:
$ ./src/zcash-miner -G
Running the test miner
[OPENCL]:Found suitable OpenCL device [GeForce GTX 980 Ti] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: NVIDIA CUDA
[OPENCL]:Using device: GeForce GTX 980 Ti(OpenCL 1.2 CUDA)
[OPENCL]:Printing program log
[OPENCL]:

[OPENCL]:ZOGKERNEL Creation failed: clCreateKernel(-46). Bailing.

On catalyst-dev branch:

./src/zcash-miner -G
Running the test miner
[OPENCL]:Found suitable OpenCL device [GeForce GTX 1070] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: NVIDIA CUDA
[OPENCL]:Using device: GeForce GTX 1070(OpenCL 1.2 CUDA)
[OPENCL]:Printing program log
[OPENCL]:
[OPENCL]:ZOGKERNEL Creation failed: clCreateKernel(-46). Bailing.

Guys, use the master branch. We've since resolved all these errors.

Current master still fails.
./src/zcash-miner -G
Running the test miner

[OPENCL]:Found suitable OpenCL device [GeForce GTX 1070] with<PHONE_NUMBER> bytes of GPU memory
[OPENCL]:Using platform: NVIDIA CUDA
[OPENCL]:Using device: GeForce GTX 1070(OpenCL 1.2 CUDA)
[OPENCL]:Printing program log
[OPENCL]:
[OPENCL]:CL ERROR:CL_OUT_OF_RESOURCES
Segmentation fault (core dumped)

clinfo works.

@ivanmladek I'm having exactly the same issue with the 1060 on Ubuntu 16.04. I realize that NVIDIA has spotty OpenCL support but thought I would get further than this

@ivanmladek  I got the same issue as you. Does anyone can tell me how to solve this?


I made Explorer.Shared.apply_series_impl/2.
It determines impl following rules below

if series_or_scalars contain at least one lazy series -> lazy series
else if series_or_scalars contain at least one series -> series
else if series_or_scalars don't contain any series or lazy series -> raise

Remain tasks

Apply it to comparison ops and slice and dice ops
Replace Explorer.Shared.apply_binary_op_impl/3 with it
Merge it into Explorer.Shared.apply_impl/2

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


upgrade erlang for circle ci from 19.1 to 19.2

Codecov Report

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

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
+ Coverage   59.03%   60.57%   +1.54%
==========================================
  Files          12       12
  Lines         454      454
==========================================
+ Hits          268      275       +7
+ Misses        186      179       -7

Impacted Files
Coverage Δ

src/spartan_handler_fsm.erl
66.66% <ø> (+5.18%)
:white_check_mark:

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 285bb74...91a5151. Read the comment docs.


Allow console input to be used within adapters

I created a custom adapter that needed to access the (symfony) console options, and I needed to make this change to make that possible.

@bgetsug I'm changing it to be merged with 0.6.x-dev.

@bgetsug does this PR actually add any methods to the adapter classes?

@robmorgan I did not add any new methods to existing adapter classes. It's just that the instance of InputInterface was never making it to any adapter when setup in Environment::getAdapter().

@bgetsug right I see, thanks! 👍


Implement oracle commands from Neo-Express to the NeoTestRunner interface

Summary or solution description
Implemented the neoxp oracle enable and neoxp oracle response commands. Added new tests with responses.
How to Reproduce
https://github.com/CityOfZion/neo3-boa/blob/96a5d4bcb8c5038a91785b69598f4707f02aa97a/boa3_test/test_sc/native_test/oracle/OracleRequestCall.py#L1-L32
Tests
https://github.com/CityOfZion/neo3-boa/blob/96a5d4bcb8c5038a91785b69598f4707f02aa97a/boa3_test/tests/compiler_tests/test_native/test_oracle.py#L101-L303
Platform:

OS: Windows 10 x64
Python version: Python 3.7

(Optional) Additional context
There was a problem when using a string that had white space, instead of writing "A string here", it would write ""A string here"" on the batch file.
https://github.com/CityOfZion/neo3-boa/blob/96a5d4bcb8c5038a91785b69598f4707f02aa97a/boa3_test/test_drive/neoxp/command/neoexpresscommand/neoexpresscommand.py#L33-L34

Task linked: CU-864ejer8v Implement oracle commands from Neo-Express to the NeoTestRunner interface

coverage: 91.697% (-0.2%) from 91.888% when pulling 0542c0d9d112b37e93662405b87ad74f15e3a3f7 on CU-864ejer8v into aa31ab8e2a704ea6181d00eec75b99d61a7c5046 on development.


[#52] Update exclusion list in CMakeLists.txt for EL8 and EL9

Tests pass for EL8 and EL9.

Pounded.


The list of VM sizes for which availability zone is available needs to be updated.

The list of VM sizes for which availability zone is available on the docs below, seems to need updating.
The Dsv5-series is not included for the services that support the availability zone.
https://learn.microsoft.com/en-us/azure/reliability/availability-zones-service-support
I actually tested in the lab and found that the Dsv5-series supports availability zone.

Thanks in advance.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 1860979b-0bcb-08cd-5674-b5e894a03f72
Version Independent ID: 17ba109c-a2cf-5c56-17bc-56a8aaebf067
Content: Azure services that support availability zones
Content Source: articles/reliability/availability-zones-service-support.md
Service: reliability
Sub-service: availability-zones
GitHub Login: @anaharris
Microsoft Alias: anaharris

@rinoue-m
Thank you for bringing this to our attention.
I've delegated this to content author @anaharris, who will review it and offer their insightful opinions.

Hi @rinoue-m ,
Thank you so much for bringing this to our attention. I am confirming with the product team and will get back to you as soon as I hear from them.


Visual C++ > Windows Driver > Tests cannot be found

I would like to create the test project for the driver using c++, but according to the paragraph "To customize a driver test using the Driver Test template for C++" I cannot find the Visual C++ > Windows Driver > Tests in my VS 2015 even 2019, may I know where I can create the driver testing project?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6b9c14aa-06ab-bacb-7b10-ff184858d1d1
Version Independent ID: 0cb2cc28-6e79-1732-722d-b903a82e2046
Content: How to write a driver test using a Driver Test template - Windows drivers
Content Source: windows-driver-docs-pr/develop/how-to-write-a-driver-test-.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Hi @o60816, I believe the WDK prior to 2015 contained this template but it never made it in to 2015 and beyond. I have no info on a replacement.
You could try the forums --

Windows Hardware WDK and Driver Development
OSR's ntdev List

Thanks for the feedback!

I added a note at the top of https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/how-to-write-a-driver-test-

Thank you for your reply, I appreciate it very much.
May I know without this template test project how can I create my own test cases? Is it still possible to create custom test cases?

Thanks for the question, @o60816.  I'm sorry to report that there is no current workaround to create custom test cases.


Add icons

Open Iconic project has a bunch of icons that would be perfect.
https://useiconic.com/open/
Probably need to be able to selectively include (or at least prompt the optimizer to remove unused) rather than wasting flash on unused icons.
Font pipeline from issue #1 would help with automating the transfer.

Need to work out how to wrap icon data.
Best way is probably to provide a helper that configures a sprite structure for a given icon (and icon scale). That way there isn't the overhead of describing an entire sprite for each icon, and the compiler should be able to optimize out unused icons.

Alternately you could treat icons as an application specific font


Architecture improvements for full namespaced model support.

Follow-up on the conversation from: https://github.com/sferik/rails_admin/pull/356
@sferik Yes, I would be interested in working on a more permanent solution for namespaced models.
I had a brief look. One idea, in line with Rails conventions, would be to permit namespaced routing, e.g. /:namespace/:model/:id/edit or even /:ns_1/:ns_2/.../:ns_k/:model/:id/edit. This would touch a lot of code, because route generation using the named route methods is scattered throughout and currently accepts the model name parameter.
Another problem is that the .to_param method is currently used for multiple different purposes, which are not all compatible when taking namespaces into account. The easiest hack was the ~ but that's clearly not satisfactory.
I'd love to hear your ideas for alternative approaches. Should we open a new issue for this?
Wolf

namespacing is fully supported. Composite primary key has its own issue.


[Bug]: DLM task terminated and reported no permissions

ODC version
ODC424
OB version
Oceanbase2277
What happened?
DLM task terminated and reported no permissions

What did you expect to happen?
can execute it
How can we reproduce it (as minimally and precisely as possible)?

Anything else we need to know?
No response
Cloud
No response

https://github.com/oceanbase/odc/issues/1639


feature: Adding integration tests for DM1

Issue #, if available:
Description of changes:
Added the following integration tests for DM1:

A test for basic circuits including GHZ (Greenberger–Horne–Zeilinger State), QFT (Quantum Fourier Transform) and inverse QFT ( taken from the tn1 integ test)
A test with a circuit with many (up to 1000) layers but low (10) qubit count
A test with a circuit with mixed states

Testing done:
Ran tests locally using tox.
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ x ] I have read the CONTRIBUTING doc
[ x ] I used the commit message format described in CONTRIBUTING
[ x ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[ x ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ x ] I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Run
tox -e linters

to fix code format


[INLONG-7595][Sort] Mongo read phase metrics need to update when no incremental data

Prepare a Pull Request

[INLONG-7595][Sort] Mongo read phase metrics need to update when no incremental data

Fixes #7595

Motivation
It won't report incremental read phase metrics when i use single parallel logic and no incremental data.
Mongo read phase metrics need to update when no incremental data.
Modifications

DebeziumDeserializationSchema add overload deserialize for jugde read phase
DebeziumSourceFunction fix error logic for get read phase

@emhui Please help review it.

@emhui Please help review it.

Ok.


build: Parallelize the CI image builds (continued)

new approach
originally started from https://github.com/apache/superset/pull/25564, but got tangled in intricate changes around release tag management that conflicted with the approach used originally, so I started over by

refactoring scripts/docker_build_push.sh, that originally generated a bunch of docker build commands to be executed sequentially, here I move to this bash script running a single command given the parameters, so it can be reused to run multiple build commands in parallel while orchestrating in GitHub actions. I tried to DRY what was in there cautiously
changed GitHub actions to generate a matrix of commands for each "target" (dev, lean, lean39, lean310, ...) and "platform" (linux/amd64, linux/arm64), similar to https://github.com/apache/superset/pull/25564

Ok, starting over and try a different approach

Request for comments here, given this docker build matrix:
    strategy:
      matrix:
        target: ["dev", "lean", "lean310", "lean39", "websocket", "dockerize"]
        platform: ["linux/amd64", "linux/arm64"]
      fail-fast: false

Do we need every combination for each PR and each SHA in master? Seems a bit crazy. I get that people are on Apple hardware and that's why we need arm as a base platform, but 2 versions of python too?  @craig-rueda @rusackas @dpgaspar

Request for comments here, given this docker build matrix:
    strategy:
      matrix:
        target: ["dev", "lean", "lean310", "lean39", "websocket", "dockerize"]
        platform: ["linux/amd64", "linux/arm64"]
      fail-fast: false

Do we need every combination for each PR and each SHA in master? Seems a bit crazy. I get that people are on Apple hardware and that's why we need arm as a base platform, but 2 versions of python too? @craig-rueda @rusackas @dpgaspar

We can probably remove lean39. I added that version as a request from someone in the community who later found a workaround, and it's probably not needed. We can maybe check with @rusackas on data around who is using it, but I don't think we really need to have docker images based on multiple versions of python.

Request for comments here, given this docker build matrix:
    strategy:
      matrix:
        target: ["dev", "lean", "lean310", "lean39", "websocket", "dockerize"]
        platform: ["linux/amd64", "linux/arm64"]
      fail-fast: false

Do we need every combination for each PR and each SHA in master? Seems a bit crazy. I get that people are on Apple hardware and that's why we need arm as a base platform, but 2 versions of python too? @craig-rueda @rusackas @dpgaspar

We can probably remove lean39. I added that version as a request from someone in the community who later found a workaround, and it's probably not needed. We can maybe check with @rusackas on data around who is using it, but I don't think we really need to have docker images based on multiple versions of python.

I may be missing some requirements, but totally agree, I actually don't see the point on building every flavour on every PR SHA, also on a PR from a fork, images are just built and not pushed so we are just testing them. My take would be to just leave  lean, linux/amd64 and websocket, linux/amd64 on every PR SHA, so be enough for testing purposes. Build push all of them when merging to master


Add Rust to MacOS

Tool information

Tool name: Rust
Add or update? Add
Desired version: Stable (currently 1.38.0)
Approximate size: Similar to Ubuntu, given that they're both Unix. rustc by itself is 11M on my Ubuntu system.
If this is an add request:

Brief description of tool: Rust language. It's already present on Ubuntu and Windows virtual envs.
URL for tool's homepage: https://rust-lang.org

Virtual environments affected

[x] macOS 10.14
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Can this tool be installed during the build?
Yes, though it adds a couple minutes to the build.
Are you willing to submit a PR?
If someone can show me what would need to be changed, certainly.

On a related note, it would be great if various stable versions were also provided!

Thanks for the suggestion! We definitely want to add Rust to macOS to make sure that it's available across all the OS's. I can't give an ETA for when it will be added, but it is very much on our radar. 🙂

@nrajpurkar FYI

We should also consider adding rustup.


Vagrant box not available?

Unable to start vagrant due to this error
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/trusty64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'ubuntu/trusty64'
    default: URL: https://atlas.hashicorp.com/ubuntu/trusty64
The box 'ubuntu/trusty64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: https://atlas.hashicorp.com/ubuntu/trusty64
Error: HTTP server doesn't seem to support byte ranges. Cannot resume.

Any help?

My bad. Got it.

@Hiteshm01 what did you end up having to do? I'm having the same exact issue


[request] Full Character Map

Can you add the ability to view a full character map to enable the use of accented Latin, Greek, and other foreign language characters that may not have a mapping on your selected keyboard. Essentially a window that shows all available characters in a scroll-able grid similar to the character map application on desktop computers. This would help greatly for certain applications as it would eliminate the need to switch or create custom keyboard layouts to use these characters

Yeah, a pop-up or a fn-window page would be really great!


Fix wrong CableReady import

Fix this error:
ERROR in ./.yarn/cache/cable_ready-npm-5.0.0-pre3-b6a471a50a-bf6c2acdbd.zip/node_modules/cable_ready/javascript/stream_from_element.js 15:33-51
export 'default' (imported as 'CableReady') was not found in 'cable_ready' (possible exports: initialize, perform, performAsync)

@marcoroth good catch! it's fixed.

Thank you @n-rodriguez!

Great work on this.


*: remove github.com/census-instrumentation/opencensus-proto pin

Description of the change: removed pin of github.com/census-instrumentation/opencensus-proto.
Motivation for the change: v0.2.0 was previously broken, now fixed.

LGTM


[Good First Issue] Test and Review New Deployment Configurations for Various Julep Setups

NOTE: Inside the f/deployment-docker-compose-files branch and the corresponding PR #552 :
We have created new Docker Compose files for different Julep deployment configurations. These files need to be thoroughly tested, tweaked if necessary, and then submitted for review. The new configurations cover various scenarios including single-tenant/multi-tenant, CPU/GPU embeddings, and managed/self-hosted databases.
Files to be tested:

deploy/docker-compose.single-tenant-cpu-managed.yml
deploy/docker-compose.multi-tenant-cpu-managed.yml
deploy/docker-compose.single-tenant-gpu-managed.yml
deploy/docker-compose.multi-tenant-gpu-managed.yml
deploy/docker-compose.single-tenant-cpu-selfhosted.yml
deploy/docker-compose.multi-tenant-cpu-selfhosted.yml
deploy/docker-compose.single-tenant-gpu-selfhosted.yml
deploy/docker-compose.multi-tenant-gpu-selfhosted.yml

Testing Steps:
For each configuration:
a. Create a .env file with all necessary environment variables.
b. Run docker-compose -f  up -d.
c. Check if all services start successfully.
d. Verify that the services are accessible and functioning as expected.
e. Test the main functionalities of Julep using this configuration.
f. Monitor resource usage and performance.
g. Test scaling of services where applicable.
For GPU configurations:
a. Ensure GPU is properly utilized by the embedding service.
b. Compare performance with CPU configurations.
For multi-tenant configurations:
a. Test isolation between tenants.
b. Verify that the gateway properly routes requests.
For self-hosted database configurations:
a. Verify data persistence across restarts.
b. Test backup and restore procedures.
General checks:
a. Ensure all environment variables are properly used.
b. Check for any hardcoded values that should be configurable.
c. Verify that services are connecting to each other correctly.
Documentation:
a. Update the deploy/README.md with any additional instructions or notes.
b. Document any known limitations or specific requirements for each configuration.
Deliverables:

A report detailing the testing process and results for each configuration.
Any necessary tweaks or fixes to the Docker Compose files.
Updated documentation reflecting the tested configurations.
Recommendations for default configuration and best practices.

I think, I can work on this. Where are the files?? Also, how much GPU will required (any estimation would be great) so that I could a setup a workspace according to that.

No GPU needed if you use voyage embedding by setting them in .env
And even otherwise, the embedding server will run fine on the cpu

You can look inside the agents_api/autogen/openapi_model.py file and the agents_api/web.py file

No GPU needed if you use voyage embedding by setting them in .env
And even otherwise, the embedding server will run fine on the cpu

Ahh cool!

You can look inside the agents_api/autogen/openapi_model.py file and the agents_api/web.py file

I'm not getting them 😭

In that case, why don’t you look at the integrations/ directory. We need to build integrations and they would be a lot simpler to make :)

I found the docker-compose.yml to setup .env file. Now I have to look for several API keys. 🙂


1.20.6 port

Entirely untested. Compiles perfectly fine, though. No warnings or errors.

Client Rendering looking good

Trying to launch it crashes for me with de.dafuqs.arrowhead.mixin.LastCrossbowVelocityStore is in a defined mixin package de.dafuqs.arrowhead.mixin.* owned by arrowhead.mixins.json and cannot be referenced directly.
I guess the interface should be put into a separate package? Mixin usually doesn't like non-mixins in its package.

1.20.6 now.

Perfect, thank you!


Flush reporter on shutdown

reference: https://discuss.elastic.co/t/debugging-information-for-java-agent/160925/24

Codecov Report

Merging #397 into master will increase coverage by 0.05%.
The diff coverage is 88.88%.

@@             Coverage Diff              @@
##             master     #397      +/-   ##
============================================
+ Coverage     72.03%   72.08%   +0.05%
+ Complexity     1315     1269      -46
============================================
  Files           141      140       -1
  Lines          5142     4879     -263
  Branches        532      497      -35
============================================
- Hits           3704     3517     -187
+ Misses         1212     1140      -72
+ Partials        226      222       -4

Impacted Files
Coverage Δ
Complexity Δ

...pm/agent/report/IntakeV2ReportingEventHandler.java
74.35% <100%> (+1.2%)
33 <0> (+3)
:arrow_up:

...va/co/elastic/apm/agent/report/ReportingEvent.java
86.66% <100%> (+0.95%)
11 <1> (+1)
:arrow_up:

...co/elastic/apm/agent/report/ApmServerReporter.java
59.4% <77.77%> (+1.34%)
13 <2> (ø)
:arrow_down:

.../agent/plugin/api/AbstractSpanInstrumentation.java
53.19% <0%> (-2.06%)
3% <0%> (-4%)

...java/co/elastic/apm/agent/bci/ElasticApmAgent.java
72.18% <0%> (-0.5%)
19% <0%> (-2%)

...bci/bytebuddy/FailSafeDeclaredMethodsCompiler.java

...astic/apm/agent/impl/transaction/TraceContext.java
92.21% <0%> (+0.54%)
56% <0%> (-38%)
:arrow_down:

...agent/plugin/api/ElasticApmApiInstrumentation.java
52% <0%> (+5.57%)
3% <0%> (-2%)
:arrow_down:

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 863822f...f98d93a. Read the comment docs.


[7.x] Return API Style Responses On XHR Requests To Auth Scaffodling

This updates the authentication scaffolding to return normal 2xx level (or 4xx on validation) responses on XHR requests to the scaffolding backend instead of returning redirects and manipulating the session, etc.
JSON payload is returned where appropriate.

The changes make sense. Also, I believe a 204 response is a good alternative to sending an empty 200 response.

In a lot of cases it could be very valuable to receive the user object. Since most json responses in this PR currently have an empty body, returning the user object should be pretty straightforward and non breaking.

@MichMich you easily achieve that by defining the authenticated method in the App\Http\Controllers\Auth\LoginController class. This method is called internally before a response is sent. It takes the authenticated user as the 2nd parameter. The response you return will override the default one.
protected function authenticated(Request $request, User $user)
{
    return $user;
}


Context menu reveals invisible objects

With RMB you can open context menu where you will see all invisible objects at the tile.

There is needed additional check if camera can see invisible object, somewhere in this function


MySQL: Specified key was too long

Applying wagtailcore.0001_squashed_0016_change_page_url_path_to_text_field...Traceback (most recent call last):

  File "./manage.py", line 17, in <module>

    execute_from_command_line(sys.argv)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line

    utility.execute()

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/core/management/base.py", line 305, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/core/management/base.py", line 356, in execute

    output = self.handle(*args, **options)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 202, in handle

    targets, plan, fake=fake, fake_initial=fake_initial

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/migrations/executor.py", line 97, in migrate

    state = self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/migrations/executor.py", line 132, in _migrate_all_forwards

    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/migrations/executor.py", line 237, in apply_migration

    state = migration.apply(state, schema_editor)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/migrations/migration.py", line 129, in apply

    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/migrations/operations/models.py", line 96, in database_forwards

    schema_editor.create_model(model)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 295, in create_model

    self.execute(sql, params or None)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 112, in execute

    cursor.execute(sql, params)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/utils.py", line 79, in execute

    return super(CursorDebugWrapper, self).execute(sql, params)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute

    return self.cursor.execute(sql, params)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__

    six.reraise(dj_exc_type, dj_exc_value, traceback)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/utils.py", line 62, in execute

    return self.cursor.execute(sql)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 112, in execute

    return self.cursor.execute(query, args)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute

    self.errorhandler(self, exc, value)

  File "/Users/user/virtualenvs/project/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler

    raise errorclass, errorvalue

django.db.utils.OperationalError: (1071, 'Specified key was too long; max key length is 1000 bytes')

Due to some limitations in my next project I have to use MySQL. When running the initial migrations, I'm getting the above error. It's somewhat difficult to find out which key it is. Mostly (in previous experiences) it's caused by "unique" or "unique together" indexes.

Hi @elwinbuisman - do you have your database set up with utf8mb4 encoding? This sounds like it might be related to #2925.

Hi @gasman Yep, I sure do. That's the only way to get proper utf8 support. This issue is surely related. Difference thought, I've managed to work around the problem he is having by using MyIsam as engine. This allows fields to have 'normal' lengths. But, thus, resulting into index/ key-length problems.

Is there any update about this problem? I exactly have the same problem, and also tried using utf8mb4 encoding. I did a little digging showing the sql queries generated by Django.
Seems the problem is at least present on two migrations wagtailimages.0001_initial and wagtailcore.0001_squashed_0016_change_page_url_path_to_text_field.
wagtailimage migration output:
QUERY: b'CREATE TABLE `wagtailimages_rendition` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `file` varchar(100) NOT NULL, `width` integer NOT NULL, `height` integer NOT NULL, `focal_point_key` varchar(255) NULL, `filter_id` integer NOT NULL, `image_id` integer NOT NULL)'
# [...] crashes after this request:
QUERY: b'ALTER TABLE `wagtailimages_rendition` ADD CONSTRAINT `wagtailimages_rendition_image_id_03110280_uniq` UNIQUE (`image_id`, `filter_id`, `focal_point_key`)'

wagtailcore migration output:
# crashes after this request:
QUERY: b'CREATE TABLE `wagtailcore_page` (`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `path` varchar(255) NOT NULL UNIQUE, `depth` integer UNSIGNED NOT NULL, `numchild` integer UNSIGNED NOT NULL, `title` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `live` bool NOT NULL, `has_unpublished_changes` bool NOT NULL, `url_path` longtext NOT NULL, `seo_title` varchar(255) NOT NULL, `show_in_menus` bool NOT NULL, `search_description` longtext NOT NULL, `go_live_at` datetime(6) NULL, `expire_at` datetime(6) NULL, `expired` bool NOT NULL, `content_type_id` integer NOT NULL, `owner_id` integer NULL, `locked` bool NOT NULL, `latest_revision_created_at` datetime(6) NULL, `first_published_at` datetime(6) NULL)'

The error raised is always the same: _mysql_exceptions.OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes')

This bug still exists. Any news?

Looks like @gasman figured this out during #3256.
Following his advice I was able to resolve this issue by calling the following mysql query against my database
ALTER DATABASE myDbName CHARACTER SET utf8 COLLATE utf8_general_ci;
then running
python manage.py migrate
from the CLI continued without error

Just experienced this with wagtail 2.9.2.
Is there any way to pass the wagtail migrations while using the 'utf8mb4' charset in mysql?


add a !hl clear command

implements #180
It doesn't need to DM for this right?

Looks good, thanks!


Allow config option for default to be open or closed

It would be great if we could default items on the sidebar to be closed, rather than all expanded.

just set sidebarDisplayLevel: 0,


inlyne: 0.4.2 -> 0.4.3

Description of changes

Fixes issues building time on recent Rust compiler toolchains (re #332957) along with updating the repo org from trimental to the new(ish) Inlyne-Project org (source: github.com/trimental/inlyne redirects to github.com/Inlyne-Project/inlyne)
Release notes:
Just a patch release to fix the compilation issue on more recent toolchains with our "older" `time` dependency

## Internal

- Run `$ cargo update -p time`
- Placate clippy
- bump version to v0.4.3
- Update svenstaro/upload-release-action to 2.9.0
  - Whoever at GitHub thought it was a good idea to just _try_ running older actions with a newer incompatible node version with just a warning wasted a good couple of hours of my life :upside_down_face:

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Great first PR, thanks!


⚠ Bofrost.at has degraded performance

In d26c7f5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1577 ms

Resolved: Bofrost.at performance has improved in 1e12a60.


Tinfoil has stopped serving titles.json

So it would seem tinfoil no longer serves the titles.json file anymore as the following url now gives a 404 https://tinfoil.media/repo/db/titles.json
As the US.en.json file is not sufficient for SLM you could use ownfoil's build (or add your own in github workers region_titles.yml) and download a pre-built titles file utilizing cloudzip/partialzip and https://nightly.link/a1ex4/ownfoil/workflows/region_titles/master/titledb.zip
cloudzip or partialzip is a cool little tool to let you download individual files from a ZIP instead of the whole thing. eg. a 100MB titles file and not the other 1GB+ of the other titles
here is an example how ownfoil implemented this (in python but same sort of logic) https://github.com/a1ex4/ownfoil/blob/master/app/titledb.py

hopefully its just temporary, but will try to look into it if it doesnt come back soon

seems like the tinfoil url is back online, but this can be a good improvement to keep all the data together with the app, so i am marking this as an enhancement


(FACT-834) Avoid double loading ec2 warnings

When implementing custom facter module, I usually require external dependencies. But when requiring 'facter/ec2',  I get the following warning:
Already evaluated rest at true, reevaluating anyways
Already evaluated rest at true, reevaluating anyways

This PR ensure the facter/ec2/rest.rb is only loaded once when I require 'facter/ec2' module.
Singed CLA.

CLA signed by all contributors.

I'd like to spend some time looking at the rest.rb file to figure out what's actually causing this warning. It should always be safe to require something more than once, and I'd prefer to fix the underlying issue if we can sort it out.
Do agree we should silence this warning, though

I agree on your statement. I think it's still better to avoid loading twice because this would call amazon's http endpoint multiple times. I prefer http call is executed once per facter run.

I haven't been able to track down the root cause of the warning. At this point I guess I'm :+1: on merging this in.

I have this change running in production for a few weeks now, it's working for us.

@activars it looks like you updated the title of this pull request, but could you update the commit message as well? It needs to be in the same format, referencing the ticket, i.e. (FACT-834) Avoid double loading ec2 warnings. Once that's done, we should be able to merge this pull request.

I corrected the commit message.

@activars thanks! :+1: once travis goes green


Remove generated files from version control.

Two of the .md files are generated at docs build time via https://github.com/bluesky/tiled/blob/7d967ea7932bdb0318b9169a261cc2ae0f89a643/docs/source/conf.py#L272-L291
These should never have been committed.


Osmdroid for kotlin multiplatform and compose multiplatform

Since osmdroid is a great openstreet map library for android.As the multiplatform popularity is growing up, we need osmdroid to run on multiplatform and also on compose multiplatform.

PR's welcome

Just got the min code to use osmdroid with Compose. Clusters don't cluster here, so if here any recommendations, please add. No xml needed:
@Composable
fun OsmdroidMapView() {
    val mapView = rememberMapViewWithLifecycle()
    Configuration.getInstance().userAgentValue = BuildConfig.APPLICATION_ID

    AndroidView({ mapView }) { view ->
        mapView.setTileSource(TileSourceFactory.MAPNIK)

//        mapView.visibility = true
        mapView.setMultiTouchControls(true)

        // Initialize the MapView
        val mapController = view.controller
        mapController.setZoom(12.0)

        // Set the map center to a specific location
        val startPoint = GeoPoint(51.5074, -0.1278)
        mapController.setCenter(startPoint)

        // Add a marker
        val marker = Marker(view)
        marker.position = startPoint
        marker.title = "London"
        mapView.overlays.add(marker)

        // Add a cluster of markers
        val cluster = FolderOverlay()
        for (i in 1..10) {
            val randomPoint = GeoPoint(
                startPoint.latitude + (Math.random() - 0.5) / 10,
                startPoint.longitude + (Math.random() - 0.5) / 10
            )
            val randomMarker = Marker(view)
            randomMarker.position = randomPoint
            randomMarker.title = "Marker $i"
            cluster.add(randomMarker)
        }
        mapView.overlays.add(cluster)

        // Handle marker click events
        marker.setOnMarkerClickListener { _, _ ->
            Toast.makeText(view.context, "Marker clicked!", Toast.LENGTH_SHORT).show()
            true
        }

        // Refresh the map
        mapView.invalidate()
    }
}

@Composable
private fun rememberMapViewWithLifecycle(): MapView {
    val context = LocalContext.current
//    val mapView = remember { MapView(context) }
    val mapView = remember {
        MapView(context).apply {
//            id = R.id.osm_map
//            clipToOutline = true
        }
    }

    val observer = remember { MapViewLifecycleObserver(mapView) }
    val lifecycle = LocalLifecycleOwner.current.lifecycle

    DisposableEffect(Unit) {
        lifecycle.addObserver(observer)
        onDispose {
            lifecycle.removeObserver(observer)
        }
    }

    return mapView
}

class MapViewLifecycleObserver(private val mapView: MapView) : DefaultLifecycleObserver {
    override fun onResume(owner: LifecycleOwner) {
        super.onResume(owner)
        mapView.onResume()
    }

    override fun onPause(owner: LifecycleOwner) {
        super.onPause(owner)
        mapView.onPause()
    }

    override fun onDestroy(owner: LifecycleOwner) {
        super.onDestroy(owner)
        mapView.onDetach()
    }
}

For clustering you need to use RadiusMarkerClusterer from osmbonuspack. Also wrap as much as possible into remember {} or even LaunchedEffect to reduse recompositions.

Recently, I did a few months long project with OSMDroid and Compose.
OSMDroid and Compose do not work well together.
You can do it, but it is a question of should you do it.
I rather recommend someone who has lots of free time, and lots of passion, to write a pure compose implementation of OSM.

Maybe this could be a answer to compose map for openstreet. Check out the link and githubpages. I have just encountered it but hasn't implemented or used it.Please provide the feedback once you guys used it.
<EMAIL_ADDRESS>


Fix CI

https://github.com/StaffEngineer/bevy_cosmic_edit/actions/runs/6220242769/job/16879866636?pr=40
Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/s/systemd/libudev-dev_249.11-0ubuntu3.9_amd64.deb  404  Not Found [IP: <IP_ADDRESS> 80]

Let's fix it with some PR as soon as someone fill to fixing it lol

Yeah I'm afraid I'm clueless when it comes to CI :(

@bytemunch ci is fixed here: https://github.com/StaffEngineer/bevy_cosmic_edit/pull/44


Improve operator overloading for array symbols

Rather than raising a TypeError when an operator sees an unknown type, we instead return NotImplemented.
Implement *= and += for array symbols.

This PR is concerned with ArraySymbols in general. I will make a followup PR for Constant specifically.


Add deprecation warning for machine health check timeout flags

Issue #, if available:
Description of changes:
Add deprecation warning for machine health check timeout flags
Testing:
eksctl-anywhere upgrade cluster -h
This command is used to upgrade workload clusters

Usage:
  anywhere upgrade cluster [flags]

Flags:
......
      --kubeconfig string                   Management cluster kubeconfig file
      --no-timeouts                         Disable timeout for all wait operations
      --node-startup-timeout string         (DEPRECATED) Override the default node startup timeout (Defaults to 20m for Tinkerbell clusters) (default "10m0s")
      --per-machine-wait-timeout string     Override the default machine wait timeout per machine (default "10m0s")
      --skip-validations stringArray        Bypass upgrade validations by name. Valid arguments you can pass are --skip-validations=pod-disruption,vsphere-user-privilege,eksa-version-skew
      --unhealthy-machine-timeout string    (DEPRECATED) Override the default unhealthy machine timeout (default "5m0s")
  -w, --w-config string                     Kubeconfig file to use when upgrading a workload cluster

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherrypick release-0.17

/approve


Implement a peek operation for the qlever lexer

SparlqlLexer.peek behaves similar to SparlqlLexer.accept but does not consume the token if matched.
SparlqlLexer.peek might be needed in places where the custom parsers passes to the ANTLR parser. The matching rule is still determined by the custom parser but the tokens must not be consumed. After determining the matching rule the ANTLR parser parses that specific rule.

At least the RDFLITERAL rule should not be lowercase, so you could test
that one
Julian @.***> schrieb am Fr., 13. Mai 2022, 21:10:

@.**** commented on this pull request.
In test/SparqlLexerTest.cpp
https://github.com/ad-freiburg/qlever/pull/663#discussion_r872705946:

@@ -182,3 +182,14 @@ TEST(SparqlLexer, reset) {
lexer.expect("<cs.uni-freiburg.de/>");
ASSERT_TRUE(lexer.getUnconsumedInput().empty());
}

+TEST(SparqlLexer, peek) {

std::string query = "PREFIX";

SparqlLexer lexer(query);
ASSERT_TRUE(lexer.peek("prefix"));
ASSERT_EQ(std::string("prefix"), lexer.getUnconsumedInput());

ASSERT_TRUE(lexer.peek(SparqlToken::Type::KEYWORD));
ASSERT_EQ(std::string("prefix"), lexer.getUnconsumedInput());

I'll add a failing test.
The problem with match_case is that the lexer makes everything lowercase
anyways. A test that tries to match a non lowercase string with match_case
can of course still be constructed. But I don't really see any added value
there at the moment for that reason.
—
Reply to this email directly, view it on GitHub
https://github.com/ad-freiburg/qlever/pull/663#discussion_r872705946,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADS6SAUN2YY3IOEG3CCZNK3VJ2SKNANCNFSM5V3KQW6Q
.
You are receiving this because you commented.Message ID:
@.***>


Exclude spammy remote dependencies by default

The server side SDK includes a default filter for "bot" traffic, the javascript SDK should also have some easy way to say "I don't care about the user's 10 browser extensions that generate 10 network requests on every page view".. It's incredibly noisy, hush.

Could you provide names of those extensions and sample events which the SDK logged?
I'm not sure if the SDK should have any filtering logic for browser extensions. You can create a telemetry initializer function to exclude those events - see "How do I exclude parts of telemetry from sending?"


Implement the mentor availability endpoint

Description
This issue involves implementing the Mentor availability API endpoint. The endpoint should allow clients to make a POST request to {{baseUrl}}/api/me/availability and provide availability in the request body.
sample request body:
{
    "availability": true
}

Tasks

Create a controller for the /controllers/mentors endpoint in the backend.
Parse and validate the request body to ensure it matches the expected format.
Store the mentor's availability in the database.
Implement appropriate error handling and response status codes for different scenarios (e.g., validation errors, database errors).
Write unit tests to validate the functionality and correctness of the endpoint.

API documentation: https://documenter.getpostman.com/view/27421496/2s93m1a4ac#3eeb0372-4e07-4a2a-b72d-114d8639783d
ER diagram: https://drive.google.com/file/d/11KMgdNu2mSAm0Ner8UsSPQpZJS8QNqYc/view
Acceptance Criteria

The Mentor API endpoint /controllers/mentors is implemented and accessible via a PUT request.
The request body is properly parsed and validated for the required format.
The mentor's availability is stored correctly in the database or data store.
Appropriate error handling is implemented, providing meaningful error messages and correct response status codes.
Unit tests are written to validate the functionality and correctness of the endpoint.

https://github.com/sef-global/scholarx-backend/pull/64


starrocks_fe_tablet_max_compaction_score is not Precise

Version 1.19.0
Problem： starrocks_fe_tablet_max_compaction_score is not Precise
When I use Prometheus to monitor starrocks and Import the latest template.The indicators of BE compaction Score is abnormal.
this is the BE compaction Score:

but the log of be is very small :

You can only monitor the max_compaction_score, otherwise the monitor elements are too much.


libxkbcommon: 0.10.0 -> 1.0.3

Motivation for this change
This updates libxkbcommon from 0.10.0 to latest stable, 1.0.3.
Fixes #108003.
This is currently a draft since I haven't run nixpkgs-review since I'm expecting a huge rebuild.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc: @jtojnar @worldofpeace since you reviewed/merged last time. Thanks :heart: !

In the NEWS, the following items caught my attention:

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?
“Add /etc/xkb as extra lookup path for system data files.” Does this load from /etc or ${libxkbcommon}/etc? In the latter case, a patch like https://github.com/NixOS/nixpkgs/blob/9206c0d115c2e13767e7b770b903eda9856f78ee/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch might be necessary to have it working properly.
“Add an xkbcli command-line utility.” Does the utility work without changes or is some wrapping required?
“The tests no longer rely on bash, only Python” Is it possible that this fixes the tests?

Please rebase this against the staging branch due to the number of rebuilds.

/rebase-staging

/rebase-staging

@jtojnar my ten cents:

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

Well, I think it is a case for multiple outputs.

“Add /etc/xkb as extra lookup path for system data files.” Does this load from /etc or ${libxkbcommon}/etc? In the latter case, a patch like https://github.com/NixOS/nixpkgs/blob/9206c0d115c2e13767e7b770b903eda9856f78ee/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch might be necessary to have it working properly.

I think it can be both. The upstream's rationale is this:

Add /etc/xkb as extra lookup path for system data files.
This completes the usual triplet of configuration locations available for
most processes:

vendor-provided data files in /usr/share/X11/xkb
system-specific data files in /etc/xkb
user-specific data files in $XDG_CONFIG_HOME/xkb

The default lookup order user, system, vendor, just like everything else
that uses these conventions.

“Add an xkbcli command-line utility.” Does the utility work without changes or is some wrapping required?

Wait for the worst. Certainly it will seek configurations in the three paths above.

@jtojnar my ten cents:

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

Well, I think it is a case for multiple outputs.

“Add /etc/xkb as extra lookup path for system data files.” Does this load from /etc or ${libxkbcommon}/etc? In the latter case, a patch like https://github.com/NixOS/nixpkgs/blob/9206c0d115c2e13767e7b770b903eda9856f78ee/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch might be necessary to have it working properly.

I think it can be both. The upstream's rationale is this:

Add /etc/xkb as extra lookup path for system data files.
This completes the usual triplet of configuration locations available for
most processes:

vendor-provided data files in /usr/share/X11/xkb
system-specific data files in /etc/xkb
user-specific data files in $XDG_CONFIG_HOME/xkb

The default lookup order user, system, vendor, just like everything else
that uses these conventions.

“Add an xkbcli command-line utility.” Does the utility work without changes or is some wrapping required?

Wait for the worst. Certainly it will seek configurations in the three paths above.

Please don't let this PR stop someone else from picking it up. I'd drafted it thinking it would just be a version bump. It could be a while before I have time to really focus on this, sorry.

Please don't let this PR stop someone else from picking it up. I'd drafted it thinking it would just be a version bump. It could be a while before I have time to really focus on this, sorry.

Please don't let this PR stop someone else from picking it up. I'd drafted it thinking it would just be a version bump. It could be a while before I have time to really focus on this, sorry.

Ok, thanks for the update, I'll try to take care of the rest.

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

It is new and optional so I'd disable it for now. Installing it into a separate output seems like a nice idea but I think we should add a Meson option to install it into a different prefix first (after this PR).

“The tests no longer rely on bash, only Python” Is it possible that this fixes the tests?

Still fail, I'll look into that later.
TODO (I'll try to test this on my old desktop in a few hours):

“Add /etc/xkb as extra lookup path for system data files.” Does this load from /etc or ${libxkbcommon}/etc? In the latter case, a patch like https://github.com/NixOS/nixpkgs/blob/9206c0d115c2e13767e7b770b903eda9856f78ee/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch might be necessary to have it working properly.
“Add an xkbcli command-line utility.” Does the utility work without changes or is some wrapping required?

Please don't let this PR stop someone else from picking it up. I'd drafted it thinking it would just be a version bump. It could be a while before I have time to really focus on this, sorry.

Ok, thanks for the update, I'll try to take care of the rest.

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

It is new and optional so I'd disable it for now. Installing it into a separate output seems like a nice idea but I think we should add a Meson option to install it into a different prefix first (after this PR).

“The tests no longer rely on bash, only Python” Is it possible that this fixes the tests?

Still fail, I'll look into that later.
TODO (I'll try to test this on my old desktop in a few hours):

“Add /etc/xkb as extra lookup path for system data files.” Does this load from /etc or ${libxkbcommon}/etc? In the latter case, a patch like https://github.com/NixOS/nixpkgs/blob/9206c0d115c2e13767e7b770b903eda9856f78ee/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch might be necessary to have it working properly.
“Add an xkbcli command-line utility.” Does the utility work without changes or is some wrapping required?

I tested this with sway, alacritty, and xkbcli. Everything was working fine and I didn't notice any issues/regressions.
I'll squash and rebase it and then it should be good to go :)
(Feel free to merge and if you have any objections please raise them now as I'll likely merge it in a few hours.)

I tested this with sway, alacritty, and xkbcli. Everything was working fine and I didn't notice any issues/regressions.
I'll squash and rebase it and then it should be good to go :)
(Feel free to merge and if you have any objections please raise them now as I'll likely merge it in a few hours.)

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

I've had some time to look into this and opened #110773 with a brief reasoning for my approach. Feel free to add your thoughts/opinions or other feedback.

“Add libxkbregistry as configure-time optional library.” Is this included in the package? Can it be built separately?

I've had some time to look into this and opened #110773 with a brief reasoning for my approach. Feel free to add your thoughts/opinions or other feedback.


[SPARK-19472][SQL] Parser should not mistake CASE WHEN(...) for a function call

What changes were proposed in this pull request?
The SQL parser can mistake a WHEN (...) used in CASE for a function call. This happens in cases like the following:
select case when (1) + case when 1 > 0 then 1 else 0 end = 2 then 1 else 0 end
from tb

This PR fixes this by re-organizing the case related parsing rules.
How was this patch tested?
Added a regression test to the ExpressionParserSuite.

Test build #72454 has started for PR 16821 at commit 870f298.

+1

Test build #72454 has finished for PR 16821 at commit 870f298.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/72454/
Test PASSed.

Merged build finished. Test PASSed.

LGTM

Thanks! Merging to master/2.1/2.0


MAINT: prepare for SciPy 1.5.0 "final"

there are no backports needed for SciPy 1.5.0
final

set the version number to 1.5.0 (removing the rc2)
unreleased

remove the Note: in the release notes about 1.5.0
not being released yet

Ok, the 32-bit Windows Azure timeout is not related and everything is green so merging.
I can't remember if GitHub actions should be running on backport PRs like this, but anyway no evidence of issues from the CI that did run.


net: NXDOMAIN replies from a non-recursive server produce "server misbehaving" errors instead of "no such host"

From:
https://github.com/golang/go/blob/ced0646fe5ed9abb3b51fa99748b090f1dfe90e8/src/net/dnsclient.go#L43
it looks like any NXDOMAIN reply where the server doesn't allow recursive queries is treated as "server misbehaving". I would expect this to be treated like any other case where the name doesn't exist and get a "no such host" error instead.
Any reason why we have the "&& dns.recursion_available" part of the condition?

Is there agreement that the check should be removed?
In looking for prior art I found a similar check in glibc but it takes additional things into account (answer count == 0, no AA bit, additional record count == 0) before deciding to try another server, if my reading and interpretation are correct.
For maximum strictness the check makes sense: the Go stub resolver expects to talk to a recursor. If the server replied claiming a name doesn't exist but at the same time says recursion is not available maybe that is an issue. But if other stub implementations, such as glibc, don't care about that as much then maybe Go's shouldn't either.

I think there is agreement that something should be done.  I don't know enough about the issue to know if simply removing that check is the right thing to do.
In the absence of more clever analysis emulating glibc sounds like a good way to go.

My reading and interpretation were a bit off!
The check I linked is for a different condition (rcode == NOERROR, mainly) and is used to signal a change to the next nameserver when trying a name. I believe in the current Go implementation the returning of this error when a response contains no useful answers does the same thing. I haven't found anywhere else in glibc where the RA bit factors in when deciding whether to accept an answer or not.
In addition to the one linked for this issue there is also this check that considers the RA bit. I think at least that part of the greater condition could be removed, if not reducing it to just if err == nil as it seems to duplicate checks that answer does already.
Will open a CL for this.

For what it's worth, djbdns's stub resolver also ignores whether the server sets RA when answering an RD query.

I have been meaning to check, thanks. At some point I think it would be good to dig for other behavior changes/improvements we could borrow from stub resolvers in the various libc's and djbdns. djbdns' reloading of resolv.conf after N requests (in addition to after N seconds which Go's does now), for example.


A second project folder is created in the first folder

The first time I download the project code the projekt folder with the project name is created (all code included), the next time I run download projekt code it create another subfolder with the same name and put the code in this dir also .
so I now have /dev/flutterflow/my_app/my_app
And the latest code is always in the deepest dir..
/dev/flutterflow/ is set as the Base Directory.
Compiling the code in the deepest dir is working fine and gives me the latest code - but it might not be the perfect solution :-)
BTW Nice work..

Thanks for reporting this. This indeed is a bug. I will try and fix it.

@mrnicon - I have fixed the code. Could you please test it and let me know if it works for you?

You need to update the plugin to v0.0.7


Missing License

Could you please choose a license to give legal security for people using your code?

@jsiloto  Thanks for your interest. I added a LICENSE file.


Question about a generated closures.

We at the three.js team try move our code base to ES6 classes and want to use Bublé to generate ES2015 code. When inspecting the output, we noticed that Bublé produces a closure around class definitions iff the class is inherited from another one. Consider this (stripped-down) code:
class BoxGeometry extends Geometry {

	constructor( width, height, depth, widthSegments, heightSegments, depthSegments ) {

		super();

		this.type = 'BoxGeometry';

	}

}

Bublé produces:
var BoxGeometry = /*@__PURE__*/(function (Geometry) {
	function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) {

		Geometry.call(this);

		this.type = 'BoxGeometry';

	}

	if ( Geometry ) BoxGeometry.__proto__ = Geometry;
	BoxGeometry.prototype = Object.create( Geometry && Geometry.prototype );
	BoxGeometry.prototype.constructor = BoxGeometry;

	return BoxGeometry;
}(Geometry));

Is there a way to avoid the closure around BoxGeometry (see https://github.com/mrdoob/three.js/pull/17276#issuecomment-534252062)?

Ideally we would like it to produce this:
function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) {

	Geometry.call( this );

	this.type = 'BoxGeometry';

}

BoxGeometry.prototype = Object.create( Geometry.prototype );
BoxGeometry.prototype.constructor = BoxGeometry;

@mourner The ideal output I shared is the current pattern the whole library uses. We were hoping to adopt ES6 classes, and be able to produce the same ES5 build (or as close as possible).

@mrdoob yeah, I see, although it's unlikely to be achievable with Buble without some custom transforms — we can't sacrifice compatibility for a few more bytes that are likely mitigated by gzip.
BTW I'm wondering what you think about dropping IE11 support — any rough timelines? That would produce a lean build and make transpilation unnecessary.

we can't sacrifice compatibility for a few more bytes that are likely mitigated by gzip.

Yeah I understand. FWIW, is not about bytes, but about avoiding side effects. If the ES5 code remains the same I can go to sleep wihtout worrying that in a random config somewhere the extra closure is changing something or affecting performance somehow.

BTW I'm wondering what you think about dropping IE11 support — any rough timelines? That would produce a lean build and make transpilation unnecessary.

The three.module.js build already dropped IE11 support (unless the user transpiles it that is).

@mourner now that you're here... are you planning on adding a "module" export to Earcut's package.json? 😇

@mrdoob oh yes :) Let's discuss there: https://github.com/mapbox/earcut/issues/126

Ended up doing a rollup transform to cleans this up: https://github.com/mrdoob/three.js/pull/19934

This can be closed.


pyml-20231101 - fails to install with unpacker error

Describe the bug
pyml ocaml package fails to install during unpack phase
nix log /nix/store/465ma9n6f1xs92vf6br13hp37czpbzba-pyml-20231101.drv:
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/9dclwgb7a1grignvcafcmxq7l3wvgn91-pyml.20231101.tar.gz
unpacker appears to have produced no directories

To Reproduce
Build a program that depends on pyml with latest opam-nix (built on 08-12-2024)
Expected behavior
Program should build and install.
Environment

OS name + version: Nixos-unstable
Version of the code: pyml-20231101, latest opam-nix

Additional context
Regression. Doesn't occur with previous flake (updated on 30-11-2024).

I think this is because pyml produced an incorrect source archive, it has all the files at the top-level. I'll fix it.

Thanks for raising this!


inplace modification to compute() output changes original input.

In dask 0.18.1, the return value of compute() can be a view to the original data. When the result of compute() is modified in-place for post-processing, the behavior is surprising, as the original data is tainted as well.
def test_return_no_views():
    import dask.array as da
    import numpy
    a = numpy.ones(10)
    d = da.from_array(a, chunks=10)

    r = d.compute()
    r[3:4] = 2
    assert (a == 1).all() # fails because a is modified as well.

On the other hand, if any operations were performed during the construction of d, then inplace modification of the result of compute() won't affect the original input a. This asymmetric behavior is somewhat inconsistent.
If a view is highly desired (for performance) then consider marking the result of compute() read-only when a view to the original data is returned, to provide some numpy level protection against accidental overwriting the original data.

My gut feeling here is that there will be too many competing interests for
Dask to enforce a universally acceptable policy here, and that we'll
probably have to defer this to users.
I believe that @crusaderky had thoughts on this topic at some point (though
I could be mistaken about who this was) and may be interested in this issue.
On Tue, Jun 26, 2018 at 6:48 PM, Yu Feng<EMAIL_ADDRESS>wrote:

In dask 0.18.1, the return value of compute() can be a view to the
original data. When the result of compute() is modified in-place for
post-processing, the behavior is surprising, as the original data is
tainted as well.
def test_return_no_views():
import dask.array as da
import numpy
a = numpy.ones(10)
d = da.from_array(a, chunks=10)
r = d.compute()
r[3:4] = 2
assert (a == 1).all() # fails because a is modified as well.

On the other hand, if any operations were performed during the
construction of d, then inplace modification of the result of compute()
won't affect the original input a.
If a view is highly desired (for performance) then consider marking the
result of compute() read-only when a view to the original data is returned,
to provide some numpy level protection against accidental overwriting the
original data.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3674, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszFxw5YrJS62ucTaweUSi_5jJfLuRks5uAroggaJpZM4U4y-5
.

There was some discussion about making NumPy arrays read-only when used internally within the graph. This seems like desirable behavior to me.
Guessing you are referring to issue ( https://github.com/dask/distributed/issues/1978 ), @mrocklin, agree that seems related.

making the view read only seems sane to me and doesn't have the performance drawbacks of a copy

What about regardless marking result of da.compute read-only regardless? I suspect this could be a single line change at the end of the compute function.

It is difficult to tell if a view or a new instance is created.

This would be the behavior if the proposal in 1978 is fully implemented. Though by not requiring intermediate results to be read-only is keeps the compatibility with extensions not using cython 0.28 read-only memoryviews.

Note that today you can call x.copy() and, if the array has a single chunk, it will do an actual copy.


Sitemap

Summary by CodeRabbit

New Features

Introduced a new homepage for the /c route with improved category browsing and search capabilities.
Added detailed chatbot pages under the new /c/[category]/[chatbot] route.

Updates

Updated various components to change routing from /chat to /c for consistency and improved navigation.
Enhanced redirection logic post customer deletion to navigate to /c instead of /chat.

File Additions

New layouts and pages added to support the revamped /c route structure, including browsing, chatbot details, and user preferences.

While reviewing, I noticed a logic error on the browse page (probably on chat too) and I found that the condition to have the inner collapsible sections is closed by default but the icon is on open direction by default, so the logic condition looks off here:
https://github.com/bitcashorg/masterbots/assets/35474730/1256b047-0993-424b-8366-a828526fc118
We need to work on this fix ASAP.
@coderabbitai please create a new issue based on this comment.
cc — @AnoukRImola @TopETH


"Check for Updates" popup theme needs to match

Change Visual Studio Code theme to Dark Theme
Click Manage icon > Check for Updates...
Observe the "There are currently no updates available." popup theme is light theme instead of dark theme.

See https://code.visualstudio.com/updates/v1_86#_new-setting-to-enforce-system-color-theme

@bpasero @mjbvz The link provided does not resolve the issue. Please reopen issue and first follow the three steps provided to replicate the problem.

Alternatively, configure window.dialogStyle setting to custom

Awesome!  Why isn't this the default dialogStyle?

There is nothing in the native OS dialog that we cannot do that forces us to use a custom dialog, so we typically prefer to keep native UI integrations where possible. To give another example: macOS has a well working context menu and main menu, so we use that over our custom menu.


Build failing when pinia store is used in modules

Please check this issue here, its either pinia related or vite-ssg - but in any case I couldn't figure out the best way to install global middleware that uses the store, that doesn't throw this error on build.
Any suggestions on how to access the store in a router.beforeEach, which is initialized with the app?
And in case the store uses localStorage initialization which won't be available during generation, any best practices there?
Would be great if one could direct me to an example repo with such middleware.

It would be better to see how you define your pinia store but I guess can do something like that.
import { defineStore } from 'pinia'

const useAuthStore= defineStore('authStore', {
  // arrow function recommended for full type inference
  state: () => {
    return {
      user: typeof window !== 'undefined' ? localStorage.user : 'guest',
    }
  },
})

Or you can use https://vueuse.org/core/useStorage/
import { defineStore } from 'pinia'
import { useStorage } from '@vueuse/core'

const useAuthStore= defineStore('authStore', {
  // arrow function recommended for full type inference
  state: () => {
    return {
      // 'user' = localStorage.user
      // 'guest' = default value
      user: useStorage('user', 'guest'),
    }
  },
})

Thanks, that is the way I currently set it up, by checking for the window variable. I'll check out useStorage from @vueuse/core as well, thank you!
My question regarding setting up global router hooks that use pinia stores remains though. I want to define some router.beforeEach and router.afterEach hooks that have access to pinia stores, but when I use useAuthStore for example to look for a user in the beforeEach hook, I get the following error upon build:
I think it would be great if we can show a router middleware implementation using stores, and ideally merge that into the vitesse templates. If you can direct me in the right way I'd be happy to write some examples and submit a pull request there.
Cheers
[Vue Router warn]: uncaught error during route navigation:
TypeError: Cannot read property '_s' of undefined
    at useStore (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/pinia@2.0.0-rc.8_typescript@4.4.2+vue@3.2.11/node_modules/pinia/dist/pinia.cjs.js:1544:20)
    at /home/deniz/dev/metalink/metalink-frontend/.vite-ssg-temp/main.js:267:18
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1920:35
    at new Promise (<anonymous>)
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1894:18
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3368:65
TypeError: Cannot read property '_s' of undefined
    at useStore (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/pinia@2.0.0-rc.8_typescript@4.4.2+vue@3.2.11/node_modules/pinia/dist/pinia.cjs.js:1544:20)
    at /home/deniz/dev/metalink/metalink-frontend/.vite-ssg-temp/main.js:267:18
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1920:35
    at new Promise (<anonymous>)
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1894:18
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3368:65
 ELIFECYCLE  Command failed with exit code 1.

The pinia module is so:
import { createPinia } from 'pinia'
import type { RouteParams } from 'vue-router'
import { ModuleInstall } from '~/types'
import { useAuthStore } from '~/stores/auth'
import { useLayoutStore } from '~/stores/layout'

// Setup Pinia
// https://pinia.esm.dev/
export const install: ModuleInstall = async ({ isClient, initialState, app, router }) => {
  const pinia = createPinia()
  app.use(pinia)
  // Refer to
  // https://github.com/antfu/vite-ssg/blob/main/README.md#state-serialization
  // for other serialization strategies.
  if (isClient) {
    pinia.state.value = (initialState.pinia) || {}
  } else {
    initialState.pinia = pinia.state.value
  }

  router.beforeEach((to, from): boolean | string | RouteParams => {
    const auth = useAuthStore()
    if (to.meta.redirect) {
      return to.meta.redirect
    }
    if (to.meta.middleware) {
      if (to.meta.middleware === 'auth' && !auth.user) {
        return { name: 'login' }
      }
      if (to.meta.middleware === 'guest' && auth.user) {
        return { name: 'index' }
      }
    }
    return true
  })
  router.afterEach((to, from): void => {
    const layout = useLayoutStore()
    layout.navigationDrawer = false
    layout.sidebar = false
  })
}

There is nothing wrong with your approach to access pinia store in router hook. Only thing you have to avoid calling browser APIs in your useAuthStore store.
It would be nice to see what is going on that useAuthStore definition and at /home/deniz/dev/metalink/metalink-frontend/.vite-ssg-temp/main.js:267:18 based on this error message.

The line the error is thrown in .vite-ssh-temp/main.js is the line where we call const auth = useAuthStore();
I removed everything to bare bones as to rule out any other errors so the auth store and the layout store I attempt to import are currently in this state:
~/stores/auth.ts
import type { Ref } from 'vue'
import { acceptHMRUpdate, defineStore } from 'pinia'

export const useAuthStore = defineStore('user', () => {
  const user: Ref<User | null> = ref(null)

  return {
    user
  }
})

if (import.meta.hot) { import.meta.hot.accept(acceptHMRUpdate(useAuthStore, import.meta.hot)) }

~/stores/layout.ts
import type { Ref } from 'vue'
import { acceptHMRUpdate, defineStore } from 'pinia'

export const useLayoutStore = defineStore('layout', () => {
  const navigationDrawer: Ref<boolean> = ref(false)
  const sidebar: Ref<boolean> = ref(false)

  return {
    navigationDrawer,
    sidebar
  }
})

if (import.meta.hot) { import.meta.hot.accept(acceptHMRUpdate(useLayoutStore, import.meta.hot)) }

Others are apparently also having this issue when attempting the build with vite-ssg, you can check this issue over at pinia's issues.
Thanks for looking into it!

Does it throw error when your stores like that? You shouldn't have any issue with this store. I guess you removed the actual code that causes an issue.

No, it does throw the same error. You can try it yourself, all you have to do is to call useSomeStore in any module.

Yeah, I got same error.
I fixed this issue by adding await router.isReady() right before router.beforeEach call. Can you try it?

Interesting: Just tried it, and still get the same error. Plus from what I understand, the router.isReady waits for the initial navigations to all complete, which wouldn't make sense to do right before a route middleware, or?
TypeError: Cannot read property '_s' of undefined
    at useStore (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/pinia@2.0.0-rc.8_typescript@4.4.2+vue@3.2.11/node_modules/pinia/dist/pinia.cjs.js:1544:20)
    at /home/deniz/dev/metalink/metalink-frontend/.vite-ssg-temp/main.js:165:20
    at triggerAfterEach (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3116:13)
    at /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3019:13
    at async /home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vite-ssg@0.14.7_a05020cb06f51988f10705a8ab55a652/node_modules/vite-ssg/dist/node/cli.js:187:7
    at async Promise.all (index 0)
    at async build (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vite-ssg@0.14.7_a05020cb06f51988f10705a8ab55a652/node_modules/vite-ssg/dist/node/cli.js:184:3)
    at async Object.handler (/home/deniz/dev/metalink/metalink-frontend/node_modules/.pnpm/vite-ssg@0.14.7_a05020cb06f51988f10705a8ab55a652/node_modules/vite-ssg/dist/node/cli.js:267:3)

Can you show your main.ts?

@isokosan Please provide a minimal reproduction repo so we can better help.

Probably you are trying to access pinia store before it's getting installed or; registered another router hook on other modules.
Try putting await router.isReady() on main.ts like that:
export const createApp = ViteSSG(
  App,
  { routes },
  async(ctx) => {
    await ctx.router.isReady()

    // install all modules under `modules/`
    Object.values(import.meta.globEager('./modules/*.ts')).map(i => i.install?.(ctx))
  },
)

This would fix your issue if you are trying to access pinia store on other modules.

That was it @sibbng, the ngprogress module from the vitesse starter template was also accessing the router. Thank you so much for your time and support. :) And maybe this is something to document, as it was quite a challenge to debug.

You're welcome.
If that router hooks defined in ngprogress module wrapped in if statement as here, the issue is not there 👍

Yeah, then maybe the pwa but that also waits for the router.isReady. If I find some time tomorrow I'll fork the vitesse template and try to demonstrate the issue. Would be awesome to have you take a look, also at my approach at making middleware nuxt style with the globEager imports.
Thank again mate. :)

I'm re-opening this issue guys because router.isReady waits for the initial navigation to complete, which is useless when trying to build router middleware, also when I await it the routes don't resolve at all.
Could you please demonstrate an example of how one could implement a router hook that uses a pinia store, which does not fail upon build with the error above? I made a fork from the vitesse template here, with a minimal example of adding a router.beforeEach hook that accesses a pinia store.

Can you upgrade to latest version and try again without router.isReady. Seems related to https://github.com/antfu/vite-ssg/pull/106

I have the latest version in the fork, and the build is still failing. The " when I await it the routes don't resolve at all."  seems to be the result of the merge #106, but the build error is still there.
[Vue Router warn]: uncaught error during route navigation:
TypeError: Cannot read property '_s' of undefined
    at useStore (/home/deniz/dev/examples/vitesse/node_modules/.pnpm/pinia@2.0.0-rc.9_typescript@4.4.3+vue@3.2.11/node_modules/pinia/dist/pinia.cjs:1564:20)
    at /home/deniz/dev/examples/vitesse/.vite-ssg-temp/main.js:783:18
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1920:35
    at new Promise (<anonymous>)
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1894:18
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3368:65
TypeError: Cannot read property '_s' of undefined
    at useStore (/home/deniz/dev/examples/vitesse/node_modules/.pnpm/pinia@2.0.0-rc.9_typescript@4.4.3+vue@3.2.11/node_modules/pinia/dist/pinia.cjs:1564:20)
    at /home/deniz/dev/examples/vitesse/.vite-ssg-temp/main.js:783:18
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1920:35
    at new Promise (<anonymous>)
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:1894:18
    at /home/deniz/dev/examples/vitesse/node_modules/.pnpm/vue-router@4.0.11_vue@3.2.11/node_modules/vue-router/dist/vue-router.cjs.js:3368:65
 ELIFECYCLE  Command failed with exit code 1.

Try awaiting router only on server side with if (!ctx.isClient)
export const createApp = ViteSSG(
  App,
  { routes },
  async(ctx) => {
    if (!ctx.isClient)
      await ctx.router.isReady()

    // install all modules under `modules/`
    Object.values(import.meta.globEager('./modules/*.ts')).map(i => i.install?.(ctx))
  },
)

That did the trick!

I noticed yesterday that the vite-ssg build command will not generate pages when the router.isReady is awaited. So instead, I wrapped all store accessing logic in an isClient if closure.
I think the issue should stay open for the time being, since pinia in vite-ssg should not really throw an error and still function even when generating the pages.
export const createApp = ViteSSG(
  App,
  { routes },
  async (ctx) => {
    // Breaks generation
    // if (!ctx.isClient) {
    //   await ctx.router.isReady()
    // }

    // install all modules under `modules/`
    Object.values(import.meta.globEager('./modules/*.ts')).map(i => i.install?.(ctx))

    if (ctx.isClient) {
      // we can only use stores in client mode,
      const auth = useAuthStore()
      await auth.me()

      const layout = useLayoutStore()
      ctx.router.afterEach((to, from): void => {
        layout.navigationDrawer = false
        layout.sidebar = false
      })
    }
  }
)

Hey, same issue here, tried every mentioned solution but noting is working. Could it be because I use a pina store in an other pinia store ?

I also encounter the same issue when I call the useStore() function from a composable (SPA)