Flush all sessions from TPM device

This commit is a quick (and admittedly ugly) hack to fix a problem that
has been affecting our production environment. While it partially
addresses #656, we have laid out a 3-phase plan to deal with the problem
in a more consistent and sustainable manner.
Signed-off-by: Marcio Silva<EMAIL_ADDRESS>

Barring a small question, i don't see any issue here.
Could you maybe however detail the 3 step plan you had in mind, even if it's been discussed elsewhere? thanks!

Sure, I can give you as much detail as I have, from the Slack channel (spoiler, it is gonna be underwhelming :-) )
Step 1: (ugly hack, alleviates our daily attestation failures): add flushcontext to tpm_init
Step 2: remove passwords from AIK, vacating the need for authentication sessions
Step 3: Ditch tpm2_tools for the tss library
Now, it seems clear to me (and the ones present at the discussion) that Step 3 will require the creation of a new enhancement document.


Health Insights 1.0.0b1

https://github.com/Azure/azure-sdk-for-python/pull/29339

@lmazuel
New name is Health Insights.

As of March 27th:
Java:  PR in review, not merged yet.
Python: PR in review, in progress.
Dotnet:  PR merged.   SDK not released.

Released all in 4/11


DataLog: Log CAN to a file

Blocked by #215
Add another CLI option like --output log.file which saves all (parsed) messages to a file with a timestamp. You can choose which filetype works best. Check out .jsonl as it is very flexible for logging https://jsonlines.org/

See https://github.com/macformula/hil/pull/99

See https://github.com/macformula/hil/pull/99

See https://github.com/macformula/hil/pull/99


AttributeError: 'NoneType' object has no attribute 'split'

Exception happened during processing of request from ('<IP_ADDRESS>', 60999)
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 333, in send_headers
self._write(bytes(self.headers))
File "/usr/local/python3/lib/python3.7/wsgiref/headers.py", line 142, in bytes
return str(self).encode('iso-8859-1')
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 139-140: ordinal not in range(256)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 141, in run
self.handle_error()
File "/root/.virtualenvs/django/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 88, in handle_error
super(ServerHandler, self).handle_error()
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 368, in handle_error
self.finish_response()
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 180, in finish_response
self.write(data)
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 274, in write
self.send_headers()
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 331, in send_headers
if not self.origin_server or self.client_is_modern():
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 344, in client_is_modern
return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'
TypeError: 'NoneType' object is not subscriptable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/socketserver.py", line 647, in process_request_thread
self.finish_request(request, client_address)
File "/usr/local/python3/lib/python3.7/socketserver.py", line 357, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/python3/lib/python3.7/socketserver.py", line 717, in init
self.handle()
File "/root/.virtualenvs/django/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 155, in handle
handler.run(self.server.get_app())
File "/usr/local/python3/lib/python3.7/wsgiref/handlers.py", line 144, in run
self.close()
File "/usr/local/python3/lib/python3.7/wsgiref/simple_server.py", line 35, in close
self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

Can you please share the scrip code for which you are getting this error?

Can you please share the scrip code for which you are getting this error?

Closing due to inactivity, Please open a new issue with more details if you are still facing this issue


refractored commands to use subprocess

Thanks for making a pull request 😁
What exactly does this do?
Seems like it's changing some paths and allowing users to specify implementation path.
If you clean up commented out code  and leave any needed instructions for future 412 students I'll merge it in 🚀🚀
Also trusting that it works bc I don't wanna log into clear to test. Can you double check?
But uh, if you're check out after end of the semester nw lol

I opened the PR to fix the incompatibility with python3 ("ModuleNotFoundError: No module named 'commands'"). The output details are more limited when you use the updated version because I didn't fix every section of the original script, but you can still see if particular test passed or failed.
Still, I cleaned up the comments and I found that you can also use python2 instead of python3 or just python to run it, so I updated the README as well so that people can have both options. Feel free to pick which file(s) to merge:)


YamlCreate v3

Sooo uhh, i did a thing because the previous script missed some features

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

[X] Tested with Powershell 7 AND 5.
[X] Installer manifest works, with multiple installers (cough tiny issue where duplicate nonfilled lines will comment out the line which is filled)
[X] Update manifest works
[X] New Locale works
[X] Validated Version, Installer, DefaultLocale and Locale manifest 👌

Atm i'm done with the important stuff so kinda just looking for help on the tiny bugs and/or a better way to do things...
@jedieaston @palenshus
Microsoft Reviewers: Open in CodeFlow

@jedieaston @palenshus @denelon @KevinLaMS
Can someone review this one? I've been using it for the last week and the only major issue i've had was with the duplicate comment on multiple installers which i finally found a way around 🎉

@OfficialEsco sorry this took so long. We've been debating internally some of the differences between this script and the tool we're building to winget create. Our goal is to review PRs and merge them within a week. Ideally it wouldn't take that long. I was just doing some triage and saw your comment.

No problem, was hoping for feedback on my issue anyways 😝
A proper winget create which works dynamically towards the manifest scheme would be awesome, i just wanted this script to be merged so there was a proper YamlCreate and maybe some ideas for a much better version 😁


Update to notty v0.2.2 upsteam

Before this patch, I'm getting the following compilation error:
File "vendor/notty-0/lwt/notty_lwt.ml", line 68, characters 25-64:
Error: This expression has type (unit -> unit) Lwt.t
       but an expression was expected of type unit Lwt.t
Hint: Did you forget to provide `()' as argument?

Everything seams to compile with the latest netty release.

Fixed in 666c5483bc93efa6d01e0b7a927461269f8e14de.


No Chat Menu

The Expansion chat is not showing up in game.

Fixed. Was an error on the Expansion teams end that has seem to be resolved.


introduce style guide for typo, colors, spacing;

Changes proposed
implements a style guide for future use and uniformity in app styling.
Note to reviewers
Since the project was just started there was nothing much to base future features on, i thought it would help a lot to introduce a style guide that every contrib. can rely on.
I am happy to make any changes to colors, typo etc.
this closes #6

i would also propose
setting up lint rules and prettier rules. maybe you can create an issue for that.

implemented with #7


Background content scrolls even if pop over is open in iOS devices

Bug Report
Ionic Info

Describe the Bug
I am trying to use a classic pop over controller in my ionic 3 app, by default I expect that the background will be frozen when the pop over is visible, but I am still able to scroll through the content. This happens only on iOS devices, while on chrome, safari and android devices the background is frozen.
Steps to Reproduce
Steps to reproduce the behavior:
Please note that I am not using cordova to run my app on the device since my team has decided against it for reasons not known to me, so I run the app using ionic serve and in a xcode project I load the url in a webview. I play the app on my device using xcode or by creating a .ipa file.
Please see the issue isolated into a sample application kept at https://github.com/anjanapai2508/Ionic3DropDownTesting.git
You will find :

Sample ionic 3 app which has only one page, the page content is multiple images which can be scrolled through. It has a menu button at the top which is supposed to open up a drop down window. All of the app works fine. I have styled the backdrop with a color of red just to clearly display that the backdrop appears.
My xcode project : this has a simple view controller which contains a full screen web view and is supposed to load the url served by the node js server which is my ionic app.
A video recording of the bug - you will see that I can scroll through the background images even though my drop down is still there.

Expected Behavior
Expect the background to be frozen until the drop down is closed
Please let me know if you need any more information. Thanks.

It seems you have the same problem that is related here: ionic-team/ionic#6980. If you're not using the WKWebView plugin, I would recommend you to install it. I had the same issue and using WKWebView instead of UIWebView solved it.

@lucashsilva : Thanks for that but we are not using cordova in our app, is there no way to solve this other than using this plugin?

@anjanapai2508 I haven't had success with any other solution :/

I installed the WKWebView plugin, but it didn't fix the issue for me fully. It fixed the scrolling problem for AlertController, but did nothing for ModalController, which is of much higher importance for our application.
The only things I've not tried are solutions from #6980 or https://github.com/Riron/ionic-img-viewer/issues/99 . Highly likely they'll do the trick, but they are hacks so I'd strongly prefer this to work out of the box.


[INLONG-8627][Manager] Add parameters validation for the testConnection method

Prepare a Pull Request

Fixes #8627

Motivation
Enhanced validation of request parameters.
Modifications
Add validation of the parameters of the testConnection method in the Controller.

In the NVD database and other vulnerability databases, this particular pull request has been associated with fixing the CVE-2023-43667.
Affected versions of this package were vulnerable to SQL Injection via the DataNodeController.java and InlongClusterController.java components.
With this fix, it is mentioned that the vulnerability in DataNodeController.java and InlongClusterController.java components has been fixed.
I am having trouble understanding whether this actually resolves the issue, or if there is an issue with the way the PR is associated with the vulnerability databases.
@hnrainll @vernedeng @fuweng11 @liaosunny123 can anyone of you please confirm this?

Apologies, the description of this CVE was somewhat misleading: there was never an SQL Injection problem here, but instead a Log injection problem. This was correctly marked as such in the CVE title (https://www.cve.org/CVERecord?id=CVE-2023-43667), but unfortunately not in the problem type as found in the CWE classification and in the description body. To make matters worse, the NVD ignores the CVE title, making the NVD/GitHub Advisories representation of the advisory even more confusing.
It seems plausible that this indeed resolves the log injection issue. Do you have any reason to think otherwise? If you believe you have found an undisclosed security issue with Inlong, we'd appreciate it if you could share it through our private reporting process, https://apache.org/security/
I have updated the CWE classification and the description of the advisory. Hopefully this will trickle down into the NVD and GitHub Advisories databases with time.


Validate more resources than deployments

As referenced in our roadmap, we want to add support for a variety of additional resources, starting with those that act as parent resources such as pods, including:

StatefulSet
DaemonSet
Job
CronJob
ReplicaSet

What about ReplicaControllers? I know that it is getting replaced by deployments, but it is still very used.

@marcecaro sure thing - I can add that to #166

Implemented in #166


feat(seo): add metadata, description and titles

Changes

added Metadata
change titles depending on sitea and packages
change page description depending on package

works on my fork
https://marianfoo.github.io/ui5-community.github.io/#

We'll have to check on the image & dynamic og meta tags now and then once this is merged (Twitter Web Crawler).

... other than that it LGTM.

Is there no image because it's a svg?

Is there no image because it's a svg?

Oh well, that could very well be ... or rather, is the case. 😅

🎉

Nice 😊


Cookie not set when using the Sveltekit Auth helper and Server-Side forms

Bug report
Describe the bug
I followed the guide under https://supabase.com/docs/guides/getting-started/tutorials/with-sveltekit and was able to login with magic link + login with email/password succesfully, as long as the form submission JS stayed in the component (client side?).
As Sveltekit leverages a server as well, I moved the two login methods I had created, inside a +page.server.ts file and added an action name in my form, as shown in the SvelteKit docs.
<form method="POST" action="?/login-with-password" use:enhance class="max-w-lg mb-4">
 the form..
</form>

export const actions: Actions = {
  'login-with-password': async ({ request }) => {
    const formData = await request.formData();
    const email = formData.get('email');
    const password = formData.get('password');
    console.log(email, password);
    const { error } = await supabaseClient.auth.signInWithPassword({ email, password });
    if (error) {
      return {
        status: 500,
        body: {
          error: error.message
        }
      };
    }
    throw redirect(302, '/');
    return { success: true };
  }
}

Confirming with the logs, the authentication happens succesfully on the supabase side, but the Cookie with the Token is not set in my app.
My initial assumption was that the @supabase/auth-helpers-sveltekit takes care of that:
https://github.com/supabase/auth-helpers/blob/b2046950dd846f6f52f17482caccd25a2f393581/packages/sveltekit/src/createClient.ts#L11
I assume that in order for this to work, I need to somehow follow the Server Side Rendering guide? (the magic link works I guess as it provides for the redirect for me so the cookie is created succesfully)
Is the redirect logic missing on my end or is the auth helper having a bug?
To Reproduce
I've added my project to stackblitz (naturally it won't run as it'll be missing my project/auth credentials and schemas/tables..) but at least someone could verify if the setup for the auth helper library is done as it should.

@silentworks especially when following the quickstart ( https://supabase.com/docs/guides/getting-started/tutorials/with-sveltekit ) , at least myself , I was under the impression that :

the above imports the 'correct' client for both server/client side.
I'm willing to make a new PR in the docs if that helps as while looking around for this I saw quite some confusion :)
That would look a bit like:

Be advised that for every server side request to supabase, one should import the getSupabase function while for client side requests you'll need the createClient. Ensure you are importing these from @supabase/auth-helpers-sveltekit and not from the generic js SDK library.

WDYT?

Be advised that for every server side request to supabase, one should import the getSupabase function while for client side requests you'll need the createClient. Ensure you are importing these from @supabase/auth-helpers-sveltekit and not from the generic js SDK library.

This advice would be incorrect as you would not be creating a client other than the one you created in db.ts in the quickstart guide. Currently we are working to change how this work which should simplify a lot of this and remove a lot of confusion.


docs

looks like a typo in the readme… I needed to do:

npmignore -i "test/fixtures"

because when I just ran

npmignore "test/fixtures"

… the parameter was ignored.
https://github.com/jonschlinkert/npmignore/commit/a1b52f238b45bdfa3fa9eebf197741d62c7140db

Sorry, this was an old PR against myself.


Is thread safe ?

Is thread safe ?
can it use in multi threads ?

You'll need to provide a lock using log_set_lock() if you'll be calling the library's functions from multiple threads.

Can you give an example to setting lock using log_set_lock() function?

Here's an example using a mutex provided by the SDL2 library:
#include <SDL2/SDL.h>
#include "log.h"

static void lock_callback(void *udata, int lock) {
  if (lock) {
    SDL_LockMutex(udata);
  } else {
    SDL_UnlockMutex(udata);
  }
}

int main(void) {
  SDL_mutex *mutex = SDL_CreateMutex();

  log_set_udata(mutex);
  log_set_lock(lock_callback);

  log_trace("hello world");

  SDL_DestroyMutex(mutex);
  return EXIT_SUCCESS;
}


Cleanup and sort out integration tests

@bobmcwhirter feel free to fix any of the tests i've had to mark @Ignore before I'm back


filterBy's IN searches all fields all the time (beta-5)

So I have an object inside of another object in my data:
    data: {
        employees: [
            { name: 'John', age: 50, company: { name: 'Paul Ice'} },
            { name: 'Paul', age: 34, company: { name: 'John Deere'} }
        ]
    }

Trying to filter by only the employee name, but not the company name. It doesn't work. It seems like the entire array is searched.
JS Fiddle:
https://jsfiddle.net/ousthgdp/2/

Searching for 'Paul' should only show 'Paul', not 'Paul' & 'John'
Searching for an age shouldn't return anyone

Am I doing something wrong or is this a bug?

You need to wrap name with quotes, otherwise Vue will look up for data property of vm. So, instead of filterBy searchText in name you need to write filterBy searchText in 'name'.

Thank you! I didn't realize I had to pass it in as a literal string, I thought I was in the employee scope. :)


Run 1: Turn on centroid file outputs

So we can compare photon counts that PhoSim shoots, with DM forced source fluxes.

As Simon pointed out later, this is enabled in the physics override file and, indeed, is already enabled.
On 02/25/2016 11:41 AM, Phil Marshall wrote:

So we can compare photon counts that PhoSim shoots, with DM forced source fluxes.
—
Reply to this email directly or view it on GitHub https://github.com/DarkEnergyScienceCollaboration/Twinkles/issues/138.

Splendid!


zero-3 cpuadam is so slow

training setup is like

cuda 12.1 / torch 2.5 / deepspeed 0.14.5
4 node (a100-80gb)
qwen72b
zero-3
offload optims
offload params
approximately 8192 batch tokens as inputs

you can see cpuadam.step() is very slow and it causes very low MFU.
whereas, when i test the model with zero-3 without offload, it took only 90ms (i know for sure GPU implementation is way faster but...).
i wonder if it's acceptable values for current deepspeed or my skill issue first,
and current cpuadam is fused or not.
and if it's not fused with backward, i want to ask is there any plan for fused cpuadam.

@SeunghyunSEO, we have a related plan to improve offloading performance #6778.
For your scenario, can you please provide actual latency of GPU and CPUAdam optimizer? You can enable wall_clock_breakdown: in your config and share the corresponding log printouts.

hi, @tjruwase thx for the reply.
it's screenshot for 4node experiments w/ and w/o offloading

@SeunghyunSEO, thanks for sharing the latencies. The step time of no-offload vs offload is ~0.2s vs ~10s. i.e., ~50X difference. I agree this is too high. Can you please share the 1-node or 2-node offloading results as well. This will help to see if there is any scaling of CPUAdam?


[Snyk] Security upgrade alpine from 3.14.6 to 3.18.6

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

integrations/argocd/Dockerfile

We recommend upgrading to alpine:3.18.6, as this image has only 0 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

614
Use After Free SNYK-ALPINE314-OPENSSL-3314637
No Known Exploit

614
Access of Resource Using Incompatible Type ('Type Confusion') SNYK-ALPINE314-OPENSSL-3314646
No Known Exploit

614
Double Free SNYK-ALPINE314-OPENSSL-3314653
No Known Exploit

614
Improper Certificate Validation SNYK-ALPINE314-OPENSSL-3368739
No Known Exploit

714
Out-of-bounds Write SNYK-ALPINE314-ZLIB-2976174
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Use After Free
🦉 Access of Resource Using Incompatible Type ('Type Confusion')

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

Comparison is base (3bf466d) 78.50% compared to head (e03960f) 78.50%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@           Coverage Diff           @@
##           master    #1664   +/-   ##
=======================================
  Coverage   78.50%   78.50%
=======================================
  Files         281      281
  Lines        7973     7973
=======================================
  Hits         6259     6259
  Misses       1338     1338
  Partials      376      376


Make copy_param support scalar parameters

Current copy_param does not support scalar parameters due to use of [:]. This PR fixes the issue by switching to [...].

I tried to restart the Travis build after #411 is merged, but it was not tested with Python 3.6.  Could you merge master?

Now tested with Python 3.6.


Added Dubai College for issue #159

See https://github.com/leereilly/swot/issues/159

Duplicate: https://github.com/leereilly/swot/blob/master/lib/domains/org/dubaicollege.txt


I can't find how to use connection plugins, is there any way to do this?

Something like -c saltstack
https://docs.ansible.com/ansible/latest/plugins/connection/saltstack.html

so.. no hope about this?


Feat/docs

improve documentation

Codecov Report

Merging #9 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #9   +/-   ##
=======================================
  Coverage   52.23%   52.23%
=======================================
  Files          10       10
  Lines        1233     1233
=======================================
  Hits          644      644
  Misses        589      589

Impacted Files
Coverage Δ

casingSimulations/model.py
68.6% <ø> (ø)
:arrow_up:

casingSimulations/mesh.py
83.17% <ø> (ø)
:arrow_up:

casingSimulations/sources.py
64.3% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Proposal: Explicit inclusion rewriting

I propose adding a special flag for syclcc which controls whether an include path should be rewritten or not. Here’s why:
First of all I suspect that for many smaller SYCL applications, all kernel code will be situated within implementation files anyway, so the entire rewrite pass could be omitted, improving compilation speeds.
More importantly though, inlining of headers can sometimes cause compilation errors. As an example, the following program does not compile with syclcc (using nvcc, as of Boost 1.68):
#include <boost/optional.hpp>

int main() {
    boost::optional<int> foo, bar;
    foo = bar;
    return 0;
}

If I prevent the inclusion rewriter from inlining Boost (by adding a condition within RewriteSelector::shouldIncludeBeRewritten), everything works fine. I can’t tell you the exact reason, as Boost is huge and contains a metric ton of workarounds for various compilers (I really don’t envy those guys!), however, to me this looks like a case of compiler detection which causes the compilation to take different branches during the inclusion rewriting and the compilation with nvcc. I actually have no idea how they do it, I tried to create a small test case to replicate this and couldn’t come up with one. Nevertheless, it apparently does happen.
Moreover, all of the weird egde-cases I’ve encountered with pruning were within libraries that don’t contain any device code at all. Omitting them from the rewrite pass would also alleviate those problems.
Lastly, this could generally improve compilation performance, as we would have less text to dump back to disk.

So, instead of rewriting everything but hipSYCL and system libraries, I propose that headers which should be rewritten be made explicit through some flag for syclcc, e.g. -IR or --rewrite-includes-path=. I suspect that in many cases the rewrite step would only concern local includes (e.g. -IR./include) or could even be omitted entirely. Also maintaining a list of system library headers to exclude wouldn’t be required anymore either.

Implemented in PR #33.


Full width mj-image inside a column

<mj-column width="50%"><mj-image src="placeholder.jpg" /></mj-column>
Renders a td with width 300px (half of the container width). Is it possible to have an output of width 50%? The reason I'm asking this is because I want full width images at the mobile breakpoint instead of only 300px wide. I tried to fix this by doing the following:
<mj-image width="100%" src="placeholder.jpg" />
But that renders an image with width 100px instead of 100%.

Hi @thomiduvigneau
This is something we're working to improve on MJML4. mj-image doesn't support percentage based unit, so that's why you're having a weird result. Making full-width mobile image while keeping a fixed width on desktop without a media query is quite paintful ( because of our beloved Outlook desktop ).
I'm closing this issue because there's already a similar issue open, and we'll update there #263 !


BUG: Translation files cannot be found

So, I have recently upgraded my astro packages (that were working fine before) including astro-i18next...
I moved the locales from src/locales/en.json ... to public folder as stated in gest started guide:
but when running dev, I get this error:

Suspect it has something to do with the "/" in front of C:\
The file is 100% there... I tried of course opening this same file with a simple node script and is working completely fine

my config file (astro-i18next.onfig .ts)
import type { AstroI18nextConfig } from "astro-i18next";

const config: AstroI18nextConfig = {
  defaultLocale: "en",
  locales: ["en", "es"],

  i18nextServer: {
    debug: true,
  },
  i18nextClient: {
    debug: true,
  },
};

export default config;

my node test script
import fs from "fs";

fs.readFile(
  "C:/DEVELOPMENT/xxxxx/public/locales/en/translation.json",
  "utf8",
  (err, data) => {
    if (err) {
      console.error(err);
      return;
    }
    console.log(data);
  }
);

So after playing around for a while, I found the solution... maybe this should be somewhere in your examples
O cjanged my plain config to include:
i18nextServer: {
    debug: true,
    initImmediate: false,
    backend: {
      loadPath: "./public/locales/{{lng}}/translation.json",
    },
  },
  i18nextClient: {
    debug: true,
    initImmediate: false,
    backend: {
      loadPath: "./public/locales/{{lng}}/translation.json",
    },
  },

Hey @demiro, thanks for the issue. As you mentioned, it's because of the leading / on Windows.
This is a duplicate of https://github.com/yassinedoghri/astro-i18next/issues/79, so I'm closing it.


Match cannot find certificate in new server.

New Issue Checklist

[ ] Updated fastlane to the latest version
[ ] I have read the Contribution Guidelines

Issue Description
I brand app by using match in a server.
match 0.8.0
When I switch to other server. It shows the error: (match 0.6.3)
Complete output when running fastlane, including the stack trace and command used
[17:17:18]: Variable Dump:
[17:17:18]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios appstore_match", :XCODEBUILD_DERIVED_DATA_PATH=>nil}
[17:17:18]: Could not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide.If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Matchfile:
type "appstore" # The default type, can be: appstore, adhoc or development
force_for_new_devices "true"
team_name ENV["TEAM_NAME"]
username ENV["FASTLANE_USER"]
app_identifier ENV["BUNDLE_IDENTIFIER"]
skip_docs "true"
git_branch ENV["MATCH_GIT_BRANCH"]
# readonly "true"

Environment
fastlane version (run fastlane -v): 1.102
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?

@biolinh Thanks for reaching out. Great to hear from you again 👍 Can you share your full input and output? As well as a sanitized version of your matchfile? Thanks!

in fastlane:
desc "Deploy a new version to the App Store"
  lane :appstore_match do
       sh "pod update"
    match(type: "appstore")
    increment_build_number(build_number: ENV["BUILD_NUMBER"])
    unlock_keychain(path: "login.keychain", password: ENV["KEYCHAIN_PASSWORD"])
    gym(scheme: "360" )# Build your app
    deliver(force: true, username: ENV["FASTLANE_USER"], app_identifier: ENV["BUNDLE_IDENTIFIER"] )

  end
```

Matchfile
```
git_url "URL_repo.git"

type "appstore" # The default type, can be: appstore, adhoc or development
force_for_new_devices "true"
team_name ENV["TEAM_NAME"]
username ENV["FASTLANE_USER"]
app_identifier ENV["BUNDLE_IDENTIFIER"]
skip_docs "true"
git_branch ENV["MATCH_GIT_BRANCH"]
# readonly "true"
```

Output
```

[17:17:18]: �[33m�[33mVariable Dump:�[0m�[0m
[17:17:18]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios appstore_match", :XCODEBUILD_DERIVED_DATA_PATH=>nil}
[17:17:18]: �[31mCould not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide.If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert�[0m

```

@biolinh Can you share the full output? Also did it work previously on this project? Have you run match development yet for this project? Thanks!

@TKBurner
First of all, I haven't run match development before because we only use app-store.
Secondary, when I on run match appstore in command line, It shows that our cert is not available on the Developer Portal although it still in our Developer Portal
match appstore
Ignoring json-2.0.2 because its extensions are not built.  Try: gem pristine json --version 2.0.2
Ignoring bigdecimal-1.2.7 because its extensions are not built.  Try: gem pristine bigdecimal --version 1.2.7
Ignoring io-console-0.4.6 because its extensions are not built.  Try: gem pristine io-console --version 0.4.6
Ignoring json-1.8.3 because its extensions are not built.  Try: gem pristine json --version 1.8.3
Ignoring libxml-ruby-2.9.0 because its extensions are not built.  Try: gem pristine libxml-ruby --version 2.9.0
Ignoring nokogiri-1.6.8 because its extensions are not built.  Try: gem pristine nokogiri --version 1.6.8
Ignoring psych-2.1.0 because its extensions are not built.  Try: gem pristine psych --version 2.1.0
Ignoring sqlite3-1.3.11 because its extensions are not built.  Try: gem pristine sqlite3 --version 1.3.11

+-----------------------+----------------+
|        Summary for match 0.6.3         |
+-----------------------+----------------+
| type                  | appstore       |
| git_branch            | master         |
| keychain_name         | login.keychain |
| readonly              | false          |
| verbose               | false          |
| force                 | false          |
| shallow_clone         | false          |
| force_for_new_devices | false          |
| skip_docs             | false          |
+-----------------------+----------------+

[10:49:41]: To not be asked about this value, you can specify it using 'git_url'
URL to the git repo containing all the certificates<EMAIL_ADDRESS>[10:49:48]: Cloning remote git repo...
[10:49:50]: 🔓  Successfully decrypted certificates repo
[10:49:50]: To not be asked about this value, you can specify it using 'username'
Your Apple ID Username<EMAIL_ADDRESS>[10:49:59]: Verifying that the certificate and profile are still valid on the Dev Portal...
Multiple teams found on the Developer Portal, please enter the number of the team you want to use:
1) b.v." (Company/Organization)
2) "" (Company/Organization)
3)  BV" (Company/Organization)
4) " (Company/Organization)
5) ." (Company/Organization)
6) " (Company/Organization)
7) ." (Company/Organization)
8) ." (Company/Organization)
9) " (Company/Organization)
1
[10:50:06]: To not be asked about this value, you can specify it using 'app_identifier'
The bundle identifier of your app: com.abc.xyz
[10:50:15]: Installing certificate...
[10:50:24]: Certificate 'XHFU53CV8A' (stored in your git repo) is not available on the Developer Portal
[10:50:24]: for the user<EMAIL_ADDRESS>[10:50:24]: Make sure to use the same user and team every time you run 'match' for this
[10:50:24]: Git repository. This might be caused by revoking the certificate on the Dev Portal
[10:50:24]: 🔒  Successfully encrypted certificates repo

[!] To reset the certificates of your Apple account, you can use the `match nuke` feature, more information on https://github.com/fastlane/fastlane/tree/master/match

#######################################################################
# match 0.8.1 is available.
# It is recommended to use the latest version.
# Update using 'sudo gem update match'.
#######################################################################

0.8.1 Improvements
* Fix Keychain handling on macOS Sierra (#6389)
* Don’t hang when git credentials are not there
* Add error message to make it more clear enterprise profiles are not supported (#6328)

0.8.0 Updated for new API
- Update _match_ to lazy load certificates and devices to fix performance issues with the new API 🚀
- Update _match_ to work with the latest release of _sigh_

0.7.0 Improved Xcode 8 Support
* Add environment variable exposure of development ID and profile name (#6189) Check out https://docs.fastlane.tools/codesigning/XcodeProject/ for more information
* Update internal dependencies (#6104)

To see all new releases, open https://github.com/fastlane/match/releases

Update using 'sudo gem update match'
j

@biolinh Hope you are doing well! Can you let me know if the account<EMAIL_ADDRESS>is associated correctly in the developer portal? You might be using different email addresses for iTC and developer portal. Thanks!

@TKBurner: thank you for keep track it. the account<EMAIL_ADDRESS>is associated correctly in the developer portal.

@biolinh Thanks for following up. Can you run fastlane run update_fastlane and then share your new output of the error? Thanks!


Making a queue private does not remove it from benchmarks

See #1012

Make a queue public
Another user add the queue to its benchmark as the queue is public
Make the queue private
The queue should be back to default in the benchmark

Tracking in #1062


feat: add verifiable protocol mobile wrappers

Signed-off-by: Tomisin Jenrola<EMAIL_ADDRESS>Title:
Added mobile binding wrappers for the Verifiable protocol
Description:
Part of https://github.com/hyperledger/aries-framework-go/issues/1958
Part of https://github.com/hyperledger/aries-framework-go/issues/2005
Summary:

Added Verifiable controller interface with local and remote agent implementations
Added some documentation for Introduce, Verifiable and terminologies
Update code snippet in README
Added config options wrapper for Aries framework Option
Other minor changes and cleanups

@ToJen note verifiable isn't a "protocol"


bindPopup not working with GeoJSON multipolygon

Leaflet v 1.0.3
bindPopup() doesn't appear to be working properly with GeoJSON.  In my particular case, my GeoJSON is a Multipolygon, but I'm not sure that makes a difference.
Here's my code:
regionsGeojson = L.geoJson(geojsonObj, {
          onEachFeature: function(feature,layer) {
            layer.bindPopup(feature.properties.region_name);
          },
          style: {
            color: '#000096',
            weight: 1,
          }
        })
        .addTo(map)
          .on('load', function () {
          map.fitBounds(regionsGeojson.getBounds());
 });

In the browser console, I can see the popup is getting properly generated, but when I move the mouse over the feature and click nothing happens.
When I revert to 0.7.5 the popup works as expected.

Hi,
I tried reproducing this with your code, and it seems to work as expected: http://playground-leaflet.rhcloud.com/woku/edit?html,output
Please provide an example reproducing the problem you're seeing if you believe this is a problem with Leaflet, and I'll re-open.


GetForegroundDrawList and GetBackgroundDrawList not exposed (upgrade Dear Imgui to 1.69)

These were recently exposed in Dear Imgui (https://github.com/ocornut/imgui/issues/2391, https://github.com/ocornut/imgui/releases) and are very useful - would be nice to have exposed in imgui-rs.
I guess this is a result of this being based on 1.66b while Dear Imgui is now at 1.69 (and so is cimgui).

FYI it looks like imgui-rs has been upgraded to 1.69 on the 0.1-dev branch (https://github.com/Gekkio/imgui-rs/commit/a79cd06cb2a4aee02b7a55c9a39553e0811b6f10)! The two draw list methods don't look like they've been exposed, but shouldn't be super difficult to do.

Made much more progress with #242

Any update on this? :)

I personally haven't touched it in a while, but I think if we can resolve the outstanding issues on #242, we can get Gekkio to review.

This can probably be closed, these functions were added in #414!

Thank you for the common! Going to close as we've now gotten it in


Support GCP Regional Secrets

Is your feature request related to a problem? Please describe.
I'm trying to leverage external-secrets to read regional secrets in GCP but cannot make it work.
Here's my setup:
Helm (plain external-secrets install):
    repoURL: https://charts.external-secrets.io
    targetRevision: v0.10.5
    chart: external-secrets

ClusterSecretStore:
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
  name: gcp-store
  namespace: external-secrets
spec:
  provider:
    gcpsm:
      projectID: xxxxx
      location: xxxxx

ExternalSecret
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: xxxxx
spec:
  refreshInterval: 1h
  secretStoreRef:
    kind: ClusterSecretStore
    name: gcp-store
  target:
    name: xxxxx
    creationPolicy: Owner
  data:
    - secretKey: xxxxx
      remoteRef:
        key: xxxxx

Error message:
"msg":"could not get secret data from provider","ExternalSecret":{"name":"xxxxx","namespace":"xxxxx"},"error":"error retrieving secret at .data[0], key: xxxxx, err: unable to access Secret from SecretManager Client: Secret does not exist",

As soon as I create that secret as a global secret it works. Am I missing something here or is this not supported?
Describe the solution you'd like
I would like for external-secrets to pull regional secrets from GCP. This can be either automatically or by passing an option to the external-secrets objects.

Please see https://github.com/external-secrets/external-secrets/pull/4210 as I believe this has now been implemented.


Completion filtering fixes

Testing with python language server, starting with
view|

and typing .settings() quickly, resulted in several completion requests, and the results shown when irrelevant:

This sequence should result in only 1 completion request of which the results are never shown.
This PR

prevents showing completion results after crossing a word boundary (https://github.com/tomv564/LSP/commit/54c93d2067e02db7b6706c701c278e8a4660f545),
prevents discarding requests (going to CANCELLING) when is_same_completion (https://github.com/tomv564/LSP/commit/173ea358dc8403a6345963d7831d0d3177699b0c)
makes is_same_completion return True when going from . to .s  by undoing the fix for #745 (https://github.com/tomv564/LSP/commit/861b7e5dc3e838409430818b13323f6485e8c008)

Also fixes a related issue where pressing tab would dump a huge chunk of document in the console from the inadvertently triggered on_completion_inserted logic via insert_best_completion (https://github.com/tomv564/LSP/commit/d06e6cd291a278d27d50dfad27abb7dc1fbaa358)

Coverage decreased (-0.05%) to 38.485% when pulling 861b7e5dc3e838409430818b13323f6485e8c008 on completion-filtering-fixes into 9f44f55c7396da7830fcbc0bf224d89ccf888300 on master.


Location Layer Proguard Rules

When I try to build an APK with proguard enabled, the build fails with the following errors:
Warning: com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerOptions: can't find referenced class com.google.auto.value.AutoValue
Warning: com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerOptions$Builder: can't find referenced class com.google.auto.value.AutoValue$Builder
Warning: com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerOptions$Builder: can't find referenced class com.google.auto.value.AutoValue
Warning: com.mapbox.mapboxsdk.plugins.locationlayer.LocationLayerOptions$Builder: can't find referenced class com.google.auto.value.AutoValue$Builder
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.OpenSSLProvider
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.OpenSSLProvider
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt
Warning: okhttp3.internal.platform.ConscryptPlatform: can't find referenced class org.conscrypt.Conscrypt

The plugin doesn't look like it's including any Proguard rules, I'm guessing those would be helpful.
I'm using version 0.4.0.

I added this in my proguard rules:
-dontwarn com.mapbox.mapboxsdk.plugins.locationlayer.**
-dontwarn okhttp3.internal.platform.ConscryptPlatform.**

Builds are building now.


alternative term definition

From<EMAIL_ADDRESS>on November 02, 2009 13:15:49
update definition to reflect that alternative terms are not always exact
synonyms (as per vote on obi call)
MC: I am not very happy about that: adding "concluc\sion" as alternative
term of "conclusion textual entity" will in my opinion lead to users'
confusion. Maybe we should consider adding an exact synonym annotation.
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=67

From<EMAIL_ADDRESS>on November 04, 2009 11:46:58
decided to not review this policy, alt term have been removed. we will work on adding
proper classes for conclusion and hypothesis.
Status: WontFix


Ability for requiredFieldsMissingFromReadOneInput to take multiple/different fields

Is your feature request related to a problem?
requiredFieldsMissingFromReadOneInput currently takes a required field that is set by default. This is an issue because some resources may have different required fields.
ex: For the SageMaker resource ModelPackage. There are versioned modelPackage and unversioned modelPackage, they both have a different required field being ModelPackageGroupName and ModelPackageName. requiredFieldsMissingFromReadOneInput will check for ModelPackageName and will infinitely recreate since it will never find the required field when a user attempts to make a versioned modelPackage which does not contain a ModelPackageName.
Describe the solution you'd like
Add new field to the generator.yaml file that will allow for fields to be specified to requiredFieldsMissingFromReadOneInput. Will need to change checkRequiredFieldsMissingFromShape to support this and add new format of type x == nil && y == nil.
Describe alternatives you've considered
Open to alternatives.

IIRC - to solve this problem - we agreed that we need to implement something similar to:
resources:
  ModelPackage:
    required_fields:
       oneOf:
         - ModelPackageGroupName
         - ModelPackageName

And eventually we can implement other options like AllOf and anyOf

And eventually we can implement other options like AllOf and anyOf

Is anyOf the same as oneOf?

IIRC - to solve this problem - we agreed that we need to implement something similar to:
resources:
  ModelPackage:
    required_fields:
       oneOf:
         - ModelPackageGroupName
         - ModelPackageName

@A-Hilaly I don't see how the above would actually allow code to be generated that solve the problem that @ryansteakley is describing.
What Ryan is describing is that the controller needs to know whether the ModelPackage is "versioned" in order to determine which field in the DescribeModelPackagesInput shape needs to be filled in. I don't think this is something we should add to the code generator other than allowing a hook point for controllers to override the checkRequiredFieldsMissingFromShape implementation for a specific resource.
The fact is that the SageMaker API has some straight-up awkward semantics that make a declarative model of its resources virtually impossible. We're going to have to rely on custom code in these cases I'm afraid. It's not something that I believe is going to be possible to introspect from the information we have in the api model JSON files.

@ryansteakley Can you change the issue summary and feature request to describe adding a new hook point for custom code for generating the checkRequiredFieldsMissingFromShape implementation please?

Is anyOf the same as oneOf?

anyOf is one or more fields. oneOf is exactly one field

@A-Hilaly I don't see how the above would actually allow code to be generated that solve the problem that @ryansteakley is describing.

@jaypipes my understanding from what ryan is describing, is that controllers need to make sure (validate) that we have at least one of the required fields, which in this case can be either ModelPackageGroupName or ModelPackageName. And currently for ModelPackage resource, the generated requiredFieldsMissingFromReadOneInput only verifies that ModelPackageName is present and doesn't check ModelPackageGoupName.

What Ryan is describing is that the controller needs to know whether the ModelPackage is "versioned" in order to determine which field in the DescribeModelPackagesInput shape needs to be filled in. I don't think this is something we should add to the code generator other than allowing a hook point for controllers to override the checkRequiredFieldsMissingFromShape implementation for a specific resource.

I think that the logic of determining which field in the DescribeModelPackagesInput shape needs to be filled in, should Go inside skdFind code and not requiredFieldsMissingFromReadOneInput. And i'm not sure if how this can be done since DescribeModelPackageInput only have one field:
// from https://raw.githubusercontent.com/aws/aws-sdk-go/main/service/sagemaker/api.go
type DescribeModelPackageInput struct {
	_ struct{} `type:"structure"`

	// The name or Amazon Resource Name (ARN) of the model package to describe.
	//
	// When you specify a name, the name must have 1 to 63 characters. Valid characters
	// are a-z, A-Z, 0-9, and - (hyphen).
	//
	// ModelPackageName is a required field
	ModelPackageName *string `min:"1" type:"string" required:"true"`
}

The fact is that the SageMaker API has some straight-up awkward semantics that make a declarative model of its resources virtually impossible. We're going to have to rely on custom code in these cases I'm afraid. It's not something that I believe is going to be possible to introspect from the information we have in the api model JSON files.

I agree with the idea of having webhooks for complicated and wierd cases. I also think that having options like oneOf, anyOf and allOf to tune the behaviour of generated requiredFieldsMissingFromReadOneInput can be useful for sagemaker and other controllers


Design: Script implementation in Rust

We should have a design document for this.

This is a fragment but I think a nice way to do zero-copy script parsing and execution is to create an Op enum whose variants correspond to script operations (note: this correspondence does not need to be exact, see below), and implement parsing as an iterator of Ops.  These ops can then be fed into something that executes the script.
Having zero-copy script parsing and execution would be nice because instead of special-casing P2SH or P2PK scripts with a fast path, we could just execute all scripts quickly.
Some scratch work: if we have
struct Script(Vec<u8>);

enum Op { /* ... */ }

then we could have
struct ScriptIterator<'s>(&'s [u8]);
impl<'s> Iterator for ScriptIterator<'s> {
    type Item = Op;
    fn next(&mut self) -> Op {
        if let Some(opcode, mut rest) = self.0.split_first() {
            let op = match opcode {
                 // do stuff, potentially splitting more data out of `rest`
            }
            self.0 = rest;
            Some(op)
        } else {
            None
        }
   }
}

impl Script {
    fn ops(&'s self) -> ScriptIterator<'s> {
        ScriptIterator(&self.0[..])
    }
}

Here the ScriptIterator uses the slice to keep track of where it is in the encoded script data, and the 's lifetime bound binds the lifetime of the ScriptIterator to the parent Script (the iterator cannot outlive the data it refers to). Calls to next() can be inlined, so that each Op is generated right where it will be used for execution and kept on the stack or in registers.
This isn't quite right, though, because some operations (like pushdata) refer to bundled data, and it would be good to avoid copying that data, too.  But this can be fixed up by adding a lifetime bound to the Op enum:
enum Op<'s> {
    PushData(&'s [u8]),
    // ...
}

impl<'s> Iterator for ScriptIterator<'s> {
    type Item = Op<'s>;
    fn next(&mut self) -> Op<'s> {
        // now subslices of self.0 can be included in the returned Op
    }
}

Notice that even though Bitcoin Script has three pushdata opcodes (OP_PUSHDATA1, OP_PUSHDATA2, OP_PUSHDATA4), it's not necessary to have three separate Op variants, since the slice used to track the data to be pushed already includes the length.  Similarly, it's not necessary to have separate variants for OP_2-OP_16, since these can all be represented by a single variant holding the integer.
This is a nice start but it doesn't handle branching control flow.

Closing as we are using zcash_script for now


python310Packages.thermobeacon-ble: 0.3.1 -> 0.3.2

Description of changes
https://github.com/Bluetooth-Devices/thermobeacon-ble/releases/tag/v0.3.2

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 192028 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.thermobeacon
python310Packages.thermobeacon-ble
python39Packages.thermobeacon-ble


[feature suggestion] Cowtransfer

Hi Vitor,
Many thanks for this well-made (and well-maintained) workhorse of a workflow!
I wonder if you might consider including Cowtransfer as another viable file sharing option? Apologies for not being more helpful but I scouted this https://github.com/kitUIN/CowtransferAPI which might help? Cheers!
Have a lovely one.

Many thanks for this well-made (and well-maintained) workhorse of a workflow!

Thank you for the comment. But next time, please don’t skip the issue template. It’s there so I don’t have to guess which Workflow you’re referring to.

I scouted this

Good job with finding that GitHub page, but I won’t add this service. That package isn’t official and relies on trickery to make the upload, to the point it’s three time larger than UploadFile. In other words, it’s not a stable solution and will break when the service changes.

Have a lovely one.

Thank you. You too.

Dear sender,
Subject: Change of Email Domain
Starting from Friday, 3 January 2020, my personal email domain will gradually move to czhang.uk (from vpchris.com). Please save my new email address (same @.*** (e.g., @.***), and remove the current one from your system to avoid future disappointment.

Nevertheless this email has been forwarded, rest assured that you do not need to resend your message.
Gracias.

C.

@kzssc You sent an automated response regarding a domain change. I have deleted it because I imagine you don’t want that public everywhere to avoid spam. Perhaps consider exempting GitHub domains from it?


Get the distance between two points using google maps

Is there a built in angular way to calculate distance eg
var latitude1 = 39.46;
var longitude1 = -0.36;
var latitude2 = 40.40;
var longitude2 = -3.68;
var distance = google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(latitude1, longitude1), new google.maps.LatLng(latitude2, longitude2));

What does this have to do with Angular? You've just specified how it should be done. What kind of function do you expect?


navigation on latest visible item

Hi,
I've an issue on Firefox 29 and Chromium 34 (I don't know on others versions) when I navigate using the keyboard (down key) or hover with the mouse to the latest VISIBLE element on the list. The scrollbar is down to makes appear the full height of the element (simple text), but it is not like on the upper behavior (hover first visible element). Its only a minor view issue.

Closing this off due to a lack of activity.
If this is still an issue in the upcoming 4.0 release, feel free to reply back and we can determine if this needs to be reopened.


Enable protected branch for master and use local branches for submitting changes instead of forking

It appears that creating forks to apply changes to master is the method that is used.  I recommend users creating branches instead to make changes.  Thoughts?

I think that's a great idea! @oculartechie

We'll be closing this issue as the topic is now being addressed at the organisation level (canada-ca) to ensure that no repository is deleted or modified by mistake.
Team members will have read access by default and team leads write access to their repositories. Individual rights may be granted by projects team leaders to specific contributors.
Anyone who wants to contribute directly to the contents will be encouraged to submit a pull request from their forked repository.
Other contributions can be done via issues or email.
Thanks!

@gcharest did you enable "Require status checks to pass before merging"? https://help.github.com/articles/enabling-required-status-checks/

Not on purpose if it's the case. I thought you had disabled it?

This doesn't look like it was full enabled because I noticed that there have been direct pushes to master today. I think you just turned on the branch protect that prevents force pushing master. The build has also been broken again

I had it setup fully protected but found that the workflow was too restrictive at the moment. I need to wrap my head around this properly before
Let's setup a quick chat together to go over this if you don't mind.

Glad to see you making this change and getting more comfortable with the workflow.  Let me know if I can help.
Unrelated question. When are the tools workgroup meetings?

Thanks @oculartechie! Will definitely have to reach out.

@oculartechie My apologies! Didn't see your question about the Tools working group.
They are meeting every months regularly and a bit more often when working on specific topics.
Send me an email and I'll add you to the distribution list<EMAIL_ADDRESS>

Just to note that the master branch has been secured (admins still have access to push directly to the branch which we'll discuss offline.)
Thanks!


Add support for custom hostname

Description
See FlowFuse/flowfuse#324
Requested By

prep for furture

Can you add a sizing for this please @ppawlowski?

As far as I remember the only infrastructure-related stuff which needs to be created is a load balancer, which is controlled by the dedicated ingress controller. I do not recall creating any other infrastructure-related resources which will require adjustments to our terraform modules.
@hardillb am I missing sommeting?

The only other change I can think of was adding a DNS entry for the new load balancer to make the customer target easier (and if the loadblancer changed)

Just checked in with Piotr, should be closed this week


Update project

Add some lines in readme (requirements and usage example).
Add requirements.txt

Thanks for updating the readme and creating the requirements file.


Add colorization to the menu button if the tile has !PU(menu):

The thought here is to make the buttons stand out if the tile has !PU(menu):. This way the user of the dashboard can easily tell if the tile has drilldown links associated with it. Maybe just add it as an option in the !PU(menu): syntax.

Added .powerupMenuIcon css class. Pushed to GH, ChromeStore 1.58.


optimization verify running

We may employ a defer statement to halt the ticker and close the quit channel upon the function's completion. In instances where the function returns directly through <-tctx.Done() and err == nil && status.GetState() == runtime.PodSandboxState_SANDBOX_READY, respectively, it would be more efficient to simply return from the function, instead of closing the quit channel and returning.

/retest

This changes what the function does entirely.
Before the outer function would not actually wait for the pod status and now it does.
Granted the code before the change was largely useless since it's just spinning on checking the status and effectively does nothing with it.

This changes what the function does entirely. Before the outer function would not actually wait for the pod status and now it does. Granted the code before the change was largely useless since it's just spinning on checking the status and effectively does nothing with it.

This code may never be accessible
https://github.com/containerd/containerd/blob/495e1a5ebb273c78c6972f5a2233db8ecc9ede1e/cmd/containerd-stress/cri_worker.go#L131-L134


Highlight the matches

Would it be possible to highlight the matches like with CtrlP or FZF?

Would it be possible to highlight the matches like with CtrlP or FZF?

Yes, we would need to use matchfuzzypos() instead of matchfuzzy().  That's what I do here.

I will try to send a PR.  I briefly tried to implement the feature, but stumbled on a Vim bug which causes a crash.  Once it's fixed in Vim, I will try again.

This patch seems to work, but sometimes, the highlighting is lost after 1 second:
diff --git a/autoload/fileselect.vim b/autoload/fileselect.vim
index cfae6c5..4b34de2 100644
--- a/autoload/fileselect.vim
+++ b/autoload/fileselect.vim
@@ -21,6 +21,8 @@ if v:version < 802 || !has('patch-8.2.1744')
   finish
 endif

+prop_type_add('fileselect', #{highlight: 'Title'})
+
 var s:filelist: list<string> = []
 var s:popup_text: list<string> = []
 var s:filter_text: string = ''
@@ -142,14 +144,23 @@ def FilterNames(id: number, key: string): number
       prevSelName = popup_text[curLine - 1]
     endif

+    var pos: list<list<number>>
     if filter_text != ''
-      popup_text = filelist->matchfuzzy(filter_text)
+      var matchfuzzypos: list<any> = filelist->matchfuzzypos(filter_text)
+      popup_text = matchfuzzypos[0]
+      pos = matchfuzzypos[1]
+      map(pos, {i, v -> map(v, {_, w -> w - 1 - fnamemodify(popup_text[i], ':h')->strchars(true)})})
     else
       popup_text = filelist
     endif
     var items: list<string> = popup_text->copy()
     MakeMenuName(items)
-    id->popup_settext(items)
+    var text: list<dict<any>> = items
+      ->map({i, v -> #{
+        text: v,
+        props: map(pos[i], {_, w -> #{col: w + 1, length: 1, type: 'fileselect'}})
+      }})
+    id->popup_settext(text)
     echo 'File: ' .. filter_text

     # Select the previously selected entry. If not present, select first entry

I think that's because of a timer which can reset the text of the popup without re-applying the highlighting.  Unfortunately, I don't have more time to delve into the code.
Just a thought: I'm not sure what is the purpose of the timer, but if it gets the list of files asynchronously, maybe it would be better to use a job.

Hi,
On Friday, October 9, 2020, 07:03:56 PM PDT, lacygoill<EMAIL_ADDRESS>wrote:> > This patch seems to work, but sometimes, the highlighting is lost> after 1 second:>
Thanks for the patch. I have made some modifications and merged it.

> I think that's because of a timer which can reset the text of the> popup without re-applying the highlighting.  Unfortunately, I don't> have more time to delve into the code.>> Just a thought: I'm not sure what is the purpose of the timer, but if> it gets the list of files asynchronously, maybe it would be better to> use a job.>
When trying to list and search the files from a deep directory tree,it will take a long time to process the files. Meanwhile, the user cannotinteract with Vim and it will look like Vim is hung. The timer is usedto process few directories at a time in the background. So that theuser can continue to interact with Vim, while the large number offiles/directories are processed in the background.
Note that a job cannot be used here, as the plugin doesn't dependon any external tool/utility to recursively get the list of files.
Regards,Yegappan

Note that a job cannot be used here, as the plugin doesn't dependon any external tool/utility to recursively get the list of files.

Ok, I understand.  I just thought the list of files could have been obtained via a unix utility like maybe find(1).  This way, we could have used a job.  The reason I say this, is because I'm studying how the fzf.vim implements fuzzy commands, without blocking the user.  Even when there are a lot of lines to filter, the plugin opens its window almost instantaneously, and I don't think it relies on a timer; I think it relies on term_start(), which is a kind of a job.  Hence why I'm tempted to use a job.
But I need to study the plugin more to be sure.
Anyway, I can totally understand the desire to not depend on any external tool.

Note that a job cannot be used here, as the plugin doesn't dependon any
external tool/utility to recursively get the list of files.

Ok, I understand. I just thought the list of files could have been obtained
via a unix utility like maybe find(1). This way, we could have used a job.

Yes. But the find utility is available only on Linux/Unix/MacOS systems and
is not available on MS-Windows (out of the box).

The reason I say this, is because I'm studying how the
fzf.vim
implements fuzzy commands, without blocking the user. Even when there are a
lot of lines to filter, the plugin opens its window almost instantaneously,
and I don't think it relies on a timer; I think it relies on term_start(),
which is a kind of a job. Hence why I'm tempted to use a job.

The fzf.vim plugin relies on the external fzf utility. So it makes sense to
use a job or a terminal to run the fzf utility and parse the output and
also it will be very optimized.
The file selector plugin uses only the Vim built-in functions to
recursively walk the directory tree and get the list of files. This will
take some time depending on the number of directories and files.
Regards,
Yegappan

But I need to study the plugin more to be sure.
Anyway, I can totally understand the desire to not depend on any external
tool.

The fzf.vim plugin relies on the external fzf utility. So it makes sense to
use a job or a terminal to run the fzf utility and parse the output and
also it will be very optimized.

Just to be clear, I didn't say that fzf got its results instantaneously.  It really does not.  The more entries it has to filter, the more time it needs.  It's just that the window is opened fast.  After that, we still have to wait for it to be fully populated; but we can type while it's getting populated.  The fileselect plugin achieves the same result in a different way, so all is good.
Also, I think that by default fzf uses the files in the current working directory as the source to filter.  I don't know yet how it gets this list.  But in the general case, fzf is used to filter any source of data; not necessarily file names.  The same is true for matchfuzzy*().  It doesn't care what it has to filter.  And in my limited tests, matchfuzzy*() is at least as fast as fzf.  In fact, I suspect it's faster.  For example, I've re-implemented the fzf.vim :HelpTags command, using matchfuzzypos().  :HelpTags need 35 ms to open the window which in the end displays 12204 help tags.  The command which relies on matchfuzzy*() only needs 7ms.
Not only that, but matchfuzzy*() gives more relevant results.
You really have done a great job by introducing these functions, because we can now remove fzf.vim completely (and get rid of the fzf dependency) which came with its own abstraction layer, and was too time-consuming to debug when something went wrong.

The support for highlighting the matching characters is added.


Support type graphql union types?

Hey!
I have a simple question, could this package work with type-graphql union types? Spent some time trying to make it work, but without any success.

I've never tried it with GraphQL union type. I am not sure if it works. Are there any error messages or something?


adjust the right margin for the vaccination chart

Added 5 px to the left margin

 Vaccine chart y axis ticks are clipped by a pixel or two


input_size is not defined in Convert_ONNX

[Enter feedback here]
I am trying to follow this guide, and I wanted to export the PyTorch model or the .pth file to .onnx. However, when constructing the dummy_input, one of the paramters is input_size, which is not defined anywhere in the tutorial as a variable.
As a result, I am unable to convert the .pth file to a onnx file. Please correct the code so that I can properly do the conversion.

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

ID: b236fa85-23be-f5ec-5c5f-332937187f04
Version Independent ID: 781552b8-a796-a963-05d3-ed98f509dbd4
Content: Convert your PyTorch training model to ONNX
Content Source: docs/windows-ml/tutorials/pytorch-convert-model.md
Product: machine-learning
GitHub Login: @QuinnRadich
Microsoft Alias: quradic

I have found a solution:
Replace dummy_input = torch.randn(1, input_size, requires_grad=True) with dummy_input = torch.randn(1, 3, 32, 32, requires_grad=True)
torch.randn is used to create a randomized tensor to feed into the model. The first parameter is the batch size, it is set to 1 here but I believe it can be set to other values as well. The second parameter is number of channels. In this tutorial, the first convolutional neural network layer has 3 channels, so it is expecting an input tensor to have the same value, and thus it is set to 3.
Lastly, the last two parameters are height and width. Since it is using images in the CIFAR10 dataset, the height and width are both 32.
If you then run the Convert_ONNX function, you should get the proper output.

I can confirm this solution works :)

Thanks, glad I found this ;-)
Anyone has got leads on how to prepare their own data to replace that from this tutorial?


Adding menus to pages defined with xaml?

I'm trying to use SlideOverKit and add a menu to an existing content page that is defined with xaml.
However, I can't derive the main class as MenuContainerPage because I get the following error:
"Partial declarations of XXX must not specify different base classess"
In all the examples provided, all container pages did not have xaml of their own (only their corresponding menu views).
How can I add a menu to a page that is already defined with xaml?

I'm getting the same error for the same scenario.
Any suggestions?

Using "t:SlidePopupView" follow this sample code
https://github.com/XAM-Consulting/SlideOverKit/blob/master/SlideOverKitMoreSamples/SlideOverKit.Sample/Pages/PopOverWithTriangleView.xaml

And in code behind your page class should inherit from SlideMenuView


Receive negative bind response: Negative response 00000005 found

Sometimes we retrieve the below exception during reconnection and only works after restarting the application:
Session state is CLOSED. Trying reconnect...
Trying disconnect ...
Disconnected...
Waiting 1 seconds to retry
java.io.IOException: Receive negative bind response: Negative response 00000005 found
	at org.jsmpp.session.SMPPSession.connectAndBind(SMPPSession.java:246)
	at org.jsmpp.session.SMPPSession.connectAndBind(SMPPSession.java:160)

We are using jsmpp-2.2.0 and some options are
bindType = BindType.BIND_TX
enquireLinkTimer=10000
transactionTimer=20000L

Our reconnection conditions like below:
if (smppSession.getSessionState() == SessionState.CLOSED
     || smppSession.getSessionState() == SessionState.OUTBOUND
     || smppSession.getSessionState() == SessionState.UNBOUND) {
    //smppSession.unbindAndClose then smppSession.connectAndBind
    reconnect();
}

In smpp3.4 specification written
ESME_RALYBND, 0x00000005, ESME Already in Bound State
How can we resolve this problem, and what is the reason? Please help

Hi, you are using a pretty old version of the jSMPP Java library. Could you retest with 2.3.11 ?
When the other part responds with 'Already bound', it could be that you didn't close the session (and thus the TCP connection). What would help is to make a tcpdump trace, and see that the bind is send on new TCP connection.


You are using an IPv$ address ....

👉🏻Why am I getting this message all of a sudden?
Why is it now important?

⚠ REMOVE THIS LINE AND ANY SENSITIVE INFORMATION BELOW! ⚠

Context
Version

Code for IBM i version
2.12.1

Visual Studio Code version
1.92.1

Operating System
win32_x64

Active extensions
Code Coverage for IBM i (code-coverage-ibmi): 0.1.7
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0
Configuration Editing (configuration-editing): 1.0.0
Db2 for IBM i (vscode-db2i): 1.2.0
Emmet (emmet): 1.0.0
Error Lens (errorlens): 3.20.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
GitHub (github): 0.0.1
IBM i Debug (ibmidebug): 2.0.1
IBM i Notebooks (vscode-ibmi-notebooks): 0.0.6
JSON Language Features (json-language-features): 1.0.0
Live Server (LiveServer): 5.7.9
Merge Conflict (merge-conflict): 1.0.0
Node Debug Auto-attach (debug-auto-launch): 1.0.0
Pylance (vscode-pylance): 2024.8.1
Python (python): 2024.12.3
Python Test Explorer for Visual Studio Code (vscode-python-test-adapter): 0.8.2
TODO Highlight (vscode-todo-highlight): 1.0.5
Test Adapter Converter (test-adapter-converter): 0.1.9
Test Explorer UI (vscode-test-explorer): 2.21.1
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0

Remote system

Setting
Value

IBM i OS
V7R4M0

Tech Refresh
9

CCSID Origin
65535

Runtime CCSID
65535

Default CCSID
37

SQL
Enabled

Source dates
Enabled

Enabled features

/QOpenSys/pkgs/bin
/usr/bin
/QSYS.lib/ILEDITOR.lib
/QSYS.LIB
/QIBM/ProdData/IBMiDebugService/bin

bash
attr
GETNEWLIBL.PGM
QZDFMDB2.PGM
startDebugService.sh

chsh
iconv

grep
setccsid

ls
tar

md5sum

sort

stat

tn5250

Shell env
BUILDLIB=QGPL
CURLIB=QGPL
HOME=/home/dfreinkel
HOST=<IP_ADDRESS>
LIBLS=DPOBJLIB DPPDATA DPSRCLIB LIBHTTP YAJL QTEMP QGPL OPRUTLLIB DFREINKEL
LOGIN=dfreinkel
LOGNAME=dfreinkel
MAIL=/var/spool/mail/dfreinkel
OLDPWD=/home/DFREINKEL
PASE_USRGRP_LIMITED=N
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PWD=/home/dfreinkel
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=<IP_ADDRESS> 64209 22
SSH_CONNECTION=<IP_ADDRESS> 64209 <IP_ADDRESS> 22
TZ=<EST>5<EDT>,M3.2.0,M11.1.0
USER=dfreinkel
USERNAME=dfreinkel
WORKDIR=/home/dfreinkel
_=/QOpenSys/pkgs/bin/env

Variants
{
  "american": "#@$",
  "local": "#@$"
}

Errors
[
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF2111:  Library ILEDITOR already exists.\nCPC2206:  Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed.",
    "cwd": "/home/dfreinkel"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF2125:  No objects deleted.\nCPC2206:  Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed.",
    "cwd": "/home/dfreinkel"
  }
]

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

👉🏻Why am I getting this message all of a sudden?
Why is it now important?

This is related to debugging. We've found that you will get less issues with certificates when you use a hostname instead of an IP address.


Awful performance: Prisma 1.34 eating cpu every 10 minutes

At some point (after upgrade from 1.26) prisma (1.34 now) became extremely slow. CPU and network consumption looks like this:

What is going on every 10 minutes?
Is it due to large amount of projects (1486)? What to do with this?
DB is MySQL, no slow queries there
Running  in Kubernetes on high-grade hardware

Oh. Currently suspecting one of the apps. Closing for now


fix(transition-ios): RTL fix for transition on ios

Short description of what this resolves:
This will fix the transition on ios platform when it's RTL
Changes proposed in this pull request:

Changed the translateX animations with opposite value if it's on rtl

Ionic Version: 2.x / 3.x
Fixes: #11211

Works very well!
I am not very sure about the naming though, as OFF_LEFT_RTL seems to really mean the offset to the right.
Do you think using start and end makes sense for this? like OFF_START, OFF_END, OFF_START_RTL, OFF_END_RTL? (left is start, right is end)

Totally agree, Start and End should be better for this, although I have a better solution not to add any variable but to add a '-' at behind of the affected transition (as it is a string value)
I'll make another commit and let me know which one is better.

@AmitMY nevermind what I was saying earlier :D it was the worst idea, besides it really is doing it really is right offset not start offset, but we do it -99.5% instead of 99.5%

@sijav Yeah I saw.. I was just about to comment the -- case, but you reverted :)
Keeping it right & left seems reasonable (as two separate cases).
There is a solution to do with only one set of variables, but I am not sure the overhead is worth it.
(have a utility function that gets a number/string, casts it into a string, then checks if the first character is -, and if so removes it, otherwise adds it)

@AmitMY yeah ... it was a very bad solution :D
I don't think it worth it but let me know if anything could be done...

Thanks for the PR! This looks good to me. I want to get one more team member to test it and if it looks good to them we'll merge it. :smile:

Khalid had a good point. Instead of duplicating the variables, you can do:
OFF_LEFT = this.plt.isRTL ? "-33%" : "33%"
So you only check once (per call) and it is cleaner.
What do u think?

@AmitMY Khalid? I don't see any comment from him, but nevertheless I have nothing against it however I don't know how RTL change can work in runtime but I hope this change won't affect it.

@sijav Well, of course that part of it will be to move the constants to the init function, which I think will mean that change will work (if it works for current code)
Khalid commented but removed his comment.

Sorry guys, I just removed my comment after seen my suggestion is already suggested by @AmitMY.

@AmitMY How can I do that?
The OFF_LEFT is a const value we need to declare it's value only when we declare the variable, and where we declare it is on the root of the ts not on any class, and it will be called at the init of the program, so there's no this.plt available.

Only thing I can see is that the swipe to go back gesture isn't moving the active page, but that issue existed before this PR, so I think it's ok for now.

@mhartington I've made about a dozen PR #11822 will fix that

Perfect, thanks!


Error when writing string coordinate variables to zarr

I saved an xarray dataset to zarr using to_zarr. I then later tried to read that dataset from the original zarr, re-chunk it, and then write to a new zarr. When I did that I get a strange error. I attached a zip of minimal version of the zarr dataset that I am using.
test_sm_zarr.zip
MCVE Code Sample

import xarray as xr

sm_from_zarr = xr.open_zarr('test_sm_zarr')
sm_from_zarr.to_zarr('test_sm_zarr_from', mode='w')

Expected Output
No error
Problem Description
I get this error:
C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\core\merge.py:18: FutureWarning: The Panel class is removed from pandas. Accessing it from the top-level namespace will also be removed in the next version
  PANDAS_TYPES = (pd.Series, pd.DataFrame, pd.Panel)
C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\core\dataarray.py:1829: FutureWarning: The Panel class is removed from pandas. Accessing it from the top-level namespace will also be removed in the next version
  'DataArray', pd.Series, pd.DataFrame, pd.Panel]:
Traceback (most recent call last):
  File "rechunk_test.py", line 38, in <module>
    sm_from_zarr.to_zarr('test_sm_zarr_from', mode='w')
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\core\dataset.py", line 1414, in to_zarr
    consolidated=consolidated, append_dim=append_dim)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\backends\api.py", line 1101, in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\backends\api.py", line 929, in dump_to_store
    unlimited_dims=unlimited_dims)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\backends\zarr.py", line 366, in store
    unlimited_dims=unlimited_dims)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\backends\zarr.py", line 432, in set_variables
    writer.add(v.data, zarr_array)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\xarray\backends\common.py", line 173, in add
    target[...] = source
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1115, in __setitem__
    self.set_basic_selection(selection, value, fields=fields)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1210, in set_basic_selection
    return self._set_basic_selection_nd(selection, value, fields=fields)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1501, in _set_basic_selection_nd
    self._set_selection(indexer, value, fields=fields)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1550, in _set_selection
    self._chunk_setitem(chunk_coords, chunk_selection, chunk_value, fields=fields)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1659, in _chunk_setitem
    fields=fields)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1723, in _chunk_setitem_nosync
    cdata = self._encode_chunk(chunk)
  File "C:\Users\jsadler\AppData\Local\Continuum\anaconda3\envs\nwm\lib\site-packages\zarr\core.py", line 1769, in _encode_chunk
    chunk = f.encode(chunk)
  File "numcodecs/vlen.pyx", line 108, in numcodecs.vlen.VLenUTF8.encode
TypeError: expected unicode string, found 20

BUT
I think it has something to do with the datatype of one of my coordinates, site_code. Because, if it do this I get no error:
import xarray as xr

sm_from_zarr = xr.open_zarr('test_sm_zarr')
sm_from_zarr['site_code'] = sm_from_zarr.site_code.astype('str')
sm_from_zarr.to_zarr('test_sm_zarr_from', mode='w')

Before converting the datatype of the site_code coordinate is object
Output of xr.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None
libhdf5: 1.10.4
libnetcdf: 4.6.2
xarray: 0.12.2
pandas: 0.25.1
numpy: 1.17.1
scipy: 1.3.1
netCDF4: <IP_ADDRESS>
pydap: installed
h5netcdf: None
h5py: None
Nio: None
zarr: 2.3.2
cftime: <IP_ADDRESS>
nc_time_axis: None
PseudonetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: None
dask: 2.3.0
distributed: 2.5.1
matplotlib: 3.1.1
cartopy: None
seaborn: None
numbagg: None
setuptools: 41.2.0
pip: 19.2.3
conda: None
pytest: 5.1.2
IPython: 7.8.0
sphinx: None

Hi @jsadler2 - Can you show us what sm_from_zarr looks like (print(sm_from_zarr) will do.

Sure
In [5]: print(ds)
<xarray.Dataset>
Dimensions:     (datetime: 20, site_code: 20)
Coordinates:
  * datetime    (datetime) datetime64[ns] 1970-01-01 ... 1970-01-01T19:00:00
  * site_code   (site_code) object '01302020' '01303000' ... '01315000'
Data variables:
    streamflow  (datetime, site_code) float64 dask.array<shape=(20, 20), chunksize=(20, 20)>

Thanks @jsadler2 - I think this is a bug in xarray. We should be able to round trip the site_coordinate variable.

I'm experiencing the same issue, which seems to be also related to one of my coordinates having object as datatype. Luckily, the workaround proposed by @jsadler2 works in my case, too.

I ran into the same issue. It seems like zarr is inserting VLenUTF8 as a filter, but the loaded data array already has that as a filter so it's trying to double encode . So another workaround is to delete the filters on site_code:
import xarray as xr

sm_from_zarr = xr.open_zarr('tmp/test_sm_zarr')
del sm_from_zarr.site_code.encoding["filters"]
sm_from_zarr.to_zarr('tmp/test_sm_zarr_from', mode='w')

I ran into the same issue. It seems like zarr is inserting VLenUTF8 as a filter, but the loaded data array already has that as a filter so it's trying to double encode

Indeed. And it appears that these lines are the culprits:
https://github.com/pydata/xarray/blob/83706af66c9cb42032dbc5536b30be1da38100c0/xarray/backends/zarr.py#L468-L471
ipdb> v
<xarray.Variable (x: 3)>
array(['a', 'b', 'c'], dtype=object)
ipdb> check
False
ipdb> vn
'x'
ipdb> encoding = extract_zarr_variable_encoding(v, raise_on_invalid=check, name=vn)
ipdb> encoding
{'chunks': (3,), 'compressor': Blosc(cname='lz4', clevel=5, shuffle=SHUFFLE, blocksize=0), 'filters': [VLenUTF8()]}

https://github.com/pydata/xarray/blob/83706af66c9cb42032dbc5536b30be1da38100c0/xarray/backends/zarr.py#L480-L482
Zarr appears to be ignoring the filter information from xarray. Zarr proceeds to extracting its own filter. As a result, we end up with two filters:
ipdb> zarr_array = self.ds.create(name, shape=shape, dtype=dtype, fill_value=fill_value, **encoding)
ipdb> self.ds['x']._meta
{'zarr_format': 2, 'shape': (3,), 'chunks': (3,), 'dtype': dtype('O'), 'compressor': {'blocksize': 0, 'clevel': 5, 'cname': 'lz4', 'id': 'blosc', 'shuffle': 1}, 'fill_value': None, 'order': 'C', 'filters': [{'id': 'vlen-utf8'}, {'id': 'vlen-utf8'}]}

ipdb> self.ds['x']._meta['filters']
[{'id': 'vlen-utf8'}, {'id': 'vlen-utf8'}]

As @borispf and @jsadler2 suggested, clearing the filters from encoding before initiating the zarr store creation works:
ipdb> enc # without filters
{'chunks': (3,), 'compressor': Blosc(cname='lz4', clevel=5, shuffle=SHUFFLE, blocksize=0), 'filters': []}
ipdb> zarr_array = self.ds.create(name, shape=shape, dtype=dtype, fill_value=fill_value, **enc)
ipdb> self.ds['x']._meta['filters']
[{'id': 'vlen-utf8'}]

@jhamman since you are more familiar with the internals of zarr + xarray, should we default to ignoring filter information from xarray and let zarr take care of the extraction of filter information?

Thanks @andersy005 for the write up and for digging into this. Doesn't this seem like it could be a bug in Zarr's create method?

Hi, I also keep running into this issue all the time.
Right now, there is no way of round-tripping xr.open_zarr().to_zarr(), also because of https://github.com/pydata/xarray/issues/5219.

Thanks for that, looks like I just came across this.

Think it worked with one variable - @Hoeze workaround was necessary for more than one.

This has been happening a lot to me lately when writing to zarr. Thanks to @bolliger32 for the tip - this usually works like a charm:
for v in list(ds.coords.keys()):
    if ds.coords[v].dtype == object:
        ds.coords[v] = ds.coords[v].astype("unicode")

for v in list(ds.variables.keys()):
    if ds[v].dtype == object:
        ds[v] = ds[v].astype("unicode")

For whatever reason, clearing the encoding and/or using .astype(str) doesn't seem to work as reliably. I don't have a good MRE for this but hope it helps others with the same issue.

@delgadom I just noticed that your proposed solution has the side effect of also converting cftime objects (e.g., below) to unicode strings.
xarray.DataArray 'time' (time: 1) array([cftime.DatetimeNoLeap(2007, 7, 2, 12, 0, 0, 0, has_year_zero=True)], dtype=object)

I updated your lines using @Hoeze' clear function and that seems to work for now.
    for v in list(ds.coords.keys()):
        if ds.coords[v].dtype == object:
            ds[v].encoding.clear()

    for v in list(ds.variables.keys()):
        if ds[v].dtype == object:
            ds[v].encoding.clear()

ha - yeah that's a good flag. I definitely didn't intend for that to be a universally applied patch! so probably should have included a buyer beware. but we did find that clearing the encoding doesn't always do the trick for string encodings. So a comprehensive patch will probably need to be more nuanced.

My impression is that keeping the zarr encoding leads to a bunch of issues (see my issue above) or the current one. There also seems to be an issue with chunking being preserved because the array encodings arent overwritten, but I cant find that issue right now. Since all of these issues are resolved by popping the zarr encoding I am wondering what are the downsides of this and whether it'd be easier to not keep that encoding at all?

I find this annoying too!
I think we can fold it into https://github.com/pydata/xarray/issues/6323, though it's also common enough that maybe we leave it open for future travellers

I hit this issue this week, and the workaround in https://github.com/pydata/xarray/issues/3476#issuecomment-1115045538 worked for me.

I run into this issue fairly commonly (usually during playing copying of a dataset xr.open_zarr(..).to_zarr(..)) and the fix in https://github.com/pydata/xarray/issues/3476#issuecomment-1115045538 works for me.


Update rubocop from 0.47.1 to 0.60.0

Addresses CVE-2017-8418
Re-generates .rubocop_todo.yml to skip failing style validations

Interesting build failure - looks like it's related to Elasticsearch API updates. We probably need to freeze the elasticsearch-model library version or update our specs to conform with ES 6.1 API specifications.

@dblock @cavvia – this PR should be good to go. There's no meaningful diff to the project, so I'm not sure what Coveralls is complaining about. LMK if there's anything else needed to get this merged.
FWIW: rubocop is a development dependency, so there is no additional upstream systems that need to get patched here.

Merged.


Update aphrodite

Aphrodite supports server side rendering which means generating a CSS file is trivial. Also, it does autoprefixing.

Hello @kentcdodds, thank you very much for your PR!
I'm sorry for the missing features but when I added the library to the repo (v0.1.2), the autoprefixing wasn't published yet.
It would be great if you could also upgrade the library on the example and the version on the readme.
"Extract CSS File" means being able to export a plain CSS file at build time (that can be pushed on a CDN, for example) and, as far as I understand, aphrodite doesn't support that.
It is obviously possible to generate a file using renderStatic but that's different.
Am I wrong?

Hi @MicheleBertoli!
I'll be happy to update the example as well.
As for "Extract CSS File" it may be a little loosy-goosy. It's totally possible to do and it's straightforward. It just takes a little work on the part of the developer. It pretty much amounts to a simple call like this:
const {css} = StyleSheetServer.renderStatic(() => {
  // do all your aphrodite.css calls in this callback
  // In a universal react app, this would be something like:
  // ReactDOMServer.renderToStaticMarkup(<Root />)
  // and all the `css` calls would be in the `render` method
})
fs.writeFileSync('./path/to.css', css.content)

For an example, the JavaScriptAir.com website does this to generate all of its pages (resulting in a 100% static site with basically 0 JS shipped to the browser).

I've updated my PR to update all dependencies and added a script that will generate a css file (just for demonstration purposes).

Awesome @kentcdodds, thanks!