Typo in the typings file

https://github.com/Mangopay/mangopay2-nodejs-sdk/blob/a7bd8e84aee35ae491527b0c5591b9f68bbe736b/typings/index.d.ts#L1324
Copy pasta seems to have been done :smile:
https://github.com/search?o=desc&q="A+desciption+of+the+wallet"&s=indexed&type=Code

Hi @williamdes
thanks fro the heads up
We'll correct it shortly
Max

Thank you for your quick response, I was motivated to run https://chrome.google.com/webstore/detail/webpage-spell-check/mgdhaoimpabdhmacaclbbjddhngchjik and found 2 more typos from this manual inspection of the results.
https://github.com/Mangopay/mangopay2-nodejs-sdk/blob/a7bd8e84aee35ae491527b0c5591b9f68bbe736b/typings/index.d.ts#L2072
https://github.com/Mangopay/mangopay2-nodejs-sdk/blob/a7bd8e84aee35ae491527b0c5591b9f68bbe736b/typings/index.d.ts#L3710

Cool, we'll treat these together

Hi @williamdes
Thank you! :)
Here is the PR corresponding to your issue: PR

Closed by #202

Hi @mangomaxoasis
https://docs.mangopay.com/endpoints/v2.01/payouts#e228_create-a-payout is not up to date too.

OK, we've reopened
Also William, if you ever have some time, would if be possible to speak with you about some of the issues you've highlighted?
My email<EMAIL_ADDRESS>

OK, we've reopened
Also William, if you ever have some time, would if be possible to speak with you about some of the issues you've highlighted?
My email<EMAIL_ADDRESS>
Sure, I emailed you.
You can remove your email from here to avoid some spamming ;)

Closed


[D3D9] Arcana Heart 3 LOVEMAX SIXSTARS!!!!!! XTEND: Needs Framerate cap

From my testing on my OLED Steam Deck and on my laptop (And checking around the community hub and pcgamingwiki), this game seems to require a framerate cap of at least 60. Without it, the game runs at the monitors refresh rate (90 on my OLED Deck, 120 on my laptop) which usually means it runs at double or triple game speed.
There are also 2 other versions of note that I believe also have the same issue, the Crowdfunding edition (Uses the same exe as the regular version which is AALib.exe, and the older Arcana Heart 3 Love Max which uses AH3LM.exe as the exe). I tried using the Framerate control option and that just tanks it down to around 30-40 FPS with noticable frame time spikes.
Software information
Arcana Heart 3 LOVEMAX SIXSTARS!!!!!! XTEND
System information

GPU: GTX 1650
Driver: Nvidia 566.36
Wine version:
DXVK version: [util] Add Sims 2 Content Manager & HomeCrafter Plus

Apitrace file(s)

https://www.mediafire.com/file/rmjy3m0uiveq55y/AALib.zip/file

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace
Log files
Please attach Proton or Wine logs as a text file:

When using Proton, set the Steam launch options for your game to PROTON_LOG=1 %command% and attach the corresponding steam-xxxxx.log file in your home directory.
When using regular Wine, use wine game.exe > game.log 2>&1 and attach the resulting game.log file.

On my OLED deck, I was able to cap it to 60 using "DXVK_FRAME_RATE=60 %command%"
Also proton log file
steam-661990.log

This would not surprise me, as most of Examu's other titles seem to rely on vsync, and would otherwise run at an uncapped framerate - like if one tries to run the arcade Suggoi! Arcana Heart 2 with Gamescope and trying to force the game's executable to close, the attract mode runs as fast as humanly possible. It also affects trying to emulate the PS3 home port of Arcana Heart 3, which similarly requires (in this case, the emulator's) frame limiter to perform correctly.
Unfortunately I don't have a vrr display to confirm this, just an observation from the one of now two confirmed people that play these games. (^^;

I finally got around to trying this on Deck (LCD)

I tried using the Framerate control option and that just tanks it down to around 30-40 FPS with noticable frame time spikes.

Where do you see this dip? I am not sure i am seeing this except shortly during scene transitions. If the ingame limiters does a fine job for the two editions that have it i am thinking we should only apply a limit to the edition that doesn't have one if its own

For me at least, it happens as soon as I turn on the framerate control option when I go to settings, display, then back out once I turn it on. I can take a screenshot if needed but as soon as I do that, I see it drop down to 30-40 instantly with mangohud on my OLED Deck

Actually just found out something, turns out the game only runs at 60 fps capped if it's set to full screen, the game starts out by default in windowed mode on my oled deck, so it ran at my native refresh rate.

Hm weird. I haven't been able to reproduce the 30-40fps issue after messing with it on my LCD Deck or desktop


how can it support azure openai?

Describe the issue
how can it support azure openai?
Suggest an improvement to documentation
how can it support azure openai?

we support it, check readme


Add a demo with possibility to make the user add 3D models on specified GPS locations examples

see https://github.com/nicolocarpignoli/GeoAR.js/issues/8

@kalwalt this is the demo you were working on :)

Link in comment https://github.com/jeromeetienne/AR.js/issues/601#issue-504616191 is broken.
Is there any resources on the topic?

@dmtrs i think it is broken because the issue page does not exist anymore but you can see the PR https://github.com/nicolocarpignoli/GeoAR.js/pull/9

@dmtrs exactly as kalwalt said. The page is lost because I removed issue section on GeoAR.js and moved them here on AR.js.
I will add a better description on the main post, sorry about that


Run in single cookbook repositories

Right now it seems that the runner is built for chef repo's which contain multiple cookbooks (or roles) as https://github.com/mmozuras/pronto-foodcritic/blob/master/lib/pronto/foodcritic.rb#L35 expects the path to include cookbook.
However when all your cookbooks are separated into single repositories cookbook might not always appear in the path. For example when your repository name does not include -cookbook or when you're running it on a CI server which does not use project names internally (like GitLab CI).
I'd say to remove that check alltogether and just run foodcritic on all files. Does that sound reasonable to you?

Considering that FoodCritic is now archived, I'm closing this issue.

Considering that FoodCritic is now archived, I'm closing this issue.


Add to Open VSX repository

Lots of open source extensions are being added to that repository. This is useful for onivim users like me, since the project seeks to support vscode extensions, but only pulls from that repo.
Relevant links:
https://onivim.github.io/docs/configuration/extensions
https://open-vsx.org/
https://www.eclipse.org/community/eclipse_newsletter/2020/march/1.php
I am not suggesting some kind of code rework or bugfix, just the ability to download the extension from there.

I'll look into this after I release a new version to fix another issue that is currently open.

This extension is now available on the Open VSX Registry.


Better support for the admin-reader role and various smaller fixes in role-based authorization

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 14 (85.71%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 68.629%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

flexmeasures/api/play/routes.py
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
7046

Relevant Lines:
9739

💛  - Coveralls

Can you guide me through this PR a bit? I find it hard to derive from reading the commit messages. For example, why did the removed test become redundant?

Sorry that there are a few things in here.
The big picture is to help admin-reader to actually read users (fixed in CRUD) and sensors (fixed in the sensor API).
On the way I noticed how

there is a bug in the roles_accepted decorator
we should always be using our decorators, not flask_security's
The CRUD endpoint GET /users/  was still using the v2 asset API

The test is removed because that endpoint stops doing an auth check. It now gives you only your account if you're not an admin, and all otherwise (which was the default behavior before).

We should release v0.10 soonish, and the bugs in this don't seem overly impactful, so for me back-porting is not required.


Add MCO support for stm32wl family

Per discussions in the chat forum, this exposes the MCO feature for the STM32WL. It exposes the McoPin trait on any processor that has an MCO peripheral, by making the selection based on the pin signal starting with MCO.

superseded by #2021 (contains this PR)


Adopt TypeScript 2.6

TypeScript 2.6 will be coming out this month and we'd like to adopt it for VS Code 1.18

Done. Try it out in current insiders builds


Expo cant bundle with sst

I am trying to use sst with expo but I am encountering an issue while bundling for the different platforms. If I remove sst from my dependencies it  bundles correctly again. I could imagine that some packages sst uses are not compatible on expo. But I would only need to use the Resource from sst inside my expo app.
I get this error when trying to bundle for web:
Web Bundled 4589ms ../../node_modules/expo-router/entry.js (2628 modules)
Web ../../node_modules/expo-router/entry.js  93.5% (2541/2628)
λ ../../node_modules/expo-router/node/render.js 99.5% (2562/2568)λ  WARN  Require cycle<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
  factory (../../node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js:6:21)
  factory (../../node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js:15:34)
λ  WARN  Require cycle<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
  factory (../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveAssumeRoleCredentials.js:7:30)
  factory (../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/resolveProfileData.js:5:40)
λ  WARN  Require cycle<EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
  factory (../../node_modules/@aws-crypto/crc32/build/aws_crc32.js:8:15)
  factory (../../node_modules/@aws-crypto/crc32/build/index.js:106:19)

/home/neb/Github/help-create/node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js:134
    (0, import_slurpFile.slurpFile)(configFilepath, {
                                  ^
TypeError: (0 , import_slurpFile.slurpFile) is not a function
    at loadSharedConfigFiles (/home/neb/Github/help-create/node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js:134:35)
    at provider (/home/neb/Github/help-create/node_modules/@smithy/node-config-provider/dist-cjs/index.js:51:104)
    at /home/neb/Github/help-create/node_modules/@smithy/property-provider/dist-cjs/index.js:79:33
    at coalesceProvider (/home/neb/Github/help-create/node_modules/@smithy/property-provider/dist-cjs/index.js:106:18)
    at /home/neb/Github/help-create/node_modules/@smithy/property-provider/dist-cjs/index.js:117:20

and this is the error for ios. Just a quick note I am using expo go for ios development not custom compiled.
iOS Bundling failed 4065ms ../../node_modules/expo-router/entry.js (2991 modules)
The package at "../../node_modules/sst/dist/resource.js" attempted to import the Node standard library module "process".
It failed because the native React runtime does not include the Node standard library.
Learn more: https://docs.expo.dev/workflow/using-libraries/#using-third-party-libraries

Did you add sst shell to your expo commands? I've also tried this recently and had the same issue with the router entry. Furthermore, I don't think sst shell wouldn't work out of the box with respect to environment variables being passed because I think Expo only grabs them from a .env file. So I was pondering something like sst shell expowrapper where expowrapper puts the sst environment variables into a .env file then starts expo.

Hey, thanks for the answer. I tried it with and without the SST shell, and it made no difference—same error.
Like you suggested, I experimented with the environment variables. Adding all the SST environment variables to a .env file makes no difference; I still encounter the same errors. The iOS/Expo error regarding the process makes sense, process is for some reason not included in the Expo runtime, and SST needs it in the resource module to load the environments. However, I have no idea what this web error is about. But probably everything has to do with that expo does not load the environment variables or its another incompatible library that is getting used.
For fixing this process issue you could probably make some sort of environment check and then use the expo native way to load env variables.
I would be happy to help but I am nether an expert in expo and also not in sst.
But it would be really cool and helpful if expo would be supported!

I had some miss understandings of the js sdk I thought Resources should also be accessible on the full client side. But that's not how the sdk is intended.


Error when broadcasting array API compliant class

What happened?
Broadcasting fails for array types that strictly follow the array API standard.
What did you expect to happen?
With a normal numpy array this obviously works fine.
Minimal Complete Verifiable Example
import numpy.array_api as nxp

arr = nxp.asarray([[1, 2, 3], [4, 5, 6]], dtype=np.dtype('float32'))

var = xr.Variable(data=arr, dims=['x', 'y'])

var.isel(x=0)  # this is fine

var * var.isel(x=0)  # this is not

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[31], line 1
----> 1 var * var.isel(x=0)

File ~/Documents/Work/Code/xarray/xarray/core/_typed_ops.py:487, in VariableOpsMixin.__mul__(self, other)
    486 def __mul__(self, other: VarCompatible) -> Self | T_DataArray:
--> 487     return self._binary_op(other, operator.mul)

File ~/Documents/Work/Code/xarray/xarray/core/variable.py:2406, in Variable._binary_op(self, other, f, reflexive)
   2404     other_data, self_data, dims = _broadcast_compat_data(other, self)
   2405 else:
-> 2406     self_data, other_data, dims = _broadcast_compat_data(self, other)
   2407 keep_attrs = _get_keep_attrs(default=False)
   2408 attrs = self._attrs if keep_attrs else None

File ~/Documents/Work/Code/xarray/xarray/core/variable.py:2922, in _broadcast_compat_data(self, other)
   2919 def _broadcast_compat_data(self, other):
   2920     if all(hasattr(other, attr) for attr in ["dims", "data", "shape", "encoding"]):
   2921         # `other` satisfies the necessary Variable API for broadcast_variables
-> 2922         new_self, new_other = _broadcast_compat_variables(self, other)
   2923         self_data = new_self.data
   2924         other_data = new_other.data

File ~/Documents/Work/Code/xarray/xarray/core/variable.py:2899, in _broadcast_compat_variables(*variables)
   2893 """Create broadcast compatible variables, with the same dimensions.
   2894
   2895 Unlike the result of broadcast_variables(), some variables may have
   2896 dimensions of size 1 instead of the size of the broadcast dimension.
   2897 """
   2898 dims = tuple(_unified_dims(variables))
-> 2899 return tuple(var.set_dims(dims) if var.dims != dims else var for var in variables)

File ~/Documents/Work/Code/xarray/xarray/core/variable.py:2899, in <genexpr>(.0)
   2893 """Create broadcast compatible variables, with the same dimensions.
   2894
   2895 Unlike the result of broadcast_variables(), some variables may have
   2896 dimensions of size 1 instead of the size of the broadcast dimension.
   2897 """
   2898 dims = tuple(_unified_dims(variables))
-> 2899 return tuple(var.set_dims(dims) if var.dims != dims else var for var in variables)

File ~/Documents/Work/Code/xarray/xarray/core/variable.py:1479, in Variable.set_dims(self, dims, shape)
   1477     expanded_data = duck_array_ops.broadcast_to(self.data, tmp_shape)
   1478 else:
-> 1479     expanded_data = self.data[(None,) * (len(expanded_dims) - self.ndim)]
   1481 expanded_var = Variable(
   1482     expanded_dims, expanded_data, self._attrs, self._encoding, fastpath=True
   1483 )
   1484 return expanded_var.transpose(*dims)

File ~/miniconda3/envs/dev3.11/lib/python3.12/site-packages/numpy/array_api/_array_object.py:555, in Array.__getitem__(self, key)
    550 """
    551 Performs the operation __getitem__.
    552 """
    553 # Note: Only indices required by the spec are allowed. See the
    554 # docstring of _validate_index
--> 555 self._validate_index(key)
    556 if isinstance(key, Array):
    557     # Indexing self._array with array_api arrays can be erroneous
    558     key = key._array

File ~/miniconda3/envs/dev3.11/lib/python3.12/site-packages/numpy/array_api/_array_object.py:348, in Array._validate_index(self, key)
    344 elif n_ellipsis == 0:
    345     # Note boolean masks must be the sole index, which we check for
    346     # later on.
    347     if not key_has_mask and n_single_axes < self.ndim:
--> 348         raise IndexError(
    349             f"{self.ndim=}, but the multi-axes index only specifies "
    350             f"{n_single_axes} dimensions. If this was intentional, "
    351             "add a trailing ellipsis (...) which expands into as many "
    352             "slices (:) as necessary - this is what np.ndarray arrays "
    353             "implicitly do, but such flat indexing behaviour is not "
    354             "specified in the Array API."
    355         )
    357 if n_ellipsis == 0:
    358     indexed_shape = self.shape

IndexError: self.ndim=1, but the multi-axes index only specifies 0 dimensions. If this was intentional, add a trailing ellipsis (...) which expands into as many slices (:) as necessary - this is what np.ndarray arrays implicitly do, but such flat indexing behaviour is not specified in the Array API.

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.
[X] Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output
No response
Anything else we need to know?
No response
Environment
main branch of xarray, numpy 1.26.0

It's kind of weird that given these array API Variables
var1 = xr.DataArray(
    nxp.asarray([[1.0, 2.0, 3.0], [4.0, 5.0, np.nan]]),
    dims=("x", "y"),
    coords={"x": [10, 20]},
)
var2 = xr.DataArray(nxp.asarray([1.0, 2.0]), dims="x")

this doesn't work
var1 * var2

but this does
var1_expanded, var2_expanded = xr.broadcast(var1, var2)
var1_expanded * var2_expanded

Naively I would have thought that the broadcasting should go through the same code path in either case?


DOCK-1195: Populate versions in archive/unarchive endpoint response

Description
Recently, we added webservice endpoints to archive/unarchive entries.  These endpoints respond with the updated Entry, but they neglect to populate its Versions, so after updating the backing state with the returned Entry, the UI crashes, because when it retrieves the list of Versions from the Entry, it gets a null.
This PR changes the endpoints to populate the Versions in the returned Entry.
Review Instructions
Confirm that there is a list of Versions in the archive/unarchive endpoint Entry response.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-1195
https://github.com/dockstore/dockstore/issues/3199
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

These endpoints respond with the updated Entry, but they neglect to populate its Versions, so after updating the backing state with the returned Entry, the UI crashes, because when it retrieves the list of Versions from the Entry, it gets a null.

I'm not sure where in the UI it's crashing, but I wonder if instead of initializing versions in these endpoints, the UI should fetch the versions using another endpoint. There are some suggestions about what is best in this comment. A spin-off ticket  that was created is https://ucsc-cgl.atlassian.net/browse/SEAB-5761 where it suggests that workflow endpoints should never return versions and that the clients should fetch the versions separately instead, so I'm inclined to lean towards creating a separate GET entry versions endpoint (and we could have pagination as well if we wanted to), but I could be convinced otherwise

These endpoints respond with the updated Entry, but they neglect to populate its Versions, so after updating the backing state with the returned Entry, the UI crashes, because when it retrieves the list of Versions from the Entry, it gets a null.

I'm not sure where in the UI it's crashing, but I wonder if instead of initializing versions in these endpoints, the UI should fetch the versions using another endpoint. There are some suggestions about what is best in this comment. A spin-off ticket that was created is https://ucsc-cgl.atlassian.net/browse/SEAB-5761 where it suggests that workflow endpoints should never return versions and that the clients should fetch the versions separately instead, so I'm inclined to lean towards creating a separate GET entry versions endpoint (or use an existing entry type specific one) which could have pagination if wanted to, but I could be convinced otherwise

I tend to agree with most of this, but to avoid any unpleasant entanglements, I'd rather it happen in a different ticket.  This PR is meant to correct an oversight and update the archive/unarchive endpoints to fit the current pattern, wherein an endpoint that fiddles with an Entry responds with a new Entry that the UI can store and use immediately.  The most similar existing endpoint is the publish endpoint, see:
https://github.com/dockstore/dockstore/blob/8b4da4b709a7bd4dea86e8ae7a37e54e5bc802c8/dockstore-webservice/src/main/java/io/dockstore/webservice/resources/WorkflowResource.java#L789-L801
https://github.com/dockstore/dockstore-ui2/blob/37729cbb255915fc4c471f95511aa6d4b6a524fc/src/app/shared/entry-actions/entry-actions.service.ts#L139-L142


Create harshit.md

Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit a8936821396cce40e80d2bd52829a59e0e2cb641 at: https://66ec2dc5558e39bd61292aa4--meshery-docs-preview.netlify.app

It's nice to have you participating on the Meshery project and in the Layer5 community. 🙂 We encourage all newcomers to star the Meshery repo. Have you added your star? ⭐


Packaging of app as exe file with Github Actions

Created a new workflow that creates an exe file on every push and pull request. This files are stored in an artifact.
NOTE: This artifacts expire every 90 days.
Closes #10

Can u please attach a sample working .exe file for reference that u build on github actions !!

Hey @Yagueteiro  i have tested ur work, everything works like charm great job 👌

Pig me over the issue #7  I will assign it and close it over ur name


DEV: update pinned numba version for python3.12

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage remained the same at 91.547%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-11/Lib/site-packages/cogent3/core/alignment.py
1
93.78%

.nox/test-3-9/lib/python3.9/site-packages/cogent3/maths/scipy_optimize.py
2
83.88%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
236289

Relevant Lines:
258106

💛  - Coveralls


One-line generation

I'm considering the use of this library to replace uuid, for the sake of brevity.
Anyway, I think that separation of creating and generating in two distinct statement is overkill. What about a one-line generator? Since most of times I generate a single id, it would be far more convenient

What do you propose? Here is a practical implementation where we use this library to generate domain identities in our applications: https://github.com/nordsoftware/lumen-core/blob/develop/src/Domain/Model/ObjectId.php#L39

You should move logic (including parameters) to a Factory class, then just instantiate that class from ShortId class

Never mind.
I opted for writing a different (and better, of course) library


Switch build system to earthly

This also paves the way for further productionization because the init containers do a lot of the heavy lifting, extracted data is persisted (the whole postgres dump isn't imported into nominatim on each start anymore), serving containers start faster, and a bunch of other cool things.
Hope you like churn because pretty much everything got renamed.
Still to do:

[x] Update docs
[x] Update readme
[x] Copy the list of cities we support to a file somewhere to replace make list
[ ] Verify transit still works (it probably doesn't realistically speaking)
[ ] Get transit working (if it doesn't still work)

And it would be good to have a test plan to avoid more regressions.
Test plan:

[x] Check base-map functionality
[x] Check search auto-complete
[x] Check clicking on search results
[x] Check car routing
[x] Check bike routing
[x] Check walking routing
[ ] Check transit routing

Looks like Earthly doesn't handle copy-on-write which is a bummer because that means it'll keep several copies of planet.osm.pbf around, and worse still several copies of the nominatim and photon indices. :/

To close the loop on the multiple-copies issue, this is a problem but ZFS with duplication makes it a non-issue. VDO would probably do the same.

I'm going to merge this but feel free to comment here with ways we could improve the new build system.


Lens stuck at loading screen after upgrading to the latest version 2023.5.100746-latest

Describe the bug
Lens stuck at loading screen after upgrading to the latest version 2023.5.100746-latest. I also tried uninstall and reinstall but same issue. It used to work before upgrade
To Reproduce
Steps to reproduce the behavior:

Install the latest version 2023.5.100746-latest
See Lens stuck at loading

Expected behavior
Lens should work
Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

Lens Version: 2023.5.100746-latest
OS: Windows 11
Installation method (e.g. snap or AppImage in Linux): Installed through the installer exe

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
info:    Γû¬ ≡ƒöî Starting LensProxy +0ms
info:    Γû¬ [LENS-PROXY]: Proxy server has started at <IP_ADDRESS>:1773 +5ms
info:    Γû¬ ≡ƒöÄ Testing LensProxy connection ... +1ms
info:    Γû¬ [LENS-USER-STORE]: LOADING ... +7ms
info:    Γû¬ [LENS-USER-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-user-store.json +6ms
info:    Γû¬ [LENS-CLUSTER-STORE]: LOADING ... +0ms
info:    Γû¬ [LENS-CLUSTER-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-cluster-store.json +163ms
info:    Γû¬ ΓÜí LensProxy connection OK +23ms
info:    Γû¬ [CREATE-ELECTRON-WINDOW]: Loading content for window "splash" from file: C:\Program Files\Lens\resources\app.asar\static\splash.html... +33ms
info:    Γû¬ [CREATE-ELECTRON-WINDOW]: Window "splash" loaded +142ms
info:    Γû¬ [LENS-EXTENSIONS]: LOADING ... +20ms
info:    Γû¬ [LENS-EXTENSIONS]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-extensions.json +2ms
info:    Γû¬ [LENS-WEBLINK-STORE]: LOADING ... +14ms
info:    Γû¬ [LENS-WEBLINK-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-weblink-store.json +7ms
info:    Γû¬ ≡ƒôƒ Setting protocol client for lens:// +6ms
info:    Γû¬ ≡ƒôƒ Protocol client register succeeded Γ£à +1ms
info:    Γû¬ [LENS-FILESYSTEM-PROVISIONER-STORE]: LOADING ... +21ms
info:    Γû¬ [LENS-FILESYSTEM-PROVISIONER-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-filesystem-provisioner-store.json +2ms
info:    Γû¬ ≡ƒÉÜ Syncing shell environment +1ms
info:    Γû¬ [LENS-HOTBAR-STORE]: LOADING ... +25ms
info:    Γû¬ [LENS-HOTBAR-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\lens-hotbar-store.json +2ms
info:    Γû¬ ≡ƒº⌐ Initializing extensions +6ms
info:    Γû¬ [EXTENSIONS-LOADER]: auto initializing extensions +1ms
info:    Γû¬ [CLI] activated +129ms
info:    Γû¬ [CLOUD-PROVIDER-SYNC-EXTENSION] activated +17ms
info:    Γû¬ [LENS-DESKTOP-KUBE] onActivate +194ms
info:    Γû¬ [LDK-STORE]: LOADING ... +1ms
info:    Γû¬ [LDK-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lens-desktop-kube-lens-extension\ldk-store.json +1ms
License main extension activated
Native extraction module not loaded, msgpackr will still run, but with decreased performance. Cannot find module 'msgpackr-extract'
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.168Z - select-space-store ~ ElectronSyncStore:initialize, path C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\select-space-store.json
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.169Z - startup-store ~ ElectronSyncStore:initialize, path C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\startup-store.json
info:    Γû¬ [SECURITY-PREFERENCES-STORE]: LOADING ... +285ms
info:    Γû¬ [SECURITY-PREFERENCES-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\oci-image-lens-extension\security-preferences-store.json +1ms
info:    Γû¬ [SUPPORT-EXTENSION] activated +85ms
info:    Γû¬ [PREFERENCES-STORE]: LOADING ... +2ms
info:    Γû¬ [PREFERENCES-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\survey-lens-extension\preferences-store.json +1ms
info:    Γû¬ [TOUR-EXTENSION] activated +79ms
info:    Γû¬ [TIP-STORE]: LOADING ... +1ms
info:    Γû¬ [TIP-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\tour-lens-extension\tip-store.json +0ms
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.583Z - select-space-store ~ ElectronSyncStore:initialize, model {"e2b989d2-922e-41fb-bfb7-ee5dc4e21192":{"spaceId":"offline","isPersonalSpace":true,"spaceName":"offline"}}
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.583Z - select-space-store ~ ipcListen
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.584Z - startup-store ~ ElectronSyncStore:initialize, model {"skipSignup":false}
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:26.584Z - startup-store ~ ipcListen
telemetry main extension activated
info:    Γû¬ [PREFERENCES-STORE]: LOADING ... +72ms
info:    Γû¬ [PREFERENCES-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\telemetry-lens-extension\preferences-store.json +2ms
info:    Γû¬ [LOCAL-METADATA-STORE]: LOADING ... +60ms
info:    Γû¬ [LOCAL-METADATA-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\local-metadata-store.json +1ms
info:    Γû¬ [RELEASE-NOTES-STORE]: LOADING ... +1ms
info:    Γû¬ [RELEASE-NOTES-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\release-notes-store.json +2ms
info:    Γû¬ [END-OF-TRIAL-STORE]: LOADING ... +0ms
info:    Γû¬ [END-OF-TRIAL-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\end-of-trial-store.json +1ms
info:    Γû¬ [GRACE-PERIOD-STORE]: LOADING ... +1ms
info:    Γû¬ [GRACE-PERIOD-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\grace-period-store.json +1ms
info:    Γû¬ [SPACES-SETTINGS-STORE]: LOADING ... +1ms
info:    Γû¬ [SPACES-SETTINGS-STORE]: LOADED from C:\Users\z\AppData\Roaming\Lens\extension-store\lenscloud-lens-extension\spaces-settings-store.json +1ms
info:    Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:26 PM Broadcasted spaces change to SpacesListener on renderer +61ms
warn:    Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:26 PM No spaces in SpaceSyncer disposeSpacesReaction, not changing selected space. +0ms
info:    Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:26 PM Lens Spaces Extension activated +5ms
Input Error: Can not find script file "C:\Program Files\Lens\resources\app.asar\node_modules\regedit\vbs\regList.wsf".

error:   ΓöÅ [CLI] activation error Command failed: cscript.exe //Nologo C:\Program Files\Lens\resources\app.asar\node_modules\regedit\vbs\regList.wsf A HKCU\Environment
 +31ms
error:   Γöâ [ 1] Error: Command failed: cscript.exe //Nologo C:\Program Files\Lens\resources\app.asar\node_modules\regedit\vbs\regList.wsf A HKCU\Environment
error:   Γöâ [ 2]
error:   Γöâ [ 3]     at ChildProcess.exithandler (node:child_process:408:12)
error:   Γöâ [ 4]     at ChildProcess.emit (node:events:526:28)
error:   Γöâ [ 5]     at ChildProcess.emit (node:domain:475:12)
error:   Γöâ [ 6]     at maybeClose (node:internal/child_process:1092:16)
error:   Γöâ [ 7]     at Socket.<anonymous> (node:internal/child_process:451:11)
error:   Γöâ [ 8]     at Socket.emit (node:events:526:28)
error:   Γöâ [ 9]     at Socket.emit (node:domain:475:12)
error:   Γöâ [10]     at Pipe.<anonymous> (node:net:687:12)
error:   Γöâ [11] {
error:   Γöâ [12]   killed: false,
error:   Γöâ [13]   code: 1,
error:   Γöâ [14]   signal: null,
error:   Γöâ [15]   cmd: 'cscript.exe //Nologo C:\\Program Files\\Lens\\resources\\app.asar\\node_modules\\regedit\\vbs\\regList.wsf A HKCU\\Environment'
error:   Γöù [16] }
info:    Γû¬ [LENS-SECURITY] activated +66ms
warn:    ΓöÅ [LENS-SPACES-EXTENSION]: (from:onRefreshTokenError) 5/10/2023, 11:22:27 PM InvalidGrantError error, reset Lens state and set connected=false... Offline user session not found +256ms
warn:    Γöâ [1] Error: Offline user session not found
warn:    Γöâ [2]     at t.refreshTokens (C:\Program Files\Lens\resources\app.asar\node_modules\@lensapp\lenscloud-lens-extension\dist\main.js:2:31016)
warn:    Γöâ [3]     at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
warn:    Γöù [4]     at async AuthTokenStore.refresh (C:\Program Files\Lens\resources\app.asar\node_modules\@lensapp\lenscloud-lens-extension\dist\main.js:2:45593)
info:    Γû¬ [LENS-SPACES-EXTENSION]: (from:resetSpaceSyncer) Clearing spaces/k8sClusters... +1ms
error:   Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:27 PM Error: Offline user session not found +12ms
warn:    Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:27 PM Couldn't refresh tokens, starting token refresher later. +0ms
info:    Γû¬ [LENS-SPACES-EXTENSION]: 5/10/2023, 11:22:27 PM isLensCloudStatusOk on initialization returns true +102ms
warn:    Γû¬ [LENS-DESKTOP-KUBE] not a valid lens subscription, stopping ... +1s
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+42ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+1ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION]: enabled<EMAIL_ADDRESS>+0ms
info:    Γû¬ [EXTENSION-DISCOVERY] loading extensions from C:\Users\z\AppData\Roaming\Lens +1ms
info:    Γû¬ [EXTENSION-DISCOVERY] watching extension add/remove in C:\Users\z\.k8slens\extensions +3ms
info:    Γû¬ [CREATE-ELECTRON-WINDOW]: Loading content for window "first-application-window" from url: https://lens.app:1773... +7ms
info:    Γû¬ [CREATE-ELECTRON-WINDOW]: Window "first-application-window" loaded +2s
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:31.310Z - select-space-store ~ ipc electron-sync-store:renderer:initialize:select-space-store received
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:31.311Z - select-space-store ~ ipc electron-sync-store:renderer:initialize:select-space-store received
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:31.311Z - startup-store ~ ipc electron-sync-store:renderer:initialize:startup-store received
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:31.372Z - select-space-store ~ ipc electron-sync-store:renderer:initialize:select-space-store received
[ELECTRON-SYNC-STORE]: 2023-05-11T03:22:31.372Z - startup-store ~ ipc electron-sync-store:renderer:initialize:startup-store received

Kubeconfig:
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: masked
    server: masked
  name: masked
- cluster:
    certificate-authority-data:  masked
    server: masked
  name: masked
contexts:
- context:
    cluster: masked
    user: masked
  name: masked
- context:
    cluster: masked
    user: masked
  name: masked
current-context: masked
kind: Config
preferences: {}
users:
- name: masked
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args: masked
      command: masked
      env: null
      provideClusterInfo: false
- name: masked
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args: masked
      command: masked
      env:
      - name: masked
        value: masked
      provideClusterInfo: false

Additional context
Add any other context about the problem here.

I am also getting this same issue. I am running Windows 10 however.

How do I go about rolling back to the previous version of Lens?
I cant seem to find any installer links anywhere for previous versions?

the same issue

Facing the same issue on M2 chip (Ventura), after updating Len it keeps loading.

Mac (Intel, Ventura) - same issue

I'm struggling with the same issue as well.
Lens v2023.5.100746-latest (10.5.2023)
Windows 10 22H2

Can we download the previous stable version?

For those who really need a working Lens of one of the previous versions, until the new one is fixed:
https://api.k8slens.dev/binaries/Lens-2023.4.141316-latest.dmg

This should be the according Windows file: https://api.k8slens.dev/binaries/Lens Setup 2023.4.141316-latest.exe

Sorry for the circumstances, we are looking into this with highest priority! Will keep you all posted here!

Same here with the last Mac OS Silicon version

We've rolled back the version. If you've already updated you can download the version manually.

Tell me where to download the previous version of the package in deb format?

Tell me where to download the previous version of the package in deb format?

Can't you find it in /var/cache/apt/?

deb format: https://api.k8slens.dev/binaries/Lens-2023.4.141316-latest.amd64.deb

Having the same issue in Linux Mint also.

Tell me where to download the previous version of the package in deb format?
@DRON4eg Can't you find it in /var/cache/apt/?

this directory is empty, it was cleared earlier to save space)
But above already offered a link to the deb package
Thanks everyone

Same here. I'm on Linux 22.04.02 LTS

Lens 2023.5.120950-latest released which has a bug fix for this issue. Please update to this version (manually if autoupdate is not working).

having this issue on the latest build


Operation request: Respace / Chunks

Summary
Add given whitespace (or any custom delimiter; I can imagine space and newline being the most useful) at regular intervals to a string. The use case is to separate a large block of text data into chunks.
Example Input
010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001 with interval 8 and delimiter space
Example Output
01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001

You can do this already with
Regular Expression
Regex:  .{8}
Output Format: List Matches
Find and Replace
Find:  \n            / Extended
Replace:     <-Just type a space here
You example see here


Split types out so module is easier to mock for testing

Feature Request
I'd like to see the exported types split out to a separate file, so the type-only file could be included in a mock setup file, without pulling in the logic (which checks for native module availability, and thus errors in jest test environments)
Why it is needed
Without a separate type file you have to duplicate some of the typings just to mock things effectively, as including the main logic file causes an error related to the native module being unavailable
Possible implementation
The netinfo module has a good example setup for this - it's mostly a file structure change:
https://github.com/react-native-community/react-native-netinfo/blob/master/src/internal/types.ts
Code sample
Here's how you would use it https://github.com/react-native-community/react-native-netinfo/blob/master/jest.setup.js#L11
Honestly, until I tried to mock out react-native-permissions I didn't understand why the types were split out on netinfo, and then it immediately made sense

In the meantime, for anyone else mocking this out in testing, I have this effectively passing my tests now (though only the 'check' method from this library is exercised in my tests - so you will need to add mocks if needed)
It is basically a copy-paste of the full type structure, then mocks on the functions - fragile, but temporarily effective
./__mocks__/react-native-permissions.ts:
const ANDROID = Object.freeze({
  ACCEPT_HANDOVER: 'android.permission.ACCEPT_HANDOVER' as const,
  ACCESS_BACKGROUND_LOCATION: 'android.permission.ACCESS_BACKGROUND_LOCATION' as const,
  ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION' as const,
  ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION' as const,
  ACTIVITY_RECOGNITION: 'android.permission.ACTIVITY_RECOGNITION' as const,
  ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL' as const,
  ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS' as const,
  BODY_SENSORS: 'android.permission.BODY_SENSORS' as const,
  CALL_PHONE: 'android.permission.CALL_PHONE' as const,
  CAMERA: 'android.permission.CAMERA' as const,
  GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS' as const,
  PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS' as const,
  READ_CALENDAR: 'android.permission.READ_CALENDAR' as const,
  READ_CALL_LOG: 'android.permission.READ_CALL_LOG' as const,
  READ_CONTACTS: 'android.permission.READ_CONTACTS' as const,
  READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE' as const,
  READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS' as const,
  READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE' as const,
  READ_SMS: 'android.permission.READ_SMS' as const,
  RECEIVE_MMS: 'android.permission.RECEIVE_MMS' as const,
  RECEIVE_SMS: 'android.permission.RECEIVE_SMS' as const,
  RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH' as const,
  RECORD_AUDIO: 'android.permission.RECORD_AUDIO' as const,
  SEND_SMS: 'android.permission.SEND_SMS' as const,
  USE_SIP: 'android.permission.USE_SIP' as const,
  WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR' as const,
  WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG' as const,
  WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS' as const,
  WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE' as const,
});

const IOS = Object.freeze({
  BLUETOOTH_PERIPHERAL: 'ios.permission.BLUETOOTH_PERIPHERAL' as const,
  CALENDARS: 'ios.permission.CALENDARS' as const,
  CAMERA: 'ios.permission.CAMERA' as const,
  CONTACTS: 'ios.permission.CONTACTS' as const,
  FACE_ID: 'ios.permission.FACE_ID' as const,
  LOCATION_ALWAYS: 'ios.permission.LOCATION_ALWAYS' as const,
  LOCATION_WHEN_IN_USE: 'ios.permission.LOCATION_WHEN_IN_USE' as const,
  MEDIA_LIBRARY: 'ios.permission.MEDIA_LIBRARY' as const,
  MICROPHONE: 'ios.permission.MICROPHONE' as const,
  MOTION: 'ios.permission.MOTION' as const,
  PHOTO_LIBRARY: 'ios.permission.PHOTO_LIBRARY' as const,
  REMINDERS: 'ios.permission.REMINDERS' as const,
  SIRI: 'ios.permission.SIRI' as const,
  SPEECH_RECOGNITION: 'ios.permission.SPEECH_RECOGNITION' as const,
  STOREKIT: 'ios.permission.STOREKIT' as const,
});

export const PERMISSIONS = Object.freeze({ ANDROID, IOS });

export const RESULTS = Object.freeze({
  UNAVAILABLE: 'unavailable' as const,
  DENIED: 'denied' as const,
  BLOCKED: 'blocked' as const,
  GRANTED: 'granted' as const,
});

type Values<T extends object> = T[keyof T];

export type AndroidPermission = Values<typeof ANDROID>;
export type IOSPermission = Values<typeof IOS>;
export type Permission = AndroidPermission | IOSPermission;

export type PermissionStatus = Values<typeof RESULTS>;

// mock out any functions you want in this style...
export async function check(permission: Permission) {
  jest.fn();
}

@mikehardy That's a good idea. I will add it in the next minor release + add documentation about testing / mocking.

And let me say, using 2.0 and just launched it out to my formal dev envs (a real TestFlight launch, and Android installs) and it seems to work great. The imports were obviously different (I use typescript) and the methods changed just a little but all in all easy upgrade and works great and I got to remove 5 plist permission entries on the iOS side. Thank you sir!

@mikehardy Should be OK, give it a look: https://github.com/react-native-community/react-native-permissions/tree/master/src. I will probably fix #329 before making the release.

It's shipped 🚀 https://github.com/react-native-community/react-native-permissions/releases/tag/2.0.1

Oh great! I'll give it a whirl in the next couple days but I'm sure it's fine, and this will be a help. Thanks @zoontek

Update - with v2.0.2 I am now using this as a mock - I no longer need the types but I still need the constants, I'd love to be able to PR a fix (or simply demonstrate how to use the currently existing typing correctly) but my type skills are too weak at the moment.
__mocks__/react-native-permissions.ts:
import * as RNPermission from 'react-native-permissions/lib/typescript';

const ANDROID = Object.freeze({
  ACCEPT_HANDOVER: 'android.permission.ACCEPT_HANDOVER' as const,
  ACCESS_BACKGROUND_LOCATION: 'android.permission.ACCESS_BACKGROUND_LOCATION' as const,
  ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION' as const,
  ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION' as const,
  ACTIVITY_RECOGNITION: 'android.permission.ACTIVITY_RECOGNITION' as const,
  ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL' as const,
  ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS' as const,
  BODY_SENSORS: 'android.permission.BODY_SENSORS' as const,
  CALL_PHONE: 'android.permission.CALL_PHONE' as const,
  CAMERA: 'android.permission.CAMERA' as const,
  GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS' as const,
  PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS' as const,
  READ_CALENDAR: 'android.permission.READ_CALENDAR' as const,
  READ_CALL_LOG: 'android.permission.READ_CALL_LOG' as const,
  READ_CONTACTS: 'android.permission.READ_CONTACTS' as const,
  READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE' as const,
  READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS' as const,
  READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE' as const,
  READ_SMS: 'android.permission.READ_SMS' as const,
  RECEIVE_MMS: 'android.permission.RECEIVE_MMS' as const,
  RECEIVE_SMS: 'android.permission.RECEIVE_SMS' as const,
  RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH' as const,
  RECORD_AUDIO: 'android.permission.RECORD_AUDIO' as const,
  SEND_SMS: 'android.permission.SEND_SMS' as const,
  USE_SIP: 'android.permission.USE_SIP' as const,
  WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR' as const,
  WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG' as const,
  WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS' as const,
  WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE' as const,
});

const IOS = Object.freeze({
  BLUETOOTH_PERIPHERAL: 'ios.permission.BLUETOOTH_PERIPHERAL' as const,
  CALENDARS: 'ios.permission.CALENDARS' as const,
  CAMERA: 'ios.permission.CAMERA' as const,
  CONTACTS: 'ios.permission.CONTACTS' as const,
  FACE_ID: 'ios.permission.FACE_ID' as const,
  LOCATION_ALWAYS: 'ios.permission.LOCATION_ALWAYS' as const,
  LOCATION_WHEN_IN_USE: 'ios.permission.LOCATION_WHEN_IN_USE' as const,
  MEDIA_LIBRARY: 'ios.permission.MEDIA_LIBRARY' as const,
  MICROPHONE: 'ios.permission.MICROPHONE' as const,
  MOTION: 'ios.permission.MOTION' as const,
  PHOTO_LIBRARY: 'ios.permission.PHOTO_LIBRARY' as const,
  REMINDERS: 'ios.permission.REMINDERS' as const,
  SIRI: 'ios.permission.SIRI' as const,
  SPEECH_RECOGNITION: 'ios.permission.SPEECH_RECOGNITION' as const,
  STOREKIT: 'ios.permission.STOREKIT' as const,
});

export const PERMISSIONS = Object.freeze({ ANDROID, IOS });

export const RESULTS = Object.freeze({
  UNAVAILABLE: 'unavailable' as const,
  DENIED: 'denied' as const,
  BLOCKED: 'blocked' as const,
  GRANTED: 'granted' as const,
});

// mock out any functions you want in this style...
export async function check(permission: RNPermission.Permission) {
  jest.fn();
}

@mikehardy I also split constants when splitting types, thinking it will be convenient: https://github.com/react-native-community/react-native-permissions/blob/master/src/constants.ts
import { ANDROID, IOS, PERMISSIONS, RESULTS } from 'react-native-permissions/src/constants.ts';

It should do the trick. I will add a jestSetup.js file soon to automatically mock the module.

Yeah, I tried that but jest was unhappy with the second import on constants

Yeah, I tried that but jest was unhappy with the second import on constants

Try with
const {
  PERMISSIONS,
  RESULTS,
} = require('react-native-permissions/lib/commonjs/constants.js');

Success! @zoontek - current mock is this and looks good to go, I am not violating the DRY principle anywhere any more :-)
__mocks__/react-native-permission.ts
import * as RNPermission from 'react-native-permissions/lib/typescript';
const { PERMISSIONS, RESULTS } = require('react-native-permissions/lib/commonjs/constants.js');

export { PERMISSIONS, RESULTS };
// mock out any functions you want in this style...
export async function check(permission: RNPermission.Permission) {
  jest.fn();
}

is there any sample test file for this lib?

For anyone finding this after upgrading to version 3, the constants are now available in a different directory:
const {
  RESULTS,
} = require('../node_modules/react-native-permissions/dist/commonjs/results.js')
const {
  PERMISSIONS,
} = require('../node_modules/react-native-permissions/dist/commonjs/permissions.js')

export { PERMISSIONS, RESULTS }

export async function check() {
  jest.fn()
}

Reading the PERMISSION directly from '../node_modules/react-native-permissions/dist/commonjs/results.js'
results in empty objects:
const PERMISSIONS = Object.freeze({
  ANDROID: {},
  IOS: {},
  WINDOWS: {}
});

To use the actual PERMISSIONS in the tests I needed to adjust the mock to
const {
  RESULTS,
} = require('../node_modules/react-native-permissions/dist/commonjs/results.js')

const androidPermissions = require('../node_modules/react-native-permissions/dist/commonjs/permissions.android.js')
const iosPermissions = require('../node_modules/react-native-permissions/dist/commonjs/permissions.ios.js')

const PERMISSIONS = {
  ANDROID: androidPermissions.PERMISSIONS.ANDROID,
  IOS: iosPermissions.PERMISSIONS.IOS,
  WINDOWS: {}
};

export { PERMISSIONS, RESULTS }

export async function check() {
  jest.fn()
}


[BUG] Merlin-Models does not support target variable tagged as CATEGORICAL

Bug description
Loading a data with multi-class target variable (Tagged as categorical) throws a key-error:
File /models/merlin/models/loader/backend.py:575, in DataLoader._create_tensors(self, gdf)
    572 if hasattr(column_names, "column_names"):
    573     column_names = column_names.column_names
--> 575 gdf_i = gdf[column_names]
...
File /usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py:398, in <dictcomp>(.0)
    397 def _select_by_label_list_like(self, key: Any) -> ColumnAccessor:
--> 398     data = {k: self._grouped_data[k] for k in key}
    399     if self.multiindex:
    400         data = _to_flat_dict(data)

KeyError: 'Post'

This error is related to: In Merlin-Models, we assume the target variable does not have a CATEGORICAL or CONTINUOUS tags.
Steps/Code to reproduce bug
This is a basic code to reproduce the bug:
import pandas as pd

import nvtabular as nvt
from merlin.io import Dataset
import merlin.models.tf as mm
from merlin.schema import Schema, Tags

df = pd.DataFrame(
    {
        "Author": ["User_A", "User_E", "User_B", "User_C"],
        "Engaging User": ["User_B", "User_B", "User_A", "User_D"],
        "Post": [1, 2, 3, 4],
    }
)
cat_names = ["Post", ["Author", "Engaging User"]]
cats = cat_names >> nvt.ops.Categorify(encode_type='joint')
target = cats['Post'] >> nvt.ops.AddMetadata(tags=Tags.TARGET)
workflow = nvt.Workflow(cats+target)
df_transform = workflow.fit_transform(Dataset(df))
mm.sample_batch(df_transform, batch_size=2)

Expected behavior
Load data with a categorical target without any error. And exclude target variable from the input block.
Additional context
A discussion about how to ensure the target is not selected as an input feature during the data-loading can be found here. To keep all information from the pre-processing step, the proposed solution is to add the excluding method to the schema so that we can select variables as follow:
schema.select_by_tag(Tags.CATEGORICAL).excluding(Tags.TARGET)

@sararb , why is this a P0 bug ?  @EvenOldridge , @sohn21c  for vis.


LSP fails when gems contain a rbi directory

Input
With Gemfile:
gem 'sorbet'
gem 'sorbet-runtime
gem 'sorbet-coerce', '0.2.3'

bundle exec srb tc --lsp

Observed output
Sorbet's language server requires a single input directory.

https://github.com/chanzuckerberg/sorbet-coerce/pull/38
Expected behavior
No errors.
For people running into the same issue, here is the workaround we currently use:
$(bundle show sorbet-static)/libexec/sorbet --lsp

This is a duplicate of #2496.


APKs using deprecated MD5 signature

Just a note: your APKs are still signed using MD5, which is deprecated.
ERROR: JAR signer PELYA.RSA: Failed to verify JAR signature META-INF/PELYA.RSA against META-INF/PELYA.SF: java.security.SignatureException: Algorithm constraints check failed on disabled algorithm: MD5.

As you know, deprecated soon might mean unsupported – so you might wish to act on this :wink:

@pelya Just to inform you that at least one other project was able to solve this issue  (see here). Their solution might apply to your project as well. Quoting:

The solution was clearly one of the:

Transition from Maven to Gradle build system.
Update of Android SDK and build tools.

But no change in certificates and keys was made.

Worth a look I'd say (a quick glance informs me you're not using Gradle, so it might apply).

@pelya is this project abandoned?

Yes. Android 8 and newer disallows drawing over notification panel and
system navigation bar, so the app cannot work properly on it. I keep it
published only because someone asked it.
On Wed, Feb 13, 2019, 14:38 Izzy<EMAIL_ADDRESS>wrote:

@pelya https://github.com/pelya is this project abandoned?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pelya/screen-dimmer-pixel-filter/issues/15#issuecomment-463184178,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJewEKFtOsr6djkkU9HgeI0nq3vG5z0ks5vNAc5gaJpZM4QONRF
.

Thanks for the sad news, @pelya – but at least the status is clear now. May I suggest you mention that in the README? Optionally, you could also archive this project via its settings.

Updating the readme done. I'll archive the repo.


How to use specifications without a repository?

I noticed that one of the reasons users avoid using specifications is because they don't like adding additional abstractions on top of DbContext. More specifically, they don't like repositories.
Usually, their arguments are:

I don't like additional abstraction. I don't plan to switch the ORM anyway.
EF is quite a powerful tool and offers quite complex features. Why would I hide all of that behind a repository and expose a minimal set of functionalities?
I use Automapper's ProjectTo feature to map the EF queries to my models. It automatically creates select queries for me.

These are totally valid points. But, using specifications doesn't necessarily require repositories, and this fact might not be so obvious to the users. In order to mitigate this, we can define a set of extension methods to simplify this usage.
Proposed API
var specification = new CustomerSpecification();
dbContext.Customers.ApplySpecification(specification).ToListAsync();
dbContext.Customers.ApplySpecification(specification).FirstOrDefaultAsync();
dbContext.Customers.ApplySpecification(specification).Select("whatever your expression is").ToListAsync();

// in combination with AutoMapper
dbContext.Customers.ApplySpecification(specification).ProjectTo<SomeModel>(configuration).ToListAsync();

// alternatively, we can overload some of the extension methods
dbContext.Customer.ToListAsync(specification);

We'll just build the query to some point using specifications, and afterward, the user can use EF's methods to materialize the query or continue building the query if necessary in more complex scenarios.

This is working now in the v5 branch, which is also available here:
https://www.nuget.org/packages/Ardalis.Specification/5.0.1-beta

This is implemented with minor changes, as following:

The ApplySpecification extension method is renamed to WithSpecification. It is extension to IQueryable. The usage is as following:

dbContext.Customers.WithSpecification(specification).ToListAsync();
dbContext.Customers.WithSpecification(specification).FirstOrDefaultAsync();
dbContext.Customers.WithSpecification(specification).Select("whatever your expression is").ToListAsync();
dbContext.Customers.WithSpecification(specification).UseWhateverExtensionsAvailableForIQueryable;
// in combination with AutoMapper
dbContext.Customers.ApplySpecification(specification).ProjectTo<SomeModel>(configuration).ToListAsync();

We also shipped method overload for ToListAsync which accepts specification as parameter. This is necessary if you want to evaluate the PostProcessingAction defined in the specification. This is defined as extension method to DbSet not to IQueryable in order to avoid some missusages (what if you do Select first, etc). The usage is as following:

dbContext.Customer.ToListAsync(specification);

We might restrict the WithSpecification as well to DbSet (the same issue with Select). It might be wiser that way. You start with DbSet, apply a specification, and then you can do whatever you want.

Now that I'm thinking of it, since you can chain the WithSpecification, some interesting use-cases can be designed. You can apply some common specification for a given entity, and then keep building it with more specific one.
The users also could organize the specification a bit differently. Instead of naming the specs by their content, they could name them by their intended usage.
dbContext.Customers.WithSpecification(new CustomerCommonSpec())
                   .WithSpecification(new ListCustomersSpec())
                   .ToListAsync();

dbContext.Customers.WithSpecification(new CustomerCommonSpec())
                  .WithSpecification(new EditCustomerSpec(id))
                  .ToListAsync();

where CustomerCommonSpec could hold some common criteria. Let's say I have 1:1 relation with Address table and always want to include it when retrieving the customers.
public class CustomerCommonSpec : Specification<Customer>
{
    public CustomerCommonSpec()
    {
         Query.Include(x => x.Address);
    }
}

My only concern with this is that it might be abused in ways similar to just exposing IQueryable. Choosing how to stitch together multiple specifications is essentially data access logic, and we would be putting it in other places throughout the app, rather than only in the specifications themselves. Now to test if a query is correct, you can't just test a specification, but instead you must test a particular combination of specifications.
That's not to say we can't support it, but it seems like a "footgun" to me and one we would want to offer warnings about in our docs. At some point it starts to look like LINQ-but-with-strongly-typed-expressions which perhaps adds some value but isn't as nicely encapsulated as using a single specification to describe, completely, a single data operation/query.

I do completely agree with you. But, probably that's valid when specs are used with repositories, and we indeed force only one specification in that usage.
But, in this case where we work directly with dbContext, you already have a leaky abstraction. You already return an IQueryable, and you're free to do additional stuff. Folks using this approach probably will use it exactly because of this reason.
Generally, I do agree with your sentiment.

Implemented in version 5.0.3

Is it possible to use Automapper's ProjectTo<> in the specification or do you need to use the WithSpecification pattern?

You can use the WithSpecification feature for that. Alternatively, you can utilize it in your base repository.
We can't include such a feature in our built-in base repository. It would be too specific to Automapper.

Thanks for all your help @fiseni !


Where to call the class Migration to enable pgvector extension?

I want to enable the pgvector extension on a runing pg DB.
So, in which file should the following class be written?
from pgvector.django import VectorExtension

class Migration(migrations.Migration):
    operations = [
        VectorExtension()
    ]

Thank you!

Done!
my_project/my_app/migrations/000X_initial.py
from django.db import migrations
from pgvector.django import VectorExtension

class Migration(migrations.Migration):
    dependencies = []

    operations = [VectorExtension()]

then
manage.py makemigrations my_app --empty

manage.py migrate


Update ja-JP.lang for v9

Note: I found "tooltip.QuantumEntangloporter" has not exist en_US.lang

This PR stand on #3154

Thanks so much!


Release prep for 0.5.0

Coverage remained the same at 79.245% when pulling 5bf3d55003c29a4cebd6111857322e6fae7c64b3 on DavidS:release-prep into bcb9bda8cfc9165f7b94e57dcc583c8520230f9a on camptocamp:master.

@DavidS so I just have to merge, tag, build and push on rubygems?

To the best of my knowledge, yes.


TypeScript error "Could not find a declaration file for module"

Could not find a declaration file for module 'astro-i18next'. './node_modules/.pnpm/astro-i18next<EMAIL_ADDRESS>implicitly has an 'any' type.
There are types at './node_modules/astro-i18next/dist/types/index.d.ts', but this result could not be resolved when respecting package.json "exports". The 'astro-i18next' library may need to update its package.json or typings.ts(7016)

astro-i18next version: 1.0.0 (beta 21)
astro version: 3.0.5
OS: Mac Os Ventura
Code Editor: VS Code

https://github.com/gxmari007/vite-plugin-eslint/pull/60

Using the pnpm patch command for a temporary fix.
https://github.com/bowencool/blog/commit/5298ae714c9f304a75b8124c7afc5458e0032532


Include UML class diagram of ParticleSet in docs folder

Inclusion, discussion and refactoring of UML class diagram for upcoming ParticleSet refactoring

Thanks @CKehl! What's the easiest way to view and/or comment on this xlm file?

Thanks @CKehl! What's the easiest way to view and/or comment on this xlm file?

After some digging around for the correct website, I found that https://app.diagrams.net/#HOceanParcels%2Fparcels%2Finclude_pset_class_hierarchy_in_docs%2Fdocs%2FParticleSet_UML.drawio is the way to visualise this file
Any idea how to best comment and/or give feedback on this diagram?

you can use https://draw.io, connect it to Github, and then you should be able to view the file.
Alternative: go to draw.io, download the desktop app, install it, checkout the issue and then you can work with the file locally.
Comment: well, you can use a non-block shape (perhaps a cloud ?) to attach your questions. If it's a longer question, we need to talk, I think. UML software modelling and CI was never something to-be-combined ...

Thanks @CKehl. I've now been able to see the diagram; very nice!
A few comments (easier here as a list, rather than as clouds):

Is Collection.ncount the same as what is now ParticleSet.size? If so, should we rename ncount to size?
I don't see anything on MPI and moving Particles between processors. Should that also be a (set of) method(s) in Collection?
Should we rename Collection to something more specific to Parcels? E.g. ParticleCollection
Same for Iterator: e.g. ParticleIterator?
The print (__repr__) methods are missing for Particle and ParticleSet?

k, I'll answer the questions one by one.

Is Collection.ncount the same as what is now ParticleSet.size? If so, should we rename ncount to size?
Comment: I vote against it. 'Size' is rather ambiguous. You know this from the 'Particle' itself. Does it describe the byte size, or the number of elements (e.g. Particles, variables, ...) ? Thus, usually a variable (or: property) describing the number of entities is called 'ncount', and returned by the 'length()' function. 'size' usually describes the byte size in memory, which is returned by 'size()' or 'sizeOf()'.

I don't see anything on MPI and moving Particles between processors. Should that also be a (set of) method(s) in Collection?
Comment: MPI parallelisation is quite a specific technique, which rather has to do with the layout and processing and management of the variables, not the variables specifically. UML class diagrams usually has just the purpose to model the data structure and the relations and inheritance structure between classes. The main purpose of it is to devise a structure that increases inheritance and minimizes code duplication. So MPI is an important topic - but I think right now it might be too early to already tackle that problem. Also, in view of our code specifically, most of the MPI data splitting is part of the init() function of each specific ParticleSet. What I did miss in the diagram is to mention the 'init()' function in each specific ParticleSet.

Should we rename Collection to something more specific to Parcels? E.g. ParticleCollection
Comment: yes, we can do that. I just wanted to make the relation to classic software classes, common to nearly all object-oriented computer languages, obvious and explicit. Helps for example also to check if I missed some essential functions - just having to look up the member function list of Collections in Python, Java or C++.

Same for Iterator: e.g. ParticleIterator?
Comment: yes, reasoning is again as in (3)

The print (__repr__) methods are missing for Particle and ParticleSet?
Comment: __repre__ (Python-specific) or toString (generic) are missing in there. I think this function has a base implementation in the Collections class, just printing the class name and ncount, and a specific implementation in each ParticleSet class, which prints the core properties of each structure. But that's just my thinking.

A few early obeservations/questions:

Not really a crucial point, but in the current diagram almost all relations are diamond-shaped, which signifies an aggregation, I believe. Most of these are meant to represent inheritance/implementation, right?
Are Parcels Particles, Collection and nD_Cluster meant to be groupings of functions that should be implemented in the BaseParticleSet and its subclasses, or do you actually intend to have these as separate classes?
Collection contains a really large number of ways of adding/removing particles, not all of which have a natural translation in all ParticleSet implementations. I am not sure how pushing an element works in a tree, for example. Do we need/want all of them?
Related to that, it is something to think about how all these manipulation options work if we want to keep our datastructure somewhat ordered to facilitate quick access to neighbouring particles. I know that that is not what this is about yet, and that it will probably only be implemented for one or some of the ParticleSet implementations.

to (1): yes, inheritance
to (2): partially. 'Parcels Particles' is - as your saw correctly - just a collection of functions, so those would not get a dedicated class but would be integrated in BaseParticleSet. In order to separate and better orient the functions, classes like Collection and Iterator (or their name derivatives) would stand alone. Python >3.6 has multi-class inheritance, so it would be implemented then the way it is modeled in the diagram. nD Cluster is a borderline case. We can put it ALL in BaseParticleSet - but if we later find out that this functionality is helpful for other parts, we need to disentangle it again. In the nD Cluster case, I personally have a preference for it being a separate class, but would not object too much in integrating it in the BaseParticleSet.

to (3): in an ordered set - such as a Set, OrderedList or a Tree - pushing is the same as inserting. yes - if you strictly say 'pushing means it's the last element of the collection', then that would be wrong, but because an ordered set defines that 'last element' implicitly, tree-push is the same as tree-insert is the same as tree-add of an element. Remember: those classes - collection & iterator at least, nD Cluster probably too - are 'abstract classes'. You define which functions need to be there, but the specific implementation can decide that e.g. add() is the major function, and if push or insert are semantically the same in the context of that data structure, then we can link them to call add(). The alternative: just having an add() function, and not being able to control where in the data structure an element should be added. Or semantic bloopers like remove returning an element ... possibly would be good to speak that through in Teams.

to (4): yes - see the very expanded list of thoughts on trees in the Slack group ;-) Thing is: it CAN be done - it's just not viable if you demand not to code the tree yourself. There are many tree implementations out, but most are targeting nD data, with N>=64, where tree updates become none-sensical. With our case of N<=4, it may be worth writing or own multiway kD tree - again, discussion see Slack group.

I now updated the class diagram to the state of the the class structure we have now. Ready for review and merge.


Added payouts and pdf downloads

This PR contains the following:

Added payout example to readme-documentation
Added pdf download functionality and added a section in the docs
Added test cases
Changed version to 2.1.0

I tested the code changes successfully.

@henobi i have 2 double newlines, a rebase and the failing tests but nonetheless it's a great MR! Thanks alot for this! 👍 🥇

Everything is fixed now.


⚠ Bofrost.lu has degraded performance

In 0e409b0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1788 ms

Resolved: Bofrost.lu performance has improved in 5fb3161 after 30 minutes.


Is possible identify if referrer is web chat or messenger app on facebook.

I need disable native control on location dialog. Doesn't work in webchat.

You can look at the channel in the incoming activity object - are you using the https://github.com/Microsoft/BotBuilder-Location control?

@willportnoy Channel information don't identify if it's web or app. The control don't work only in popup chat and is fine for me. Thanks


feat(LedgerPlugin): add TransactionSigner on LedgerPlugin

Signed-off-by: Takuma TAKEUCHI<EMAIL_ADDRESS>
Related with Issue #708
Contents:

(Main) separate Transaction functions on BLP-examples to TransactionSigner on LedgerPlugin

@petermetz @jonathan-m-hamilton I'm sorry to bother you, but could you review this PR?

@petermetz cc: @hartm @jonathan-m-hamilton @kikoncuo @sfuji822
The following pull-request cannot be merged due to the CI check error.
https://github.com/hyperledger/cactus/pull/707
The cause of error is not the PR code but Peter's other code. I'm afraid it looks like an error in the CI check function. Could you investigate the cause and take action?
Looking at the list of pull-request, I see similar CI check error in most PRs other than this PR. Since the release of V0.4 is near, could you please solve it as soon as possible?
I am also going to issue a new PR depending on the PR, and I would like to include it in V0.4. I will ask for an early solution.

@petermetz cc: @jonathan-m-hamilton @kikoncuo @hartm @sfuji822
Regarding the problem with the above CI check tool, I succeeded in restarting the CI check without any error. I solved the problem of my PR707 for now. Thank you.


add json minify utility

Hello, So i have an issue on my infra. My infra does not accept multiline json, so i need to remove the /n from the messages sent. As such i though of adding a json minifier to the code, but i am currently not able to test it yet. Ence i need your HELP!!!
I can successfully(?) create the fluentd gem under pck/fluentd-1.14.6
gem build
WARNING:  open-ended dependency on bundler (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on async-http (>= 0.50.0, development) is not recommended
  if async-http is semantically versioned, use:
    add_development_dependency 'async-http', '~> 0.50', '>= 0.50.0'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: fluentd
  Version: 1.14.6
  File: fluentd-1.14.6.gem

but when creating the Docker image the dependencies are missing
# From https://github.com/fluent/fluentd-docker-image/blob/master/v1.14/alpine/Dockerfile
# AUTOMATICALLY GENERATED
# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb

FROM alpine:3.13
LABEL maintainer "Fluentd developers<EMAIL_ADDRESS>LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.14.6"

RUN mkdir pkg
COPY pkg/fluentd-1.14.6.gem pkg/fluentd-1.14.6.gem

# Do not split this into multiple RUN!
# Docker creates a layer for every RUN-Statement
# therefore an 'apk delete' has no effect
RUN apk update \
 && apk add --no-cache \
        ca-certificates \
        ruby ruby-irb ruby-etc ruby-webrick \
        tini \
 && apk add --no-cache --virtual .build-deps \
        build-base linux-headers \
        ruby-dev gnupg \
 && echo 'gem: --no-document' >> /etc/gemrc \
 && gem install oj -v 3.10.18 \
 && gem install json -v 2.4.1 \
 && gem install async-http -v 0.54.0 \
 && gem install ext_monitor -v 0.1.2 \
 && gem install json-minify \
 && gem install strptime \
 && gem install --local pkg/fluentd-1.14.6.gem \
 && gem install bigdecimal -v 1.4.4 \
 && apk del .build-deps \
 && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem /usr/lib/ruby/gems/2.*/gems/fluentd-*/test

RUN addgroup -S fluent && adduser -S -G fluent fluent \
    # for log storage (maybe shared with host)
    && mkdir -p /fluentd/log \
    # configuration/plugins path (default: copied from .)
    && mkdir -p /fluentd/etc /fluentd/plugins \
    && chown -R fluent /fluentd && chgrp -R fluent /fluentd

COPY fluent.conf /fluentd/etc/
COPY entrypoint.sh /bin/

ENV FLUENTD_CONF="fluent.conf"

ENV LD_PRELOAD=""
EXPOSE 24224 5140

USER fluent
ENTRYPOINT ["tini",  "--", "/bin/entrypoint.sh"]
CMD ["fluentd"]

And then trying to build with docker build . --tag foo.bar.com/myrepo/fluentd:mod I have the following error:
[...]
12 gems installed
Building native extensions. This could take a while...
Successfully installed ext_monitor-0.1.2
1 gem installed
Successfully installed json-minify-0.0.3
1 gem installed
Building native extensions. This could take a while...
Successfully installed strptime-0.2.5
1 gem installed
ERROR:  Could not find a valid gem 'tzinfo-data' (~> 1.0) (required by 'pkg/fluentd-1.14.6.gem' (>= 0)) in any repository
The command '/bin/sh -c apk update  && apk add --no-cache         ca-certificates         ruby ruby-irb ruby-etc ruby-webrick         tini  && apk add --no-cache --virtual .build-deps         build-base linux-headers         ruby-dev gnupg  && echo 'gem: --no-document' >> /etc/gemrc  && gem install oj -v 3.10.18  && gem install json -v 2.4.1  && gem install async-http -v 0.54.0  && gem install ext_monitor -v 0.1.2  && gem install json-minify  && gem install strptime  && gem install --local pkg/fluentd-1.14.6.gem  && gem install bigdecimal -v 1.4.4  && apk del .build-deps  && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem /usr/lib/ruby/gems/2.*/gems/fluentd-*/test' returned a non-zero code: 2

How can I test this? How can i create an image with the required gem dependencies. I think i need to update
with bundle update so that the vendors/ dir gets populated? but that is returning an error too!:
bundle update
The gemspec at /afs/cern.ch/user/d/dtomasgu/ws/fluentd/fluentd/fluentd.gemspec is not valid. Please fix this gemspec.
The validation error was 'metadata['homepage_uri'] has invalid link: "TODO: Put your gem's website or public repo URL here."'

Although grepping for this shows nothing... git grep 'TODO: Put your gem'
Can you help??? I never used ruby and this is bogling my mind. I am also available in slack @Diogo Guerra
Please help! Thank you!

How about try to create fluent-plugin-formatter-json-minify and use this custom plugin via <format> section?
out_http can handle 3rd party formatter plugin with <format>.
ref: https://docs.fluentd.org/output/http#less-than-format-greater-than-directive

We recommend to create your own custom formatter plugin to minify JSON and use it from <format> section for out_http plugin.

Yes, it would be nice if you implement it as a formatter plugin and publish as OSS, I'm looking forward it :smiley:

ERROR:  Could not find a valid gem 'tzinfo-data' (~> 1.0) (required by 'pkg/fluentd-1.14.6.gem' (>= 0)) in any repository

It's because you add --local option when installing fluentd.gem
gem command tries to install all dependencies from local repository with this option.

 && gem install --local pkg/fluentd-1.14.6.gem \

You can install your customized fluentd gem without it since you specify the local path.
By removing --local option, remote repository will used to install dependencies.


DOC API docstring improvements

This PR improves the docstrings for a few functions under huggingface_hub.

Hope this looks better. If there aren't anything I've missed @LysandreJik please feel free to merge :)


Most controller listeners should only bind on localhost

Most controller components should only bind on localhost since they are only intended to be accessed by other controller components.

Port
purpose
bind to

8085
public-api
all interfaces

8086
proxy-api
all interfaces

8087
telemetry
localhost

8088
tap
localhost

8089
destination
localhost

9995-9999
metrics
all interfaces

Fixes #353
Signed-off-by: Alex Leong<EMAIL_ADDRESS>

Somebody else will have to approve this if there's no automated test.

@klingerf

Some other food for thought
I had the same thought but I opted to just keep the status quo of setting values that match the defaults.

Some other food for thought ...

I had the same thought but I opted to just keep the status quo of setting values that match the defaults.

I agree that it would be better to remove these settings from the YAML and just rely on the defaults in the Go code. Especially since these are localhost, there's no reason to configure which port is used.
Obviously there's tension between whether things should be configurable or not. From a security perspective, making something configurable that doesn't need to be configurable is not desirable. We can't keep code around just because we might use it later; it's trivial to do a revert to bring back the configurability. As far as docker-compose goes, at least on Linux we just need to change the docker-compose configuration so that all containers share a networking namespace, which we should do anyway to better simulate the Kubernetes pod environment. However, we don't have to do this all at once. We can land these changes and then keep the issue open for further locking it down and testing it.

Ok, I'm in favor of removing all of the *addr flags from the controller components in the config file produced by the install command. Let's do that as part of this PR.


Fix tesla dependency for latest version

Should fix the change of modid from TESLA to tesla

This won't fix the modid issue, this'll just update the mod's dev environment to using the latest version of tesla, which is an alpha version.


Autofocus failed on Android 9

When integrated scanner library with Android 9 smartphone, following stack trace keeps appearing
W/AutoFocusManager: Unexpected exception while focusing
java.lang.RuntimeException: autoFocus failed
at android.hardware.Camera.native_autoFocus(Native Method)
at android.hardware.Camera.autoFocus(Camera.java:1366)
at com.journeyapps.barcodescanner.camera.AutoFocusManager.focus(AutoFocusManager.java:104)
at com.journeyapps.barcodescanner.camera.AutoFocusManager.access$100(AutoFocusManager.java:31)
at com.journeyapps.barcodescanner.camera.AutoFocusManager$1.handleMessage(AutoFocusManager.java:57)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
library version - 3.6.0
Happens on Samsung Android 9
Haven't tried on other Android 9 devices

Merging into #459.

Have same problem on android 12


[BUG] node-manager-webhook has 3 replicas of POD in single-node cluster

Describe the bug

node-manager-webhook has 3 replicas of POD in single-node cluster.
It seems such annotation is not in the replicaset definition:
management.cattle.io/scale-available: "3"

To Reproduce
Steps to reproduce the behavior:

Install a single-node v1.3.0 master-head cluster
Check pods and replicaset

NAMESPACE                         NAME                                                     READY   STATUS      RESTARTS      AGE

harvester-system                  harvester-node-manager-snqtr                             1/1     Running     0             25m
harvester-system                  harvester-node-manager-webhook-585c84c966-42h9s          1/1     Running     0             25m
harvester-system                  harvester-node-manager-webhook-585c84c966-9nds2          1/1     Running     0             25m
harvester-system                  harvester-node-manager-webhook-585c84c966-q7q5v          1/1     Running     0             25m

# kk get ReplicaSet -n harvester-system harvester-node-manager-webhook-585c84c966
NAME                                        DESIRED   CURRENT   READY   AGE
harvester-node-manager-webhook-585c84c966   3         3         3       28m

Expected behavior

Like Harvester, extend the replica when nodes are increasing.

Support bundle

Environment

Harvester ISO version:  Harvester v1.3.0
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): KVM VM based

Additional context
Add any other context about the problem here.
cc @Vicente-Cheng

Thanks @w13915984028 for finding that.
I thought @connorkuehl should be more familiar with node-manager-webhook, so I changed the owner to him.
Hi @connorkuehl,
Please help to confirm that. Maybe we need the following annotation as @w13915984028 mentioned
management.cattle.io/scale-available

Fix should be available in 1.3.0-rc3, moving to Ready for Testing.

Hi @connorkuehl,
We found that node-manager-webhook will not deploy on witness node.
Please help to check the toleration.
cc @Vicente-Cheng
Environment

Harvester

Version: v1.3.0-rc3
Profile: QEMU/KVM, 1 and 2 nodes (8C/16G/500G)
ui-source: Auto

Steps

Setup a single node harvester

 node-manager-webhook replica should be 1 :heavy_check_mark:

Join one default node-1

 node-manager-webhook replica should become 2 :heavy_check_mark:

Join one witness node-2

 Cluster is Active and node-2 is etcd :heavy_check_mark:

 node-manager-webhook replica should become 3 :heavy_check_mark:

 Each node should have 1 node-manager-webhook :x: ${\color{red} \text{no replica on node-2 (witness)}}$

Supportbundle
supportbundle_64e3c3fe-26c5-4eee-9abb-ce5214e4bba6_2024-02-23T04-14-00Z.zip

I also found that it's impossible to upgrade a single-node cluster from master-head. The request get rejected by the webhook because the mcc-harvester bundle is not in a good state, though harvester-node-manager-webhook's replicas is set to 1.

$ kubectl -n harvester-system get deployments harvester-node-manager-webhook
NAME                             READY   UP-TO-DATE   AVAILABLE   AGE
harvester-node-manager-webhook   1/1     1            1           11m

$ kubectl -n fleet-local get bundles mcc-harvester
NAME            BUNDLEDEPLOYMENTS-READY   STATUS
mcc-harvester   0/1                       Modified(1) [Cluster fleet-local/local]; deployment.apps harvester-system/harvester-node-manager-webhook modified {"spec":{"replicas":3}}

I have to patch the harvester ManageChart to set .spec.values.harvester-node-manager.webhook.replicas to 1 to work around the issue.

Provide test result on v1.3-d60468f1-head, we found that after fresh setup, node may still has more than 1 node-manager-webhook. Please help to check, thanks.
Environment

Harvester

Version: v1.3-d60468f1-head
Profile: QEMU/KVM, 1->2->3 nodes w/ winess (8C/16G/500G)
ui-source: Auto

Steps

Setup default node-0

Each node should have 1 node-manager-webhook :heavy_check_mark:
mcc-harvester bundle should be Ready :heavy_check_mark:

Join default node-1

Each node should have 1 node-manager-webhook & node-manager :x:  ${\color{red} \text{node-0 has 2 webhook}}$
mcc-harvester bundle should be Ready :heavy_check_mark:

Join witness node-2

Each node should have 1 node-manager-webhook & node-manager :x:
mcc-harvester bundle should be Ready :heavy_check_mark:

cluster

node-manager

Supportbundle
supportbundle_2e6f1f52-e3b1-4ae0-bbdf-7b65ea73c0c3_2024-03-01T04-11-59Z.zip
Note

Version

harvester-node-manager-0.2.3
harvester-node-manager-webhook:v0.2.1

harvester-node-0:~ # kubectl describe deployment -n harvester-system | grep node-manager
Name:                   harvester-node-manager-webhook
Labels:                 app.kubernetes.io/component=node-manager
                        helm.sh/chart=harvester-node-manager-0.2.3
Selector:               app.kubernetes.io/name=harvester-node-manager-webhook
  Labels:           app.kubernetes.io/name=harvester-node-manager-webhook
  Service Account:  harvester-node-manager-webhook
   harvester-node-manager-webhook:
    Image:      rancher/harvester-node-manager-webhook:v0.2.1
NewReplicaSet:   harvester-node-manager-webhook-9cfccc84c (2/2 replicas created)
  Normal  ScalingReplicaSet  58m   deployment-controller  Scaled up replica set harvester-node-manager-webhook-9cfccc84c to 1
  Normal  ScalingReplicaSet  19m   deployment-controller  Scaled up replica set harvester-node-manager-webhook-9cfccc84c to 2 from 1

@albinsun the harvester-node-manager-webhook is not a daemonset, so each node in the cluster will not necessarily have it deployed. The only issue is that the number of harvester-node-webhook pods should be scaled dynamically up to the specified default of 3 while adding nodes.
Furthermore, how long are you waiting after joining the node for the deployment to be rescheduled? I've found while testing locally it takes about 30-60s for the kube scheduler to realize that it can redistribute the pods unless I manually do kubectl rollout restart deployment harvester-node-manager-webhook -n harvester-system

@albinsun the harvester-node-manager-webhook is not a daemonset, so each node in the cluster will not necessarily have it deployed. The only issue is that the number of harvester-node-webhook pods should be scaled dynamically up to the specified default of 3 while adding nodes.
Furthermore, how long are you waiting after joining the node for the deployment to be rescheduled? I've found while testing locally it takes about 30-60s for the kube scheduler to realize that it can redistribute the pods unless I manually do kubectl rollout restart deployment harvester-node-manager-webhook -n harvester-system
@bk201 @Vicente-Cheng should the harvester-node-manager-webhook have a requirement for antiaffinity rules to avoid being colocated on a node?

@connorkuehl, test again with longer waiting

Create node-0, wait 300s and check pods

Join node-1, wait 300s and check pods (No change)

Manually restart (Redistributed)

@albinsun @connorkuehl I think we can live with colocated pods.

Provide test result on v1.3-4372cbc4-head, close as fixed.
Criteria

Each node should have 1 node-manager
Total node-manager-webhook equals cluster size (maximum 3)

Environment

Harvester

Version: v1.3-4372cbc4-head
Profile: QEMU/KVM, 3 nodes cluster w/ witness
ui-source: Auto

Steps

Setup default node-0 (Current cluster: D)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should be 1 :heavy_check_mark:

Join witness node-2 (Current cluster: DW)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should be 2 :heavy_check_mark:

Join default node-1 (Current cluster: DWD)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should be 3 :heavy_check_mark:

Drop witness node-2 (Current cluster: DD)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should be 2    :heavy_check_mark:

Join worker node-3 (Current cluster: DDC)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should be 3 :heavy_check_mark:

Join default node-4 (Current cluster: DDCD)

Each node should have 1 node-manager :heavy_check_mark:
Total node-manager-webhook should still 3 :heavy_check_mark:


multi publish with the same profile will still loading

Describe the bug

Version

Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Additional context

publish page's design was changed. close it first.


Use Azure DevOps Agent variables (like 'Agent.BuildDirectory') with some CLI

Hi !
It is possible to use Azure DevOps Agent Build variables (like 'Agent.BuildDirectory') with Azure CLI \ PowerShell ?
Sometimes I want to edit or debug locally a PS script (that i use in Azure DevOps YAML pipeline) on Windows server with Self-Hosted agent.
Since the Agent variables are not identified in PowerShell CLI or AZ CLI I need to switch the variable paths to locally absolute paths
I know the variables can be set manually but it is less convenient for one-time debugging
Another suggestion is to create a new feature for azure devops web interface that allows user to open an self-agent supportive terminal that allow use these variables
Thank you.
Yakir
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 11d3469c-83c2-c2f6-41d0-08f82c330bbc
Version Independent ID: a373c48d-6395-3002-d2d8-bbc1fea2e48e
Content: Predefined variables - Azure Pipelines
Content Source: docs/pipelines/build/variables.md
Product: devops
Technology: devops-cicd-build
GitHub Login: @juliakm
Microsoft Alias: jukullam

@Yakirat Thanks for your question. You should enter a feature request with the dev team.
To make sure it gets in front of the right people, please suggest your feature here.
Also, consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow


Create a new CKAN api action custom_resoruce_show to return schema and sample attributes as JSON object instead of string

The resource_show for schema and sample is a string with Unicode like the code below and we need this information as a JSON to be able to render/edit in tableschema component when the user is in the edit page.
"{u'fields': [{u'type': u'string', u'name': u'Series_reference', u'format': u'default'}, {u'type': u'number', u'name': u'Period', u'format': u'default'}, {u'type': u'integer', u'name': u'Data_value', u'format': u'default'}, {u'type': u'string', u'name': u'STATUS', u'format': u'default'}, {u'type': u'string', u'name': u'UNITS', u'format': u'default'}, {u'type': u'integer', u'name': u'MAGNTUDE', u'format': u'default'}, {u'type': u'string', u'name': u'Subject', u'format': u'default'}, {u'type': u'string', u'name': u'Group', u'format': u'default'}, {u'type': u'string', u'name': u'Series_title_1', u'format': u'default'}, {u'type': u'string', u'name': u'Series_title_2', u'format': u'default'}, {u'type': u'string', u'name': u'Series_title_3', u'format': u'default'}, {u'type': u'string', u'name': u'Series_title_4', u'format': u'default'}, {u'type': u'string', u'name': u'Series_title_5', u'format': u'default'}], u'missingValues': [u'']}"

more details about the issue in https://github.com/datopian/datapub/issues/37
Acceptance
Resource edit page works correctly

[x] create a new CKAN api action custom_resource_show  to return the schema and sample properties as JSON not as string. Or to override resource_show  method in the extension.

Tasks

[x] create a new CKAN api action custom_resource_show
[x] change the return of the schema and sample properties as JSON not as string.

I don't like the idea of creating "special cases" like an API identical to resource_show only named custom_resource_show that adds almost the same content but slightly different. I suggest either:
(1) Preferred - we fix resource_show to include the info you need in the right format (I believe this is not very hard esp with recent CKAN versions that can chain core actions)
(2) Create an API endpoint to fetch resource scheming information only, and name it appropriately - something like resource_schema_show or similar.

@shevron I think can be the option 1 too. as Anuar said ¨Or to override resource_show method in the extension."
cc: @anuveyatsu

Can you test this with CKAN 2.8.5?
I think that based on this: https://github.com/ckan/ckan/pull/5453 this should be a non-issue in CKAN 2.8.5 / 2.9.x.

Good news, the return works properly for this version ckan 2.8.5.
Result:

The steps to use this version in ckan-blob-storage is:

Delete the file ckan-version in .make-status folder
change the ckan version in makeFile. Use  CKAN_VERSION := ckan-2.8.5
Run make ckan-install
Run make dev-start

Thanks for letting us know.
cc: @mbeilin @Daniellappv @lgilies

Really good to know this! Thanks @shevron

@mariorodeghiero I suggest you update the README to require CKAN 2.8.5 and up and close this. If we ever need to support older versions, let's reopen / open a new ticket.

@shevron looks like it is critical to support older versions, especially, v2.8.2 (sounds like it isn't straightforward to upgrade right away).
What we need here is to get schema and sample properties of a resource as JSON object so we're planning to add custom_resource_show.
Let me know if you have any comments, please.

Ok, if we need to of course let's do it. But I would much rather name things explicitly ("explicit is better thank implicit"). Let's call this API based on what it does. Either resource_show_with_schema if it should be exactly like resource_show with added schema related fields, or resource_schema_show if we want to have an API in addition to resource_show that is called separately and only returns the schema related fields we don't have right now.
I like it when APIs do not overlap eachother so I'd vote for implementing resource_schema_show but I understand if we want to have some overlap and do something more convenient for the client that adds things on top of a single call to resource_show. In this case I would just name it resource_show_with_schema.

@shevron well, I agree with you. I think we can add 2 actions here:

resource_schema_show
resource_sample_show

FIXED. I opened another issue to add new tests for these actions.
https://github.com/datopian/ckanext-blob-storage/issues/32

@anuveyatsu (or @mariorodeghiero) can you please update the issue description with a clearer statement of the what the problem is and how it relates to specific ckan versions - that would save me trying to work that out from the thread.
In general we want to avoid special case code if we can and i don't understand what the issue was.

There is some data (schema and example) that datapub stores on the resource object in CKAN as "extra fields". CKAN will automatically store any extra fields for resources in DB as "extras", but in CKAN version up to 2.8.4 incl. this could only be a scalar value more or less. A patch merged to CKAN 2.8.5 fixes this to JSON serialize / desrialize lists and dicts as well and this means that if you try to store schema as a dict in an extra field in CKAN 2.8.5 you'll get back what you expect, but in CKAN 2.8.4 or lower you'll get a string dump of a Python dict (which is not what you want in the client side).
Since some users of this cannot upgrade to 2.8.5 yet, it was decided to offer special APIs to access these two extra properties.

@shevron what's your view in just requiring v2.8.5 going forward so we can remove this semi-hack addition?


Add ODD protocol to docs

https://jasss.soc.surrey.ac.uk/23/2/7.html

Reviewed the article and I will incorporate ODD best practices into user documentation where applicable. https://jasss.soc.surrey.ac.uk/23/2/7.html

@kaa2102 - confused with this status. Is this in progress, todo, or done at moment?

Update: The ODD Starsim docs are In Progress. I am using feedback from papers sent by @cliffckerr and @pausz to create a draft Starsim ODD paper. I will have a preliminary draft ready next week.