Fresh AngualrDart project fails to build.

[Edit by @chalin - trimmed down the log since we don't need the whole thing to diagnose the problem]
When starting a new AngularDart project via stagehand project template, new project fails to build with errors.
C:\Users\its_me>dart --version
Dart VM version: 2.0.0-dev.58.0 (Wed May 23 20:44:51 2018 +0200) on "windows_x64"
C:\Users\its_me>pub --version
Pub 2.0.0-dev.58.0
intellij dart plugin v182.2371.1
How to reproduce.

open phpstorm
File > New Project...
select Dart > Generate sample content > AngularDart Web App > Create
new project opens in IDE
run pub get

>pub get
Resolving dependencies...
Overriding the upper bound Dart SDK constraint to <=2.0.0-dev.58.0 for the following packages:

archive, args, bazel_worker, boolean_selector, build_config, charcode, cli_util, convert, fixnum, glob, graphs, html, http, http_multi_server, http_parser, intl, io, js, logging, meta, multi_server_socket, node_preamble, package_config, path, perf_api, plugin,
protobuf, pub_semver, quiver, quiver_hashcode, sass, shelf_packages_handler, source_map_stack_trace, source_maps, source_span, stack_trace, stream_channel, string_scanner, term_glyph, tuple, typed_data

To disable this you can set the PUB_ALLOW_PRERELEASE_SDK system environment variable to `false`, or you can silence this message by setting it to `quiet`.
+ analyzer 0.32.0
+ angular 5.0.0-alpha+12 (5.0.0-alpha+13 available)
+ angular_ast 0.5.3+1
+ angular_components 0.9.0-alpha+12 (0.9.0-alpha+13 available)
+ angular_forms 2.0.0-alpha+4 (2.0.0-alpha+5 available)
+ angular_test 2.0.0-alpha+10 (2.0.0-alpha+11 available)
+ archive 1.0.33 (2.0.0 available)
+ args 1.4.3
+ async 2.0.7
+ bazel_worker 0.1.9 (0.1.10 available)
+ boolean_selector 1.0.3
+ build 0.12.6
+ build_config 0.2.6+2
+ build_modules 0.2.2+5
+ build_resolvers 0.2.0+2
+ build_runner 0.8.9
+ build_test 0.10.2+3
+ build_web_compilers 0.4.0+1
+ built_collection 3.1.1
+ built_value 5.5.0
+ charcode 1.1.1
+ cli_util 0.1.3
+ code_builder 3.0.3
+ collection 1.14.9
+ convert 2.0.1
+ crypto 2.0.3
+ csslib 0.14.4
+ dart2_constant 1.0.1+dart2
+ dart_internal 0.1.1
+ dart_style 1.0.14
+ fixnum 0.10.7
+ front_end 0.1.0
+ glob 1.1.5
+ graphs 0.1.2
+ html 0.13.3
+ http 0.11.3+16
+ http_multi_server 2.0.4
+ http_parser 3.1.2
+ intl 0.15.6
+ io 0.3.2+1
+ js 0.6.1
+ json_annotation 0.2.5
+ kernel 0.3.0
+ logging 0.11.3+1
+ matcher 0.12.2+1
+ meta 1.1.5
+ mime 0.9.6+1
+ multi_server_socket 1.0.1
+ node_preamble 1.4.2
+ observable 0.22.1+3
+ package_config 1.0.3
+ package_resolver 1.0.3
+ path 1.5.1
+ perf_api 0.1.0
+ plugin 0.2.0+2
+ pool 1.3.5
+ protobuf 0.7.2 (0.9.0 available)
+ pub_semver 1.4.1
+ quiver 0.29.0+1
+ quiver_hashcode 1.0.0
+ sass 1.4.0
+ sass_builder 2.0.0
+ scratch_space 0.0.2+1
+ shelf 0.7.3+1
+ shelf_packages_handler 1.0.3
+ shelf_static 0.2.7+1
+ shelf_web_socket 0.2.2+1
+ source_gen 0.8.1+3
+ source_map_stack_trace 1.1.4
+ source_maps 0.10.5
+ source_span 1.4.0
+ stack_trace 1.9.2
+ stream_channel 1.6.6
+ stream_transform 0.0.11
+ string_scanner 1.0.2
+ term_glyph 1.0.0
+ test 0.12.38+1
+ tuple 1.0.1
+ typed_data 1.1.5
+ utf 0.9.0+4
+ watcher 0.9.7+8
+ web_socket_channel 1.0.7
+ yaml 2.1.14
Warning: You are using these overridden dependencies:
! angular_compiler 0.4.0-alpha+12 (0.4.0-alpha+13 available)
Changed 84 dependencies!
Precompiling executables...
Precompiled build_runner:graph_inspector.
Precompiled build_runner:build_runner.
Precompiled test:test.

run index.html  which kicks off Dart Dev Server

watch everything fail while trying to compile/serve the new project

C:\Programming\dart\sdk\bin\pub.bat global run webdev serve web:54505
webdev could not run for this project.
No pubspec.lock file found, please run "pub get" first.
Dart Dev Server terminated
C:\Programming\dart\sdk\bin\pub.bat global run webdev serve web:54535
[INFO] Setting up file watchers...
[INFO] Setting up file watchers completed, took 19ms

[INFO] Waiting for all file watchers to be ready...
[INFO] Waiting for all file watchers to be ready completed, took 12ms

[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 1.6s

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms

[INFO] Running build...
[SEVERE] angular_components|scss_builder on package:angular_components/material_checkbox/material_checkbox.scss:

Error: Can't find stylesheet to import.
@import 'const/global',
        ^^^^^^^^^^^^^^
  c:\users\its_me\appdata\local\temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\css\material\_material.scss 19:9              @import
  C:\Users\its_me\AppData\Local\Temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\material_checkbox\material_checkbox.scss 5:9  root stylesheet
[SEVERE] angular_components|scss_builder on package:angular_components/material_input/material_auto_suggest_input.scss:

Error: Can't find stylesheet to import.
@import 'const/global',
        ^^^^^^^^^^^^^^
  c:\users\its_me\appdata\local\temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\css\material\_material.scss 19:9                     @import
  C:\Users\its_me\AppData\Local\Temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\material_input\material_auto_suggest_input.scss 5:9  root stylesheet
[SEVERE] angular_components|scss_builder on package:angular_components/material_input/material_input.scss:

Error: Can't find stylesheet to import.
@import 'const/global',
        ^^^^^^^^^^^^^^
  c:\users\its_me\appdata\local\temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\css\material\_material.scss 19:9        @import
  C:\Users\its_me\AppData\Local\Temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\material_input\material_input.scss 5:9  root stylesheet
[SEVERE] angular_components|scss_builder on package:angular_components/material_chips/material_chips.scss:

Error: Can't find stylesheet to import.
@import 'const/global',
        ^^^^^^^^^^^^^^
  c:\users\its_me\appdata\local\temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\css\material\_material.scss 19:9        @import
  C:\Users\its_me\AppData\Local\Temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\material_chips\material_chips.scss 5:9  root stylesheet
[SEVERE] angular_components|scss_builder on package:angular_components/material_datepicker/material_date_time_picker.scss:

Error: Can't find stylesheet to import.
@import 'const/global',
        ^^^^^^^^^^^^^^
  c:\users\its_me\appdata\local\temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\css\material\_material.scss 19:9                        @import
  C:\Users\its_me\AppData\Local\Temp\scratch_spacea99afdde-6366-11e8-a683-005056c00008\packages\angular_components\material_datepicker\material_date_time_picker.scss 5:9  root stylesheet
[SEVERE] angular_components|scss_builder on package:angular_components/highlighted_text/highlighted_text.scss:

[...]

Please fix all errors before compiling (warnings are okay).
}
[WARNING] build_web_compilers|entrypoint on web/main.dart:
Unable to read angular_components|lib/scorecard/scoreboard.template.ddc.js, check your console or the `.dart_tool/build/generated/angular_components/lib/scorecard/scoreboard.template.ddc.js.errors` log file.
[INFO] 1m 29s elapsed, 2757/2773 actions completed.
[INFO] 1m 30s elapsed, 2760/2773 actions completed.
[INFO] 1m 31s elapsed, 2764/2773 actions completed.
[INFO] 1m 32s elapsed, 2765/2773 actions completed.
[INFO] 1m 33s elapsed, 2773/2778 actions completed.
[INFO] 1m 34s elapsed, 7353/7353 actions completed.
[INFO] Running build completed, took 1m 34s

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 342ms

Serving `web` on http://localhost:54535
[SEVERE] Failed after 1m 37s

Hi @chalin  I've just test it and it's working for me.  👍
When overriding sass version , the fresh Angular Dart generated by stagehand is working
dependency_overrides:
  sass: 1.3.2

Following the ouput of webdev build:
[INFO] Reading cached asset graph completed, took 1.3s
[INFO] Checking for updates since last build completed, took 1.2s
[WARNING] Invalidating asset graph due to build script update
[INFO] Cleaning up outputs from previous builds. completed, took 136ms
[INFO] Building new asset graph completed, took 2.2s
[INFO] Checking for unexpected pre-existing outputs. completed, took 2ms
[INFO] build_web_compilers|entrypoint on web/main.dart:Running dart2js with --minify --packages=.package-55f00cc37793a05d37531ccf0d980c39 -oweb/main.dart.js web/main.dart
[INFO] build_web_compilers|entrypoint on web/main.dart:Running dart2js with --minify --packages=.package-851618ffcc18441b4904d97f20be3bb8 -otest/app_test.dart.js test/app_test.dart
[INFO] build_web_compilers|entrypoint on web/main.dart:Dart2Js finished with:

Compiled 12,930,501 characters Dart to 276,948 characters JavaScript in 14.1 seconds
Dart file (web/main.dart) compiled to JavaScript: web/main.dart.js

[WARNING] No actions completed for 15.0s, waiting on:
  - build_web_compilers|entrypoint on test/app_test.dart
  - build_web_compilers|entrypoint on test/app_test.dart.browser_test.dart

[INFO] build_web_compilers|entrypoint on web/main.dart:Running dart2js with --minify --packages=.package-3b0023b8b0bfdb347cc595cba455e130 -otest/app_test.dart.browser_test.dart.js test/app_test.dart.browser_test.dart
[INFO] build_web_compilers|entrypoint on test/app_test.dart:Dart2Js finished with:

Compiled 13,773,714 characters Dart to 505,805 characters JavaScript in 15.9 seconds
Dart file (test/app_test.dart) compiled to JavaScript: test/app_test.dart.js

[WARNING] No actions completed for 15.1s, waiting on:
  - build_web_compilers|entrypoint on test/app_test.dart.browser_test.dart

[INFO] build_web_compilers|entrypoint on test/app_test.dart.browser_test.dart:Dart2Js finished with:

Compiled 13,791,392 characters Dart to 566,127 characters JavaScript in 19.6 seconds
Dart file (test/app_test.dart.browser_test.dart) compiled to JavaScript: test/app_test.dart.browser_test.dart.js

[INFO] Running build completed, took 1m 37s
[INFO] Caching finalized dependency graph completed, took 1.3s
[INFO] Succeeded after 1m 39s with 1646 outputs (5673 actions)

How do I know if/when I will be able to remove the version overrides?

@kdxvc - watch / subscribe to https://github.com/dart-lang/stagehand/issues/524

Sass 1.5.0 has been released with a fix, and so #524 has been closed.
Leaving this open until a new version of stagehand is published. /cc @kevmoo

This should be resolved in the latest release.


Restart server by times

Add the ability to add a list of times the server gets restarted
so for instance a text box where i could add times and maybe change and add additional times if i decided i wanted the server to restart more or less times also make sure it uses 24 hour clock so for example
06:00
12:00
18:00
00:00
list time like that with the ability to maybe add other in between those times

On the v3 rewrite, there is the option to send commands via the client command line. With this, you will be able to make scheduled restarts via your Operating System scheduling program (Task Scheduler for Windows, cron for Linux).

is the v3 rewrite stile coming?

Not planned, as TxAdmin itself has matured a lot since early 2020.
This issue was posted around 4 years ago.
Ill probably discontinue LambentLight for good during March.


Only run one platform build on master

We have an ios and ios-beta task (ditto android) that are both run on master. This should just move the ios task to only non-master and the ios-beta task will include the fastlane test and does the whole ios platform task in one go instead of 2

Think it's a good idea to run tests on the results of a file merge in master? Seems like a good idea to me.

All the same tests are run for all branches.

Just the ios (general) and android (general) tasks are no longer run on Master.
The ios-beta and android-beta tasks are still only run on Beta but also include the fastlane tests that are part of the general tasks that are no-longer run. It allows us not to do the platform builds 4 times on each master CI pipeline, instead just doing 2 (one for each platform)

I think I understand that idea, but I don't think it avoids having to build the code twice for each platform. For example, in iOS, tests are run in the simulator, so that requires a compile specific to the simulator. Then you compile for distribution to the app store which requires building for a real devices architecture.

Our native tests at this point are almost non-existent, so the best optimization would be to just disable native tests for all branches.

Ah, gotcha, this may not be the right way then, take a peek. I thought we could do both with the same build.

looks gtg now


Matching.cu

Hi,

In the matching.cu, to my understanding the following kernel code in function FindMaxCorr is used to do the 'reduce job' of finding the best 2 matches. However, I am sort of confused about the outcome. Since in one block all threads with tx < 8 are concurrent threads how can we guarantee that the best match result is eventually swapped into the first entry? I would appreciate a lot if you can explain this part a little bit.
__syncthreads();
for (int len=8;len>0;len/=2) {
if (tx<8) {
float val = maxScore[idx+len];
int i = maxIndex[idx+len];
if (val>maxScore[idx]) {
maxScor2[idx] = maxScore[idx];
maxScore[idx] = val;
maxIndex[idx] = i;
} else if (val>maxScor2[idx])
maxScor2[idx] = val;
float va2 = maxScor2[idx+len];
if (va2>maxScor2[idx])
maxScor2[idx] = va2;
}
__syncthreads();

I tried two images of my own and found all matches have a very high ambiguity.
Should the following be correct?
sift1[p1].ambiguity = (1 - maxScore[ty * 16]) / (1 - maxScore2[ty * 16] + 1e-6);

Thanks!

After two Gin&Tonic it's a little hard to digest what I once coded. I'm not even sure that code is particularly good. I originally wrote it to double-check whether the features I got were of good enough quality. At least, the code needs to be updated.

What the code does is updating the best match and if it's not the best match, then try the second best match. In the loop before we have already come down to a reduction where there are only 16 candidates left and in this loop the last 16 are tried. It's a gradual reduction with a factor of 2. I believe that (tx<8) can be changed to (tx<len), but that won't change anything in terms of speed.

Yes, if you want to do it the way Lowe does, it ought to be something like that. Assume B1 is the closest match and B2 is the second closest to A, and then assume they all have a length equal to 1. Then Lowe's measure ought to be (A-B2)^2/(A-B1)^2 = (1-2AB2+1)(1-2AB1+1) = (1-AB2)/(1-AB1) = (1-maxScor2[ty16])/(1-maxScor[ty16]) or possibly the square root or inverse thereof. You better draw the matches and see how things look like. In many scenes, such as office environments, there are far too many features that look the same. The measure works fine for object recognition, but in some cases it's not ideal.

Hi Celebrandil,
Thanks for the reply. I understood the logic of the code - a 'gradual' reduction with a factor of 2.
I previously didn't notice that the __syncthreads() is in the for loop.


Request for Dataset

Do you have the drive link to the CASIA-SURF dataset ?
Original dataset link given in the paper seems to be broken.

Do you have the drive link to the CASIA-SURF dataset ?
Original dataset link given in the paper seems to be broken.


Remove the python and libhdfs compat wrappers (temporarily?)

These wrappers are not currently maintained, and while the API is
going through unstable changes it is easier just to remove them
entirely.
The wrappers may be added back at some point.

I don’t think there’s any compelling reason to readd them until it presents itself. Libhdfs - does anyone use that? The java one was pretty broken.
Python— it was nice for quickly fiddling around with specific namenode rpcs (we used an incarnation of this to drive tests against our hdfs implementation at one point but have since moved to a different, all-python tool).  It’s quite possible snakebite adequately meets the needs of all Python HDFS users.
Anyway, let’s see if anyone shows up to complain. 😀


Noisy audio

Hello, I've been trying to capture audio and send it via wifi just as described in the project. But, as soon as I play the RAW file, it is just a noisy audio without a trace of any captured voice. I checked over the code but didn't see anything wrong, although I'm very new to programming in general. I'll be linking the audio acquired via wifi. I'll be very much appreciated for any help, thanks.
adc.zip

That's very strange. I would expect to see at least some recognisable audio.
Can you show me how the microphone is wired up? Which microphone board are you using?

I am currently using a esp32 with a max9814 as the image attached below shows. I did a pass low filter, four 330ohm resistors in parallel with four 100microF capacitors also in parallel, in order to supply a more steady voltage in the Vpp pin. But it didn't change much as the audio shown.

I am currently using a esp32 with a max9814 as the image attached below shows. I did a pass low filter, four 330ohm resistors in parallel with four 100microF capacitors also in parallel, in order to supply a more steady voltage in the Vpp pin. But it didn't change much as the audio shown.

I can't quite follow your low pass filter - I assume you get the noise even when you directly connect Vdd to 3v3?
You can try connecting the gain pin to 3v3 as well which will reduce the amount of gain the microphone is applying.

I meant by doing as follows:

I'll try connecting the gain pin.

Ok, so I tried but it did not work. But, I noticed that during a certain time the audio caption worked. I was measuring voltage and poking the MAX9814 during the recording. Even though, I am not aware the reason why it worked.
adc (2).zip

Can you try running the loop_sampling project? This will just output the value read from the ADC on the serial output.
In a quiet room, this should give you around 1.25v and it should range from about 0.25v to 2.25 volts when there is sound.
This will let us quickly check if the microphone is output sensible values.

Ok, I just uploaded to the ESP32 and then monitored the serial monitor.
serial monitor.txt

So, unless you are in a very noisy room this doesn't look good.
We should be seeing around 1250 for the mV values, but instead we are seeing some quite extreme values.
I would double check all your wiring and solder connections. It's also worth trying to power the the microphone from a battery as well just in case it's noise on the power line causing the issues. Two AA batteries will work.

Unfortunately, it is not the case. Maybe I'll be testing with the loop sampling and will report any progress.
Also, I'll try buying these AA batteries.

Is it just me or is out connected to gnd? Its hard looking at a picture.


Does Lettuce use CLUSTER NODES instead of CLUSTER SLOTS to discover topology?

Bug Report
In DefaultClusterTopologyRefresh, it seems to me that the topology is discovered using CLUSTER NODES.
If I understand correctly, clients should use CLUSTER SLOTS to discover topology.
Current Behavior
We sometimes get a LOADING Redis is loading the dataset in memory error when an instance comes online in the cluster.
I wasn't able to reproduce this reliably yet.
Input Code
We connect like this:

Input Code
RedisURI.Builder builder = RedisURI.Builder.sentinel("one")
        .withSentinel("two")
        .withSentinel("three");

redisUri = builder.get()
        .withSentinelMasterId(redisProperties.getSentinelMaster())
        .withAuthentication(
                redisProperties.getUsername(),
                redisProperties.getPassword().toCharArray()
        )
        .build();

client = RedisClient.create();
connection = MasterReplica.connect(client, codec, redisUri);
connection.setReadFrom(ReadFrom.LOWEST_LATENCY);
syncCommands = connection.sync();

Expected behavior/code
I expect Lettuce to never connect to a Redis instance that is still syncing.
Environment

Lettuce version: [6.3.2.RELEASE]
Redis version: [7.2.3]
Sentinel

Possible Solution
Use CLUSTER SLOTS instead of CLUSTER NODES when discovering topology.
Additional context
I'm not entirely sure I understand all the moving parts here, so I'm sorry if I am wrong here. Thanks anyway! :D

Seems like we are indeed using CLUSTER NODES, which currently is against the recommendation in the docs:

Note that normally clients willing to fetch the map between Cluster hash slots and node addresses should use CLUSTER SLOTS instead. CLUSTER NODES, that provides more information, should be used for administrative tasks, debugging, and configuration inspections. It is also used by redis-cli in order to manage a cluster.

This was initially implemented a while ago in #240 (Lettuce 4.2.0) and seems to have never been addressed since.
The change does not require new design, but has impact on large portions of the code.
Adding to the backlog until we have spare resources.

I've been poking around a bit, it doesn't seem that risky, at least at first glance. What do you think about a new contributor (me) trying to tackle this?

I've been poking around a bit, it doesn't seem that risky, at least at first glance. What do you think about a new contributor (me) trying to tackle this?

Absolutely, feel free to submit a PR, you are more than welcome.


"Pietroșița", "Dealu Frumos" are listed in the drop-down menu

Description:
When user writes ”Pietroșița” and "Dealu Frumos" the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Pietroșița"

Expected results
The location appears in the drop-down menu as "Sat Pietroșița, DÂMBOVIȚA (Pietroșița)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Dealu Frumos"

Expected results
The location appears in the drop-down menu as "Sat Dealu Frumos, DÂMBOVIȚA (Pietroșița)".


Update installer for v0.18.2 fails to install.

Environment
Windows build number: Microsoft Windows [Version 10.0.19041.264]
PowerToys version: v0.18.1

Steps to reproduce
Wait for powertoys to give you an update notification, Click "Update now". The installer tries to install the update.
Expected behavior
The installer should install the update to v0.18.2
Actual behavior
The installer stops and tells me a newer version has already been installed.
Screenshots

Hi @Goobles
it's the first time someone reports such a problem. It may be an isolated issue with your system (since the PT installer doesn't check the installed version directly but relies on the system to do it).
My suggestion is to manually uninstall 0.18.1 using Window 10 Settings -> Apps -> Apps & features (it's important to do it from there and not using the legacy Control Panel).
Then download and install 0.18.2 https://github.com/microsoft/PowerToys/releases
Your settings will be preserved.
Thanks.


[GLUTEN-2222] Separate the impl. of velox/ch for to_unix_timestamp & unix_timestamp

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #ISSUE-ID)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Do you add unit test to gluten or velox to track it?

Do you add unit test to gluten or velox to track it?

Will add a gluten test once velox side is ready. Thanks!


Change states to store previous state and history entry instead of using history db

We have finally begun to see new solutions crop up, but they have some pretty bad choices that should have been covered by the duplicate checker in general, such as entering and immediately exiting the menu, grabbing unnecessary items, etc. I think it's possible that these states won a few races such that their descendants kept getting adding to the queue before the more efficient ones could be. However, we should be able to notice eventually when states are improved upon.
Current db sizes are:
168G    .db/hist
213G    .db/queue
11M     .db/states
380G    total
So adding an extra field to the statedb equal in size to the key should be fine. Iterating through a state to get its history would then be repeatedly looking up state entries, and we then automatically update the earlier steps of a state arrived at in an inefficient way when we update one of its earlier states.
The main challenge will be having a reference or copy of the previous state. One option is to pre-serialize it and then clone that on every step. But this could lead to double-serializing. Another is to clone it while we add new steps, then we only need to clone+serialize for the states that are newly or re-written to the statedb.

One neat little twist that's a big problem: changing a prior state's best path invalidates the elapsed time recorded in its dependent states. The only way to evaluate the true elapsed time in such a way would be to read all the prior states, or update all the dependent ones.
I guess part of this project is recognizing that the dependencies between states is immutable: given a particular state, it always has a particular set of immediate children. We could store these. Perhaps we'd have:

a (Ctx, history step) -> (time for step, Ctx) db (child states). This one we'd iterate over, so Cuckoo wouldn't work.
a Ctx -> (min elapsed, Option) db (prev). This one is random-access only, so Cuckoo would work.

Then, when we retrieve elements from the queue/db, we don't have to compare their elapsed times for being duplicates, we simply check to see if we've written their children. And if not, then we generate and store the children, and then we grab the min elapsed time for the prev state, and perform the merge on the prev table for the children based on that. At this point we have to check the children to see if they exist, and update their entire descendant tree in prev (though technically we only need to do this if the elapsed time is strictly smaller for any of them).
There is a race inherent in the handling of this, that we could wind up with a state we think is over the limit and discard it, just before we find a shorter path to it. The best option there might be to record the states that are over the limit in prev when we create it, and when we later update it to be within the limit, then we add it to the queue (if we haven't already run it). For this, the main risk is adding the state multiple times as a result of the limit decreasing. But that's acceptable since it doesn't happen often and we can check for processed duplicates.

When we do descendant-updating and find a shorter path to an existing solution, then we should add it or replace it as a solution. As an alternative, we could let the solutions collector deal directly with the db to get the up-to-date route, but then we'd need a signal to it when a state is changed so it can regenerate the previews and unique item orders...

If we don't actually need to retrieve specific steps in the table, we could arguably just make nextdb be Ctx -> [(time, step, next Ctx)]. We don't actually get to use Cuckoo, though, since Vec is variable length, but at least we don't have to iterate to check for presence of the processed Ctx.

Another wrench: we generate subsequent states that have no new history (they are only skips) or multiple new history (collect multiple locations). But... we don't really need the history entries in the nextdb, just the list of (dur, next) pairs. Since it would still be a vector, that might not be usable in a Cuckoo format, but that documentation is apparently from 2014 so it might be outdated at this point (given that we also use Merge for the statedb and it says that's not supported).
The other option is to break the multiple changes into single changes and add a Skip history step. My fear is that this would add more inefficiency in evaluating the player "wandering off" after collecting one location but not the others at that spot.

Things we still have left to do:

[ ] Update descendants.
[ ] Update solutions.

Also, I am getting a crash from trying to retrieve state data that we expect to exist.


System.NotSupportedException: 'Specified method is not supported.' On reader.MoveToNextEntry() while decompresing 7z

Ive been getting this exception when i try to extract a 7zip file, it always start extracting files and get to the same point and throws the exception.
using (var archive = ArchiveFactory.Open("D:\test.7z"))
{
var reader = archive.ExtractAllEntries();
reader.EntryExtractionProgress += Reader_EntryExtractionProgress;
while (reader.MoveToNextEntry()) <--Exception here
{
if (!reader.Entry.IsDirectory)
reader.WriteEntryToDirectory("D:\temp", new ExtractionOptions() { ExtractFullPath = true, Overwrite = true });
}
}
void Reader_EntryExtractionProgress(object? sender, ReaderExtractionEventArgs e)
{
Console.WriteLine($"{e.Item.Key}: {e.ReaderProgress.PercentageRead} % read, {e.ReaderProgress.PercentageReadExact} % extracted");
}
Im using .net 6.0 on a simple console app.

It seems to complain that it cant call reflection from this context, yet i dont understand why it manages to extract half the file before having this problem.
WriteAllToDirectory() also gives this exception.

Can be DeltaFilter #726,  do you have the test file somewhere or can you build from this repo and test/report the CMethodId id value when it fails?

(sorry i posted the issue from the wrong account)
Yeah this is the file, its extensionless but it is a 7z. https://cf.fsnebula.org/storage/38/aa/9cb349c96e4fc0d9e3b88d681642764af71cdf9476a7af6281caafdffafd

If you open it in 7z you can see that some entries are using Method Delta:X LZMA, The support for this was added recently and has not yet been released.

ok if this is fixed on main then ill close this for now.

Using the link, it actually fails on a file that 7zip says does not use the delta method, I will see if there are other conditions than the ID for the filter detection

and I was wrong, but it looks to be a noop setup, not appying the filter seems to be the right way, I'll look into it some more later

From my testing it looks like the check should be removed #735

Seems to be working fine now, thanks.

Thanks both!


Added support for prevChunk, nextChunk, prevPage and nextPage…

Changed template.js to take into account prevChunk, nextChunk, prevPage and nextPage text options.
Related: https://github.com/matfish2/vue-pagination-2/issues/37
PS: I couldn’t provide the dist files as the project doesn't seem to build properly, at least for me.

@matfish2 Could this be released at some point?


snapcraft.yaml: use go implementation of support-scheduler (master)

Duplicate of #716 but for master (i.e. Edinburgh)

Update start-edgex.sh to use the new go support-scheduler binary
Update install hook to also install the support-scheduler config files

This PR is still being worked by @tonyespy and @anonymouse64 as of 12/11/18 check in with them.  Leave open for Espy review.


include the state hash in payment merkle proofs

A proof becomes invalid as soon as the sender account's receipt chain hash changes. If new payments are sent by the sender and included in a block between when the proof is generated and when it's checked, the check will erroneously fail. We should include the state hash in the proofs, and check proofs relative to that state. This will extend the window of validity until the transition that the proof was associated with is removed from a node's frontier.

This is addressed in the client storage PR: https://github.com/CodaProtocol/coda/pull/2901
For each transaction in a block in the blocks database will also be associated with its corresponding receipt_chain_hash.


Hebrew Translation

Hello, I would like to translate Excalidraw to Hebrew

Here you go: https://crowdin.com/translate/excalidraw/10/en-he
Is “עברית” the correct word for Hebrew (so we can put it in the language dropdown)?

Yes.
Thanks.

I’ve merged the PR with the translations so far and it should be live shortly!


Contents are not showing properly and I want to set the border for message view.

I am adding custom view to Message view. I am not getting the content of the view properly in message view and I have set the border for my custom view I am not getting the border on edges as I am using StandardBubbleConfiguration.

Facing similar issue.

It is possible to have both a border and a properly aligned content. So this does not seem to be a relevant library issue.
Please use search and please take time to read other issues before posting new ones.
This one might be helpful https://github.com/eBay/NMessenger/issues/143

Oh, and nobody would be able to help you without your code snippet (gist/pastebin) of NMessenger usage.

I am not using collection view. I am using CustomView. I am using StandardBubbleConfiguration so the I am not getting border at [edges.](url

)

Please, @dodikk  can you help me how you display custom views in collection view node ?.
Always node it was added but unfortunately give empty space please see the attached below


Proposed CloudKitOperation Usage in 2.6

In the prior version of the framework, I was able to combine a state variable, CloudSynchronized, into a wrapper Operation or GroupOperation that contained a CloudKitOperation
protocol CloudSynchronized: class {
    var syncState: CloudSyncronizationState { get set }
}

This allowed me to use a master GroupOperation that would coordinate a complicated synchronization process with CloudKit by adding various operations to using the addOperation call. Now I'm wondering if this is still possible or desirable because part of the reason for doing so was to address the issue of the CKQueryCursor. The idea in the new version seems to be that this is taken care of automatically and eliminate the need for the my higher level wrapper Operations that maintain a state variable.
Is this still a viable strategy?
class CloudSyncGroupOperation : GroupOperation {
    private var notificationHelper = CloudNotificationHelper.sharedCloudNotificationHelper
    private var subscriptionHelper = CloudSubscriptionHelper.sharedCloudSubscriptionHelper
    private var syncStateManager = CloudSyncStateManager.sharedSyncStateManager
    private var recordHelper = CloudRecordHelper.sharedCloudRecordHelper
    private let container: CKContainer

    init() {
        container = CKContainer.defaultContainer()

        let state = syncStateManager.determineInitialSyncState()

        super.init(operations: [])

        if let operation = operationForState(state) {
            addOperation(operation)
        }
        name = "Cloud Sync Group Operation"
    }

    override func operationDidFinish(operation: NSOperation, withErrors errors: [ErrorType]) {
        let name = operation.name == nil ? "Unknown" : operation.name!
        if let stateOperation = operation as? CloudSynchronized {
            let state = stateOperation.syncState
            print("\(name) finished")
            switch state {
            case .CheckAccountAccess:
                break
                if let signinOperation = operation as? CloudSigninOperation {
                    syncStateManager.accountAccess = (signinOperation.status == .Available)
                }
            case .LoadUserRecord:
                break
                if let userRecordOperation = operation as? CloudUserRecordOperation {
                    syncStateManager.userRecordId = userRecordOperation.userRecordId
                    subscriptionHelper.userRecordId = userRecordOperation.userRecordId
                }
            case .DiscoverUser:
                if let discoverabilityOperation = operation as? CloudDiscoverabilityOperation {
                    syncStateManager.userDiscoverability = discoverabilityOperation.granted
                }
            case .DiscoverContacts:
                if let contactsOperation = operation as? CloudDiscoverContactsOperation {
                    syncStateManager.contactsInfoArray = contactsOperation.contactsInfoArray
                }
            case .FetchPrivateSubscriptions:
                if let fetchPrivateSubscriptionsOperation = operation as? CloudFetchSubscriptionsOperation {
                    syncStateManager.privateSubscriptionIds = fetchPrivateSubscriptionsOperation.subscriptionsBySubscriptionID
                }
            case .PostPrivateSubscriptions:
                if let postPrivateSubscriptionsOperation = operation as? CloudModifySubscriptionsOperation {
                    syncStateManager.privateSubscriptions = postPrivateSubscriptionsOperation.subscriptionUpdates
                }
            case .FetchOurPublicSubscriptions:
                if let fetchOurSubscriptionsOperation = operation as? CloudFetchSubscriptionsOperation {
                    syncStateManager.ourPublicSubscriptionIds = fetchOurSubscriptionsOperation.subscriptionsBySubscriptionID
                }
            case .PostOurPublicSubscriptions:
                if let postOurPublicSubscriptionsOperation = operation as? CloudModifySubscriptionsOperation {
                    syncStateManager.ourPublicSubscriptions = postOurPublicSubscriptionsOperation.subscriptionUpdates
                }
            case .PostPrivateRecordUpdates:
                if let _ = operation as? CloudSyncRecordsOperation {

                }
             case .RepostPublicRecordUpdates:
                if let _ = operation as? CloudSyncRecordsOperation {

                }
            default:
                print("Some unknown operation bound to SyncState: '\(state)' operation: \(name) finished")
                break
            }
            let nextState = syncStateManager.computeNextSyncState(errors.first)
            if let operation = operationForState(nextState) {
                addOperation(operation)
            } else {
                print("No additional operations produced for state: \(nextState)")
            }
        } else {
            print("Non-syncronized, possibly internal, operation: \(name) finished")
        }
    }

Here are a couple example implementation classes:
class CloudFetchSubscriptionsOperation : Operation, CloudSynchronized {

    var syncState: CloudSyncronizationState

    let container: CKContainer
    var privateDatabase: Bool
    var subscriptionIds: [String]
    var database: CKDatabase
    var error: NSError?
    var databaseOperation: CKDatabaseOperation
    var cloudKitOperation: CloudKitDatabaseOperation<CKFetchSubscriptionsOperation>
    var subscriptionsBySubscriptionID : [String : CKSubscription]?

    init(syncState: CloudSyncronizationState, container: CKContainer, subscriptionIds: [String], privateDatabase: Bool) {
        self.syncState = syncState
        self.container = container
        self.subscriptionIds = subscriptionIds
        self.privateDatabase = privateDatabase
        self.database = privateDatabase ? container.privateCloudDatabase : container.publicCloudDatabase

        let base: CKFetchSubscriptionsOperation = CKFetchSubscriptionsOperation(subscriptionIDs: subscriptionIds)

        let operation = CloudKitDatabaseOperation<CKFetchSubscriptionsOperation>(operation: base, database: database)

        databaseOperation = base
        cloudKitOperation = operation

        super.init()

        let nm = privateDatabase ? "Fetch Private Subscriptions Operation" : "Fetch Public Subscriptions Operation"
        name = nm

        operation.name = "Internal CloudKitOperation for: '\(nm)'"
        operation.addCompletionBlock { self.finishWithError(self.error) }

        base.fetchSubscriptionCompletionBlock = completionBlock
    }

    func completionBlock(subscriptionsBySubscriptionID : [String : CKSubscription]?, error: NSError?) {
        self.subscriptionsBySubscriptionID = subscriptionsBySubscriptionID
        print("Completion Block for: \(name!)")
        self.error = error
    }

    override func execute() {
        if let str = name {
            print("Executing: '\(str)'")
        }
        produceOperation(cloudKitOperation)
    }

    override func finished(errors: [ErrorType]) {
        if let str = name {
            print("Finished '\(str)' with errors: \(errors)")
        }
    }

    override func cancel() {
        cloudKitOperation.cancel()
        super.cancel()
    }

}

Here's another that is itself a GroupOperation...
class CloudInterleavedPrivateQueriesOperation : GroupOperation, CloudSynchronized {
    var syncState: CloudSyncronizationState

    private let container: CKContainer
    private let recordCheck: RecordQueryBlock?
    private let callback: InterleaveCompletionBlock?
    private var types: [RecordType] = [.Source, .Provider, .Detail, .Clip, .Asset, .Metadata]

    init(syncState: CloudSyncronizationState, container: CKContainer, recordCheck: RecordQueryBlock?, callback: InterleaveCompletionBlock?) {
        self.syncState = syncState
        self.container = container
        self.recordCheck = recordCheck
        self.callback = callback

        super.init(operations: [])

        for type in types {
            let predicate = NSPredicate(value: true)
            let query = CKQuery(recordType: type.rawValue, predicate: predicate)
            let operation = CloudQueryRecordOperation(recordType: type.rawValue, container: container, query: query, privateDatabase: true, recordCheck: recordCheck, callback: completionBlock)
            addOperation(operation)
        }

        name = "Interleaved Private Queries Operation"
    }

    override func operationDidFinish(operation: NSOperation, withErrors errors: [NSError]) {
        if let op = operation as? CloudQueryRecordOperation, let name = op.name {
            print("Operation named '\(name)' did finish in \(self.name!)")
        }
    }

    func completionBlock(recordType: String, queryCursor: CKQueryCursor?, error: NSError?) {
        if let err = error {
            self.finishWithError(err)
        }
        if let cursor = queryCursor {
            let operation = CloudQueryRecordOperation(recordType: recordType, container: self.container, cursor: cursor, privateDatabase: true, recordCheck: self.recordCheck, callback: completionBlock)
            addOperation(operation)
        }
    }
}

I think it might still be a valid strategy - but perhaps needs a little bit of changing to work with CloudKitOperation due to land in 2.6.
Can you share the CloudSyncronizationState type? i.e. what are the states? I'm just trying to get my head around these "state" properties in the operation.
Essentially, you've got a GroupOperation which is responsible for a bunch of different CKOperations. When each operation instance finishes, you extract the "state" which is really just an identifier from the operation, and then switch on its type to then optionally cast the received operation as the correct type. Then, use this to set some data into a sync manager which then gives you the next state.
In general, most of the operation types which you are optionally casting to are unique. There are only two pairs of states, which have the same operation types.
So... in general, I would look to compose CloudKitOperation instances inside your own GroupOperation subclasses. Implement the completion blocks so that the returned "result" information is stored appropriately.
Then in your top orchestrating GroupOperation, switch over the operation which has finished. There is no need for a separate state enum type or protocol.
That's sort of how I see it, have you already tried it like this and ran into problems?
I'm not sure what the issue is with CKQueryCursor - can you elaborate?

You'll see the states in the operationDidFinish method above. I'll try to revert back to the way I've done it in the code above (which I had made obsolete by attempting to eliminated the need for yet another wrapper GroupOperation).
I think the only issue I ran into was the following call:
   operation.addCompletionBlock { self.finishWithError(self.error) }

This worked on your old CloudKitOperation but not the new version based on GroupOperation. It could just be ErrorType vs NSError.
I don't have any issue with CKQueryCursor except to mention that I had expected to deal with it myself but I believe your new 2.6 code handles the case where an CloudKItOperation returns a QueryCursor and you use that to continue the base operation until it completes.

I think the only issue I ran into was the following call:

operation.addCompletionBlock { self.finishWithError(self.error) }

Does it not work at compile time? Or runtime? I would change this to either subclass ComposedOperation instead, or to use a FinishedObserver.
Also, there is possibly a bug in Operation regarding this not always being invoked correctly.

A few more thoughts...
I think it probably makes sense for you to stick to version 2.5 for the moment.  This is why it isn't released yet, and it's not going to get done until at least next weekend now.
Also, I really appreciate the feedback, and it's clear to see from what you've shared here that your CloudKit architecture is quite evolved, which gives me a lot to consider in terms of common use cases. However, I also don't want to subvert this general purpose framework so that it suits your specialized usage.

Daniel,
To be honest I'm not in that big a rush so don't hurry on my account.
The new design is awesome because of its built-in "retry on error" repeatability. It's very cool. I can wait to get that rolling and perhaps my code will provide a really good set of real-world tests.
I'm going to follow your advice and go back to my 2.5 design but may still try to see what I can do to make it work with 2.6.
Steve

On Feb 6, 2016, at 17:56, Daniel Thorpe<EMAIL_ADDRESS>wrote:
A few more thoughts...
I think it probably makes sense for you to stick to version 2.5 for the moment.  This is why it isn't released yet, and it's not going to get done until at least next weekend now.
Also, I really appreciate the feedback, and it's clear to see from what you've shared here that your CloudKit architecture is quite evolved, which gives me a lot to consider in terms of common use cases. However, I also don't want to subvert this general purpose framework so that it suits your specialized usage.
—
Reply to this email directly or view it on GitHub.

I may have confused the issue with the discussion about a coordination state variable, CloudSynchronizationState, so let's put that aside for now. In a pared down example I will try to illustrate my requisite use-case for your new CloudKitOperation.
Consider the CloudKitDatabaseOperationType, which mirrors your CKDatabaseOperationType, though I actually started using this after our conversations a few weeks back.
public protocol CloudKitDatabaseOperationType: class {
    var database: CKDatabase? { get set }
    func begin()
}

public class CloudKitDatabaseOperation<CloudOperation where CloudOperation: CloudKitDatabaseOperationType, CloudOperation: NSOperation>: Operation {
    public let operation: CloudOperation

    public init(operation: CloudOperation, database: CKDatabase) {
        operation.database = database
        self.operation = operation
        super.init()
    }

    public override func execute() {
        operation.addCompletionBlock {
            self.finish()
        }
        operation.begin()
    }

    public override func cancel() {
        operation.cancel()
        super.cancel()
    }
}
extension CKDatabaseOperation: CloudKitDatabaseOperationType {
    public override func begin() {
        assert(database != nil, "CKDatabase not set on Operation.")
        database!.addOperation(self)
    }
}

Now consider the following use-case: an CloudKitDatabaseOperation that wraps a CKQueryOperation and supports:

Retry on failure when the error handler suggests that we should retry based on a CKErrorRetryAfterKey, which would re-queue the entire operation.
Resume when CKQueryCursor is returned indicating the the resultsLimit count was reached but there are additional records to fetch.

Here's the resulting Operation I came up with:
typealias RecordQueryBlock = (record: CKRecord, privatePass: Bool) -> ()

typealias RecordQueryCompletionBlock = (recordType: String, queryCursor: CKQueryCursor?, error: NSError?) -> ()

class CloudQueryRecordOperation : Operation {
    var recordType: String
    let container: CKContainer
    var error: NSError?
    var privateDatabase: Bool
    var database: CKDatabase
    var recordCheck: RecordQueryBlock?
    var callback: RecordQueryCompletionBlock?
    var databaseOperation: CKDatabaseOperation
    var cloudKitOperation: CloudKitDatabaseOperation<CKQueryOperation>
    var records: [CKRecord] = []

    convenience init(recordType: String, container: CKContainer, query: CKQuery, privateDatabase: Bool, recordCheck: RecordQueryBlock?, callback: RecordQueryCompletionBlock?) {
        let operation = CKQueryOperation(query: query)
        self.init(recordType: recordType, container: container, queryOperation: operation, privateDatabase: privateDatabase, recordCheck: recordCheck, callback: callback)
    }

    convenience init(recordType: String, container: CKContainer, cursor: CKQueryCursor, privateDatabase: Bool, recordCheck: RecordQueryBlock?, callback: RecordQueryCompletionBlock?) {
        let operation = CKQueryOperation(cursor: cursor)
        self.init(recordType: recordType, container: container, queryOperation: operation, privateDatabase: privateDatabase, recordCheck: recordCheck, callback: callback)
    }

    init(recordType: String, container: CKContainer, queryOperation: CKQueryOperation, privateDatabase: Bool, recordCheck: RecordQueryBlock?, callback: RecordQueryCompletionBlock?) {
        self.recordType = recordType
        self.container = container
        self.privateDatabase = privateDatabase
        self.database = privateDatabase ? container.privateCloudDatabase : container.publicCloudDatabase
        self.recordCheck = recordCheck
        self.callback = callback

        let operation = CloudKitDatabaseOperation<CKQueryOperation>(operation: queryOperation, database: database)

        databaseOperation = queryOperation
        cloudKitOperation = operation

        super.init()

        let nm = privateDatabase ? "Private Records Query on '\(recordType)' Operation" : "Public Records Query on '\(recordType)' Operation"
        name = nm

        operation.name = "Internal CloudKitOperation for: '\(nm)'"

        operation.addCompletionBlock { () -> Void in
            self.finish(self.error)
        }

        queryOperation.recordFetchedBlock = recordBlock
        queryOperation.queryCompletionBlock = completionBlock
    }

    func recordBlock(record: CKRecord) {
        records.append(record)
        if let block = recordCheck {
            block(record: record, privatePass: privateDatabase)
        }
    }

    func completionBlock(queryCursor: CKQueryCursor?, error: NSError?) {
        if let callback = callback {
            callback(recordType: self.recordType, queryCursor: queryCursor, error: error)
        }
        self.error = error
    }
    override func execute() {
        if let str = name {
            print("Executing: \(str)")
        }
        produceOperation(cloudKitOperation)
    }
    override func finished(errors: [ErrorType]) {
        if let str = name {
            print("Finished \(str) with errors: \(errors)")
        }
    }
    override func cancel() {
        cloudKitOperation.cancel()
        super.cancel()
    }
}

The issue here is that we're not handling the retry or cursor in this discrete operation, but we do with a coordinating GroupOperation.
class CloudInterleavedPublicQueriesOperation : GroupOperation, CloudSynchronized {
    var syncState: CloudSyncronizationState

    private let container: CKContainer
    private let recordCheck: RecordQueryBlock?
    private let callback: InterleaveCompletionBlock?

    init(syncState: CloudSyncronizationState, container: CKContainer, queries: [CKQuery], recordCheck: RecordQueryBlock?, callback: InterleaveCompletionBlock?) {
        self.syncState = syncState
        self.container = container
        self.recordCheck = recordCheck
        self.callback = callback

        super.init(operations: [])

        var types: [String] = []
        for query in queries {
            let type = query.recordType
            types.append(type)
        }
        for query in queries {
            let operation = CloudQueryRecordOperation(recordType: query.recordType, container: container, query: query, privateDatabase: false, recordCheck: recordCheck, callback: completionBlock)
            addOperation(operation)
        }

        name = "Interleaved Public Queries Operation"
    }

    override func operationDidFinish(operation: NSOperation, withErrors errors: [ErrorType]) {
        if let op = operation as? CloudQueryRecordOperation, let name = op.name {
            print("Operation named '\(name)' did finish in \(self.name!)")
        }
    }

    func completionBlock(recordType: String, queryCursor: CKQueryCursor?, error: NSError?) {
        if let err = error { // TODO This is where we would need to check for the CKErrorRetryAfterKey assuming the Operation failed because of some kind of network or system busy error - and requee a new instance
                             // of the operation
            self.finish(err)
        }
        if let cursor = queryCursor {
            let operation = CloudQueryRecordOperation(recordType: recordType, container: self.container, cursor: cursor, privateDatabase: false, recordCheck: self.recordCheck, callback: completionBlock)
            addOperation(operation)
        }
    }
}

It is this GroupOperation that you've created in the new CloudKitOperation class. What I'm hoping is that you'll be able to show a bit of sample code that can achieve the same ends. Note that the GroupOperation allows an array of CKQuery to be run.
So far the only examples of the new CloudKitOperation show it wrapping basic CKOperations, e.g.
// Fetch (all) Record Zones CloudKit Operation
let operation = CloudKitOperation { CKFetchRecordZonesOperation.fetchAllRecordZonesOperation() }

I'm hoping my use-case is clear enough.  All of the necessary elements seem to be in your new code already. Perhaps I've just been unable to bridge my old code to what is necessary to utilize the new code.

Thanks for this @StephenDaedalus - quite a lot of detail which I will work through. I think the key for me, will be to make the dependency chaining stuff work nicely with the new CloudKitOperation. Once I've got that in place, I'm going to work through some examples of what I think is typical CloudKit setup code - and hopefully, this will align a bit more closely with how you'd like to use it too :)


remove wikimedian news bullet

Coverage remained the same at 80.14% when pulling 20d103a74b28ae55c64969eb4fb81276f322d8e6 on remove-wikimedian-bullet into 8c7565b5f1ac261006e8765bcb51acbc0e7fa27c on master.


pass_state inference

It would be nice if Trial just looked for the state argument in the model forward and then passed state if required, rather than needing to set pass_state=True. @ecs-vlc/torchbearer-core thoughts?

This seems like a good quality of life change. We already do inspection of arguments in other places so this should be fine even though the implementation won't be particularly nice.


HIVE-25453

Adding support for reading Iceberg ORC tables via LLAP..
The easy part is swapping out the plain simple VectorizedOrcRecordReader to LlapRecordReader.
The hard part is maintaining correctness even after a series of schema changes that are normally allowed to Iceberg/ORC, but were not for simple ORC or therefore for LLAP. To make it all work, LLAP had to be made to support a broader schema evolution.
Before this change LLAP made the simple assumption that the reader and file schemas match all columns, now separate physical and logical read schemas and corresponding include lists are used instead. Also added logicalOrderedColumnIds here, which holds indices from the reader schema, but in file schema order - a necessary tool for mapping the results produced by LLAP, as LLAP always reads columns in the order as they are written out in the file.
Also added a new CLI driver class for testing the cached reads from Iceberg/ORC tables via LLAP.

Force pushed for master rebase + addressed review comments.

force pushed for master rebase

Note: final passing test was not reported to PR so linking it here by hand:
http://ci.hive.apache.org/job/hive-precommit/job/PR-2586/14/


Battery Level not updated

Hi there,
I noticed that battery level changes are not pushed through as expected. Is that a bug or intended ?
cheers

Hi,
I can not find this behavior. For me, the display in ioBroker and Taccar is synchronous, on all devices.
Traccar:

ioBroker:

Are the level changes recorded in the Traccaer?

yes Sir, on the traccar Server the battery level changes are shown correctly.

Same here:
Traccar Device Status Online 1 Minute

Batteriestand
99 %

(correct)
In Traccar
Iobroker Adapter (with Browser refresh)
Position
last update 20 Minutes ago
Battery_level
(wrong) last update 00:33:08.492

Same here:
Traccar Device Status Online 1 Minute

Batteriestand
99 %

(correct)
In Traccar
Iobroker Adapter (with Browser refresh)
Position
last update 20 Minutes ago
Battery_level
(wrong) last update 00:33:08.492

Battery level mobile phone 98%, Battery level traccar 98% (status online 0 minutes), Data point Iobroker 100% (not updated)

Then please check in debug mode if the messages are reported by Traccar

looks like it is reported but not updated in datapoints ?

That's strange, can you please delete the datapoint.
Then it should be created again.

that was the first thing I tried, but I can do it again of course

@Headhunter70 can you please come to the ioBroker Discord?

sure

bugfix in v0.0.9

thx my dear, that was a nice afternoon session :-)


[AKS] az aks check-acr: Fix the issue that suffix azurecr.io is always appended to option --acr

Related command

az aks check-acr
Description

In the previous PR #22358, a piece of code was added to the command aks check-acr to determine whether the given acr parameter ends with the global acr suffix azurecr.io, if not, it will be automatically appended. This change is not friendly to cloud environment other than global, besides the help information of the command indicates that the value of the --acr option should be "The FQDN of the ACR.", so undo this change.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

AKS

Close due to sibling PR #23506 merged.


Error after upgrading ts-jose to version 5.2.2

When attempting to build my project, an error while upgrade ts-jose to 5.2.2
the following error appeared :-
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Path\node_modules\ts-jose\dist\cjs\index.js from C:Path/file.ts not supported.
index.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.

Instead rename index.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in C:\Path\node_modules\ts-jose\package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

Steps to reproduce:
npm install<EMAIL_ADDRESS>npm start
Observe the error message for 'ts-jose'
Expected behavior:
should build successfully without any errors.
Actual behavior:
The build failed
Environment:
Node version: v18.16.0
Typescript version: 4.9.5
Possible solution:
Update the package.json  from
  "type": "module",  //to "type": "commonjs",

as suggested in the error message.

It seems like there's an export type error. I'll investigate shortly.

I have resolved the common JS issue by renaming the compiled file, which was tricky because TypeScript lacks native support for transforming file extensions.
I'm trying to avoid using webpack or other similar packages to minimize complexity in this small project.

@evan361425 works fine,
Thank you.


New rule: require-event-dispatcher-types

Motivation
Hi,
when using svelte with TypeScript, it is possible to add types to events by typing the createEventDispatcher function so:
import { createEventDispatcher } from "svelte";

const dispatch = createEventDispatcher<{one: never, two: number}>();

dispatch("one"); // OK
dispatch("two", 3); // OK
dispatch("one", "Hello world"); // Fails
dispatch("two"); // Fails
dispatch("two", "Hello world"); // Fails

I propose a rule that would require all calls to createEventDispatcher to include the templated type.
Description
The rule would trigger on any call of createEventDispatcher witchou the templated type
Examples
import { createEventDispatcher } from "svelte";

<!-- ✓ GOOD -->
const dispatch = createEventDispatcher<{one: never, two: number}>();

const dispatch = createEventDispatcher<any>();

const dispatch = createEventDispatcher<{}>();

<!-- ✗ BAD -->
const dispatch = createEventDispatcher();

Additional comments
No response

Oh and if you type your events, all the listeners get typechecked as well, so this really is something you want to do if you are using TS...

Thanks for the rule suggestions.
That rule sounds almost good to me.
But why is the example below marked as GOOD? I think they are pretty much the same if you omit the type.
const dispatch = createEventDispatcher<any>();

const dispatch = createEventDispatcher<{}>();

Hmm, originally, I though of the rule as being a reminder not to forget the types - that's why I put those examples there, I didn't really care about what the type is, just that there is one...
I think any doesn't really make sense - it is the same as if you omit the type - so putting any in there or manually suppressing the rule does the same thing.
As with the {} type - I meant Record<string, never>, an empty object (this part of TS is a bit confusing...). But that would make it so that no events can be dispatched, so the whole call is useless and doesn't make any sense...
The rule could report for both of those - I think it probably should report for any, with the empty object I wouldn't bother - that's a silly example not worth implementing a check for...

Thank you for your opinion.

I though of the rule as being a reminder not to forget the types I though of the rule as being a reminder not to forget the types

I hear you and I agree with it. The any and {} may be intentional for the user.
I think it makes sense not to check them to avoid complicating the implementation of the rule.
If there is user feedback that they want to check strictly, we can add the option later.

Great, yeah, let's make it simple if there's no need to make the rule more complex...


REST Methods

From my research of the docs, net/http only handles GET and POST requests. Are there plans to use a mux which can handle PUT or DELETE requests?  You can trigger these requests from the templates just like any other form element using htmx.
Using Post for deleting/updating will have consequences, since Post isn't idempotent.

I think you have to make PUT and DELETE requests with fetch
https://stackoverflow.com/a/68529248

New controller files should be named and created according to their purpose like userController.go I should change this and make it more clear in the default setup.
For routes, I suggest having a couple big master files, so it's easy to find the logic associated with them (eg. user reports an error on page /url/thing/example).
So for your use case I'd say make a new routes file called multiMethodRoutes.go (or whatever name you find better) and those can be tied to Go functions that are tied to a switch statement like in the example you gave. It's really all just a naming convention though, you could define these routes in getRoutes.go or postRoutes.go but that would be improper.
Hopefully this all makes sense.


MudDatePickers inside MudDialogs broken as of v6.1.9

Bug type
Component
Component name
MudDatePicker
What happened?
As of update 6.1.9 MudDatePicker components with their PickerVariant property set to Dialog that exist on MudDialog components will now overflow. This is an issue on things like Add and Edit dialogs in which users need to set a date. The issue was introduced in this pull request:
https://github.com/MudBlazor/MudBlazor/pull/4132/files
^Specifically with the addition of the overflow-y: auto property that was added to the .mud-dialog class as a fix for something else.
Here's a before and after of how the date picker looked.

Expected behavior
I expect date picker dialogs to behave as they did before, according to the description and before/after pick above.
Reproduction link
https://try.mudblazor.com/snippet/mkcRaxloURMdPPed
Reproduction steps

Follow the link to the code snippet reproduction
Click the "Open Simple Dialog" button
Click the date picker control
Notice that the date picker dialog is confined to the height of the dialog component and set to scroll when overflowing 👀
...

Relevant log output
No response
Version (bug)
6.1.9
Version (working)
6.1.8
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

still the same in 6.6.0? Any workaround available?

I'm interested in a workaround too... I prefer the old behavior

Io le metto static di solito, occupano spazio ma ci stanno come devono
Cordialmente
Dott. Alessandro Franco
Il Lun 4 Set 2023, 22:20 REDECODE @.***> ha scritto:

I'm interested in a workaround too... I prefer the old behavior
—
Reply to this email directly, view it on GitHub
https://github.com/MudBlazor/MudBlazor/issues/6467#issuecomment-1705674094,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARQVETC3MGWY2LEQ4I7M2WDXYYZZVANCNFSM6AAAAAAV2ZHTLM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

A workaround for now is overruling overflow-y:
.mud-dialog {
    overflow-y: visible !important;
}

See: https://try.mudblazor.com/snippet/ckwnuNETmIclGzvc

Caused by #4132

A workaround for now is overruling overflow-y:
.mud-dialog {
    overflow-y: visible !important;
}

See: https://try.mudblazor.com/snippet/ckwnuNETmIclGzvc

This breaks if the dialog is too tall, it prevents scrolling (example: https://try.mudblazor.com/snippet/wucdvbcmaqQtyzMG).
To fix this I just also removed the max-height that was added in that original pull request:
.mud-dialog {
    overflow-y: visible !important;
    max-height: unset;
}

This obviously means dialogs that are too tall will go back to being cut-off, but I already had some custom CSS in place to fix that:
/* Prevent large dialogs from overflowing the screen by making the container scrollable (I double checked and it works with nested dialog where the child is larger than parent) */
.mud-dialog-container {
    overflow: auto;
    /* Note: this breaks fullscreen dialogs, and you can't fix it because the fullscreen class is on the child dialog element */
    padding: 15px; /* Leave a gap when the window gets too small so you can still tell it's a dialog */
}
/* Note: changing the centering to use auto-margins rather than align-items center so that it overflows correctly without being cut off */
.mud-dialog-container.mud-dialog-center
{
    align-items: flex-start;
}
.mud-dialog-container.mud-dialog-center .mud-dialog
{
    margin-top: auto;
    margin-bottom: auto;
}

@Conman-123 would you be interested in making a PR to fix this?

@Mr-Technician sorry I would but I'm just too busy with work at the moment


⚠ IMS has degraded performance

In 477971e, IMS (https://ims.vflits.com) experienced degraded performance:

HTTP code: 200
Response time: 2472 ms

Resolved: IMS performance has improved in 148381c after 12 minutes.


fix: nvim_create_user_command to nvim_add_user_command

vim.api.nvim_add_user_command seems to be the working definition according to NeoVim v0.7.0 docs.
vim.api.nvim_create_user_command throws an E5113 error for referencing a nil value.

this will break things for nightly users

nvim_create_user_command it what's used on latest stable
so you should just update to it

@vctrblck Could you add the feature detection for this?
-- TODO: remove after nvim v0.8.0 is released.
(vim.api.nvim_create_user_command or vim.api.nvim_add_user_command)('CmpStatus', function()
  require('cmp').status()
end, { desc = 'Check status of cmp sources' })

as I said above
nvim_create_user_command is the only right one
for 0.7 and 0.8
no checks needed


editing buttons for account/investments - done location

retiredjg:

I keep wanting the "done" button near the bottom right of the box, not top right.  Might just be me.

moved "done" to bottom right of account area. Renamed it "save account" to be consistent with RSU Tracker.
moved delete investment button to the bottom right of the investment area.
added whitespace between account being edited and the next account

fixed with https://github.com/bogle-tools/site/commit/421660f7112b4337d7520780593ab47934d8c81d


Transition Duration Overrides Attached Animator Durations

Hey
From what I can see in this doc, a duration for Transition would override any attached animator durations
https://developer.android.com/reference/android/transition/Transition.html#setDuration(long)
This would nullify the durations assigned for the separate animators in the FabTransform.java class over here: https://github.com/nickbutcher/plaid/blob/master/app/src/main/java/io/plaidapp/ui/transitions/FabTransform.java#L158
I just wanted to get an understanding if I missed something before going through with a PR. Thanks in advance!

Yes if you set a duration on a Transition it will overwrite the Animators duration. See https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/transition/Transition.java#1865
Also adding Transitions to a TransitionSet can overwrite durations:
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/transition/TransitionSet.java#146
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/transition/TransitionSet.java#186


Implement stricter input

The first argument (data) of each parser can represent many things:

topology data
a file path
a URL

Unfortunately this can cause different type of issues, including security issues in which an attacker can access a file on a remote machine that uses netdiff to accept network topology data through a POST request.
It would be better to implement stricter initialization arguments, eg: data, path, url.

unfortunately this change breaks  https://github.com/coxley/aspath_graph which I use to convert BGP txt dump to json

@acoul: upgrading client code is very easy, it just requires to specify if the input is a url, file or data.
See the changes in the tests to understand what I mean: https://github.com/ninuxorg/netdiff/commit/aa810031cceba2e6d322ded91f3f8fd1bfb2dea4
One question, I don't understand what do you mean for breaking aspath_graph, I thought that package did not use netdiff.

this is the error I am getting:

[ERROR 2017-09-21 15:06:26,309] module: contextmanagers, process: 20937, thread: -1213524224
Failed to perform update on <Topology: AWMN - NetJSON NetworkGraph>
Traceback (most recent call last):
File "/awmn/.local/lib/python3.4/site-packages/django_netjsongraph/contextmanagers.py", line 10, in log_failure
yield
File "/awmn/.local/lib/python3.4/site-packages/django_netjsongraph/base/topology.py", line 305, in update_all
topology.update()
File "/awmn/.local/lib/python3.4/site-packages/django_netjsongraph/base/topology.py", line 185, in update
diff = self.diff(data)
File "/awmn/.local/lib/python3.4/site-packages/django_netjsongraph/base/topology.py", line 133, in diff
latest = self.get_topology_data(data)
File "/awmn/.local/lib/python3.4/site-packages/django_netjsongraph/base/topology.py", line 114, in get_topology_data
latest = self.parser_class(data, timeout=TIMEOUT)
File "/awmn/.local/lib/python3.4/site-packages/netdiff/parsers/base.py", line 56, in init
self.original_data = self.to_python(data)
File "/awmn/.local/lib/python3.4/site-packages/netdiff/parsers/base.py", line 89, in to_python
raise ConversionException('Could not recognize format', data=data)
netdiff.exceptions.ConversionException: Could not recognize format

I am not sure if this issue should be reported here or @ https://github.com/netjson/django-netjsongraph
FWIW I was able to get going again by reverting this: https://github.com/ninuxorg/netdiff/commit/42484a9ce5945bd91ac1985393a39f90ec7cb43d
I simply updated the .local/lib/python3.4/site-packages/netdiff/parsers/base.py by hand

If you don't want issues, stick to django-netjsongraph 0.3.4 and netdiff 0.4.8.

the above netdiff 0.5.0 revert actually produces a 0.4.8 IMHO
I was just following this: https://github.com/netjson/django-netjsongraph/blob/master/requirements.txt

netdiff>=0.5.0,<=6.0

yes, is correct

this was my bad: https://github.com/netjson/django-netjsongraph/issues/57
all seem to work as they should. sorry for the noise.

@acoul: thx for the update!


cranelift: Add a conditional branch instruction with two targets

Add a conditional branch instruction with two targets: brif. This instruction will eventually replace brz and brnz, as it encompasses the behavior of both.

I haven't reviewed the backend lowerings, but I looked at everything else, and this is looking pretty solid to me. I did spot a few small typos, but mostly I have questions about the verifier and the lexer.

The backend lowerings were all copied from each backend's current implementation of brnz, so it should hopefully be a quick review there :+1:

👋 Hey,
I'm not sure how ready or not this is, but I was playing around with adding fuzzer support for it (see this branch) and it found a regalloc issue. (Both on x86_64 and AArch64)

Test Case
test interpret
test run
target aarch64
target x86_64

function %a() -> i8 system_v {
block0:
    v1 = iconst.i8 35
    brif v1, block1(v1), block1(v1)  ; v1 = 35

block1(v0: i8):
    return v0
}

; run: %a() == 35

Result
ERROR cranelift_codegen::machinst::compile > Register allocation error for vcode
VCode {
  Entry block: 0
Block 0:
    (original IR block: block0)
    (successor: Block 1)
    (successor: Block 2)
    (instruction range: 0 .. 3)
  Inst 0: movl    $35, %v132l
  Inst 1: testb   %v132b, %v132b
  Inst 2: jnz     label1; j label2
Block 1:
    (successor: Block 3)
    (instruction range: 3 .. 4)
  Inst 3: jmp     label3
Block 2:
    (successor: Block 3)
    (instruction range: 4 .. 5)
  Inst 4: jmp     label3
Block 3:
    (original IR block: block1)
    (instruction range: 5 .. 6)
  Inst 5: ret
}

Error: Branch(Inst(2))
CLIF for error:
function u0:0() -> i8 system_v {
block0:
    v1 = iconst.i8 35
    brif v1, block1(v1), block1(v1)  ; v1 = 35

block1(v0: i8):
    return v0
}

thread 'worker #0' panicked at 'register allocation: Branch(Inst(2))', cranelift/codegen/src/machinst/compile.rs:67:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 ERROR cranelift_filetests::concurrent      > FAIL: panicked in worker #0: register allocation: Branch(Inst(2))
FAIL ./lmao.clif: panicked in worker #0: register allocation: Branch(Inst(2))
1 tests
Error: 1 failure

wave Hey,
I'm not sure how ready or not this is, but I was playing around with adding fuzzer support for it (see this branch) and it found a regalloc issue. (Both on x86_64 and AArch64)

Interesting! I'm surprised to see this, as the lowering for brif  should match brnz, but modifying the test to use brnz / jump doesn't show the same problem. Thanks for the test case!

@afonso360 that bug is fixed now -- I hadn't updated lower_branch_blockparam_args to account for the fact that brif doesn't store its block params in the varargs of the branch instruction itself. Thanks for finding this!

Here's another one. This one only triggers with use_egraphs. It also doesn't require any opt_level which is weird to me, because I thought that we only enabled egraph optimizations at some opt_level?

Testcase
test compile
set use_egraphs=true
target aarch64
target s390x
target riscv64
target x86_64

function %a(i32, i8) -> i32 {
block0(v0: i32, v1: i8):
  v2 = iconst.i32 0x00cd_cdcd
  brif v1, block1(v0), block1(v2)

block1(v3: i32):
  return v3
}

Error
thread 'worker #0' panicked at 'assertion failed: regs.is_valid()', cranelift/codegen/src/machinst/lower.rs:1321:9
stack backtrace:
   0: rust_begin_unwind
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
   2: core::panicking::panic
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:48:5
   3: cranelift_codegen::machinst::lower::Lower<I>::put_value_in_regs
             at ./codegen/src/machinst/lower.rs:1321:9
   4: cranelift_codegen::machinst::lower::Lower<I>::lower_branch_blockparam_args
             at ./codegen/src/machinst/lower.rs:964:28
   5: cranelift_codegen::machinst::lower::Lower<I>::lower_clif_branches
             at ./codegen/src/machinst/lower.rs:939:9
   6: cranelift_codegen::machinst::lower::Lower<I>::lower
             at ./codegen/src/machinst/lower.rs:1046:21
   7: cranelift_codegen::machinst::compile::compile
             at ./codegen/src/machinst/compile.rs:37:9
   8: cranelift_codegen::isa::aarch64::AArch64Backend::compile_vcode
             at ./codegen/src/isa/aarch64/mod.rs:63:9
   9: <cranelift_codegen::isa::aarch64::AArch64Backend as cranelift_codegen::isa::TargetIsa>::compile_function
             at ./codegen/src/isa/aarch64/mod.rs:73:40
  10: cranelift_codegen::context::Context::compile_stencil
             at ./codegen/src/context.rs:143:9
  11: cranelift_codegen::context::Context::compile
             at ./codegen/src/context.rs:213:23
  12: <cranelift_filetests::test_compile::TestCompile as cranelift_filetests::subtest::SubTest>::run
             at ./filetests/src/test_compile.rs:56:29
  13: cranelift_filetests::subtest::SubTest::run_target
             at ./filetests/src/subtest.rs:97:13
  14: cranelift_filetests::runone::run
             at ./filetests/src/runone.rs:101:9
  15: cranelift_filetests::concurrent::worker_thread::{{closure}}::{{closure}}
             at ./filetests/src/concurrent.rs:150:46
  16: std::panicking::try::do_call
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:492:40
  17: __rust_try
  18: std::panicking::try
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:456:19
  19: std::panic::catch_unwind
             at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panic.rs:137:14
  20: cranelift_filetests::concurrent::worker_thread::{{closure}}
             at ./filetests/src/concurrent.rs:150:30
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
 ERROR cranelift_filetests::concurrent > FAIL: panicked in worker #0: assertion failed: regs.is_valid()
FAIL ./lmao.clif: panicked in worker #0: assertion failed: regs.is_valid()
1 tests
Error: 1 failure

@afonso360 thanks for finding that one! I found it separately on https://github.com/bytecodealliance/wasmtime/pull/5464. I decided that it would be a good idea to rework all branching instructions to use BlockWithArgs, and that showed all the places that I was overlooking on this branch. Ultimately #5464 will allow us to have block arguments with br_table instructions as well, so I'll try to land that and then rebase this PR on top of it.

It also doesn't require any opt_level which is weird to me, because I thought that we only enabled egraph optimizations at some opt_level?

That's an interesting question. Looking at cranelift/codegen/src/context.rs, I guess use_egraphs entirely ignores the optimization level. Also, it looks like there's no difference in Cranelift between the different values of OptLevel except for testing whether it's OptLevel::None or not. So use_egraphs effectively forces a non-None optimization level.

It also doesn't require any opt_level which is weird to me, because I thought that we only enabled egraph optimizations at some opt_level?

That's an interesting question. Looking at cranelift/codegen/src/context.rs, I guess use_egraphs entirely ignores the optimization level. Also, it looks like there's no difference in Cranelift between the different values of OptLevel except for testing whether it's OptLevel::None or not. So use_egraphs effectively forces a non-None optimization level.

Indeed, the intent of that behavior (it was this way with original egraphs and kept with the refactor) was to make the flag a top-level override; when we delete the non-egraphs path it makes sense to use opt_level again to choose whether to use the egraph pass.

@afonso360 I added support for fuzzing on this branch by considering brif as one candidate for instruction generation in the BlockTerminator::Br case. The diff ended up a bit smaller than your original branch now that the builder for brif doesn't need to construct a BlockCall directly :+1:


Make our "next" links better

Currently, our "next" links for documentation are a bit utilitarian:

It might be good to explore something like GOV.UK Publishing Components' Previous and next navigation component instead, as it would make us look more consistent with GOV.UK services.
Done when

[ ] We have a design for the next links
[ ] Implement the new design

Trying the GOV.UK Pagination component as suggested:
https://design-system.service.gov.uk/components/pagination/


settings-bots: Text overflow fix.

This fixes the styling of the container so that the text will not
overflow to the next line but instead will just wrap around the
container correctly.

Automated message from Dropbox CLA bot
@brockwhittaker, it looks like you've already signed the Dropbox CLA. Thanks!

Just tried it locally and works like a charm. LGTM!

Merged, thanks folks!


Issue in smart contract deploy

Hi,
Running private network in besu. Facing issue while deploying below rollup contract in this network. It will results internal error.
How to deploy this contract?
contract: https://goerli.etherscan.io/address/0x60e32d4a74ecab8e86d4649735022ab3449af14e#code

Can you provide more information on what errors you are seeing in besu and version information? Your genesis file and node configuration will be useful as well.


Controllers Security

Hello.
I am doing a web application that use javascript, html and php. I'm using this example to load the data from database in jsGrid. I'm really newbie with PHP, so I want to know if its possible to secure the information that goes to the client side to the server side by json.
Example:
When I go to:
localhost/controllers/StopController
Browser returns:
[{"Stop":"PID Track1","Zone":"1001001","Status":false},{"Stop":"Byparken","Zone":"1001000","Status":false},{"Stop":"PID Terminal","Zone":"1001002","Status":false}]
What if the application client knows that url and stole all the private information? Is any way to controll this? Maybe with PHP session, I don't know...
This is my final work for university and I don't wanna to implement something without a good security :/
Sorry for my bad english,
Best regards

I'm not sure your question relates in anyway to js-grid sample project.
I advise you to search for answers to your questions in the inet, e.g. checkout this nice manual https://www.sitepoint.com/best-practices-rest-api-scratch-introduction/


remove codehaus janino jar

the license about janino maybe not compatiable with Apache v2

Codecov Report

Merging #2742 into dev-1.3.0 will increase coverage by 1.11%.
The diff coverage is 37.80%.

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


Position and Size of menu items in 'Create new Workbook' window is not defined

Steps to Reproduce

Launch Xamarin Workbook application.
Navigate to menu item present in menu bar (For e.g. - File->Open) and observe Inspect properties

Expected Behavior
Position and Size of menu items in 'Create new Workbook' window should be properly defined
Actual Behavior
Position and Size of menu items in 'Create new Workbook' window is not defined
Narrator Behavior: Narrator is not announcing position and size of menu item and announcing menu item as 'Open, menu item'
NVDA Behavior: NVDA is not announcing position and size of menu item and announcing menu item as 'Open'
Note:This issue is also observed for all menu items
User Impact
Users who rely on screen reader will not be able to know the position and size of menu item
Screenshots

Environment
Windows :Windows 10 Pro Version 1803 (OS Build : 17672.1000)
Xamarin Version : 1.4 (master/b3f92f9)
NVDA Version: 2018.1

Log File

Please add the following labels to the bug:
A11yUsable
Accessibility
Xamarin-Workbooks-Windows
Wipro

Exemption Approved - 1813


Travis support and improved testing

Codecov Report

:exclamation: No coverage uploaded for pull request base (feature/structural-updates@c87d2a5). Click here to learn what that means.
The diff coverage is 100%.

@@                      Coverage Diff                      @@
##             feature/structural-updates       #9   +/-   ##
=============================================================
  Coverage                              ?   99.21%
=============================================================
  Files                                 ?        3
  Lines                                 ?      381
  Branches                              ?        0
=============================================================
  Hits                                  ?      378
  Misses                                ?        3
  Partials                              ?        0

Impacted Files
Coverage Δ

tests/montecarlo_tests.cpp
100% <100%> (ø)

src/dubins.c
98.64% <100%> (ø)

tests/stableapi_tests.cpp
100% <100%> (ø)

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 c87d2a5...f615a27. Read the comment docs.


iOS: previewDocument or openDocument only works at the first download, not at next downloads

please provide the version of installed library and RN project.

      "react-native": "0.66.2",
    "react-native-blob-util": "^0.13.18",

In iOS, after I download a PDF, I use either the previewDocument  or the openDocument, like that:
if (Platform.OS === 'ios') {
            ReactNativeBlobUtil.ios.previewDocument(res.path());
          }

However, it only works the first time during the entire app's session.
It does not appear the next time I download a document, whether it is the same document or other documents. Is this a bug I assume? Have you noticed this behavior? I do not know why this happens.

I had to use react-native-share, which somewhat "solved" the problem, but it would be nice to be able to open the pdf directly.

I know, but first I have to find the cause for the issue.
So if you can help find it, it would be great.
Everything is helpful, error messages, if the code is fully executed, where the code breaks exactly, ...


User should be able to config the locations of intermediate and output files

It's common to run different scenarios, therefore, it's critical for users to have controls on the output file folders.
There are some issues about how the output files are stored:

build_time_dist_matrix.process_nodes(...)
Location for the output files can not be configured. They will always be created in /data/gps_data_clean, and /data/time_and_dist_matrices/.

optimization.main(...)
Although the function has a parameter 'output_dir', solution.txt will already be created in '.',  manual_routes_edits.xlsx, manual_vehicles.csv, clean_gps_points.csv will be created in 'manual_edits'. regardless the setting of 'output_dir'. If the folder 'manual_edits' does not exist, the function will fail

visualization.main(...)
Although the function has a parameter 'output_dir', route_geojson.geojson and node_geojson.geojson are always created in '.' regardless the parameter 'output_dir', html files will be created in folder 'maps' regardless the setting of 'output_dir'

Should be done as of PR 6


Error updating to Meteor <IP_ADDRESS>

Hi, I'm getting this error when updating:
☔  meteor update                                                      A1Mod dev
This project is already at Meteor <IP_ADDRESS>, the latest release.
=> Errors while upgrading packages:

While checking for<EMAIL_ADDRESS>error: No compatible binary build found for this package. Contact the package
author and ask them to publish it for your platform.

Yep, same here. :+1:

You can get around this issue temporarily by just downloading the package locally. I am sure Arunoda will have the issue fixed soon as it appears to be an issue with how the package is defined in Atmosphere.
cd  && mkdir packages && cd packages && git clone https://github.com/meteorhacks/kadira-binary-deps.git && cd .. && meteor update

@benlavalley Thanks, I assume you just pulled it into packages/?

Yes, that is all that I did. The binaries  for the v8-profiler the package uses then appear to be built just fine when meteor loads the package.

On Jul 16, 2016, at 12:59 PM, Logan Koester<EMAIL_ADDRESS>wrote:
@benlavalley Thanks, I assume you just pulled it into packages/?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

+1 same here when building on linux

Sorry about the issue guys.
This build is for meteor 1.4. I thought meteor will look for an older version for current versions.
Anyway, I built new binary builds. Check now.

Works well on Ubuntu Linux Centos, AWS, Mac OSX under meteor 1.4
Thank you


Doc update for Persistent Volumes

This PR is a doc update explaining the change in behavior described in the KEP https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2644-honor-pv-reclaim-policy
cc: @xing-yang @jsafrane @carlory
KEP: https://github.com/kubernetes/enhancements/issues/2644

/lgtm

/approve


Rename packages

Rename _defines.sv to _pkg.sv. Patch best viewed without whitespace changes.

Good catch, I've updated the Bender file as well.


Add REMOVE support to the update API

Note that this is different from the already implemented DELETE.

DELETE is for deleting a given element from a Set attribute
REMOVE is for removing an attribute from an item

Brilliant, thanks @cb372
I do feel a bit bad for Harry though.


Is it possible prefetch multiple m3u8 with desired size?

Hello,
I am trying to cache multiple videos but only a couple of seconds in the beginning. Is it possible?

any update about this?

Hi, any update on this ?


Anagrams in python and C++

Definition
A word w is an anagram of a word v if a permutation of the letters transforming w
into v exists. Given a set of n words of length at most k, we would like to detect all
possible anagrams.

input: below the car is a rat drinking cider and bending its elbow while this thing
is an arc that can act like a cat which cried during the night caused by pain in its
bowel
output: {bowel below elbow}, {arc car}, {night thing}, {cried cider}, {act cat}

I can implement this in python and C++
Please assign me this issue under SWOC

I would want to work on this issue for SWOC and would want to implement this in python.
Please assign me this!!

I would want to work on this issue for SWOC and would want to implement this in python.
Please assign me this!!


fixes #61

Removed urltools and disabled the offending test case
updated dependencies
updated readme

Build fails because of this: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Build fails because of this: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Thanks for the PR! LGTM besides my other comment.

Thanks for the PR! LGTM besides my other comment.

Thanks @Diaoul!

Thanks @Diaoul!


Create a new helm chart for k8s metrics with otel collector

Create a new helm chart for k8s metrics with otel collector
Please review the documentation before we merge this branch

@yotamloe - looking good ., please remove the file of kube-state-metrics and node exporter
@YajB - can you kindly check our english ?
Once it approved we will create a PR for our docs based on this readme

@Doron-Bargo @YajB  I have included the compressed dependencies in the charts folder.


Can't remove Label on text fields

When I remove a label, it either remove the text field or it resets to "Label"

The code that applies the label is here https://github.com/passiomatic/elm-designer/blob/master/src/Document.elm#L746.
More generally, we need to expose the LabelData.position setting (perhaps via a select) so we can tell Elm UI more explicitly that we don't want the label to be visible (see: https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/Element-Input#labelHidden)


Unable to load images with cv::imread when linking against OpenCV and TensorflowCC

I'm experiencing the same issue as tensorflow/tensorflow#1924
When linking against both libraries, imread always returns an error with jpg files. I believe this is due to a version mismatch between the libjpeg included in tensorflow_cc compile and my system version of libjpeg.
I've tried using the workaround proposed in tensorflow/tensorflow#14267#issuecomment-351780041 by adding this line:
--config=monolithic

to this build script: tensorflow_cc/cmake/build_tensorflow.sh, but this didn't seem to change anything.

Hi, unfortunately, I am not really sure how to solve this problem. Please try the tf-1.6.0 branch and also try to link your program to OpenCV before TensorflowCC in your CMakeLists.txt

I added this into build_tensorflow.sh. the result seems right.
do remember that once you do this, you will not get tensorflow_framework.so, thus you need to change the CMakeList.txt  and delete this file from you system from previous build.

@sjdrc One more question, have you tried both, static and shared build? (btw, the monolithic option is only valid for shared build)

Closing for inactivity. Reopen if the issue persists.


Enhancement Add frontends table-valued-function

Proposed changes
Issue Number: close #20646
This pr implement a new Metadata TVF called frontends.
The use of frontends TVF like:
select * from frontends()\G;
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

LGTM

run Need_2_Approval

run buildall

u need to implement this function for Nereids(new optimizer) too

I will do it latter

run p0

run p0

run buildall


ECI Eigenvalue calculation + Fitness iteration

Hi Pacha,
congrats to this nice package, I believe it's very useful!
However, I have noticed two things In the function complexity_measures which I also encountered in my work and which I wanted to bring to your attention:

When using the method eigenvalues, it can happen (and happened in my application with patent data) that R gives you the flipped eigenvector. I believe this can just happen mathematically (https://stats.stackexchange.com/questions/154716/pca-eigenvectors-of-opposite-sign-and-not-being-able-to-compute-eigenvectors-wi). What I do and what PA Balland does in his package is that I check the correlation between the obtained eigenvector and the result using MoR (because it doesn't suffer from this problem). If the correlation is negative, I just multiply the eigenvector with -1. I hope you understand what I mean and this was helpful.

When calculating the fitness, you don't need to use the (iteration -1)th element when calculating the normalised fitness values, this is only needed with the MoR :)

Cheers

thanks a lot for reporting this @PintarN!!
urgent first, I corrected the eigenvalues result sign, I found this package https://github.com/PABalland/EconGeo/blob/master/R/KCI.r
and I did something similar, but trying to be attached to functional programming.
you can do this to use the last version:
library(devtools)
install_github("pachamaltese/economiccomplexity")

very nice, thx!

@PintarN ok, I've commited the change for the fitness part and a small (but important tweak) to effectively use pairwise.complete.obs in the correlation
please send me your contact information to m vargas at dcc dot uchile another dot cl to add you to contributors
now I have to check a warning with one of the 196 tests before submitting a new version to cran
thanks a lot for the contribution!!


This article has an UNPIVOT example but the Table of Contents doesn't have it listed

This article has an UNPIVOT example but the Table of Contents doesn't have it listed - only PIVOT examples are listed in the TOC.

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

ID: 45eba8b0-0c31-d65b-f1ca-0ed260eb2f14
Version Independent ID: fe2a79c1-6512-36f6-3118-cda7d18531de
Content: Using PIVOT and UNPIVOT - SQL Server
Content Source: docs/t-sql/queries/from-using-pivot-and-unpivot.md
Product: sql
Technology: t-sql
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@GourdJ -- thank you for your feedback.  I am looking into this document.

@GourdJ -- Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


placeholder title to keep for first option

Hi,
If I want to have a placeholder option to keep at first option, how can I do that ?
Thank you for help.

That's currently not an option, but if you need something like that I can add it.

UPDATE: As of v4.8.0 you can now choose classic behavior (menu items don't rearrange upon selection) by setting the classic option to true, e.g.:
$('.pretty').prettyDropdown({
  classic: true
});

Thank you ! :)