ENH: Refactor BatchSimulate Example and Improve Documentation

Adjusted parameter descriptions and added more informative explanations for waveforms and simulation outputs.

@samadpls I tried testing BatchSimulate with trial based parallelism (as opposed to MPI). Locally I'm seeing it run each trial sequence, can you confirm if this is happening on your computer?

Yes, sorry for the delay. It looks like Joblib wasn’t being used for simulate_dipole before. I’ve added it now, and it’s running in parallel properly. It should work for you too!

Ideally we should add significantly more testing, and test all batch simulation backends. In particular, both multiprocessing and dask are not tested as backends for batch simulation, but that was true before this issue. However, AFAIK I believe we need to merge this before the Steering committee meeting next week, and in its current form it seems to work.

Re: batch simulations in general: I am no longer doing simulations for my own research projects, but when I did, I relied strongly on parameter-sweeping Batch style simulations. This was essential for mapping out the parameter space landscapes, especially around behavior regime changes, and investigating unexpected behavior regimes, or using it to identify what channel might be more important than expected to a particular behavior, etc. That said, I am not expecting to be a significant user of the current BatchSimulation myself, since I'm more on the software-itself side of things.
Re: our particular BatchSimulation: I agree that it needs a refactor, but I think that's outside the scope of this PR. There are too many simulation-scope arguments, such as saving various data output, but these are all valid options that I can understand a user would want. Furthermore, many of these options are shared with simulate_dipole, and many of the ones not shared are also valid for the latter. The number of simulation-specific settings (and experience) suggests to me that we need to switch to a "simulation-config" style of setting all of these, where they are packaged in a dictionary. I have written a little bit on how we may want to start thinking about separating things like Network-config, Network-instantiated-object, simulation-config, etc. in here https://www.notion.so/jonescompneurolab/REF-Re-architect-configurations-vs-object-storage-f83530861109473ba036e5c211d9998c
All that said, I think this PR is ready for merge on its own accord.

@asoplata agree that the refactor is outside the scope of this PR. If you can open an issue on github, we can discuss what's the optimal way to implement it ... notion page is not accessible to those who are not Jones lab members.
you should begin by identifying a "developer user" who will provide feedback, otherwise the development is happening in a vacuum. One way to do this would be to incorporate the new class in @ntolley's SBI repo. When you incorporate it there, you will hit roadblocks and the fixes can be made upstream to the hnn-core repo. If the class is not being used by the developers of HNN, can we expect it to be used by the general user? :)

We had some good discussion on refactoring BatchSimulation's API and handling simulation-configuration options at today's HNN Dev meeting. I will make a separate Issue here on GH for discussion about changing configuration APIs, but for larger issues like that, I prefer to wait to post the issue until I've got a proposal that I've though through. I personally plan to focus more on refactors in the spring, once we've gotten through more outstanding PRs / issues. Good idea on the developer-user, I will try to incorporate that into our workflows

@jasmainak truthfully a lot of my guidance on this PR came from simplifying the batch simulate code I implemented in the SBI repo (minus the API checks). So in terms of me actually using it, I've been using a worse verion :smile:
With your example I feel it's a little misleading, the code you write to update the parameters will be specific to every batch simulate class, and the run function which saves outputs will also be specific depending on the outputs you want to save. After working for a few years on these sorts of problem, I feel I've written the same code blocks to save different kinds of output, and update different parameters, many many times. In that sense the current class is a huge improvement for my own work.

^not to say that we shouldn't iterate on the API, just wanted to give some background on how this fits with an actual project dependent on batch simulation

@samadpls apologies for the slow review on this, but I'm pretty sure this is still running serially:

It seems like it's spinning up an instance with 10 workers, but only completing a single task before moving to the next one

@samadpls just opened a PR on your branch: https://github.com/samadpls/hnn-core/pull/5
I think the issue was just indexing on the start/stop positions of the batch weren't being calculated correctly. @samadpls @asoplata @dylansdaniels any ideas on how to test that batches are actually being run in parallel and not serially? Doesn't need to be super fancy as we should get this PR merged

@samadpls just opened a PR on your branch: samadpls#5
I think the issue was just indexing on the start/stop positions of the batch weren't being calculated correctly. @samadpls @asoplata @dylansdaniels any ideas on how to test that batches are actually being run in parallel and not serially? Doesn't need to be super fancy as we should get this PR merged

I've been going through the Joblib docs, and unfortunately I'm not sure there's a trivial way to measure the number of active workers (or total workers at all) inside a simple Parallel call like we use in BatchSimulate.simulate_batch. For testing multiple simultaneous workers, we may have to wrap our simulate_batch call inside a block specific to each backend, such as https://github.com/joblib/loky?tab=readme-ov-file#usage . I'm assuming that, in that example, Loky would constrain the Parallel instantiation, but I'm not sure. It may actually be easier to mock simulate_batch and test that, instead of actually calling it.

@samadpls just opened a PR on your branch: samadpls#5
I think the issue was just indexing on the start/stop positions of the batch weren't being calculated correctly. @samadpls @asoplata @dylansdaniels any ideas on how to test that batches are actually being run in parallel and not serially? Doesn't need to be super fancy as we should get this PR merged

I have added timing around the start and end of simulate_batch to track execution duration, which should help us understand parallelism better. Let me know if you think we should take a different approach or add more specific checks.

Thanks for reverting the joblib addition in _run_single_sim @samadpls and all your work with the debugging and testing! Since this PR is mostly about the example Howto and not about the BatchSimulation config API or its tests, I've made a separate issue here #955 for refactoring BatchSimulation's tests (I have not yet made an issue for the config API). Once the "dust has settled" with the commits and we've taken time to manually test this, it will probably be ready for merge soon.


New version: CorticalParcels v0.9.0

Registering package: CorticalParcels
Repository: https://github.com/myersm0/CorticalParcels.jl
Created by: @myersm0
Version: v0.9.0
Commit: aa7ec5a5dd52170ba36a854a8a48a0cbda34a953
Reviewed by: @myersm0
Reference: https://github.com/myersm0/CorticalParcels.jl/commit/aa7ec5a5dd52170ba36a854a8a48a0cbda34a953#commitcomment-137764178
Description:  A Julia package supplying abstractions and operations for efficiently working with parcels, or regions of interest, on a CorticalSurface

block

block


Add common-java

related PR: https://github.com/AzureAD/microsoft-authentication-library-common-for-android/pull/1300
Given that common-java are being consumed as source, android complete will not (yet) break without this change.
At some point, once we switch to the 'dependency' model, then this will be required.

Local MSAL is consuming dist common - and it's breaking... due to a breaking change in logger (MSAL is now consuming com.microsoft.identity.common.logging.Logger, not com.microsoft.identity.common.internal.logging.Logger)
We might want to use either use local on both for verification.
cc: @iambmelt, @p3dr0rv


[zuul-simple-webapp] POST request carries body to routing server

Hi, I'm using zuul-simple-webapp for gateway.
In this app, if post method with body is requested from client, it couldn't carry request body to routing server.
I think that following code means carrying body request in SimpleHostRoutingFilter.groovy.
case 'POST':
  httpRequest = new HttpPost(uri + getQueryString())
  InputStreamEntity entity = new InputStreamEntity(requestEntity)
  httpRequest.setEntity(entity)
  break

So, I fixed chunked request body to true.
I think because zuul-simple-webapp is just sample, it have to perform the role as gateway.
Thx!

PR #347

One more thing.
If routing server check content-length, the server couldn't recognize payload through zuul-simple-webapp
So, when send 'POST' request, send content length like 'PUT'

I agree with @fisache here is a request with a body attempting to test the behavior with httpbin.org as the origin server.
REQUEST_DEBUG::REQUEST:: http <IP_ADDRESS>:51906
REQUEST_DEBUG::REQUEST:: > POST /post HTTP/1.1
REQUEST_DEBUG::REQUEST:: > Cache-Control:no-cache
REQUEST_DEBUG::REQUEST:: > Accept:*/*
REQUEST_DEBUG::REQUEST:: > Host:raspberrypi:8080
REQUEST_DEBUG::REQUEST:: > Accept-Encoding:gzip, deflate
REQUEST_DEBUG::REQUEST:: > Connection:keep-alive
REQUEST_DEBUG::REQUEST:: > Content-Type:application/json
REQUEST_DEBUG::REQUEST:: > Content-Length:24
REQUEST_DEBUG::REQUEST:: > { "test": "some value" }
REQUEST_DEBUG::ZUUL:: host=http://httpbin.org
REQUEST_DEBUG::ZUUL:: Header > cache-control  no-cache
REQUEST_DEBUG::ZUUL:: Header > accept  */*
REQUEST_DEBUG::ZUUL:: Header > connection  keep-alive
REQUEST_DEBUG::ZUUL:: Header > content-type  application/json
REQUEST_DEBUG::ZUUL:: > POST  /post HTTP/1.1
REQUEST_DEBUG::ZUUL:: Entity >
REQUEST_DEBUG::ZUUL :: /post
REQUEST_DEBUG::ZUUL :: Response statusLine > HTTP/1.1 200 OK
REQUEST_DEBUG::ZUUL :: Response code > 200

The face that this line REQUEST_DEBUG::ZUUL:: Entity > has no "entity" data printed confirms that POST endpoints proxied via the zuul-simple-webapp don't work as expected.

I merged that PR so that should fix this issue.


Add quick identification of type of script

Feedback: Shall we also show the logo of the language (PowerShell, Bash, JavaScript) to help folks quickly identify what they need? This is self-explanatory for PowerShell, but not so for CLI which works in any shell.

Closing this one, i dont overly want to clutter the cards any more


Upgrading 5.2 fail due to certbot renew and after several attempt , letsencrypt banned my account.

I am using external nginx as proxy  where i proxy my nginx server to zulip , all went fine until this 5.2 upgrade. It tries to get certbot to renew certificates. I tried to disable it by setting http_only but its in vain.
After a few attempt letsencrypt liit reached and it ban me , barring from renewing any certificate of ohter sites too.
There is no way to skip cerbot step in upgrade ... please help.
I do not need certbot to be renewed.
Notice: /Stage[main]/Zulip::Profile::App_frontend/File[/etc/cron.d/certbot-renew]/ensure: removed
Notice: /Stage[main]/Zulip::Profile::App_frontend/File[/etc/letsencrypt/renewal-hooks/deploy/001-nginx.sh]/ensure: defined content as '{md5}980fe968383378cccb8fb8806611ea20'
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Saving debug log to /var/log/letsencrypt/letsencrypt.log
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Plugins selected: Authenticator webroot, Installer None
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Renewing an existing certificate
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Performing the following challenges:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: http-01 challenge for cloud.hexcode.tech
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Using the webroot path /var/lib/zulip/certbot-webroot for all unmatched domains.
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Waiting for verification...
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Challenge failed for domain cloud.hexcode.tech
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: http-01 challenge for cloud.hexcode.tech
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Cleaning up challenges
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: Some challenges have failed.
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: IMPORTANT NOTES:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:  - The following errors were reported by the server:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    Domain: cloud.hexcode.tech
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    Type:   unauthorized
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    Detail: <IP_ADDRESS>: Invalid response from
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    https://cloud.hexcode.tech/.well-known/acme-challenge/0fc8UGuC4RCEhfj9nBFhVSiwpzzgJpOvC7zkzHwwJwo:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    404
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    To fix these errors, please make sure that your domain name was
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    entered correctly and the DNS A/AAAA record(s) for that domain
Notice: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns:    contain(s) the right IP address.
Error: '/home/zulip/deployments/current/scripts/lib/fix-standalone-certbot' returned 1 instead of one of [0]
Error: /Stage[main]/Zulip::Profile::App_frontend/Exec[fix-standalone-certbot]/returns: change from 'notrun' to ['0'] failed: '/home/zulip/deployments/current/scripts/lib/fix-standalone-certbot' returned 1 instead of one of [0]

As a short-term fix, you can change the line in /etc/letsencrypt/renewal/cloud.hexcode.tech.conf from:
authenticator = standalone

to:
authenticator = webroot

If that file doesn't exist, whatever file does exist in /etc/letsencrypt/renewal/.
To make sure I understand -- your configuration is that:

You used to be using certbot
You switched to http_only = true and put Zulip behind a different nginx server which did your HTTPS termination

Is that accurate?  If so, I think I understand the problem and the fix.

As a short-term fix, you can change the line in /etc/letsencrypt/renewal/cloud.hexcode.tech.conf from:
authenticator = standalone

to:
authenticator = webroot

If that file doesn't exist, whatever file does exist in /etc/letsencrypt/renewal/.
To make sure I understand -- your configuration is that:

You used to be using certbot
You switched to http_only = true and put Zulip behind a different nginx server which did your HTTPS termination

Is that accurate? If so, I think I understand the problem and the fix.

Thanks , i got it fixed after removing the certbot configs


pixelpwnr: init at untable-2023-12-30, pixelpwner-server: init at 2024-03-13

Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@zebreus Thanks for the detailed feedback. Much appreciated :)
Gonna have a look at this when I get some time soon.

@zebreus Thanks for the detailed feedback. Much appreciated :)
Gonna have a look at this when I get some time soon.

@zebreus Would you be interested in fixing the nits and doing a PR for this? I'll be happy to review.


Added docs for using Clerk Headless mode

This PR adds docs on how to use Clerk Headless mode with this package. Headless mode is in my opinion a very strong feature of Clerk, since it reduces the bundle size so much.
In this PR I wrote down on how you can use it with this package. Let me know if you have any feedback on the docs!
Closes #127

@JeroenReumkens Thanks a lot for the contribution, this is correct usage of /hotload and of the headless variant.
I should mention that someone can use the integration from /hotload without the headless variant. With this approach we still have the UI components but with much less bundle size compared to the default integration.

@panteliselef Amazing, thanks for clearing that up and merging it! Already using it in production like this 🔥


Also truncate negative milisecond fractions

This started as a fix for how we handle negative timestamps in the case of milliseconds, but I realized we were mishandling them in a couple of cases, so I expanded the scope of the fix and added corresponding tests.
Took a bit longer than expected, as I forgot how to do basic subtraction for a bit.

I'll note, this is still a WIP, working on a better solution

The above change is also not right, just working through some ideas

Other notes:
It's challenging that we always use positive microseconds, but can have either negative or positive second values, resulting in ops like this:
pub(crate) fn timestamp_watershed(timestamp: i64) -> Result<(i64, u32), ParseError> {
        let ts_abs = timestamp.checked_abs().ok_or(ParseError::DateTooSmall)?;
        if ts_abs <= MS_WATERSHED {
            return Ok((timestamp, 0));
        }
        // if the timestamp is in milliseconds, then we need to convert it to seconds
        let mut seconds = timestamp / 1_000;
        let mut microseconds = ((timestamp % 1_000) * 1000) as i32;
        if microseconds < 0 {
            seconds -= 1;
            microseconds += 1_000_000;
        }
        Ok((seconds, microseconds as u32))
    }

It seems as though we have lots of bugs in our numeric timestamp processing...

This is ready for review - @samuelcolvin or @dmontagu, could you please take a look, given that @davidhewitt is out for a bit?

I did some tests that systematically searched for roundtrip problems. There are some scenarios where using floats as the intermediate representation leads to actual failures.

Thanks for sharing these tests! I've added them to the repo so that we can wait on merging until these are fixed.

I've added an extra benchmark here, and here are some stats about the corresponding improvements:
on main
test parse_timestamp_str             ... bench:         310.35 ns/iter (+/- 3.57)

on my branch, before any performance optimizations:
test parse_timestamp_str             ... bench:         282.57 ns/iter (+/- 3.25)

on my branch, after moving the decimal digit counting to the existing parse bytes function:
test parse_timestamp_str             ... bench:         263.51 ns/iter (+/- 14.42)

Also, I locally broke these tests up individually, to confirm that the improvements were across the board:
mine:
running 11 tests
test parse_timestamp_str                       ... bench:         273.08 ns/iter (+/- 17.28)
test parse_timestamp_str_1654646400            ... bench:          22.03 ns/iter (+/- 1.43)
test parse_timestamp_str_1654646404            ... bench:          21.59 ns/iter (+/- 0.70)
test parse_timestamp_str_1654646404000_5       ... bench:          29.94 ns/iter (+/- 0.63)
test parse_timestamp_str_1654646404123_456     ... bench:          32.13 ns/iter (+/- 3.49)
test parse_timestamp_str_1654646404_123456     ... bench:          28.52 ns/iter (+/- 0.26)
test parse_timestamp_str_1654646404_5          ... bench:          25.59 ns/iter (+/- 0.67)
test parse_timestamp_str_neg_1654646400        ... bench:          21.83 ns/iter (+/- 1.18)
test parse_timestamp_str_neg_1654646404        ... bench:          22.46 ns/iter (+/- 1.55)
test parse_timestamp_str_neg_1654646404000_123 ... bench:          32.34 ns/iter (+/- 0.76)
test parse_timestamp_str_neg_1654646404_123456 ... bench:          29.40 ns/iter (+/- 92.68

main
running 11 tests
test parse_timestamp_str                       ... bench:         328.65 ns/iter (+/- 32.11)
test parse_timestamp_str_1654646400            ... bench:          24.99 ns/iter (+/- 1.11)
test parse_timestamp_str_1654646404            ... bench:          25.72 ns/iter (+/- 0.69)
test parse_timestamp_str_1654646404000_5       ... bench:          32.49 ns/iter (+/- 3.58)
test parse_timestamp_str_1654646404123_456     ... bench:          36.48 ns/iter (+/- 5.00)
test parse_timestamp_str_1654646404_123456     ... bench:          34.91 ns/iter (+/- 3.60)
test parse_timestamp_str_1654646404_5          ... bench:          28.86 ns/iter (+/- 1.13)
test parse_timestamp_str_neg_1654646400        ... bench:          24.76 ns/iter (+/- 1.29)
test parse_timestamp_str_neg_1654646404        ... bench:          36.21 ns/iter (+/- 46.17)
test parse_timestamp_str_neg_1654646404000_123 ... bench:          34.36 ns/iter (+/- 2.41)
test parse_timestamp_str_neg_1654646404_123456 ... bench:          34.00 ns/iter (+/- 0.36)

I guess the main question here is - is this a breaking change in terms of the API change for float_parse_bytes?

I guess the main question here is - is this a breaking change in terms of the API change for float_parse_bytes?

If so that's fine, I can revert and do the slightly less performant, but also ok approach where we basically parse the bytes twice.

is this a breaking change in terms of the API change for float_parse_bytes?

It's definitely changing the public API in an incompatible way, so incrementing the major version would be appropriate for SemVer.
However, it would be extremely easy to add a compatibility layer to get the best of both worlds, efficient single-pass parsing and API stability:

rename the current float_parse_bytes() to something like float_parse_bytes_with_decimal_digit_length()

add a "new" compatibility layer that discards the extra length, roughly:
#[inline(always)]
pub fn float_parse_bytes(...) -> ... {
  let (int_or_float, _) = float_parse_bytes_with_decimal_digit_length(...);
  int_or_float
}

It's definitely changing the public API in an incompatible way, so incrementing the major version would be appropriate for SemVer.

No. We haven't reach version 1, so there's no need to increment the major version.

I'm going to revert the changes to float parsing here (no breaking API changes, no modification of float parsing), given that we'll want to address https://github.com/pydantic/speedate/issues/53 in the future.

I'm going to revert the changes to float parsing here (no breaking API changes, no modification of float parsing)

Bit disappointed that this got reverted. Yes, this had changed behavior, but in a good way.
I agree that parsing floats yourself is a fool's errand, which is why the decimal_integers idea was so good: parsing the timestamp as a decimal (fixed-point number that can be represented accurately as an integer), and then rescaling it once at the end. That avoided accumulating errors from repeatedly summing up small floats and helped to fix the bugs revealed by my roundtrip tests.
Because Speedate has a concept of a "precision overflow", it appears that the numbers being parsed here aren't really floats, but decimals with a limited number of significant base-10 digits. Ideally, this parsing code would just return an integer (to be interpreted on the ms or μs scale) rather than a float (to be interpreted on the s scale).
Switching to a fully-correct float parsing library (such as f64::from_str()) would of course also solve precision problems as long as Speedate has to use floats somewhere in its internal representation (which is acceptable for μs-precision timestamps), though in that case limiting the number of digits in the fractional part makes less sense (long float literals may round to short values).
I have a couple of hours I could throw at this problem. Would there be interest in me attempting to resurrect the decimal_integers approach, but without using floats as the intermediate representation? This should completely eliminate any concerns about precision or rounding modes during timestamp parsing (except for cases where the "precision overflow" error was disabled). My intention would be to write and test a hand-rolled parser function parse_decimal_timestamp_us(data: &[u8], watershed, config) -> Result<i64>.

I was my decision.
If we're parsing floats, we should use lexical-parse-float, in the mean time, I don't want to change our float parsing logic further. Happy to review a pr to use lexical-parse-float for float parsing.
If we can interpret decimals as integers, e.g. as microseconds, that's great, bit I don't think it's always possible without changing the internal presentation in speedate which I don't want to do unless it's absolutely necessary.


Request: Support for ST7789v Display Driver

Requesting adding support for ST7789v Display chipset using 4-wire interface.
I can beta test code on a KD024QVRMA041 running on ESP32.

Hi there -- yes, I should be able to add support for the ST7789 displays.
There appear to be a number of driver libraries available for this display; could you let me know which one you are currently using?
For example:

https://github.com/adafruit/Adafruit-ST7735-Library (Both ST7735 & ST7789)
https://github.com/prenticedavid/ST7789_kbv
https://github.com/PaulStoffregen/ST7789_t3 (Teensy-optimized)
https://github.com/ananevilya/Arduino-ST7789-Library (derived from Adafruit's)

Note that I don't currently have an ST7789v display on-hand so I may be dependent upon your testing until I have ordered one.
thanks

Hi,
My current project uses the https://github.com/loboris/ESP32_TFT_library driver.  This would be great for the ESP8266 and ESP32 MCUs.
I have used both of these: (good choice for Atmega mcus)

https://github.com/ananevilya/Arduino-ST7789-Library
https://github.com/ananevilya/Arduino-ST7789-Library

No worries on testing one for the ESP32.  I'm new to using GUIslice, but will do my best
Note: With my project I want to setup changing variable values using either a Slider or a #-Pad.  Currently this is being done via serial terminal input.
Thank you!

Thanks @Bwanna ... I am assuming that your project is currently using the ESP-IDF toolchain, is that correct?
ESP-IDF
If so, please note that I have not yet tried compiling/porting GUIslice within ESP-IDF (I have mostly focused on addressing Arduino IDE and to some extent PlatformIO, plus make for LINUX / RPi targets).
There has been interest in the past in running GUIslice within ESP-IDF. I understand that some users have done this by integrating the arduino_esp32 component and then adding GUIslice to the Arduino library folder, but I have not tested it myself yet.
Arduino IDE
If your project was also able to target the Arduino IDE, then it should be a relatively simple matter to get support added for the display, given a suitable display library. I believe the ananevilya library has provided compatibility for ESP devices.
External Controls
As for external controls, GUIslice has some basic support for external input control over the GUI (for non-touch displays), so I expect that it would be possible to adapt for an external numeric pad, for example.

I'm still Arduino IDE for this project since it was originally built for Atmega MCUs and much easier to migrate over to ESP32.
For the controls. I'm looking to have TS controls to change settings in the programming.
The project has a few temp sensors and User changeable Alerts (Low, High).  The current project uses two physical buttons to step-through each sensor's Low and High Settings, and then cycle through the preferred number. (Think of basic digital clock setting functions).  I'd like to change this to a TS slider or TS numberpad, where I can direct input the new values.  At least those are my first ideas.

Ok, that should make things easier! As you were using https://github.com/loboris/ESP32_TFT_library, I had (perhaps incorrectly) assumed that it only supported ESP-IDF and not the Arduino IDE. So, to confirm, I understand you are currently driving your display using the Arduino IDE with the ESP32_TFT library, and the same display library is also handling the touch input from the KD024QVRMA041?
Assuming the above, it should be straightforward to provide on-screen touch sliders for your controls to replace your physical buttons if we integrate support for ESP32_TFT.
thx

CORRECTION: I made a mistake.  I'm using https://github.com/Bodmer/TFT_eSPI to driver the display.  (Very sorry about that mix up on my part!)  Your msg caused me to recheck my source!
For the TouchScreen part, I'm currently experimenting with the Adafruit_STMPE610 unit.
https://github.com/adafruit/Adafruit_STMPE610  It's very easy to setup and provide the coordinates.

Thanks for the update! In that case GUIslice may already support your display and driver setup, though some adjustments will be needed.
Please uncomment the following line in your GUislice_config.h:

esp-tftespi-default-stmpe610.h

Instructions on configuring and testing are here:

Configure GUIslice for ESP8266 & ESP32
Assuming Hardware SPI for touch, ADATOUCH_PIN_CS will need to match your Adafruit_STMPE610 config
This process will also include the touch calibration for the STMPE610.

Where would I check for the ADATOUCH_PIN_CS setting?  I've done everything and an error message : "- Init touch handler [STMPE610(SPI-HW)] FAIL"... I'm assuming it's because I haven't check the CS assignment.
Yes, I am using SPI HW.  If it helps, touchscreen is successful when running the test file from Adafruit_STMPE610 out of the box.

We would set the ADATOUCH_PIN_CS to the same value you are currently using in the STMPE610 TouchTest.ino. In the Adafruit TouchTest example, you would find your pin setting (STMPE_CS) in the example’s constructor, eg:
Adafruit_STMPE610 touch = Adafruit_STMPE610(STMPE_CS);

Still not sure what to do... and to which file to do it.
I'm using I2C for the Adafruit_STMPE610.  Specifically, Option #1 in the TouchTest.ino which uses "Adafruit_STMPE610 touch = Adafruit_STMPE610();"

OK. Got both the Display and Touch to initialize.  Recheck the esp-tftespi-default-stmpe610.h file and found the I2C switch that needed to be set.

Glad to hear the ST7789v is already supported by the existing GUIslice drivers. I'll close this but please feel free to create a new issue if you ever have additional feature requests or encounter issues in developing your project. I will revisit the wiki documentation to ensure the above config details are covered properly too.
Thanks!

Thank you for walking me through this!  If this helps, what I realized I did not correctly configure was the "TFT_eSPI: Chip Select for Touch Device" setting in the "esp-tftespi-default-stmpe610.h" file.  Once I correctly set the I2C setting to my HW approach everything sang.
I'm looking forward to learning how your GUISlice works now  that all is connected!


Create and test FreeBSD developer and test setups

Create and test developer and test setups for FreeBSD.

Unable to get gradle to work. "Could not connect to daemon." FreeBSD is not recommended as a development platform for this project at the present time. If there is demand from contributors, we can open a new ticket for it.

Trying again with a different version of FreeBSD - 11.3.

Decided FreeBSD is not a good choice for working on Cobol Check. Too many flaky issues, and many other platforms are available that are easy to set up.


Fixes #653, Ensure that any BundleContext functions do not segfault if the bundle context is invalid

Fixes bug where any functions called on an invalid BundleContext()
(if retrieved after the framework was shutdown) causes a segfault.

Fixes bug where BundleContext::GetServiceObjects() did not throw
if the bundle context was invalid.

Added new test for verifying that BundleContext functions properly
throw instead of segfaulting when the bundle context is invalid.

Signed-off-by: The MathWorks, Inc<EMAIL_ADDRESS>

Codecov Report

Merging #656 (71f9392) into development (166c6ee) will decrease coverage by 9.58%.
The diff coverage is 82.00%.

@@               Coverage Diff               @@
##           development     #656      +/-   ##
===============================================
- Coverage        90.49%   80.90%   -9.59%
===============================================
  Files              249      100     -149
  Lines            13409     4478    -8931
===============================================
- Hits             12134     3623    -8511
+ Misses            1275      855     -420

Impacted Files
Coverage Δ

framework/include/cppmicroservices/BundleContext.h
100.00% <ø> (+3.77%)
:arrow_up:

framework/src/bundle/BundleContext.cpp
88.82% <82.00%> (-2.54%)
:arrow_down:

framework/src/util/SharedLibraryException.cpp
0.00% <0.00%> (-100.00%)
:arrow_down:

util/include/cppmicroservices/util/DataContainer.h
0.00% <0.00%> (-100.00%)
:arrow_down:

...ework/include/cppmicroservices/detail/ScopeGuard.h
0.00% <0.00%> (-100.00%)
:arrow_down:

util/include/cppmicroservices/util/MappedFile.h
0.00% <0.00%> (-83.34%)
:arrow_down:

...include/cppmicroservices/detail/TrackedService.tpp
14.70% <0.00%> (-73.63%)
:arrow_down:

.../cppmicroservices/detail/BundleAbstractTracked.tpp
16.12% <0.00%> (-71.46%)
:arrow_down:

...ork/include/cppmicroservices/detail/CounterLatch.h
35.29% <0.00%> (-61.49%)
:arrow_down:

framework/src/util/SharedLibrary.cpp
32.14% <0.00%> (-58.06%)
:arrow_down:

... and 226 more


Chill out at the proto level as well as the socket level if we have issues connecting to the ambient node agent.

Related to: https://github.com/istio/istio/issues/51519
Context:
We already had a backoff for connecting to the node agent's socket - that's good.
But if we successfully connect to the socket and the connection then fails for some other, protocol-related reason (proto mismatch, server expects a different message, etc etc), we immediately reconnect and try again, which basically defeats the inner backoff.
So, just have an inner and outer backoff. We could get away with just the outer one, but having two is a little more granular.
EDIT: Rather than backing off, just treat protocol errors as terminal, and quit.
Connection/stream error -> retry
Protocol error -> bail, shutdown, should never happen.

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

Test name
Commit
Details
Required
Rerun command

test_ztunnel
a6e5144f3520082233406cb6d026db2668b32fcf
link
true
/test test

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

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

Test name
Commit
Details
Required
Rerun command

test_ztunnel
7561acbf0ae7abade56189478bc719c3b734a28a
link
true
/test test

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


⚠ Bofrost.be has degraded performance

In 5130243, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2015 ms

Resolved: Bofrost.be performance has improved in 001d8e1.


H3.f-example-title to 'dark blue' (see comments)

Lets change the .f-example-title h3s to be the dark blue (#002855) color to better emulate the title scheme of Zeplin. All of their element titles are in that dark blue instead of the black we have on ours.

I've made this change on a previous PR. It looks like I can't submit multiple PRs since I'm working directly on gh-pages. @fuhton Do we want to work on separate branches for the sake of PRs?
Here's where the change is: https://github.com/JDRF/design-system/pull/21

Merged.

@fuhton
Created a separate PR for this change only:
https://github.com/JDRF/design-system/pull/25

Merged and looks good.


addClass doesn't works for modal-backdrop

given:
.my_css_stuff {
background-color: green;
}
$('.modal').addClass('my_css_stuff');  WORKS
$('.modal-backdrop').addClass('my_css_stuff''); DOESN'T WORKS

What is the correct solution to show a popup with a customized backdrop, please?


Number type with multipleOf 0.01 errors on certain values

Description
When using multipleOf of 0.01 in a number JSON Schema type it makes the field invalid whenever certain values are hit (0.07, 0.14, 0.28, 0.29 are some examples of this)
Minimal Reproduction
https://stackblitz.com/edit/formly-multipleof-issue
Your Environment

Angular version: 10.1.0
Formly version: 5.10.1

This seems like typical floating-point error at its root.
A common tactic to avoid this sort of thing when dealing with money, for example, is to store an integer value in cents in the backend and display the amount in dollars in the frontend. Maybe putting together a component along those lines would fit your use case?

@aitboudad when is the next planned npm package version push that will get this update?

@anmoreno done https://github.com/ngx-formly/ngx-formly/releases/tag/v5.10.21

A common tactic to avoid this sort of thing when dealing with money, for example, is to store an integer value in cents in the backend and display the amount in dollars in the frontend.

:+1:


[Bug][service] sql result set is converted to json, there is data loss

Describe the bug
sql result set is converted to json, there is data loss
To Reproduce

sqlscript:
select DBS.NAME  as 'DB_NAME', PARTITIONS.PART_ID, TBLS.TBL_NAME, PARTITIONS.PART_NAME, SDS.LOCATION, PARTITION_FILENUM.PARAM_VALUE AS FILE_NUM, PARTITION_TOTAL_Size.PARAM_VALUE AS FILE_SIZE, CEILING(PARTITION_TOTAL_Size.PARAM_VALUE/(128*1024*1024)) AS CLAC_FILE_NUM from  DBS,SDS,TBLS,PARTITIONS, (select * from PARTITION_PARAMS where PARAM_KEY='numFiles') as PARTITION_FILENUM, (select * from PARTITION_PARAMS where PARAM_KEY='totalSize') as PARTITION_TOTAL_Size where DBS.DB_ID = TBLS.DB_ID and PARTITIONS.SD_ID = SDS.SD_ID and TBLS.TBL_ID=PARTITIONS.TBL_ID and PARTITIONS.PART_ID =PARTITION_FILENUM.PART_ID and PARTITIONS.PART_ID =PARTITION_TOTAL_Size.PART_ID AND PARTITION_FILENUM.PARAM_VALUE>CEILING(PARTITION_TOTAL_Size.PARAM_VALUE/(128*1024*1024))  limit 1
result:

Code location ： class[SqlTask]-Method [resultProcess]

Generated json result：
[{
"NAME": "ods",
"PART_ID": 28980,
"TBL_NAME": "xxxxx",
"PART_NAME": "partition_col=201511",
"LOCATION": "hdfs://cdh1:8020/user/hive/warehouse/ods.db/xxxxx/partition_col=201511",
"PARAM_VALUE": "6320486",
"CLAC_FILE_NUM": 1.0
}]
Expected behavior
The comparison result found:

First of all, the data field alias fails to have any effect
Take the original name of the database, there are missing fields in FILE_NUM and FILE_SIZE

Which version of Dolphin Scheduler:
-[1.3.1-preview]
Requirement or improvement
1.Modify the code to take the database field alias instead of the original name。
I think it should be changed to this：

2.Add new features to save the execution results of the previous task node, which can be passed as a parameter to the next task node. This scenario is very common

select DBS.NAME                                                        as 'DB_NAME',
PARTITIONS.PART_ID,
TBLS.TBL_NAME,
PARTITIONS.PART_NAME,
SDS.LOCATION,
PARTITION_FILENUM.PARAM_VALUE                                   AS FILE_NUM,
PARTITION_TOTAL_Size.PARAM_VALUE                                AS FILE_SIZE,
CEILING(PARTITION_TOTAL_Size.PARAM_VALUE / (128 * 1024 * 1024)) AS CLAC_FILE_NUM
from DBS,
SDS,
TBLS,
PARTITIONS,
(select * from PARTITION_PARAMS where PARAM_KEY = 'numFiles') as PARTITION_FILENUM,
(select * from PARTITION_PARAMS where PARAM_KEY = 'totalSize') as PARTITION_TOTAL_Size
where DBS.DB_ID = TBLS.DB_ID
and PARTITIONS.SD_ID = SDS.SD_ID
and TBLS.TBL_ID = PARTITIONS.TBL_ID
and PARTITIONS.PART_ID = PARTITION_FILENUM.PART_ID
and PARTITIONS.PART_ID = PARTITION_TOTAL_Size.PART_ID
AND PARTITION_FILENUM.PARAM_VALUE > CEILING(PARTITION_TOTAL_Size.PARAM_VALUE / (128 * 1024 * 1024))
limit 1

You're right.  You can add a logical judgment。If getColumnLabel and getColumnName are not equal, use getColumnLabel；Can you fix this problem and submit a pull request;
你是对的，可以加一个逻辑，如果别名和列名不同，优先使用别名。你可以提交pull request修复这个问题吗？

1.Modify the code to take the database field alias instead of the original name。
item 1 is the same as the issue #3549, which  is resolved in dev branch

1.Modify the code to take the database field alias instead of the original name。

item 1 is the same as the issue #3549, which is resolved in dev branch

This can be turned off


Node Error: Bad end offset

When reading a PDF in nodejs, saved by express' multer middleware, running in Docker I periodically get this error:
(node:35) UnhandledPromiseRejectionWarning: Error: Bad end offset: 4096
at ChunkedStream.onReceiveData (/usr/src/app/node_modules/pdfjs-dist/build/pdf.worker.js:11612:15)
at ChunkedStreamManager.onReceiveData (/usr/src/app/node_modules/pdfjs-dist/build/pdf.worker.js:12134:21)
at /usr/src/app/node_modules/pdfjs-dist/build/pdf.worker.js:11918:15
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Configuration:

NodeJS 12.10
Operating system and its version: Window 10 host, with a node:alpine image
PDF.js version: pdfjs-dist 2.1.266 (through npm)

Steps to reproduce the problem:

Running pdfjs-dist inside of a Linux docker container, on windows, in a nodejs/express endpoint, being served a file through multer
I make calls to getDocument, getPage, and getAnnotations and return back formatted results.

What went wrong? (add screenshot)
All of my promises have catches, and I have everything surrounded by a catch block.  This appears to be something internal to PDFJS.  Sometimes everything hangs and I get no error at all.  The same pdf is used over and over.  Basically I expose my endpoint through swagger-ui to hit it repeatedly to produce this issue.

Please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us on the IRC channel -- keep in mind that just code snippets won't help us troubleshoot the problem.

Yes, without a clear way to reproduce this it's impossible to tell what's causing this unfortunately.

Thanks guys, I have tracked it down.  It turns out that there is a problem transferring the file with either docker or express/multer, so pdfjs isn't getting the entire file.  Since figuring that out, I have really only seen empty files, which pdfjs is handling.  I assume that before I was getting some partial PDF that was causing pdfjs to freak out.  If I can get my hands on an example pdf, I will submit it, but it is low priority right now.  Thanks again.


Upgrade to onnxruntime==1.18.0

Codecov Report
Attention: Patch coverage is 0% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 84.75%. Comparing base (08d8766) to head (a1a2bfc).

Files
Patch %
Lines

onnx_extended/__init__.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #184      +/-   ##
==========================================
- Coverage   84.75%   84.75%   -0.01%
==========================================
  Files          58       58
  Lines        7051     7050       -1
==========================================
- Hits         5976     5975       -1
  Misses       1075     1075

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


Adding Metadefender.com Threat Intelligence Feeds

Hi, I'm adding newly published free threat intelligence feeds from Metadefender.com

Thank you! :smile:


Update polymer-in-China.md with more info on Fireball

Added a youtube video to showcase Fireball Editor built with Polymer. Update description with thoughts on choosing polymer.

@unbug video added with updated description.


Fix example in table.rs

The formulas given in the table are volume formulas not areas at https://typst.app/docs/reference/model/table/#example.
As typst is used by scientists I felt like it was somewhat important but I didn't find any open PR modifying table.rs to slip into.
As it is a really minor fix feel free to integrate it to already opened spelling/typo/doc PRs such as #5020 or #5032

Thanks!


Domain synchronizer candidate for ATP sensors

Could clarity be added in the 'Domain synchronizer candidate' section to understand if Azure ATP sensors should be enable as synchronizer candidates in an exclusively ATP sensor environment (i.e. no ATP Standalone sensors)

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

ID: e6e1c17a-2f22-6a6f-d5ba-bedda3984aef
Version Independent ID: 8531caef-8ef2-1f45-6362-0c83bd1de9dc
Content: Azure Advanced Threat Protection architecture
Content Source: ATPDocs/atp-architecture.md
Service: azure-advanced-threat-protection
GitHub Login: @mlottner
Microsoft Alias: mlottner

After issues are identified what next

Looks like I have 8 issues to fix and I the email address I used to sign in now it says that the email is not Microsoft accounts

Thanks for your valuable feedback. Additional information was added about when and how to enable Azure ATP sensors as domain synchronizer candidates. Let us know if anything is still unclear.


Resource auto-detection

While not formally specified by the Resource spec, we are probably going to want:

Resource initialization from environment variables

related: https://github.com/open-telemetry/opentelemetry-specification/issues/501

Resource auto-detection

container
cloud environment

@mwear Can we close this issue via #899?

Yes!


Draft: Fixed issue with SSR

It appears the vue.m.js file was attempting to be loaded from ./resources rather than the root folder. Just added the extra ../ to make it look in the proper place for SSR.

I'll continue to tinker with SSR, but the manifest.json files don't appear to be generated when building for SSR. Got to look into that.

@Xinecraft is there a reason why you are committing the cached views, compiled VueJS files, etc.?

I am closing this for now while I work on it and some other random fixes

@Xinecraft is there a reason why you are committing the cached views, compiled VueJS files, etc.?

Yes, committing the build so installation steps and time become less (as we won't need to have nodejs installed and build process).
Also it reduces the system requirements, building assets used to fail in system with less then 2GB Ram.


Empty context value in Envelop v0.3.0

Describe the bug
In Envelop 0.3.0 (and the previous alpha releases of this version), the contextValue available within the args object passed to onExecute is empty.
This eventually breaks some existing plugins, certainly newrelic but potentially also graphql-jit and graphql-modules (since they make use of contextValue).
Any previous version of Envelop (such as latest 0.2.2) are instead properly populating the contextValue with GraphQL's document, operation and variables, amongst other properties.
To Reproduce
I have created this simple project to reproduce the issue:
https://codesandbox.io/s/envelop-empty-context-z4w75?file=/README.md
The README file contains all instructions to reproduce the issue and compare behaviours of v0.3.0 against v0.2.2
Expected behavior
The context value should be populated with GraphQL informations at least, but ideally there should be no difference between how it's populated in v0.2.x vs 0.3.x

Fixed in<EMAIL_ADDRESS>:)


Clarify a consideration of the bulkhead pattern

At first glance I thought the 'nd' of ';and' was just missing, but reading for context my best guess is that an 'or' was actually intended.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/patterns/bulkhead.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Yes, I think it should be 'or' - thanks


Support for curve-zmq

Awesome. Should the .deb files maybe be part of culture/debs like we have culture/gems right now?

@digitalextremist these debs are actually dcell-specific so I don't see why anybody else want to have them.
I would really prefer to get rid of them as they should be only used on travis(recent ubuntu and debian SID should have them). In Arch it's already there since ages.
In practice if a distro doesn't have have appropriate version of libzmq it must be build manually.
I've tried to build 'em on travis but it's takes too much time. So in the end I prebuilt these debs myself.

Ah! I wondered. I understand/agree on all points.

Exciting to see CurveZMQ coming in. I abandoned my branch a long time ago when you mentioned changes coming to the library. So is the library settled now?

Yes, I believe so. Next step would be to add stats(for monitoring and load balancing).
Also it would be nice to get rid of registries(too many of them!) and build smth on top of DCell itself.
Maybe smth like Raft but in fact DCell doesn't require that tight synchronization and also I don't like the idea of a single master.

I'm itching to use DCell+CZMQ myself, so don't worry about superstructure coming in over it. Especially if we can thin-out the registries. Any thoughts on using protobuf or similar for data exchange?

You want to have a server written in C?
Well, I was thinking myself about that.

@niamster you could use an eventually consistent gossip protocol ala riak_core or Serf (i.e. SWIM)

Any thoughts on using protobuf or similar for data exchange?

He already switched to msgpack, which is a nice fit for a dynamic language like Ruby

@tarcieri, ah -- I fell out of the loop on that one. Congratz @niamster.
How's Japan going, are you still there @tarcieri?

I'm back in the US now

msgpack looks great. Excited to check that out further.
I hope the trip was great.
Just signed a two-year lease on a new lab, once I settle in, I'm planning to head up that way.

(currently writing a actor for czmq in c which does raft internally and exposes a REST "API")

(Its using http://rfc.zeromq.org/spec:40/XRAP for REST)

@Asmod4n wow, this sounds very interesting, can you share anything yet?

@shadoi nothing useable yet: https://github.com/Asmod4n/craft, logic is in src/craft.c.

I'm going to merge this and close #62 if there are no objections here.


contained code is not MIT licensed?

included LICENSE
vs
contained code, ie. https://raw.githubusercontent.com/attermann/Crypto/refs/heads/master/GCM.cpp
/*
 * Copyright (C) 2015 Southern Storm Software, Pty Ltd.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */

ah, i didnt recognize it to be the exact MIT license text. it's just a cognitive issue on my side 🤦🏼


Add four more Debug Bar addons plugin.

Debug Bar Actions and Filters allows to view all hooks ins. Not auto-activated.
Debug Bar Localization shows information about the language file loading. Not auto-activated.
Debug Bar List Dependencies shows information about the js scripts and stylesheets loaded for each page. Auto-activated.
Debug Bar Sidebars & Widgets shows information about the registered sidebars & widgets. Not auto-activated.

There are quite a few more DB addons, but these four seemed quite useful to me when reviewing a theme.
For quite a comprehensive list of other DB addons available - see http://wpgear.org/#debug-tools

Initially I'm worried about adding more debug tools, because honestly, there are many, but I want to do some research into how these help (get actual eyes on it).

That's fair enough - to make it easier - here are links to the WP repo pages with the screenshots for the first three:

https://wordpress.org/plugins/debug-bar-actions-and-filters-addon/screenshots/
https://wordpress.org/plugins/debug-bar-localization/screenshots/
https://wordpress.org/plugins/debug-bar-list-dependencies/screenshots/

The last one unfortunately does not have screenshots on the WP repo:

https://wordpress.org/plugins/debug-bar-sidebars-widgets/


Make config check include for configs examples more consistent

This way all config examples work when used like described in the README

The change looks right to me, and it makes those two examples consistent with the other two.
But if I interpret the github interface properly, the permissions on the files were also changed (made them executable), which is undesirable. Can you please fix this before we merge your PR? Thanks.

You are right I didn't notice. Will fix it and update the PR:

@mpg  is PR updated.

Thanks! Looks good to me.

Any idea when this might get merged?

Merged. Apologies this took a while. We've been busy and missed this one.


x/net/{ipv4,ipv6}: failed to compile w/ go1.4 or below on linux/arm64

golang.org/x/net/ipv6
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:7: sysIPV6_ADDRFORM redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:7
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:8: sysIPV6_2292PKTINFO redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:8
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:9: sysIPV6_2292HOPOPTS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:9
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:10: sysIPV6_2292DSTOPTS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:10
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:11: sysIPV6_2292RTHDR redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:11
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:12: sysIPV6_2292PKTOPTIONS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:12
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:13: sysIPV6_CHECKSUM redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:13
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:14: sysIPV6_2292HOPLIMIT redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:14
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:15: sysIPV6_NEXTHOP redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:15
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:16: sysIPV6_FLOWINFO redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv6/zsys_linux_amd64.go:16
../../../golang.org/x/net/ipv6/zsys_linux_arm64.go:16: too many errors
golang.org/x/net/ipv4
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:7: sysIP_TOS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:7
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:8: sysIP_TTL redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:8
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:9: sysIP_HDRINCL redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:9
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:10: sysIP_OPTIONS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:10
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:11: sysIP_ROUTER_ALERT redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:11
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:12: sysIP_RECVOPTS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:12
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:13: sysIP_RETOPTS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:13
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:14: sysIP_PKTINFO redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:14
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:15: sysIP_PKTOPTIONS redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:15
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:16: sysIP_MTU_DISCOVER redeclared in this block
previous declaration at ../../../golang.org/x/net/ipv4/zsys_linux_amd64.go:16
../../../golang.org/x/net/ipv4/zsys_linux_arm64.go:16: too many errors

I'm sorry this is not an acceptable bug report. You have not used the template provided or given instructions how someone can reproduce the issue you are having.

We don't the issue tracker to ask questions. Please see https://golang.org/wiki/Questions for good places to ask. Thanks.

See https://github.com/golang/go/wiki/Linux. Go 1.5 or above is required to build and run those packages on linux/arm64.


Clicking on the icon right on the PR title does nothing

Extension version: 0.25.1
VSCode Version: 1.55.2
OS: Fedora 33

Steps to Reproduce:

click on icon for Pull Requests
click on the icon right on the pr title
nothing happens
expected : show the PR description

click on the icon right on the pr title

Can you share a screenshot of this so I can better understand what you're clicking on?


Create a Pub/Sub Spring Integration sample that uses JSON payloads

I think this would be a great idea! I would also love to see a JSON sample without spring-integration as well. I am using 1.1.0.BUILD-SNAPSHOT and following the progress of this library closely. I started out with the Spring Integration sample but the plain PubSubTemplate fit my use case better.
Here is some relevant feedback:
I am using Jackson in my project, which automatically enabled the JacksonPubSubMessageConverter thanks to org.springframework.cloud.gcp.autoconfigure.pubsub.GcpPubSubAutoConfiguration. This was a pleasant surprise. 👍
I think the most confusing part I ran into was that, AFAIK, I can publish messages using this method org.springframework.cloud.gcp.pubsub.core.publisher.PubSubPublisherTemplate#publish(java.lang.String, T, java.util.Map<java.lang.String,java.lang.String>) and the payload will be automatically converted thanks to JacksonPubSubMessageConverter but when I subscribe to messages via org.springframework.cloud.gcp.pubsub.core.PubSubTemplate#subscribe the received messages (via MessageReceiver interface) are not utilizing any message converter and I have to parse them manually. Perhaps this is not the intended way to subscribe to incoming messages. I think a sample would clear things up.

I would guess in most people's use cases, the messages are in the same format, for example JSON objects. An auto-configured message converter makes sense for these scenarios.
But, what about the scenario where messages in a topic may not be the same type? JSON vs XML? This use case is not common, not ideal, and quite frankly bad practice for a topic ... but it may occur where legacy systems are involved.

Possible solution ...

Add thePubSubMessageConverter to the PubSubSubscriberTemplate

Create a Spring Pub / Sub specific PubSubMessageReceiver interface that has the PubSubMessageConverter as a parameter ...

public interface PubSubMessageReceiver {

	void receiveMessage(PubsubMessage pubsubMessage, AckReplyConsumer ackReplyConsumer, PubSubMessageConverter pubSubMessageConverter);
}

Add a new subscribe method into the PubSubSubscriberOperations and PubSubSubscriberTemplate that accepts the new PubSubMessageReceiver ...

@Override
public Subscriber subscribe(String subscription, PubSubMessageReceiver pubSubMessageReceiver) {
    Assert.hasText(subscription, "The subscription can't be empty.");
    Assert.notNull(pubSubMessageReceiver, "The pubSubMessageReceiver can't be null.");

    return subscribe(subscription,
                    new MessageReceiver() {
                        @Override
                        public void receiveMessage(PubsubMessage pubsubMessage, AckReplyConsumer ackReplyConsumer) {
                            pubSubMessageReceiver.receiveMessage(pubsubMessage, ackReplyConsumer, getMessasgeConverter());
                        }
                    });
}

Fixed by #1140


Update MD file on new branch 2017-29-29_21-11-26

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Invalid availability zone: [us-east-1d]

running: bees up -s 4 -g public -k mykey
but I get:
Connecting to the hive.
Attempting to call up 4 bees.
Traceback (most recent call last):
  File "/usr/local/bin/bees", line 5, in <module>
    main.main()
  File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 127, in main
    parse_options()
  File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 111, in parse_options
    bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
  File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 104, in up
    placement=zone)
  File "/usr/local/lib/python2.7/dist-packages/boto/ec2/connection.py", line 618, in run_instances
    return self.get_object('RunInstances', params, Reservation, verb='POST')
  File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 699, in get_object
    raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error>InvalidParameterValue<Message>Invalid availability zone: [us-east-1d]</Message></Error></Errors><RequestID>7d01a404-48c7-4147-9774-f93c993e6b7a</RequestID></Response>

That still didnt fix for me. I tried
[Boto]
ec2_region_name = ap-southeast-2
ec2_region_endpoint = ec2.ap-southeast-2.amazonaws.com
sudo bees up -s 1 -g public -k ec2-for-load-testing -z us-west-1
Traceback (most recent call last):
File "/usr/local/bin/bees", line 5, in
main.main()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 127, in main
parse_options()
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/main.py", line 111, in parse_options
bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
File "/usr/local/lib/python2.7/dist-packages/beeswithmachineguns/bees.py", line 104, in up
placement=zone)
File "/usr/local/lib/python2.7/dist-packages/boto/ec2/connection.py", line 618, in run_instances
return self.get_object('RunInstances', params, Reservation, verb='POST')
File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 699, in get_object
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request

InvalidParameterValueInvalid availability zone: [us-west-1]25392171-2a92-48bb-b734-577f26ef66f7

@sigsegved I got it to work by also changing the zone argument to -z ap-southeast-2b

Hi All,
That still didnt fix for me. I tried
[Boto]
ec2_region_name = ap-southeast-1
ec2_region_endpoint = ec2.ap-southeast-1.amazonaws.com
bees up -s 2 -k testing -z ap-southeast-1
Traceback (most recent call last):
File "/usr/local/bin/bees", line 5, in
main.main()
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 127, in main
parse_options()
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 111, in parse_options
bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/bees.py", line 104, in up
placement=zone)
File "/usr/local/lib/python2.7/site-packages/boto/ec2/connection.py", line 618, in run_instances
return self.get_object('RunInstances', params, Reservation, verb='POST')
File "/usr/local/lib/python2.7/site-packages/boto/connection.py", line 699, in get_object
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request

InvalidParameterValueInvalid availability zone: [ap-southeast-1]b8641ad4-6200-41dc-8d56-21e17e61e5c4
Pls, anyone explain this ?
Thanks.

@danninux even though I have the zone without the trailing letter in my .boto file, I still had to use the letter when starting up my bees:  -z us-west-2a.
[Boto]
ec2_region_name=us-west-2

@mfrederickson I already tried, but still didn't fix for me.
[Boto]
ec2_region_name = ap-southeast-1
$ bees up -s 2 -k test -z ap-southeast-1a
Traceback (most recent call last):
File "/usr/local/bin/bees", line 5, in
main.main()
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 127, in main
parse_options()
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/main.py", line 111, in parse_options
bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
File "/usr/local/lib/python2.7/site-packages/beeswithmachineguns/bees.py", line 104, in up
placement=zone)
File "/usr/local/lib/python2.7/site-packages/boto/ec2/connection.py", line 618, in run_instances
return self.get_object('RunInstances', params, Reservation, verb='POST')
File "/usr/local/lib/python2.7/site-packages/boto/connection.py", line 699, in get_object
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request

InvalidParameterValueInvalid availability zone: [ap-southeast-1a]b4552b5c-4fad-4260-a6b4-41581fbb4148

Done, thanks @mfrederickson


Configuration environment issues

Hi,good job!
I have a problem, please help me.
pip install -e torch_fidelity_lib
ERROR: File "setup.py" or "setup.cfg" not found. Directory cannot be installed in editable mode: /media/sdb/wd/test_code/CIPS-3D/torch_fidelity_lib

Could you check if there is a setup.py file in the torch_fidelity_lib directory?
If the directory is empty, I suggest you re-clone the code using the command
git clone --recursive https://github.com/PeterouZh/CIPS-3D.git.

thank you！


whitelist var does not enable the whitelist - minecraft java chart ONLY

For the minecraft java edition chart, the whitelist var appears to only add users to the whitelist, not actually turn the whitelist on.
The bedrock edition chart appears to have separate whitelist and whitelist-users vars.

Adding link to #101

Hey I tried this temporary solution by setting ENABLE_WHITELIST and ENFORCE_WHITELIST under extraEnv. But players who are not in the white list are still getting in.

OVERRIDE_SERVER_PROPERTIES also needs to be enabled or it won't change the enforce property.

and with https://github.com/itzg/minecraft-server-charts/releases/tag/minecraft-3.6.7 that can now actually be set

@itzg I am using the latest Helm chart. I have setted the following variables:
extraEnv:
  # recommended rolling logs for saving disk
  ENABLE_ROLLING_LOGS: true
  ENABLE_WHITELIST: true
  ENFORCE_WHITELIST: true
  FORCE_WORLD_COPY: false
  # if this is true then minecraftServer properties above are always applied
  # on every restart, if false they only apply at first run
  OVERRIDE_SERVER_PROPERTIES: true

Also,  I have filled whitelist variable with some nicknames. After the helm upgrade minecraft -f minecraft-helm-config.yaml minecraft-server-charts/minecraft I still have enforce_whitelist=false in server.properties.
Is it a problem with the Helm chart or something on my side?

@zamazan4ik , it seems like you're doing things right. Can you provide the container logs?

Sure.
chmod: changing permissions of '/data': Operation not permitted
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxrwx 7 0 0 4096 Apr  7 15:38 /data'
[init] Resolved version given LATEST into 1.18.2 and major version 1.18
[init] Resolving type given VANILLA
[init] server.properties already created, skipping
[init] Updating whitelist
[mc-image-helper] 16:30:11.459 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/for974972d606f74: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 16:30:12.804 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/fsdfa922cf763d54: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 16:30:14.042 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/GRNf8e6058518cd4: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 16:30:15.523 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/Ban8a6d5b041aa45: status code: 500, reason phrase: Internal Server Error
[init] log4j2.xml already created, skipping
[init] Checking for JSON files.
[init] Setting initial memory to 4096M and max to 4096M
[init] Starting the Minecraft server...
Starting net.minecraft.server.Main
[16:30:23] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[16:30:25] [ServerMain/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[16:30:25] [ServerMain/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[16:30:25] [ServerMain/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[16:30:25] [ServerMain/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[16:30:25] [ServerMain/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[16:30:26] [Worker-Main-2/INFO]: Loaded 7 recipes
[16:30:26] [Worker-Main-2/INFO]: Loaded 1141 advancements
[16:30:28] [Server thread/INFO]: Starting minecraft server version 1.18.2
[16:30:28] [Server thread/INFO]: Loading properties
[16:30:28] [Server thread/INFO]: Default game type: SURVIVAL
[16:30:28] [Server thread/INFO]: Generating keypair
[16:30:28] [Server thread/INFO]: Starting Minecraft server on *:25565
[16:30:28] [Server thread/INFO]: Using epoll channel type
[16:30:28] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[16:30:28] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[16:30:28] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[16:30:28] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[16:30:28] [Server thread/INFO]: Preparing level "world"
[16:30:34] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[16:30:35] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:35] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:35] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:38] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:39] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:39] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:41] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:41] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:41] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:41] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:42] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:42] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:43] [Worker-Main-2/INFO]: Preparing spawn area: 0%
[16:30:43] [Worker-Main-2/INFO]: Preparing spawn area: 5%
[16:30:44] [Worker-Main-2/INFO]: Preparing spawn area: 17%
[16:30:44] [Worker-Main-2/INFO]: Preparing spawn area: 35%
[16:30:45] [Worker-Main-2/INFO]: Preparing spawn area: 56%
[16:30:45] [Worker-Main-2/INFO]: Preparing spawn area: 72%
[16:30:47] [Server thread/INFO]: Time elapsed: 12600 ms
[16:30:47] [Server thread/INFO]: Done (18.931s)! For help, type "help"
[16:30:47] [Server thread/INFO]: Starting remote control listener
[16:30:47] [Server thread/INFO]: Thread RCON Listener started
[16:30:47] [Server thread/INFO]: RCON running on <IP_ADDRESS>:25575
[16:30:48] [Server thread/INFO]: forforforfor[/<IP_ADDRESS>:17738] logged in with entity id 51 at (-444.3168093382005, 69.5625, -286.6578040018599)
[16:30:49] [Server thread/INFO]: forforforfor joined the game

There are some errors like "get command failed" but they should not affect the file state.

[init] server.properties already created, skipping

indicates that the server.properties file isn't going to get updated. Use minecraftServer.overrideServerProperties in the values rather than the extraEnv. I suspect that one is masking the other you're setting.
Yeah, the playerdb 500's is indeed something separate I need to look at.

@itzg I have changed my Helm config as you said (added overrideServerProperties: true to Helm config under minecraftServer) - it did not help.
chmod: changing permissions of '/data': Operation not permitted
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxrwx 7 0 0 4096 Apr  7 15:38 /data'
[init] Resolved version given LATEST into 1.18.2 and major version 1.18
[init] Resolving type given VANILLA
[init] server.properties already created, skipping
[init] Updating whitelist
[mc-image-helper] 19:50:52.733 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/for974972d606f74: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 19:50:54.260 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/fsdfa922cf763d54: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 19:50:55.839 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/GRNf8e6058518cd4: status code: 500, reason phrase: Internal Server Error
[mc-image-helper] 19:50:57.403 ERROR : 'get' command failed: Failed to download https://playerdb.co/api/player/minecraft/Ban8a6d5b041aa45: status code: 500, reason phrase: Internal Server Error
[init] log4j2.xml already created, skipping
[init] Checking for JSON files.
[init] Setting initial memory to 4096M and max to 4096M
[init] Starting the Minecraft server...
Starting net.minecraft.server.Main
[19:51:06] [ServerMain/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[19:51:07] [ServerMain/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[19:51:07] [ServerMain/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[19:51:07] [ServerMain/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[19:51:07] [ServerMain/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[19:51:07] [ServerMain/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[19:51:08] [Worker-Main-2/INFO]: Loaded 7 recipes
[19:51:09] [Worker-Main-2/INFO]: Loaded 1141 advancements
[19:51:10] [Server thread/INFO]: Starting minecraft server version 1.18.2
[19:51:10] [Server thread/INFO]: Loading properties
[19:51:10] [Server thread/INFO]: Default game type: SURVIVAL
[19:51:10] [Server thread/INFO]: Generating keypair
[19:51:11] [Server thread/INFO]: Starting Minecraft server on *:25565
[19:51:11] [Server thread/INFO]: Using epoll channel type
[19:51:11] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[19:51:11] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[19:51:11] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[19:51:11] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[19:51:11] [Server thread/INFO]: Preparing level "world"
[19:51:17] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld

And in server.properties I still have enforce-whitelist=false

Yeah, the playerdb 500's is indeed something separate I need to look at.

No, that is my playing with changing user nicknames before actual login. Don't waste your time on it)

Related parts of my helm chart values file:
# Common minecraft server settings
minecraftServer:
  # This must be overridden, since we can't accept this for the user.
  eula: true
  # may be SNAPSHOT or a specific version number
  version: LATEST
  # allowed players' names comma separated, leave blank to allow any players
  whitelist: nick1,nick2
  # comma separated admin players' names
  ops:
  # always set game mode when a player connects
  forcegameMode: true
  # choose a seed for the starting world
  levelSeed:
  # size of the world in blocks radius from spawn point (default is 29999984)
  maxWorldSize: 10000
  # One of: peaceful, easy, normal, and hard
  difficulty: hard
  # default game mode for players creative,adventure,survival or spectator
  gameMode: survival
  # message in the launcher
  motd: "Welcome to Minecraft from zamazan4ik"
  # player vs player enabled
  pvp: true
  # REQUIRED this means you get nodePort exposed on all nodes and will get
  # directed to the correct node if you connect to any
  serviceType: NodePort
  # restore the world from a backup on first execution (requires NFS volume - see below)
  downloadWorldUrl:
  # external port must be unique across all mc server instances on a given node
  nodePort: 25565
  # how far from the player are chunks rendered on the server
  # 10 is default, larger is nice on high spec hardware
  # I believe 25 is the client max so larger is wasted
  viewDistance: 10
  # Check accounts against Minecraft account service.
  onlineMode: false
  # If you adjust this, you may need to adjust resources.requests above to match.
  memory: 4096M
  overrideServerProperties: true

extraEnv:
  # recommended rolling logs for saving disk
  ENABLE_ROLLING_LOGS: true
  ENABLE_WHITELIST: true
  ENFORCE_WHITELIST: true
  FORCE_WORLD_COPY: false

Strange. To narrow down where it gets dropped it would be interesting to run helm with --dry-run --debug. Also a kubectl describe of deployment would be helpful.

Helm Dry run output: https://pastebin.com/9PiLpbkm
Kubectl deployment describe: https://pastebin.com/8x1yiRhE

Comparing those two files it disappeared somewhere between helm's rendering of the deployment and the deployment object itself. Perhaps double check you're running the helm upgrade as you're expecting.

Hmmm... Not a professional user of Helm. Is helm upgrade minecraft -f minecraft-helm-config.yaml minecraft-server-charts/minecraft a right command for the upgrade?

Honestly I don't use helm much myself, but that seems right other than I believe minecraft-server-charts/minecraft doesn't need to be there for an upgrade. With that, watch the logs to confirm it is modifying the deployment as expected.


FR: Support Mocca101/obsidian-plugin-groups with Dataview queries

What would you like to be added?
It looks like obsidian-projects is looking at app.plugins.enabledPlugins which will not list Dataview, even when it is technically loaded manually or via another plugin. Could you please check app.plugins.plugins['dataview']?._loaded or an equivalent instead?
Why is this needed?
Even if Dataview is technically loaded manually or via other plugin, obsidian-projects says that "Dataview is disabled."
See:
On desktop, I use Mocca101/obsidian-plugin-groups to delay the loading of Dataview in my vault as Dataview's loading at startup unfortunately delays Obsidian sync for a few minutes which can be quite frustrating when I'm in a rush and need to reload the app really quick.
To achieve this, Dataview is disabled via the Community Plugins tab and obsidian-plugin-groups, which is enabled, handles Dataview's loading via that plugin's functionality with my config for that plugin.
My obsidian-plugin-groups config (just for Dataview) for your convenience: data.zip
Thanks!

Please disregard as I have opened an issue with Mocca101/obsidian-plugin-groups to populate app.plugins.enabledPlugins as obsidian-projects is expecting.
Thanks for your time!

Hi again.
I'm re-opening this because I worked with the maintainer of obsidian-plugin-groups to try to support the method you are using to detect dataview but I ran into a downstream issue.
One of the Obsidian devs was kind enough to advise me in Discord about the proper way to detect dataview.
Could you please modify this call to use the app.plugins.getPlugin(...) method instead of checking app.plugins.enabledPlugins(...)?

Thanks for the heads-up, I didn't know about the getPlugin() call. I'll get that fixed for you!


praat: 6.2.22 -> 6.2.23

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/praat/praat/releases.
meta.description for praat is: "Doing phonetics by computer"
meta.homepage for praat is: "https://www.fon.hum.uva.nl/praat/"
meta.changelog for praat is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.2.22a with grep in /nix/store/drg5fzaizy98gwcrafrx7afgqvabizv9-praat-6.2.22a
found 6.2.22a in filename of file in /nix/store/drg5fzaizy98gwcrafrx7afgqvabizv9-praat-6.2.22a

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
praat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/drg5fzaizy98gwcrafrx7afgqvabizv9-praat-6.2.22a \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A praat https://github.com/r-ryantm/nixpkgs/archive/bc50cb54a69b319e229710bd06499c138c86bbdd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/drg5fzaizy98gwcrafrx7afgqvabizv9-praat-6.2.22a
ls -la /nix/store/drg5fzaizy98gwcrafrx7afgqvabizv9-praat-6.2.22a/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

praat

Maintainer pings
cc @orivej for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/praat/praat/releases.
meta.description for praat is: "Doing phonetics by computer"
meta.homepage for praat is: "https://www.fon.hum.uva.nl/praat/"
meta.changelog for praat is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.2.23 with grep in /nix/store/8bmh887qa9ivdyj9l312lpbhaypa4l4i-praat-6.2.23
found 6.2.23 in filename of file in /nix/store/8bmh887qa9ivdyj9l312lpbhaypa4l4i-praat-6.2.23

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
praat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8bmh887qa9ivdyj9l312lpbhaypa4l4i-praat-6.2.23 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A praat https://github.com/r-ryantm/nixpkgs/archive/ce89e36a471c54e24beeead413b9b507445f978d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8bmh887qa9ivdyj9l312lpbhaypa4l4i-praat-6.2.23
ls -la /nix/store/8bmh887qa9ivdyj9l312lpbhaypa4l4i-praat-6.2.23/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

praat

Maintainer pings
cc @orivej for testing.


.save and .delete methods do not exist

I have seen a number of things that though documented are not implemented yet.
I have so far successfully used these methods to edit data:

isar.projects.put(project) to create a new project
isar.projects.delete(id) to delete a project

I have not managed to use:

project.delete()
project.save()

The reason is: these two methods do not exist when I query a project, for instance like this: isar.projects.get(id). The returned object does contain all the variables defined in the model though.
So the quick question is: Have these methods been implemented?
The longer one is (and maybe I need to show some more code for that): What needs to happen for those methods to exist?

@barbalex The .delete() and .save() methods were part of an old API design and are no longer required. I'll remove them from the docs.

when I query a project, for instance like this: isar.projects.get(id). The returned object does contain all the variables defined in the model though.

That should definitely not happen. Could you maybe share your Project class?

@barbalex Is there something else that is not implemented yet?

The .delete() and .save() methods were part of an old API design and are no longer required

How can an object be changed/edited then? I haven't seen or found a different method.

Is there something else that is not implemented yet?

Yes, there are/were a few  things I found in own/other's issues. Some you have already resolved. They are mentioned in those issues so no need to repeat them here.
Plus: You are building an extremely promising tool here which is why I have decided to try to implement it in a new project. Which may be why I am opening a number of issues. I realize:

It is early days for isar. I may be using it too soon. That is my own risk, you should not feel guilty for the troubles resulting from that
You are letting us profit from your knowledge and time. THANKS A LOT FOR THAT. I hope you take issues as a sign of our interest in your ideas and work rather than us criticizing it

By the way: While I am not up to adding value to the code of this project, I could add to the documentation. That would probably not be great documentation and would surely have to be enhanced by you later but it could prevent more people from opening issues and spending time before that.

How can an object be changed/edited then? I haven't seen or found a different method.

Both inserting and updating works with yourCollection.put(yourObject). If the id is null (or does not exist), the object is inserted, otherwise it is updated.

Which may be why I am opening a number of issues

Please don't hesitate opening any number of issues. I'm super grateful for insights from early adopters.

I could add to the documentation

Any help is more than welcome. Don't worry about the level of your knowledge. Docs for beginners or sample apps are just as important as more advanced guides :)


[Docs]: manage-api-consumers pages's tutorials link invalid

Current State
Description of the current state/issue:
manage-api-consumers pages's tutorials link invalid
Link to the page:
https://apisix.apache.org/zh/docs/apisix/tutorials/manage-api-consumers/
Screenshots (if relevant):

Desired State
Description of the change you are proposing:
Would you like to fix this issue?
No. Please assign another contributor

also
https://apisix.apache.org/zh/docs/apisix/tutorials/add-multiple-api-versions/protect-api.md/


SQL Import: Include completed ts, show failed on job step, & further clean up output

Description

Print the "Completed" date now that it's present in the server response
Indicate the Job step that failed
Collect the "overall" status reporting at the bottom
Further general tidying of the output

Steps to Test

Check out PR.
Run npm run build
Run ./dist/bin/vip-import-sql.js with various params

Verify the UX is improved

Repeat with ./dist/bin/vip-import-sql-status.js

Verify the UX is improved

Actually, looks like we're repeatedly printing this:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
...

Actually, looks like we're repeatedly printing this:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:
...

Actually, looks like we're repeatedly printing this:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:

@mjangda  Hrm... I can't reproduce & don't see how that could happen (but I believe you of course!)  Any hints on how to reproduce?

Actually, looks like we're repeatedly printing this:
=============================================================
Processing your sql import for env ID: 309, app ID: 309:

@mjangda  Hrm... I can't reproduce & don't see how that could happen (but I believe you of course!)  Any hints on how to reproduce?

I'm going to go ahead and merge this & hopefully we'll get more eyes on the above issue.

I'm going to go ahead and merge this & hopefully we'll get more eyes on the above issue.

I think its a single-line-log bug. I've seen it happen in other CLIs as well where if the total lines of output is larger than the terminal window, you end up with this weird repeating behavior. You can probably reproduce if you increase your don't size.
I don't think it's a blocker though.

I think its a single-line-log bug. I've seen it happen in other CLIs as well where if the total lines of output is larger than the terminal window, you end up with this weird repeating behavior. You can probably reproduce if you increase your don't size.
I don't think it's a blocker though.

I've seen it happen in other CLIs as well where if the total lines of output is larger than the terminal window, you end up with this weird repeating behavior. You can probably reproduce if you increase your don't size.

Yeah, if I decrease my font size, the problem doesn't happen. If I increase it, we see weird repeating bits (you may have to scroll up to see it).
Like I said, it's a bug in single-line-log. The quickest / easiest workaround is to cut down the number of lines we're outputting (but that's just a cat-and-mouse style game :))

"fun" :)


[Bug]: An error that I can't solve

Describe the bug
I installed everything as it should be, but the project throws up a lot of errors and the style doesn't work.
Steps to reproduce the bug
none
Expected behavior
none
Screenshots

Windows version
Windows 11 version 22H2 (22621, 2022 Update)
.Net Version
.Net Framework 4.8.x
.MicaWPF Version
MicaWPF
Additional context
none

I installed the settings of the Nuget package reference and reinstalled the package but nothing changed

Its caused by your Visual studio its because the .Net Framework use Packages.config by default you need to upgrade to package references instead.
See how to migrate here:
https://learn.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference