Shinyproxy to launch jupyter notebook with docker?

Hello,
As you did for zeppelin notebook, is there a way to serve jupyter notebook with Shinyproxy ?
I tried with:
specs:
    id: jupyter-notebook
    display-name: jupyter-notebook
    description: Jupyter Notebook is a web-based interactive computational environment for creating Jupyter notebook documents.
    container-cmd: ["jupyter", "notebook","--NotebookApp.token=''","--NotebookApp.password=''", "--ip=<IP_ADDRESS>", "--port=8888", "--allow-root"]
    container-image: jupyter/datascience-notebook
    container-network: shinyproxy-network
    port: 8888

Bit without success. I just have a 404..
Thanks for your help :)

@thomas-chauvet did you figure it out? Just struggle with the same error Message: Not Found

@thomas-chauvet @hugeme Jupyter notebooks don't support relative URLs, but use root-relative URLs; this means these notebooks cannot be run out of the box on ShinyProxy without working around this limitation inside ShinyProxy.

Hi, is there any update on this issue? regards

The next version of ShinyProxy will have support for running Jupyer notebooks! I created a snapshot release, so that you can already test it. See the dedicated repository for more information: https://github.com/openanalytics/shinyproxy-jupyter-notebook-demo

ShinyProxy 2.6.0 (ContainerProxy 0.8.10) has just been released with support for Jupyter Notebooks. See the demo https://github.com/openanalytics/shinyproxy-jupyter-notebook-demo
Thank you for the suggestion!

Awesome ! Thanks !


Nurserys with no holidays support

I'm holding off on merging this initial prototype code until we've made a decision about what to do with supporting nurseries.


Add group support for management sdk  @dorsha

Description
Add group support for management sdk for a specific project's tenant.

loadAllGroups <tenantId>
loadAllGroupsForMember <tenantId>, <jwtSubjects>, <identifiers>
loadAllGroupMembers <tenantId>, <groupId>

The above return list of groups include all members.
Must

[x] Tests
[x] Documentation

n like we have in the core

@nirgur we can, do we have an example in the node-sdk?

n like we have in the core

@nirgur we can, do we have an example in the node-sdk?

It seems like we are not using it in the node-sdk
Maybe we should open an issue about it?


Sample Data

Hi:
Can you please provide me some sample data? I am trying to insert data during registration of an user.
Appreciate your help on this.
Thanks,
Gopi

I am not sure what data you looking for ? Please clarify.

How would you store a client record to validate against? I am planning to have a registration screen that captures user name and password. Once I do that I want to store it as a client record so that each time a user logs in I should be able to validate against it.

using(var session =   documentStore.LightweightSession(){
var client = new IdentityServer4.Postgresql.Entities.Client
                            {
Id = "ro.client",
                                ClientId ="ro.client",
                                ClientName = "client",
            ClientSecrets = new List<ClientSecret> {new ClientSecret { Value = "secret"}},
                                AllowedGrantTypes =  new List<ClientGrantType> { new ClientGrantType { GrantType = GrantType.Hybrid } , new ClientGrantType {  GrantType = GrantType.ClientCredentials} },
                                AllowedCorsOrigins =  new List<ClientCorsOrigin>  {new ClientCorsOrigin { Origin = "http://localhost:5003" } },
                                RequireClientSecret = false,
                                RequireConsent = false,
                                AllowedScopes = new List<ClientScope>{
                                     new ClientScope { Scope = IdentityServer4.IdentityServerConstants.StandardScopes.OpenId },
                                     new ClientScope { Scope = IdentityServer4.IdentityServerConstants.StandardScopes.Profile },
                                     new ClientScope { Scope ="api1" }
                                },
                                RedirectUris = new List<ClientRedirectUri> { new ClientRedirectUri { RedirectUri ="http://localhost:5003/signin-oidc" } }
                            }

                    session.StoreObjects(client);
                    session.SaveChanges();
}

This is how you can register the client.

Thanks a bunch!

What about populating ApiResource and IdentityResource? - Thanks

see here

getting error invalid_scope on token response
var tokenClient = new TokenClient(disco.TokenEndpoint, "ro.client", "secret");
var tokenResponse = await tokenClient.RequestClientCredentialsAsync("api1");

ApiResource needs a scope otherwise it is meaningless, I have added a working sample .

if i have to get a refresh token what do I have to do? I am using resource owner password flow.
I added an Scope  new ApiScope { Name = " offline_access", DisplayName = " Offline Access" } } }, to the ApiResources and then added a clientscope
new ClientScope { Scope = IdentityServer4.IdentityServerConstants.StandardScopes.OfflineAccess },
with settings of  AllowOfflineAccess = true, AccessTokenLifetime = 3600, but not getting a refresh token
Thanks


Adds 'spo page remove' command

Issue #363

Adds the spo page remove command
Specs for the command

Coverage remained the same at 100.0% when pulling 3e031964850847f3f38505611d9d8e883414451e on ypcode:dev-page-remove into a1aa66ef2778dc2ec7131f810d87ac90616baca8 on pnp:dev.

Thanks! I'll have a look shortly!

Indeed I totally forgot the .md page :$
Will probably be the same in other PRs...
I’ll add them when back from vacation, I’ll fix the arguments descriptions as well, no problem but can’t promise when exactly...
If you want it sooner, I won’t mind if you do it :)

No problem 👍

Thanks!

Merged manually. Thank you!


encoding problem

There are encoding problems when tagv or fieldv are CJK characters.

Hey @sadhen, thanks a lot for reporting this and for taking the time to do the PR yourself!
Just a question: before aplying the patch, what happens when you use CJK characters? Does it return an error, store garbage in influx, ...?
Thanks!

store garbage in influx but write the bulks or point sucessfully

I've just released 0.5.1 with your changes, should be available in a couple of minutes.
Thank you!


Failed to resolve: com.github.florent37:runtime-permission-kotlin:1.1.2

I cannot implementation library. Can you help me?

Having same issue "Could not resolve com.github.florent37:runtime-permission-kotlin:1.1.2."

Having same issue "Could not resolve com.github.florent37:runtime-permission-kotlin:1.1.2."

If you are trying to download from jcenter then you may get this error as jcenter is deprecated and shut down.
Instead, the lib can be found from jitpack https://jitpack.io/#florent37/RuntimePermission

I tried downloading from jitpack but still had the same issue "Could not resolve com.github.florent37:runtime-permission-kotlin:1.1.2."

oh, you can implementation:
implementation 'com.github.florent37:RuntimePermission:1.1.2'


Python modules are not installed with cmake

When building pyilmbase with cmake, python modules are built but never installed, one has to install them manually afterwards.

Related to #592, @kdt3rd will investigate.


FTB Direwolf20 1.18 cannot find jar

Describe the problem
I cannot launch FTB's Direwolf20 1.18
v 1.2.0
https://www.feed-the-beast.com/modpack/95_ftb_presents_direwolf20_1_18/versions
It seems that it cannot find the jar in the /data folder
error source:
https://github.com/itzg/docker-minecraft-server/blob/master/scripts/start-deployFTBA#L79
Looking at the folder, I cannot see the jar like I would with Direwolf20 1.16
folder listing:
root@4d0f153ea549:/# ls /data/
config  defaultconfigs  eula.txt  ftb-installer  kubejs  libraries  log4jfix  minecraft_server.1.18.2.jar  mods  resourcepacks  run.bat  run.sh  user_jvm_args.txt  version.json

Container definition
version: '3.7'

volumes:
  mc-ftb:

services:

  minecraft:
    image: itzg/minecraft-server:java11-jdk
    environment:
      EULA: TRUE
      TYPE: FTBA
      FTB_MODPACK_ID: 95
      FTB_MODPACK_VERSION_ID: 2127
      MEMORY: 12G
      MOTD: "Have a nice day"
      MAX_PLAYERS: 20
    ports:
      - 25565:25565
    volumes:
      - mc-ftb:/data

Container logs
minecraft-docker-minecraft-1  |   Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage$SetupState 1/1
minecraft-docker-minecraft-1  | The server installed successfully
minecraft-docker-minecraft-1  | You can delete this installer file now if you wish
minecraft-docker-minecraft-1  | 2022/05/19 21:37:47 Installed!
minecraft-docker-minecraft-1  | [init] ERROR unable to locate the installed FTB server jar

This sounds like a duplicate of #1492, which just got fixed. Pull the latest image and see if that fixes it for you.

I made a post on #1492 but this issue seems to still be happening. Unless I'm just dumb.


Callbacks Refactor [base]

@agola11  This was a breaking change. Is it documented somewhere how to migrate? In my case, I did the following:
from langchain.callbacks.base import AsyncCallbackManager
and replaced it with:
from langchain.callbacks.manager import AsyncCallbackManager
but it broke my app:
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/chains/base.py", line 180, in acall
    raise e
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/chains/base.py", line 174, in acall
    await self._acall(inputs, run_manager=run_manager)
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/chains/llm.py", line 195, in _acall
    response = await self.agenerate([inputs], run_manager=run_manager)
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/chains/llm.py", line 90, in agenerate
    return await self.llm.agenerate_prompt(
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/llms/base.py", line 136, in agenerate_prompt
    return await self.agenerate(prompt_strings, stop=stop, callbacks=callbacks)
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/llms/base.py", line 217, in agenerate
    callback_manager = AsyncCallbackManager.configure(
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/callbacks/manager.py", line 667, in configure
    return _configure(cls, inheritable_callbacks, local_callbacks, verbose)
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/langchain/callbacks/manager.py", line 701, in _configure
    callback_manager.add_handler(copy.deepcopy(handler), False)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 271, in _reconstruct
    state = deepcopy(state, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 231, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/Users/mark/.pyenv/versions/3.10.9/lib/python3.10/copy.py", line 272, in _reconstruct
    if hasattr(y, '__setstate__'):
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/starlette/datastructures.py", line 702, in __getattr__
    return self._state[key]
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/starlette/datastructures.py", line 702, in __getattr__
    return self._state[key]
  File "/Users/mark/.pyenv/versions/ve3109_fcc/lib/python3.10/site-packages/starlette/datastructures.py", line 702, in __getattr__
    return self._state[key]
  [Previous line repeated 949 more times]
RecursionError: maximum recursion depth exceeded

Help 😁

@pors -- can you send me a snipped of how you were using AsyncCallbackManager and what handlers you were using along with it? I'll be able to help you more

@agola11 The whole project is here: https://github.com/pors/langchain-chat-websockets/blob/main/query_data.py
The relevant code is largely based on https://github.com/hwchase17/chat-langchain, so the issue may also be there.

@pors okay thanks. Looking in a bit

Once this lands, your issue should be resolved: https://github.com/hwchase17/langchain/pull/3995 -- please comment if that's not the case

Thanks! It works again for me. I like the fast release schedule :)


This project is maintenabled ?

This project is maintenabled ?

Breaking problems on Android by me when I have time, and ios by @rdlabo when he has the time.
As always. PRs are welcome.


Zero number of keys on Android 11 emulator

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Describe the bug
Google exposure check log shows Number of keys 0 on an Android 11 emulated device.
Expected behaviour
A non-zero number (305483) is displayed on an Android 8 physical mobile phone. The emulator should also display this number or a similar number, because it is the number of keys retrieved from the server.
Steps to reproduce the issue
Preparation
In Android Virtual Device Manager of Android Studio 4.1.1:

Create Virtual Device
Select Pixel 3a with Play Store
Select Release Name R, API Level 20, ABI x86, Target Android 11 (Google Play)
Start emulator
Wait 10 minutes for Google background updates to progress
Check Settings > Google
COVID-19 SUPPORT should appear in list
Tap on COVID-19 Exposure Notifications and make a note of the Exposure Notifications Version number e.g.<PHONE_NUMBER>0
Open Google Play Store and Sign in
Tap I agree
Disable Backup to Google Drive
Tap ACCEPT
In Google Play Store search for corona-warn-app and Tap Install

App Usage

Open Corona-Warn-App
Tap "LET'S GET STARTED"
Tap "NEXT"
Tap "ACTIVATE EXPOSURE LOGGING" and "Turn on"
Tap "NEXT"
Tap "NEXT"
Dismiss pop-up with "OK" (may appear before or after ALLOW)
Tap "ALLOW" in "Allow prioritized background activity"
Go back from Battery optimization
Note "Unknown Risk" card is now displayed
Close CWA

Google Log

Settings > Google > COVID-19 Exposure Notifications
Note: 1 check in the past 14 days
Tap Exposure checks, tap timestamp
Note: Number of keys 0 in log display

Technical details

Mobile device: Google Pixel 3a emulator
Android version: 11
ENS version:<PHONE_NUMBER>0<PHONE_NUMBER>0
CWA version: 1.7.1 1.10.1

Additional context
I have observed this behavior previously but not reported it, because an emulated device is not a true use-case. Since other users have occasionally also reported a problem with number of keys = 0 I wanted to drop this as a reproducible base-case which might warrant debug investigation.

Internal Tracking ID:  EXPOSUREAPP-4130

I have seen this bug in earlier versions of GMS / Google Play Services. For some reason the key count also showed the match count. I'm not sure what GMS versions Google ships with the Emulator, could you make sure that Google Play Services are the newest version (it might not auto-update immediately)?

@tomjschwanke

I have seen this bug in earlier versions of GMS / Google Play Services. For some reason the key count also showed the match count. I'm not sure what GMS versions Google ships with the Emulator, could you make sure that Google Play Services are the newest version (it might not auto-update immediately)?

You are completely right that there was a display bug in early versions of Google Play services / Exposure Notification System (ENS). That bug was fixed in 20.26.12 (see https://github.com/corona-warn-app/cwa-app-android/issues/744#issuecomment-651428585).
The version of ENS that I tested with was<PHONE_NUMBER>0, which corresponds to 20.42.17 of Google Play services. When I set up the emulator I waited 10 minutes for Google Play services to auto-update.
It may be a timing issue in the emulator, since the emulator runs slower than a physical device.

Hi @MikeMcC399,
Thanks again for your contributions. We have created a ticket for the bug (Internal Tracking ID: EXPOSUREAPP-4130) in the internal ticket system. Any further developments will be notified here in this Github issue.
Best wishes,
DS

Corona-Warn-App Open Source Team

I assume that since this problem was reported on a standard Android emulator that it should be reproducible.
In any case here is a filtered output from logcat:
I/ExposureNotification: [MatchingTracer] Starting matching job. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Native pre-filter started. [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for initNative, scan records is empty
I/ExposureNotification: MatchingJni get native ptr 0 [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for matchingNative
I/ExposureNotification: MatchingJni get nullable key set from native. [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for lastProcessedKeyCount
W/ExposureNotificationJni: Invalid input for lastProcessedResult
E/ExposureNotification: [MatchingTracer] Failed because of native error UNKNOWN_MATCHING_RESULT [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for releaseNative
I/ExposureNotification: [MatchingTracer] Persisting matching request record. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Matching job complete. Run time=0.092s. Matches not found. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Sending exposure status update with no new exposures to client. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Successfully removed request. Matching job complete. [CONTEXT service_id=236 ]

I assume that since this problem was reported on a standard Android emulator that it should be reproducible.
In any case here is a filtered output from logcat:
I/ExposureNotification: [MatchingTracer] Starting matching job. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Native pre-filter started. [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for initNative, scan records is empty
I/ExposureNotification: MatchingJni get native ptr 0 [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for matchingNative
I/ExposureNotification: MatchingJni get nullable key set from native. [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for lastProcessedKeyCount
W/ExposureNotificationJni: Invalid input for lastProcessedResult
E/ExposureNotification: [MatchingTracer] Failed because of native error UNKNOWN_MATCHING_RESULT [CONTEXT service_id=236 ]
W/ExposureNotificationJni: Invalid input for releaseNative
I/ExposureNotification: [MatchingTracer] Persisting matching request record. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Matching job complete. Run time=0.092s. Matches not found. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Sending exposure status update with no new exposures to client. [CONTEXT service_id=236 ]
I/ExposureNotification: [MatchingTracer] Successfully removed request. Matching job complete. [CONTEXT service_id=236 ]

@MikeMcC399 does your emulator environment have RPI stored (or some kind of equivalent)?
Can it be that the matching algorithm of this ENS version has an upfront optimisation, and  short-cuts if there are no RPI for matching?
(... just speculating ... because if this is true then 0 keys could be a valuable hint that something is seriously wrong with a device ...)

@MikeMcC399 does your emulator environment have RPI stored (or some kind of equivalent)?
Can it be that the matching algorithm of this ENS version has an upfront optimisation, and  short-cuts if there are no RPI for matching?
(... just speculating ... because if this is true then 0 keys could be a valuable hint that something is seriously wrong with a device ...)

@ndegendogo

does your emulator environment have RPI stored (or some kind of equivalent)?

It's a standard emulator which is part of the Android Studio 4.1.1 integrated development environment for building Android apps.
I don't really know what is going on inside ENS as I haven't rooted the emulator. I expected it to be simulating sending out Rolling Proximity Identifiers (RPIs) and storing them. It can't receive any RPIs though, because the Bluetooth interface is only simulated. It could be taking a short-cut if there an no received RPIs stored. I can only guess since this is closed-source.

@ndegendogo

does your emulator environment have RPI stored (or some kind of equivalent)?

It's a standard emulator which is part of the Android Studio 4.1.1 integrated development environment for building Android apps.
I don't really know what is going on inside ENS as I haven't rooted the emulator. I expected it to be simulating sending out Rolling Proximity Identifiers (RPIs) and storing them. It can't receive any RPIs though, because the Bluetooth interface is only simulated. It could be taking a short-cut if there an no received RPIs stored. I can only guess since this is closed-source.

can't receive any RPIs though, because the Bluetooth interface is only simulated ... can only guess since this is closed-source

@MikeMcC399 yes, sure. I was just trying to 'guess' any meaning into your log entries ...
I/ExposureNotification: [MatchingTracer] Starting matching job.
I/ExposureNotification: [MatchingTracer] Native pre-filter started.
W/ExposureNotificationJni: Invalid input for initNative, scan records is empty

can't receive any RPIs though, because the Bluetooth interface is only simulated ... can only guess since this is closed-source

@MikeMcC399 yes, sure. I was just trying to 'guess' any meaning into your log entries ...
I/ExposureNotification: [MatchingTracer] Starting matching job.
I/ExposureNotification: [MatchingTracer] Native pre-filter started.
W/ExposureNotificationJni: Invalid input for initNative, scan records is empty

@MikeMcC399 Thank you for testing again. We'll leave this open then.

Corona-Warn-App Open Source Team

Abandoning this issue, since it was reported 9 months ago already without any concrete feedback so far.
The issue does not affect real devices in use, only emulators.

I think, @ndegendogo 's analysis was correct:

can't receive any RPIs though, because the Bluetooth interface is only simulated ... can only guess since this is closed-source

@MikeMcC399 yes, sure. I was just trying to 'guess' any meaning into your log entries ...
I/ExposureNotification: [MatchingTracer] Starting matching job.
I/ExposureNotification: [MatchingTracer] Native pre-filter started.
W/ExposureNotificationJni: Invalid input for initNative, scan records is empty

The issue https://github.com/cocoa-mhlw/cocoa/issues/202 has a pointer to the corresponding code in ENS:
https://github.com/google/exposure-notifications-internals/blob/aaada6ce5cad0ea1493930591557f8053ef4f113/exposurenotification/src/main/cpp/matchingjni.cc#L36
This would mean, that if no RPIs had been received/stored for any reason (and this is quite obvious for an emulator without Bluetooth), ENS does not match TEKs with RPIs. In result, number of (checked) keys and matches is 0, which is then a correct result displayed.

@vaubaehn
The Japanese characters scared me off trying to read the related issue. You were braver!
It seems you and @ndegendogo were right about the root cause, so I'm happy to have closed this issue off.


Running with --dev, all urls seem to redirect back to the root url

The site works as expected when running without --dev, but with --dev I keep getting redirected back to root. It seems to be related to the live releading as if I remove that it works as expected, even when I pass --dev.

The live reload acts like a F11 and reload the website when something changes. Do you have more context about what happens, I’m not sure to understand exactly the issue :sweat_smile:

I ran into this while trying out the new 404 page. I went to http://<IP_ADDRESS>:8080/foo and it just took me back to http://<IP_ADDRESS>:8080/.

var socketUrl = "ws://" + location.host + "/_livereload";
var s = new WebSocket(socketUrl);
s.onopen = function(even) {
  console.debug("Live reload: WebSocket connection open");
};
s.onclose = function(even) {
  console.debug("Live reload: WebSocket connection closed");
  var retryIntervalMs = 500;
  function reload() {
    s2 = new WebSocket(socketUrl);
    s2.onerror = function(event) {
      setTimeout(reload, retryIntervalMs);
    };
    s2.onopen = function(event) {
      location.reload();
    };
  };
  reload();
};

s.onerror = function(event) {
  console.debug("Live reload: WebSocket error:", event);
};

The interesting part is that I'm not able to reproduce it :sweat_smile: Above, this is the script inserted by the livereload middleware. It seems to take the location into account. On my side, in the 404 page, it does not seem to insert the script at all.
Would it work better if we remove the live reload as you suggested? I'm OK with manually running Ctrl+R if needed.

oh weird. Up to you whether to disable live reload. It might just be a me issue. I don't do much work on the site so I can just disable it for myself whenever I need to work on it until we understand the problem better.

As we don't have to work much on the website anymore I close this issue. We can always reopen if this is needed.


About encrypted files

Hi，dose nostr.build support to storage encrypted file?
I will encrypt the file(Image / Video / PDF) using the AES algorithm and then store it on the server. The file name will be a hash string, and the file content will be the encrypted content.

We have already integrated with AWS S3,  but we would like to pay sats to use the file service.

Thank you for your response. Perhaps the functionality of encrypting files is not very common.


Added power usage to the gpu stats, closes #474

We are releasing a CLI that has a similar change implemented by this PR:
https://github.com/wandb/client/pull/750


The type Object was not registered

What is the correct way to register KiwiContainer as I'm getting below error:
KiwiError:

Failed to resolve `SearchBloc`:

The type `SearchBloc` was not registered

Make sure `SearchBloc` is added to your KiwiContainer and rerun build_runner build
(If you are using the kiwi_generator)

When using Flutter, most of the time a hot restart is required to setup the KiwiContainer again.

Here I registered:
class SearchPage extends StatefulWidget {
  _SearchPageState createState() => _SearchPageState();
}

  KiwiContainer container = KiwiContainer();

class _SearchPageState extends State<SearchPage> {

  final _searchBloc = container.resolve<SearchBloc>();
  final _scrollController = ScrollController();

  @override
  void initState() {
    super.initState();
    container.registerInstance(SearchBloc(null)); //register
  }

   . . .

}

P.S: I'm using   kiwi: ^2.1.1

You are registering your SearchBloc in the InitState. But you are resolving SearchBloc in the same. class when your object is initialized. Because init state is called after initialization, you can't resolve SearchBloc because it is not yet registered


[HOLD] [WIP] saved views UI and API connection

What changes are proposed in this pull request?

This is the UI for dataset views selection.
works in dark/light mode
Next step is mutation and fixing the color selection

https://user-images.githubusercontent.com/109545780/200677282-a9f4b632-ae3b-4608-9656-3c2920a6bcb0.mov
Create/Edit modal

How is this patch tested? If it is not, please explain why.
(Details)
Release Notes
Is this a user-facing change that should be mentioned in the release notes?

[ ] No. You can skip the rest of this section.
[ ] Yes. Give a description of this change to be included in the release
notes for FiftyOne users.

(Details in 1-2 sentences. You can just refer to another PR with a description
if this PR is part of a larger change.)
What areas of FiftyOne does this PR affect?

[ ] App: FiftyOne application changes
[ ] Build: Build and test infrastructure changes
[ ] Core: Core fiftyone Python library changes
[ ] Documentation: FiftyOne documentation changes
[ ] Other

@manivoxel51 for OSS I think we should remove the Everyone with ... text from the view creation UI

@benjaminpkane let me know if you see anything that can be improved

Looks really good! Left a few comments

@kaixi-wang I'll merge this to your branch and work on the following separately since this PR is too large and hard to maintain. also amazing work on fixing the build and simplifying couple of things in the frontend 🍨


Condition "shouldNot(exist)" throws an exception when it's being checked and the element doesn't exist

selenide/src/main/java/com/codeborne/selenide/Condition.java
public static final Condition exist = new Condition("exist") {
@Override
public boolean apply(WebElement element) {
element.isDisplayed(); // should be removed, this code doesn't matter, apply always return true - that's ok
return true;
}
};
What about the following solution?

catch an exception throwed by getWebElement()
-if the condition is inverted exist (element shouldn't exist)

ignore a throwed exception and return null because that's right. We expect the element doesn't exist.

-for other conditions
- rethrow an exception
selenide/src/main/java/com/codeborne/selenide/impl/WebElementSource.java:
`public WebElement checkCondition(String prefix, String message, Condition condition, boolean invert) {
Condition check = invert ? not(condition) : condition;
 RuntimeException lastError = null;
WebElement element = null;
try {
  element = getWebElement(); //throws an exception unless the element has been found
  if (element != null && check.apply(element)) {
    return element;
  }
}
catch (RuntimeException e) {
  lastError = e;
}
//new inserted code follows-------------------------------------------------------------------------------------
catch(StaleElementReferenceException|NoSuchEementException|IndexOutOfBoundsException ex) {
    if(condition.equals(exist) && invert) {
        //returns null because the element hasn't been found and that's correct (shouldNot(exist))
        return null;
    } else if condition.equals(exist) && !invert {
        //set last error and do another check cycle if time isn't out yet (until element possibly found eventually - should(exist))
        lastError = ex;
    } else {
        //rethrows an exception for any other condition
        throw ex;
    }
}
// end of the new code-------------------------------------------------------------------------------------------
if (Cleanup.of.isInvalidSelectorError(lastError)) {
  throw Cleanup.of.wrap(lastError);
}

if (element == null) {
  if (!check.applyNull()) {
    throw createElementNotFoundError(check, lastError);
  }
}
else if (invert) {
  throw new ElementShouldNot(getSearchCriteria(), prefix, message, condition, element, lastError);
}
else {
  throw new ElementShould(getSearchCriteria(), prefix, message, condition, element, lastError);
}
return null;

}`

@mastepan Sorry, I didn't exactly understand your suggestion.
I think that element.isDisplayed(); is still needed in exist condition. Otherwise exist is just nonsense - it would always return true.
Currently, when element.isDisplayed(); is called on non-existing element, an exception is throwed, and the $.should(exist) check fails.

Hi Andrei,
thanks for reply. I still think I'm not totally wrong...well, supposed I do understand what happens in the code.
What $.should(exist) does:

SelenideElementProxy invokes should(...) method
there it is dispatchAndRetry(...) called and it tries to execute the command until time expires or the condition's apply(...) returns true
should/shouldNot command executes locator.checkCondition(prefix, message, condition, false/true); where locator is WebElementSource. We have the checkCondition(...)  method in my first post
in this method:

for should(exist): element = getWebElement(); throws an exception if the element hasn't been found

otherwise: check.apply(element) is called. It always return true or perhaps(unlikely) throws an exception. But the result of element.isDisplayed() is meaningless because check.apply(element) returns true then. If the element  hadn't existed, an exception would have already been thrown in element = getWebElement(); as I had said above.
my conclusion to should(exist) : it doesn't matter on the result of element.isDisplayed() in condition's apply(...) method.

I guess it's merely cosmetic matter (as long as I'm right of course). But now the important thing comes.
for shouldNot(exist): element = getWebElement(); throws an exception if the element hasn't been found

that means that WebElementSource's checkCondition(...)  never returns a value. It always throws an exception in each run until timeout expires.
my point is to catch those exceptions and return null if the element cannot be found because I want to escape do-while in SelenideElementProxy's dispatchAndRetry(...). I don't want to reach timeout and let the test fail.

If there is something unclear or I'm wrong in something, I'm willing to discus it further.
Thanks a lot. Selenide is awesome :)
Martin

@mastepan Hi Martin!
Sorry for the long response. :(
What Selenide version you are talking about?
I just have tried to execute $("#unexisting").shouldNot(exist);, and it runs with 40ms. It doesn't wait for timeout.
Method WebElementSource.checkCondition() returns immediately due to these lines:
    if (element == null) {   // element was not found
      if (!check.applyNull()) {   // this condition (exist) accepts missing elements
        throw createElementNotFoundError(check, lastError);
      }
    }
    ...
   return null; // here we exit

It understands that element doesn't exist, but it's ok for condition exist.
Are you sure you still have the problem?

@asolntsev Hi Andrei,
I'm using 3.3 version. But the problem is solved. The code is allright.
That was all my bad I hadn't noticed a coincidence. I have checked one element that was supposed not to exist. The test loaded following page then. There was unexpectedly one element that was found using exactly the same xpath... uf.. Those 2 elements were absolutely unrelated.
Thank you for cooperation and keep going! I look forward to the future Selenide releases :)
Martin

@asolntsev Hi Andrei,
I have reproduced the same issue on version 4.0 in a different way. I am using Selenide with testNG. The following code is failing:
...
@FindBy(xpath = ".//button[@data-btname='close']")
private WebElement closeButton;
@FindBy(xpath = ".//button[@data-btname='form_help']")
private WebElement helpButton;
...
$(helpButton).shouldBe(visible);
$(closeButton).click();
$(helpButton).shouldNot(exist);
...

However if I just replace it with new By.xpath it's working correctly
$(helpButton).shouldBe(visible);
$(closeButton).click();
$(By.xpath(".//button[@data-btname='form_help']")).shouldNot(exist);

Is it some bug or I am just doing it wrong.

@abondarev-sel Sorry for the long delay.
It's not a bug. You are doing it wrong. :)
With Selenide you don't need to to declare WebElement and then wrap it with $.
Because the original WebElement disappears at the moment of check. Selenide does solve StaleElementException, but you should you Selenide APIs.
Just simplify your code. For example, like this:
private By closeButton = By.xpath(".//button[@data-btname='close']");
private By helpButton = By.xpath(".//button[@data-btname='form_help']");
..
$(helpButton).shouldBe(visible);
$(closeButton).click();
$(helpButton).shouldNot(exist);

@asolntsev Hi Andrei,
Thank you for your answer. I will use this approach.

I just have tried to execute $("#unexisting").shouldNot(exist);, and it runs with 40ms. It doesn't wait for timeout. -- is there any method we can use to validate an element not exist but not get exception? For instance, if a table returns 0 row then there is no table structure on the page, if we use shouldNot(exist) it directly goes to exception because the table does not exist anymore, what is the best method to use here?

@natesun1 Sorry, I am not sure I understand your question correctly. It's always a good idea to given some html and Java code sample. You can use https://gist.github.com/ for sharing code snippets.
If you have a table with 0 rows, you can use something like this:
  $("table").should(exist);
  $("table tr").shouldNot(exist);

@asolntsev sorry wasn't very clear. So yes but in some application, if there is 0 row there will not be table//tr//td etc at all, it's just gone. And only when there is at least one row there is table structure on the page. In case there is no row returned if we use
$("table").shouldNot(exist);
it would immediately throw an NoSuchElementException, as I assumed earlier shouldNot(exit) should handle exception?

@natesun1 No.
If

there is no any <table> elements on a page
then
command $("table tr").shouldNot(exist) will NOT throw any exceptions.


Docker Cloud not creating a node cluster using new UI

Trying to create a Docker Cloud Node Cluster with the values as shown in attachment.
Clicking on Create just shows a spinning wheel for a second and then comes back to the same screen. No new instances are created in EC2.

Going to the classic UI shows the following error No billing info for user arungupta. Please enter your credit card details. Fixing this error allowed to create the node cluster using UI.

ping @fermayo PTAL

Hi,
So is the billing info essential to create a node cluster even with the Docker Cloud default plan?
Thanks,
Sushanth

@sushanthmangalore perhaps you can send an e-mail to<EMAIL_ADDRESS>for that question; this repository is strictly for the open source engine, not for Docker Cloud.
@arun-gupta I'll close this issue here, but you can discuss on https://forums.docker.com/c/docker-cloud (or probably send an e-mail to support@docker.com).


[Design Tokens] Colors: Add new feedback tokens to VADS

We're adding new feedback-related foreground tokens to the system and need 2 new primitive and 2 new semantic tokens added to VADS.

[ ] Add 4 new tokens to VADS

Primitive

uswds-system-color-green-cool-vivid-30
uswds-system-color-gold-vivid-40

Semantic

vads-color-feedback-foregound-success-on-dark: uswds-system-color-green-cool-vivid-30
vads-color-feedback-foregound-warning-on-light: uswds-system-color-gold-vivid-40

[ ] After tokens are available in variables.json file, make sure tokens are available in va-mobile-library.
[ ] Let Jessica know when they're available and she will add the remaining tokens to our tokens package, Storybook documentation, and in Figma.

PR in VADS repo created: https://github.com/department-of-veterans-affairs/component-library/pull/1417
Slack thread


Add SQL for Data Science

#633

you need to add in readme file as well as in all course json file in one pr


May i ask the meaning of image fitting?

Hello,
Thanks for yout excllent work!
I am an undergraduate student.And i am learning  INRs(Implicit Neural Representations) now.
I found image fitting task  in the experiment part in a lot of INR papers.So i search this task in google but got nothing.
could you explain the meaning of this part experiment?It would help me a lot.
I wonder is it a way to show the superiority of the INR?Or it's a challenge of INR?Why set this experiment?
Best wishes.
Looking forward to your reply.

Great question! To answer that, let us take a simpler example. Let us say we are given several pairs of points $(x_k, y_k)$. If we were asked to find a continuous function that relates $y_k$ to $x_k$, we would perform polynomial fitting of the form, $y = {\sum_{q=0}}^Q a_q x^q$. Here, the learnable parameters are $\theta={a_0, a_1, \cdots, a_Q}$. However, we can also learn a neural network representation, $y = \mathcal{N}_\theta(x)$, where $\mathcal{N}$ is a multilayer perceptron and $\theta$ are its parameters.
In a similar manner, images can also have a continuous function to represent them. In such a case, we have, $i_{(x,y)}=\mathcal{N}_\theta(x,y)$, where $i_{(x,y)}$ is the intensity at the coordinate $(x, y)$. this is an implicit representation with a neural network, and hence the name, ``implicit neural representation (INR)".
If the INR has sufficient capacity, then the image is represented very accurately. MLPs equipped with the traditional nonlinearity such as ReLU however does not have sufficient capacity (think of it as similar to a low-order polynomial). In contrast, nonlinearities such as SIREN (sinusoidal) perform well, but do not scale well to very large signals (think gigapixel images). This is where MINER comes into the picture, by performing a partition of the space into disjoint blocks, and using small MLPs for each block -- somewhat similar to splines instead of a single polynomial. Hence, the capacity of a network architecture can be evaluated well by fitting an image.
Hope that helps!

Dea vishwa,
Thank you so much for your detailed response! Your explanation about implicit neural representations (INR) and the concept of fitting an image using MINER was incredibly helpful. I truly appreciate the time and effort you put into explaining the topic.
Your analogy with polynomial fitting and the introduction of a multilayer perceptron (MLP) to represent continuous functions provided me with a clearer understanding of the concept. Additionally, your explanation about the limitations of traditional nonlinearities like ReLU and the advantages of alternatives like SIREN was enlightening.
The idea of partitioning the space into disjoint blocks and using small MLPs for each block, akin to splines, in order to handle very large signals is fascinating. It's remarkable how MINER expands the capacity of network architectures and allows for accurate image representation.
Once again, thank you for sharing your knowledge and expertise. Your response has been instrumental in enhancing my understanding of the topic. I'm grateful for your generous help.
Best regards
netmaker

Sorry to bother you.
May I ask where to download the gigapixel image?

Sorry to bother you. May I ask where to download the gigapixel image?

Here you go: https://www.flickr.com/photos/trevor_dobson_inefekt69/29314390837


Add gRpc status and message in accesslog

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ijsnellf
If they are not already assigned, you can assign the PR to them by writing /assign @ijsnellf in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gargnupur: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
39d766b9a30ebfd620536ebec884bc9b065c1b93
link
/test istio-unit-tests

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

/test istio-unit-tests

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gargnupur: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
7f6e1de658b2d79a4ff7d2b0dabf9af6690fa83a
link
/test istio-pilot-multicluster-e2e

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


[SPARK-42641][CONNECT][BUILD] Upgrade buf from 1.14.0 to 1.15.0

What changes were proposed in this pull request?
Upgrade buf from 1.14.0 to 1.15.0
Why are the changes needed?
routine upgrade, I manually test and this upgrade will not change the generated files
Does this PR introduce any user-facing change?
no, dev-only
How was this patch tested?
manually test and CI

merged into master/3.4


Bugfix/#88/avoid stale data

When service is marked to be deregisterd during sync a
sk marathon for it tasks to recheck if this task was
not started after sync procedure started. Prevents
deregistartion of tasks started after sync asked for all
marathon services. It also minimize call to marathon for a price
of not deregistering tasks that was killed during sync. This will
be handled with events or next sync.

Coverage decreased (-0.02%) to 91.026% when pulling fb1110e8e473e599d0a177d09036439018488eef on bugfix/#88/avoid_stale_data into 14fcb0426741f68924b2aa9257f8fc4315cff878 on master.

Coverage decreased (-0.02%) to 91.026% when pulling fb1110e8e473e599d0a177d09036439018488eef on bugfix/#88/avoid_stale_data into 14fcb0426741f68924b2aa9257f8fc4315cff878 on master.

Coverage decreased (-0.02%) to 91.026% when pulling 37900026f97a5b1006c1ddc3cc4c3d10616f59f8 on bugfix/#88/avoid_stale_data into 14fcb0426741f68924b2aa9257f8fc4315cff878 on master.

Coverage decreased (-0.02%) to 91.026% when pulling ac3c12125eb9d51a15e71c1bb40eede6e7ad41ef on bugfix/#88/avoid_stale_data into 14fcb0426741f68924b2aa9257f8fc4315cff878 on master.


Ale shows error message only after moving cursor

I always need to move the cursor out of the erroneous line to see a respective linters error message.
Maybe the gif below helps clarify what I mean:

Hmm, I suppose in a way, I have always been aware of that, but I never really consciously thought of it as an issue before.
I'll see if this can be fixed easily now.

I believe I have fixed this now. Let me know if you still have any issues. I was able to get ALE to try and echo a message when linting ends, and also when you leave insert mode. That's probably enough for most users. I might have to do more in future. I can't remember the specific reason why, but the messages are only safe to echo if you're in normal mode.


"Open with Options" dialog displays on top of other applications

Start Opening with Options
Pick file (to show dialog)
Tab out to Finder
Notice dialog is still on top

macOS 10.15 / BN 2.1.2364-dev

Fixed in 2.1.2373-dev.


Possible bug in GITHUB_REPO_METADATA sync - missing values for columns

Noticing that two date columns seem to always be missing values (NULL) in the github_repo_info table, latest_release_created_at and latest_release_published_at. This is suspicious to me, as we other data about the latest_release_* included. My guess is maybe we're not handling these dates properly when we sync in from the GitHub API

Confirming that mergestat-lite is properly returning these timestamps, so something is getting dropped in our handling of it:


[Feature Request] Reduce padding on the sides

Currently a large part on the left and right of the screen is padding:

I suggest to reduce the padding.

Thank you for the suggestion!
Here you go: (Part of) 4d3bebe99782f0431b37ad625db0d72ab2647940
Available in v0.5.0+.


Unable to select correct 5GHz channel numbers for 40MHz and 80MHz widths

Model | Ubiquiti UniFi AC Pro
Architecture | Qualcomm Atheros QCA956X ver 1 rev 0
Firmware Version | OpenWrt 21.02.1 r16325-88151b8303 / LuCI openwrt-21.02 branch git-21.295.67054-13df80d
Kernel Version | 5.4.154
When configuring a 5GHz wireless network, the channel dropdown list does not list the correct channels when 40MHz and 80MHz widths are selected.
Regardless of which width is selected, only the 20MHz channel numbers are listed: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173.
When 40MHz width is selected, the channel list should be: 34, 38, 46, 54, 62, 102, 110, 118, 126, 134, 142, 151, 159, 167, 175.
When 80MHz width is selected, the channel list should be: 42, 58, 106, 122, 138, 155, 171.

That is not how the OpenWrt/hostapd backend works. It expects a 20Mhz primary channel number and will select the center frequency automatically. The list exposed by LuCI is taken from nl80211 (see iw list). The channel configuration does not specify center frequencies.
Chosing e.g. channel 36 and an 80MHz width will result in vht_oper_centr_freq_seg0_idx=42 (center channel number 42 = 5210 MHz). So you can think of the channel number as the "lower edge" of effectively used 40/80/160MHz band.

Thanks for the clarification.

If you're curious, you can find the calculations here:
https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh#L233


re-run visual diff

It looks like something in the config has changed such that a significant number of visual diffs need to be re-generated. Isolating this in an empty PR so it's obvious.

Going to close this since it appears it's the NPM version that's causing the diff.


Running locally

It seems that for non playstore apps to request an integrity token, the setCloudProjectNumber field must be set here. Without this number set, it is not possible to use a custom api server. The cloud project number can be found here using the api tester. I'm curious if you would also consider adding this as a variable that can be accessed through the local.properties file, similar to the API_URL property.
Also the API_URL specified in the readme is incorrect with a trailing / because the app itself already appends the /. Please consider correcting the documentation.
Lastly, in my use case, I modified the server a little bit so that I could use it outside of Vercel in a local Docker environment. With this, I ran into an issue where accessing my local server directly by IP in the local environment resulted in an error, so I had to add android:usesCleartextTraffic="true" to the manifest as specified here. I understand if you may not want to add this to the main app, but it would be a helpful hint to also have in the documentation.
Thanks for making this wonderful app!

It seems that for non playstore apps to request an integrity token, the setCloudProjectNumber field must be set here.

Yes but non playstore apps can't check for strong and basic integrity, only device. So half of the UI would become useless.

Also the API_URL specified in the readme is incorrect with a trailing / because the app itself already appends the /.

Done

so I had to add android:usesCleartextTraffic="true"

This is only required if your server is running with http (not https) which I won't embrace.

Yes but non playstore apps can't check for strong and basic integrity, only device. So half of the UI would become useless.

I don't believe this is the case actually. I was able to see basic and device integrity pass with my local server.

Technically you don't even need a server but it's more secure that way

I guess for just a checker app, does the security really matter since there isn't any sort of "secure" method that you are checking?
Thanks for the quick update!

I don't believe this is the case actually. I was able to see basic and device integrity pass with my local server.
When I first made this app, this was how it worked. Now I have no idea

I guess for just a checker app, does the security really matter since there isn't any sort of "secure" method that you are checking?
Works now, I'm not touching it :P


Remove job from commit

/cc @LK4D4 My attempt to remove job from commit but then it still need job from builder, hope this is ok to continue with..
I'll fix red tests asap
Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

@runcom I think it is first engine-removal which adds more lines, than remove :)

@LK4D4 you're right but I had to adapt everything from that env.*

I'm trying to figure out why some tests failed btw

@LK4D4 tests would be ok now, basically I've removed the first dependency from commit on engine/job but yet, daemon commit still has a dependency on engine/job with build_config job from builder (discussed on IRC)

Removed integration/server_test.go tests because of https://github.com/docker/docker/pull/12282

LGTM

LGTM


Drive letter Z not available for regular drive

The drive letter Z seems to be available only for the virtual spool drive. It would be great to have it available for regular drives if the user wants to use Z: for regular drive.

Fixed in devel, thanks!

How did you fix it? I don't think so... I have a previously occupied Z: letter, and I set the spool drive to Off. Now, when I start WinSSHFS, I get an error message saying the letter Z: is not available to be used for the spool drive.
I think the problem is in the following code:
if (virtualDrive == null)
        {
            virtualDrive = new VirtualDrive
            {
                Letter = 'Z'
            };
        }

You should instead allow for the option that the virtual drive is not used at all.

Error message u see shoud be "Bad rive letter", right? Letter Z is now avaiable. This is cobug and elsewhere -  virtualdrive is null only if config is missing (or very old version).
This error message has different reason, its trying to mount letter ' '. This is now fixed in tree.

Okay, I'll test as soon as there's a new release. Thanks!

Není zač ;)


Can I use clang on win gnu toolchain?

This is mostly a place to report issues rather than asking questions, so I'm going to close this.
To answer your question I don't know, I haven't tried myself.


HDDS-10845. BaseFreonGenerator allows an empty prefix

What changes were proposed in this pull request?
BaseFreonGenerator allows an empty prefix instead of enforcing a random prefix when no prefix is specified.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10845
How was this patch tested?
manual tests.
case1:
without pr:
# note: write first and then exe related read op
$ ozone freon ockrw -r 1000 -t 10 --linear --contiguous --percentage-read 50 -m=true --size=0 --duration 10s -v vol1 -b freon2
2024-05-12 16:54:45,789 [pool-2-thread-9] ERROR freon.OzoneClientKeyReadWriteListOps: Key:o7h00eovbs/9 not found
2024-05-12 16:54:45,789 [pool-2-thread-2] ERROR freon.OzoneClientKeyReadWriteListOps: Key:o7h00eovbs/5 not found
2024-05-12 16:54:45,789 [pool-2-thread-1] ERROR freon.OzoneClientKeyReadWriteListOps: Key:o7h00eovbs/7 not found
2024-05-12 16:54:45,789 [pool-2-thread-5] ERROR freon.OzoneClientKeyReadWriteListOps: Key:o7h00eovbs/0 not found
2024-05-12 16:54:45,791 [pool-2-thread-6] ERROR freon.BaseFreonGenerator: Error on executing task 5
java.lang.RuntimeException: Key:o7h00eovbs/6 not found
    at org.apache.hadoop.ozone.freon.OzoneClientKeyReadWriteListOps.lambda$readWriteListKeys$0(OzoneClientKeyReadWriteListOps.java:212)
    at com.codahale.metrics.Timer.time(Timer.java:116)
    at org.apache.hadoop.ozone.freon.OzoneClientKeyReadWriteListOps.readWriteListKeys(OzoneClientKeyReadWriteListOps.java:192)
    at org.apache.hadoop.ozone.freon.BaseFreonGenerator.tryNextTask(BaseFreonGenerator.java:220)
    at org.apache.hadoop.ozone.freon.BaseFreonGenerator.taskLoop(BaseFreonGenerator.java:200)
    at org.apache.hadoop.ozone.freon.BaseFreonGenerator.lambda$startTaskRunners$0(BaseFreonGenerator.java:174)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

with pr, no err:
$ ozone freon ockrw -r 1000 -t 10 --linear --contiguous --percentage-read 50 -m=true --size=0 --duration 10s -v vol1 -b freon2
2024-05-12 17:42:51,677 [main] INFO freon.BaseFreonGenerator: Executing test with prefix '' and number-of-tests 1000

 100.00% |█████████████████████████████████████████████████████████████████████████████████████████████████████|  10/10 Time: 0:00:10|
24-5-12 17:43:02 ===============================================================

-- Timers ----------------------------------------------------------------------
key-read-write-list
             count = 6073
         mean rate = 671.91 calls/second
     1-minute rate = 630.00 calls/second
     5-minute rate = 630.00 calls/second
    15-minute rate = 630.00 calls/second
               min = 0.29 milliseconds
               max = 223.48 milliseconds
              mean = 12.61 milliseconds
            stddev = 30.34 milliseconds
            median = 1.82 milliseconds
              75% <= 2.95 milliseconds
              95% <= 90.20 milliseconds
              98% <= 93.20 milliseconds
              99% <= 94.80 milliseconds
            99.9% <= 223.33 milliseconds

Total execution time (sec): 10
Failures: 0
Successful executions: 6073

case 2:
without pr:
ozone freon ommg --operation CREATE_KEY -n 25000 --duration 10 -v vol1 -b freon2
2024-05-12 15:22:35,976 [main] INFO freon.BaseFreonGenerator: Executing test with prefix hrjrsaohi9 and number-of-tests 25000

"prefix hrjrsaohi9" should be prefix ''.
with pr:
2024-05-12 17:45:36,898 [main] INFO freon.BaseFreonGenerator: Executing test with prefix '' and number-of-tests 25000

@adoroszlai @xichen01 Could you help review if you have time ?  Thanks !

@whbing
Thanks for your PR.
I think we can add a --noprefix option to BaseFreonGenerator (default value is false) and set a different default value in some subclass if it is necessary.

Thanks @whbing for working on this.  Unfortunately, I don't think using an empty prefix will solve this.

Read-only workload will never work without prior writes.  (There are standalone read-only Freon subcommands, e.g. ockv, dfsv, ocokr)
Mixed workload may still run into read errors depending on the progress of read/write threads.  (I tried your command and did get Key:... not found errors.)

The result of using an empty prefix is the same as using a fixed non-empty prefix (e.g. -p test).

@adoroszlai Thanks for review.

The result of using an empty prefix is the same as using a fixed non-empty prefix (e.g. -p test).

The prefix is always non-empty due to the following code, regardless of whether the prefix used.
https://github.com/apache/ozone/blob/06c7cb419c141a0525c3d91063517b9912c9ff70/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/BaseFreonGenerator.java#L287-L292

It does not impact write op even with a random prefix
For read op, it always randomly selects an incorrect prefix.

It seems to require all sub-cmds forced to use prefix. I prefer to allow empty prefixes (e.g. freon ommg).

but it will not fix problem 1 (reader cannot find data).

@adoroszlai It can fix problem 1 if empty prefix allowed when writing (before read op), as following script:
# test 1 : without pr
ozone sh bucket create vol1/freon1
ozone freon ockrw -r 1000 -t 10 -m=true --linear --contiguous --duration 10s -v vol1 -b freon1
# mix w/r Failed : Key not found
ozone freon ockrw -r 100 -t 10 -m=true --linear --contiguous --percentage-read 50 --duration 10s -v vol1 -b freon1

# test 2 : with pr
ozone sh bucket create vol1/freon2
ozone freon ockrw -r 1000 -t 10 -m=true --linear --contiguous --duration 10s -v vol1 -b freon2
# mix w/r Successful
ozone freon ockrw -r 100 -t 10 -m=true --linear --contiguous --percentage-read 50 --duration 10s -v vol1 -b freon2

It isn't a big issue itself. My rationale for the change is that maybe empty prefix could potentially offer better performance in the FSO bucket.

It can fix problem 1 if empty prefix allowed when writing (before read op)

So the problem is worked around by executing write-only workload before read or read/write workload.  That works if the subsequent workloads use the same prefix, empty or not.  (BTW, in both cases it requires the write workload to create at least as many items as the read workload will try to read.)
I'm not opposed to this change, but stating it fixes problem 1 may be confusing.  Users are still likely to run into the problem by not being aware of the need for the initial write-only workload.

Users are still likely to run into the problem by not being aware of the need for the initial write-only workload.

There doesn't seem to be a good way to handle this. Perhaps it would be better to pre-check the existence of the path ( vol/buk/prefix) before running read workload, rather than endlessly logging a large number of Key not found.

Thanks @xichen01 for review, thanks @adoroszlai for review and merge !


Get-Verb invalid verb should error

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
If you try to get an invalid verb no error is thrown.
Get-Verb -Verb abc

Expected behavior
# Error is thrown

Actual behavior
# No error is thrown

Error details
N/A

Environment data
7.4-preview4

Visuals
No response

I think this is a bug, but also assigning to WG for them to review and decide if this is the case or not.

The WG has discussed this and believe that this cmdlet behaves as designed and operates as a filter. We also believe that this is more of a design time tool, which further reduces the opportunity for confusion.

@JamesWTruher, @SteveL-MSFT  I don't agree with this as the behavior does not match other core cmdlets. Look at these examples when trying to get a non-existent item errors.
PS C:\> Get-PSDrive a
Get-PSDrive: Cannot find drive. A drive with the name 'a' does not exist.
PS C:\> Get-Service a
Get-Service: Cannot find any service with service name 'a'.
PS C:\> Get-Item a
Get-Item: Cannot find path 'C:\Users\TN021943\a' because it does not exist.


Update freefilesync.rb (new version 8.4 released)

It has been released new version 8.4. Current cask freefilesync.rb fails during installation process:
Terminal:
$ brew cask install freefilesync
==> Downloading http://www.freefilesync.org/download/FreeFileSync_8.3_Mac_OS_X.zip
curl: (22) The requested URL returned error: 403 Forbidden
Error: Download failed on Cask 'freefilesync' with message: Download failed: http://www.freefilesync.org/download/FreeFileSync_8.3_Mac_OS_X.zip
The incomplete download is cached at /Users/aikasse/Library/Caches/Homebrew/Cask/freefilesync--8.3.zip.incomplete

This cask formula still failing:
$ brew cask install freefilesync
==> Downloading http://www.freefilesync.org/download/FreeFileSync_8.4_Mac_OS_X.zip

curl: (22) The requested URL returned error: 403 Forbidden
Error: Download failed on Cask 'freefilesync' with message: Download failed: http://www.freefilesync.org/download/FreeFileSync_8.4_Mac_OS_X.zip
The incomplete download is cached at /Users/aikasse/Library/Caches/Homebrew/Cask/freefilesync--8.4.zip.incomplete

I have succesfully tested downloading this .zip binary file, using wget instead of curl, and this is the following terminal log:
$ wget http://www.freefilesync.org/download/FreeFileSync_8.4_Mac_OS_X.zip
--2016-09-09 15:25:46--  http://www.freefilesync.org/download/FreeFileSync_8.4_Mac_OS_X.zip
Resolving www.freefilesync.org... <IP_ADDRESS>
Connecting to www.freefilesync.org|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 302 Moved Temporarily
  Date: Fri, 09 Sep 2016 13:25:44 GMT
  Server: Apache/2.4.23
  Location: http://www.mediafire.com/download/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip
  Cache-Control: max-age=3600
  Expires: Fri, 09 Sep 2016 14:25:44 GMT
  Vary: User-Agent
  Content-Length: 0
  Keep-Alive: timeout=5
  Connection: Keep-Alive
  Content-Type: text/html
Location: http://www.mediafire.com/download/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip [following]
--2016-09-09 15:25:47--  http://www.mediafire.com/download/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip
Resolving www.mediafire.com... <IP_ADDRESS>, <IP_ADDRESS>
Connecting to www.mediafire.com|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 302
  Date: Fri, 09 Sep 2016 13:25:44 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Connection: close
  Cache-control: no-cache
  Expires: 0
  Location: http://download955.mediafire.com/67gtgp7pcvwg/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip
  Pragma: no-cache
  Set-Cookie: ukey=f8z2yy2ddrmjt0mmwr8yxy2uye35yxnf; expires=Fri, 10-Aug-2018 13:25:44 GMT; path=/; domain=.mediafire.com; httponly
  Server: MediaFire
  Access-Control-Allow-Origin: *
Location: http://download955.mediafire.com/67gtgp7pcvwg/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip [following]
--2016-09-09 15:25:47--  http://download955.mediafire.com/67gtgp7pcvwg/vt5bqfa1y8o6wgl/FreeFileSync_8.4_Mac_OS_X.zip
Resolving download955.mediafire.com... <IP_ADDRESS>
Connecting to download955.mediafire.com|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: LRBD-e014fb0
  Date: Fri, 9 Sep 2016 13:25:45 GMT
  Connection: close
  Accept-Ranges: bytes
  Content-transfer-encoding: binary
  Content-Length: 10355628
  Content-Disposition: attachment; filename="FreeFileSync_8.4_Mac_OS_X.zip"
  Content-Type: application/zip
Length: 10355628 (9.9M) [application/zip]
Saving to: ‘FreeFileSync_8.4_Mac_OS_X.zip’

FreeFileSync_8.4_Mac_OS_X.zip           100%[=============================================================================>]   9.88M   194KB/s    in 52s

Last-modified header missing -- time-stamps turned off.
2016-09-09 15:26:40 (193 KB/s) - ‘FreeFileSync_8.4_Mac_OS_X.zip’ saved [10355628/10355628]

The final url where the "FreeFileSync_8.4_Mac_OS_X.zip" file is located is at mediafire.com file hosting web service. It is not located at freefilesync.org domain.
Maybe this could be the reason because cult command is falling.
Thanks for your support.


Dealing with conditinal (ternary) translation

I found my self constantly using translation dependent on some condition like:

grunt-angular-translate wont be smart about this and extract one single key:
"{{edit ? 'Update' : 'New user'}}"
Is there some way or the possibility improving dealing with this use case ?
Something like http://www.regexr.com/3b7ph

Duplicated post sry


Initial roles and dependencies

Simple dataset/user/role model and fastapi dependencies to protect backend endpoints. Enforces implied role hierarchy OWNER > EDITOR > UPLOADER > VIEWER.
Includes new /authorizations router, new model, and two new dependencies to require a certain role on an endpoint. Examples or its use are in routers.authorization.py and test_authorization.py.

I notice that when i create files or datasets, the author is listed as 'undefined undefined'. In the db, the users don't have first name or last name. Will debug this and see if I can find the cause.

I notice that when i create files or datasets, the author is listed as 'undefined undefined'. In the db, the users don't have first name or last name. Will debug this and see if I can find the cause.

Should be fixed. As mentioned above "It was requiring to provide first and last name when login in using the /login endpoint. We can add the same fields to UserOut. Thanks for pointing this out."

I checked out the latest code. When I register a new user it still ends up without first_name or last_name in the users db table, and then I get errors when trying to create a dataset.
  File "/Users/helium/.virtualenvs/backend-qaHHe5b_/lib/python3.9/site-packages/fastapi/dependencies/utils.py", line 543, in solve_dependencies     solved = await call(**sub_values)   File "/Users/helium/ncsa/clowder2/backend/./app/keycloak_auth.py", line 94, in get_current_user     user = await get_user_out(userinfo["email"], db)   File "/Users/helium/ncsa/clowder2/backend/./app/models/users.py", line 43, in get_user_out     return UserOut(**user_out)   File "/Users/helium/ncsa/clowder2/backend/./app/models/mongomodel.py", line 30, in __init__     super().__init__(**pydict)   File "pydantic/main.py", line 342, in pydantic.main.BaseModel.__init__ pydantic.error_wrappers.ValidationError: 2 validation errors for UserOut first_name   field required (type=value_error.missing) last_name   field required (type=value_error.missing)

@lmarini
I fixed one of the tests. There was a missing import from elasticsearch.

All test are working now. Thanks @tcnichol .

Luigi, I notice that here it shows all tests passed, but locally I am still getting many tests failing with this error:
``
TypeError: app.models.users.UserOut() argument after ** must be a mapping, not NoneType
``


Make glossary

This is an issue to organize discussions regarding glossary creation.

nishio — Discord
After finishing my tasks related to index creation, I've been thinking about what to do next. I came up with an idea for creating a glossary, and I'd like to hear your thoughts on it.
We already have a list of 1800+ keywords for the index, which was created by the community and reviewed by several people, including Glen. This list can be interpreted as a list of important concepts discussed in the book. Additionally, we have a script that identifies where these keywords appear in the text for index creation.
So, theoretically, we are able to extract mentions of each of these keywords from the book and pass them to LLM to generate explanations. I'd like to explore this direction.
Initially, it would be in English, but I believe this glossary should also be multilingual. Additionally, adding new entries should be possible.
Improving the descriptions, translations, and adding new entries to this glossary would provide a more easy way of contributing to the project compared to adding content to the main text. It would create opportunities for active participation for many people around the world.
GlenWeyl
Love this idea!!

Discord
(Summary by GPT4) GlenWeyl suggested reviving a reading group to compile key terms from a book to help create an index. Akinori emphasized the value of such a glossary, pointing to a similar initiative by Code for Japan that enhanced understanding through clear explanations and cross-language disambiguation. Nishio added that creating a glossary is crucial for future translations and mentioned he is developing a Japanese version using Scrapbox. He suggested using GitHub's Wiki for an English glossary to aid translators of minority languages, highlighting the need to include culturally or linguistically specific terms. Akinori appreciated Nishio's input and further discussed the importance of such a glossary for diverse readers.

(comment) I forgot about the Github Wiki!

 Gov4Git notices
On Tuesday, 16-Apr-24 20:31:12 UTC by Gov4Git dev
Notice w64tb4
Started managing this issue, using the Plural Management Protocol v1,  as Gov4Git concern 890 with initial priority score of 0.000000.
This project is managed by Gov4Git, a decentralized governance system for collaborative git projects.
To participate in governance, install the Gov4Git desktop app.
Notice miprno
This issue's priority score is now 0.000000.
The cost of priority is 0.000000.
The projected bounty is now 0.000000.
Notice ciopgf
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Wednesday, 24-Apr-24 16:34:41 UTC by Gov4Git dev
Notice vv7izw
This issue's priority score is now 90000.000000.
The cost of priority is 90000.000000.
The projected bounty is now 90000.000000.
Notice p2rvr3
The set of eligible proposals claiming this issue is empty.

 Gov4Git notices
On Wednesday, 09-Oct-24 03:45:47 UTC by Gov4Git dev
Notice jcg3oy
This issue's priority score is now 92416.000000.
The cost of priority is 90016.000000.
The projected bounty is now 92416.000000.
Notice zfrz7m
The set of eligible proposals claiming this issue is empty.


[NtTypes] Correctly compute buffer size allocated for ObjectTypesInformation

ntdll.NtQueryObject is one in a long list of natives API with a pretty
funny way to use it. It takes a buffer and a buffer size, and on success
fills out the bufffer and write the written length in a return_length
parameter.
 using (var type_info = new SafeStructureInOutBuffer<ObjectAllTypesInformation>())
{
  Dictionary<string, NtType> ret = new Dictionary<string, NtType>(StringComparer.OrdinalIgnoreCase);
  NtStatus status = NtSystemCalls.NtQueryObject(
    SafeKernelObjectHandle.Null,
    ObjectInformationClass.ObjectTypesInformation,
    type_info,
    type_info.Length,
    out int return_length
  );

  if (status != NtStatus.STATUS_INFO_LENGTH_MISMATCH)
    status.ToNtException();

  return return_length;
}

However if the buffer is not big enough, the return status is set to
STATUS_INFO_LENGTH_MISMATCH inciting the developer to embiggen the input
buffer and re-attempt the call. However return_length parameter is also
sometimes set but it should not be relied upon as long as status is not
equal to STATUS_SUCCESS.
It's use to enumerate Object types in NtType.LoadTypes. I've added debug log to understand the situation :
private static Dictionary<string, NtType> LoadTypes()
  {
    var type_factories = NtTypeFactory.GetAssemblyNtTypeFactories(Assembly.GetExecutingAssembly());
    int type_size = GetTypeSize();
    Dictionary<string, NtType> ret = new Dictionary<string, NtType>(StringComparer.OrdinalIgnoreCase);
    Console.WriteLine("type_size {0:x}", type_size);
    using (var type_info = new SafeStructureInOutBuffer<ObjectAllTypesInformation>(type_size, true))
    {
      int alignment = IntPtr.Size - 1;
      NtSystemCalls.NtQueryObject(SafeKernelObjectHandle.Null, ObjectInformationClass.ObjectTypesInformation,
                    type_info, type_info.Length, out int return_length).ToNtException();
      Console.WriteLine("return_length {0:x}", return_length);
      ObjectAllTypesInformation result = type_info.Result;
      IntPtr curr_typeinfo = type_info.DangerousGetHandle() + IntPtr.Size;
      ...
      Console.WriteLine("done");

On a 64-bit build :
type_size 2278
return_length 2278
done

On a 32-bit build :
type_size 1fd8
return_length 1fe4
done

We have a classic buffer overflow since the return_length value returned on a STATUS_INFO_LENGTH_MISMATCH is not quite the correct value (why is that, I honestly don't know or/and care).
The fix is inspired by how ProcessHacker use the API :
NTSTATUS PhEnumObjectTypes(
    _Out_ POBJECT_TYPES_INFORMATION *ObjectTypes
    )
{
    NTSTATUS status;
    PVOID buffer;
    ULONG bufferSize;
    ULONG returnLength;

    bufferSize = 0x1000;
    buffer = PhAllocate(bufferSize);

    while ((status = NtQueryObject(
        NULL,
        ObjectTypesInformation,
        buffer,
        bufferSize,
        &returnLength
        )) == STATUS_INFO_LENGTH_MISMATCH)
    {
        PhFree(buffer);
        bufferSize *= 2;

        // Fail if we're resizing the buffer to something very large.
        if (bufferSize > PH_LARGE_BUFFER_SIZE)
            return STATUS_INSUFFICIENT_RESOURCES;

        buffer = PhAllocate(bufferSize);
    }

    if (!NT_SUCCESS(status))
    {
        PhFree(buffer);
        return status;
    }

    *ObjectTypes = (POBJECT_TYPES_INFORMATION)buffer;

    return status;
}

Hmm, wow, okay. Wouldn't surprise me if there's a bug in the wow64 layer (there's a few of those) as regardless of whether the return length value is correct or not (seems fine on 64bit) it shouldn't end up overwriting the end of the allocated size we passed in to begin with. I have noticed there seemed to be a memory corruption somewhere in 32 bit, wonder if this is it?
Can you fix the CLA issue? Also I have at least one comment on the commit to resolve.

Thanks a lot, really appreciate the fix.

NtQueryObject also sometimes returns STATUS_INFO_LENGTH_MISMATCH if the provided buffer is bigger than expected. At least this the case on my Windows 10 x64 RS4 when using ObjectBasicInformation info class.
This code passes a buffer of exactly the required size and gets STATUS_SUCCESS in return:
using (var objectInfoBuf = new SafeStructureInOutBuffer<ObjectBasicInformation>(0, true))
{
	var status = NtSystemCalls.NtQueryObject(
		NtProcess.Current.Handle,
		ObjectInformationClass.ObjectBasicInformation,
		objectInfoBuf, objectInfoBuf.Length,
		out int returnLength);
}

But if I increase the buffer size by 1, the call results in STATUS_INFO_LENGTH_MISMATCH (and no correct value in returnLength):
using (var objectInfoBuf = new SafeStructureInOutBuffer<ObjectBasicInformation>(1, true))
{
	var status = NtSystemCalls.NtQueryObject(
		NtProcess.Current.Handle,
		ObjectInformationClass.ObjectBasicInformation,
		objectInfoBuf, objectInfoBuf.Length,
		out int returnLength);
}


Use project level recatpcha site key for password reset

coverage: 94.194% (-0.06%) from 94.258% when pulling 8d231f1aab5d0a4d153375e60a3982d9bbfcc5dc on tony-password-reset-project-recaptcha-key into 64f736243c00e50999d3e67617e87c5ced8eb4dd on main.


Discord invite invalid

Hi,
seems that the discord invite link is invalid.
Can you please check and share new link?
Thanks

Hey there!
Sure, it's https://discord.gg/3NEezy6c
Where did you find the discord link that is invalid so I can change it?

Thanks!
here in the readme:
https://github.com/rule110-io/surge/blob/development/README.md

Thanks! Changed it!


Adding async/await syntax highlighting support.

Hi @ejsmith, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@ejsmith can you send this PR to https://github.com/Microsoft/TypeScript-TmLanguage instead?

@ejsmith, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

Ugh, clicked the wrong repo.


poetry add pydantic raises [AssertionError]

Bug
For bugs/questions:

OS: Ubuntu 18.04
Python version import sys; print(sys.version): ?
Pydantic version: (before install)

I use poetry for my dependency managing tool, but when i use poetry add pydantic it raises AssertionError as follows.  Any other packages work fine. Unfortunately, I don't know why... Is there any solution for this issue?
Using version ^0.30.1 for pydantic

Updating dependencies
Resolving dependencies... (0.0s)

[AssertionError]

add [-D|--dev] [--git GIT] [--path PATH] [-E|--extras EXTRAS] [--optional] [--python PYTHON] [--platform PLATFORM] [--allow-prereleases] [--dry-run] [--] <name> (<name>)...

Python version?

If this is really all you get in terms of error message, I think you should report or to poetry - at least for the lack of further information.

I’ve been using pydantic with poetry exclusively without an issue, but haven’t run poetry add pydantic. I just put it in pyproject.toml and run poetry update / poetry lock.
@sjquant try running poetry add pydantic -vvv; that should give more verbose information about what’s going wrong (if not, it’s definitely worth a poetry issue). Also, which version of poetry are you using?

Did not reproduce this issue on Python 3.7.3 & Windows 7 & poetry 0.12.17

It worked suddenly. Sorry for inconvinience. I'll close this issue.

I am getting same error with poetry add pydantic I tried putting it in projects.toml and run poetry update / poetry lock but getting same error.
❯ python3 --version
Python 3.9.5

❯ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:        21.04
Codename:       hirsute

From the trace it looks like a poetry issue
❯ poetry add pydantic -vvv
Using virtualenv: /home/user1/.cache/pypoetry/virtualenvs/pydantic-3-9acRr3-py3.9
PyPI: 78 packages found for pydantic *
Using version ^1.8.2 for pydantic

Updating dependencies
Resolving dependencies...
   1: fact: pydantic is 0.1.0
   1: derived: pydantic
   1: Version solving took 0.004 seconds.
   1: Tried 1 solutions.

  Stack trace:

  13  ~/.poetry/lib/poetry/_vendor/py3.9/clikit/console_application.py:131 in run
       129│             parsed_args = resolved_command.args
       130│
     → 131│             status_code = command.handle(parsed_args, io)
       132│         except KeyboardInterrupt:
       133│             status_code = 1

  12  ~/.poetry/lib/poetry/_vendor/py3.9/clikit/api/command/command.py:120 in handle
       118│     def handle(self, args, io):  # type: (Args, IO) -> int
       119│         try:
     → 120│             status_code = self._do_handle(args, io)
       121│         except KeyboardInterrupt:
       122│             if io.is_debug():

  11  ~/.poetry/lib/poetry/_vendor/py3.9/clikit/api/command/command.py:171 in _do_handle
       169│         handler_method = self._config.handler_method
       170│
     → 171│         return getattr(handler, handler_method)(args, io, self)
       172│
       173│     def __repr__(self):  # type: () -> str

  10  ~/.poetry/lib/poetry/_vendor/py3.9/cleo/commands/command.py:92 in wrap_handle
        90│         self._command = command
        91│
     →  92│         return self.handle()
        93│
        94│     def handle(self):  # type: () -> Optional[int]

   9  ~/.poetry/lib/poetry/console/commands/add.py:173 in handle
       171│             self._installer.whitelist([r["name"] for r in requirements])
       172│
     → 173│             status = self._installer.run()
       174│         except BaseException:
       175│             # Using BaseException here as some exceptions, eg: KeyboardInterrupt, do not inherit from Exception

   8  ~/.poetry/lib/poetry/installation/installer.py:103 in run
       101│         local_repo = Repository()
       102│
     → 103│         return self._do_install(local_repo)
       104│
       105│     def dry_run(self, dry_run=True):  # type: (bool) -> Installer

   7  ~/.poetry/lib/poetry/installation/installer.py:235 in _do_install
       233│             )
       234│
     → 235│             ops = solver.solve(use_latest=self._whitelist)
       236│         else:
       237│             self._io.write_line("Installing dependencies from lock file")

   6  ~/.poetry/lib/poetry/puzzle/solver.py:65 in solve
        63│         with self._provider.progress():
        64│             start = time.time()
     →  65│             packages, depths = self._solve(use_latest=use_latest)
        66│             end = time.time()
        67│

   5  ~/.poetry/lib/poetry/puzzle/solver.py:233 in _solve
       231│
       232│         try:
     → 233│             result = resolve_version(
       234│                 self._package, self._provider, locked=locked, use_latest=use_latest
       235│             )

   4  ~/.poetry/lib/poetry/mixology/__init__.py:7 in resolve_version
       5│     solver = VersionSolver(root, provider, locked=locked, use_latest=use_latest)
       6│
     → 7│     return solver.solve()
       8│

   3  ~/.poetry/lib/poetry/mixology/version_solver.py:84 in solve
        82│             while next is not None:
        83│                 self._propagate(next)
     →  84│                 next = self._choose_package_version()
        85│
        86│             return self._result()

   2  ~/.poetry/lib/poetry/mixology/version_solver.py:404 in _choose_package_version
       402│         conflict = False
       403│         for incompatibility in self._provider.incompatibilities_for(version):
     → 404│             self._add_incompatibility(incompatibility)
       405│
       406│             # If an incompatibility is already satisfied, then selecting version

   1  ~/.poetry/lib/poetry/mixology/version_solver.py:445 in _add_incompatibility
       443│
       444│     def _add_incompatibility(self, incompatibility):  # type: (Incompatibility) -> None
     → 445│         self._log("fact: {}".format(incompatibility))
       446│
       447│         for term in incompatibility.terms:

  AssertionError

  at ~/.poetry/lib/poetry/mixology/incompatibility.py:111 in __str__
      107│         )
      108│
      109│     def __str__(self):
      110│         if isinstance(self._cause, DependencyCause):
    → 111│             assert len(self._terms) == 2
      112│
      113│             depender = self._terms[0]
      114│             dependee = self._terms[1]
      115│             assert depender.is_positive()


Override/Profile interactions are peculiar.

I have the following override section:
{overrides, [
    {override, lager_syslog, [
        {deps, [
            {lager,       {git, "https://github.com/basho/lager.git",        {branch, "HOPEFULLY_ALREADY_FETCHED"}}},
            {syslog, {git, "https://github.com/jlouis/erlang-syslog.git", {branch, "master"}}}
        ]}
    ]},
    ...
]}

Together with two profiles: prod and staging. The override for syslog doesn't work and it picks up the non-overridden variant. I instrumented the rebar3 binary and figured out what is happening. The problem seems to be interaction with the profiles. In rebar_state the #state{} tuple contains a dict() and its entry is {deps, default} rather than deps. Hence the write here:
https://github.com/rebar/rebar3/blob/1001eefc2b0f0979c1a07fc309625ee04df60910/src/rebar_state.erl#L262
updates the wrong key. If I substitute the deps atom for {deps, default} things work as expected, but this is not documented. Bug or feature?

Hm, I could have sworn I had fixed this or had it open with another issue but I can't find it. Will keep looking and make sure this is the only change needed for this fix.


Memory leak in Oak example, isolates seem to never terminate

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
Edge runtime always crashes after a few minutes of development. This is a huge blocker to using Supabase edge functions locally.
I've tried to gather all of the information I can, but I'm not super familiar with Rust async code.
I'm on an M2 MacBook Pro running edge-runtime through Docker.
To Reproduce

Run this basic Oak server code with supabase functions server --debug:

import { Application } from 'oak';
const app = new Application();
app.use((ctx) => {
  ctx.response.body = 'Hello world!';
});
await app.listen({ port: 8000 });

Send a request
Notice how edge-runtime times out and prints error logs instead of exiting gracefully
Using autocannon load testing tool: autocannon -c 20 -d 60 localhost:54321/functions/v1/api/lol
Notice how edge-runtime runs out of memory and crashes

Expected behavior
Using Oak should exit gracefully after serving a request instead of timing out to free up resources. Or maybe reuse the isolate for other requests?
System information

OS: macOS 14.0 (13-inch, M2, 2022)
Version of supabase-js: beta (1.102.2)
Version of Node.js: v20.5.0

Additional context
Isolates never seem to be terminated
For every request, I see the following 5 log lines. From what I can tell, these mean that the isolate is timing out after a few seconds of CPU time/wall clock time. Shouldn't these only handle one request and then exit?
# oak server is timing out
# this happens for every request before eventually crashing
wall clock duration reached. isolate: 6e4779a6-4a69-499d-81d3-8af6e727464d
event loop error: Uncaught Error: execution terminated
DEBUG failed to send cpu alarm to the provided channel
DEBUG CPU time used: 160ms
DEBUG Sending warning alert CloseNotify

Also, I saw this strange case where the CPU time was negative. Maybe this is a hint at the underlying problem:
wall clock duration reached. isolate: 2dd53cc0-b8cd-4437-974c-c09313dec8ad
DEBUG failed to send cpu alarm to the provided channel
DEBUG CPU time used: -662ms

Memory leak
I'm fairly sure this would cause a memory leak with many requests at the same time. I tried this command with the above code and saw a huge spike in memory and eventually a crash due to Docker killing the container:
autocannon -c 20 -d 60 localhost:54321/functions/v1/api/lol

Result:
Req/Bytes counts sampled once per second.
# of samples: 60

339 2xx responses, 4915 non 2xx responses
5k requests in 60.08s, 1.53 MB read
89 errors (74 timeouts)

CPU/Memory graph (only two samples as the test was starting since it crashed soon after):

Switching forceCreate to false switches the issue. Maybe that should be the default here? Or at least configurable?
https://github.com/supabase/cli/blob/8d30ba2337fbd7ff4b892b97c625784b6c6487a9/internal/functions/serve/templates/main.ts#L129

I opened an PR on the CLI repo to track this - looks like it's a problem with the CLI's main worker code: https://github.com/supabase/cli/pull/1579

I'm going to reopen this issue because I think disabling forceCreate breaks auto reload. Seems like we want to force a new worker if any of the files have changed? Hot reloading by creating a runtime for each request doesn't seem like the most efficient solution.

Here's another example after basic usage of supabase functions serve:

It started failing to respond and eventually crashed.

@meyer9 Was all the examples with Oak? Do you experience similar issues if you use deno's default HTTP library too?

Was all the examples with Oak? Do you experience similar issues if you use deno's default HTTP library too?

I thought it could be related, but it seems to also happen with Deno's HTTP library. The problem is less pronounced with Deno's library probably because it needs to download/load less from disk + network per worker when using the standard library.
With 200 requests with a plain Deno server, I see the memory spike to 2 GB and slowly decrease as workers are freed up.


Complete animation retargeting in Godot Engine

Create design proposal.

Problems.
Changes many of the V-Sekai apis.

Merged in V-sekai today.


ML.Net Object Detection

integrate ML.Net Object Detection into AutoMLService (Not training)
https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/DeepLearning_ObjectDetection_Onnx

Maybe provide them with an OD onnx model zoo?


add a few section descriptions

What is conflicting here?

@devhkr follow the link web editor

@agebhar1 I saw that, but what does ======= mean?

@devhkr above ======= is the content added by this commit and below the content which is on master but not (yet) within this commit
ad hoc I didn't find a formal explanation but it's a diff format like https://askubuntu.com/a/56965


Fixed ghost window when opened while fullscreen on a different workspace

Describe your PR, what does it fix/add?
Fixes #4687 and #4395.
When mapping a new window, we would get the current workspace into PWORKSPACE, then get the target workspace from rules into pWorkspace. And after that we check the fullscreen status of PWORKSPACE, so the window would not render if the origin workspace has a fullscreen window.
I re-assigned PWORKSPACE to the target workspace for the checks later to work with the target workspace of the window.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Is it ready for merging, or does it need work?
Ready

ah you didnt clang format

nope that's still not clang-formatted

I did clang-format -i src/events/Windows.cpp.
I don't understand, the check looks passed to me.

that's.... odd. But alright, I guess clang-format had a stroke.


DNS lookup on host in remap URL, even if it is not next hop

In this Au test:
https://github.com/ywkaras/trafficserver/blob/next_hop_bad_dns/tests/gold_tests/next_hop/strategies_ch/strategies_ch.test.py
the request will fail if the DNS server does not have an entry for the host "not_used". (That is, if line 118 is removed.)  This harms performance, and causes failure if the host in the upstream request is only known to upstream DNS servers.
Here is the trace output showing the DNS lookup:
[May 29 00:17:05.481] [ET_NET 3] DEBUG: <HttpTransact.cc:2654 (CallOSDNSLookup)> (http) [0] [HttpTransact::callos] not_used
[May 29 00:17:05.481] [ET_NET 3] DEBUG: <HttpTransact.cc:2668 (CallOSDNSLookup)> (http_trans) Next action SM_ACTION_DNS_LOOKUP; OSDNSLookup
[May 29 00:17:05.481] [ET_NET 3] DEBUG: <HttpSM.cc:7341 (call_transact_and_set_next_state)> (http) [0] State Transition: SM_ACTION_API_POST_REMAP -> SM_ACTION_DNS_LOOKUP
[May 29 00:17:05.481] [ET_NET 3] DEBUG: <HttpSM.cc:4239 (do_hostdb_lookup)> (http_seq) [HttpSM::do_hostdb_lookup] Doing DNS Lookup
[May 29 00:17:05.482] [ET_NET 3] DEBUG: <HostDB.cc:696 (getby)> (hostdb) delaying (force=0) answer for not_used [timeout 0]
[May 29 00:17:05.495] [ET_NET 3] DEBUG: <HostDB.cc:1576 (do_dns)> (hostdb) DNS not_used
[May 29 00:17:05.495] [ET_NET 3] DEBUG: <DNS.cc:1308 (getby)> (dns) received query not_used type = 1, timeout = 0
[May 29 00:17:05.496] [ET_NET 0] DEBUG: <DNS.cc:1271 (mainEvent)> (dns) enqueuing query not_used
[May 29 00:17:05.496] [ET_NET 0] DEBUG: <DNS.cc:1277 (mainEvent)> (dns) adding first to collapsing queue
[May 29 00:17:05.496] [ET_NET 0] DEBUG: <DNS.cc:1174 (write_dns_event)> (dns) send query (qtype=1) for not_used to fd 22
[May 29 00:17:05.496] [ET_NET 0] DEBUG: <DNS.cc:1223 (write_dns_event)> (dns) sent qname = not_used, id = 33094, nameserver = 0
[May 29 00:17:05.496] [ET_NET 0] DEBUG: <P_DNSProcessor.h:202 (sent_one)> (dns) sent_one: failover_number for resolver 0 is 1
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:896 (recv_dns)> (dns) DNSHandler::recv_dns res = [42]
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:920 (recv_dns)> (dns) received packet size = 42
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:923 (recv_dns)> (dns) round-robin: nameserver 0 DNS response code = 0
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:1592 (dns_process)> (dns) Got 1 DNS records for [not_used]
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:1806 (dns_process)> (dns) received A name = not_used
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:1823 (dns_process)> (dns) received A = <IP_ADDRESS>
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:1844 (dns_process)> (dns) Returning 1 DNS records for [not_used]
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:1411 (dns_result)> (dns) SUCCESS result for not_used = <IP_ADDRESS> retry 0
[May 29 00:17:05.500] [ET_NET 0] DEBUG: <DNS.cc:896 (recv_dns)> (dns) DNSHandler::recv_dns res = [-11]
[May 29 00:17:05.500] [ET_NET 3] DEBUG: <DNS.cc:1500 (postOneEvent)> (dns) called back continuation for not_used
[May 29 00:17:05.500] [ET_NET 3] DEBUG: <HostDB.cc:1213 (dnsEvent)> (hostdb) allocating 9 bytes for not_used with 0 RR records at [0x7f8b3c03bf80]
[May 29 00:17:05.500] [ET_NET 3] DEBUG: <HostDB.cc:1018 (lookup_done)> (hostdb) done <IP_ADDRESS> TTL 300
[May 29 00:17:05.501] [ET_NET 3] DEBUG: <HttpSM.cc:2686 (main_handler)> (http) [0] [HttpSM::main_handler, EVENT_HOST_DB_LOOKUP/TS_EVENT_HOST_LOOKUP]

False alarm, the DNS lookup can be avoided by setting proxy.config.http.no_dns_just_forward_to_parent to 1.


Change Git endpoint for featuring package

The featuring package has recently been transferred from a GitHub organisation to my user.
Can someone please change the Git endpoint for me?

Old
New

https://github.com/NotNinja/featuring.git
https://github.com/neocotic/featuring.git

If you still want to unregister / modify this package you can send PR against this repository that modifies db/packages.json file. Please include proof that you are owner of this package. Please also mind that even if we remove/modify entry in bower registry, bower clients can have cache saved which needs to be cleaned with bower cache clean for each user.


[Task] - Incorporate embeddings (pre-trained and encoder-based) into Merlin Training and Inference

Problem:
Two+ customer teams would like to leverage encoder-based embeddings as additional features in Transformers4Rec. Currently, there is no clear example/path to pass in extra embeddings. This gap in feature prevents teams from adopting Transformers4Rec in production.
Goal:

Produce a comprehensive example on how to incorporate embeddings as extra features into Transformers4Rec. Embeddings may be stored in parquet format. Generalizations should be made where possible in examples, especially on defining the schema and other input parameters.

Constraints:

Embeddings may be stored in parquet files
Workflow should be able to be deployed in Triton

Starting Point:

using-model-embeddings-nvtabular.pdf

Removing the milestone 22.09. This is not in the POR yet.

@benfred , @jperez999 ,
Review this ticket and add planning details.  It is still in needs definition.
Convert the check boxes to tickets in the specific repos ( Please remember to update the initiative field )
Once you are satisfied with the planning change status to RMP review
Refer to this doc for the workflow
There is a link to the video that explains the workflow. Let me know if you have any questions.

For small embedding tables (fit in GPU memory). Using a tensor initializer is the currently supported functionality for pre-trained embedding tables. An example in this notebook:

@MarkMoTrin When you say "encoder-based embeddings as additional features," does that imply encoding an item attribute (like "text description") using an external model (like BERT) and supplying the resulting embeddings as features for each item in a session? We're not talking about adding a single embedding as a session-level feature, we're talking about adding a list of embeddings as item-level features, yeah?

When the embedding table are not huge and fit GPU memory, the new PretrainedEmbeddingsInitializer ( https://github.com/NVIDIA-Merlin/Transformers4Rec/pull/572 ) can be used to initialize the embedding matrix with pre-trained embeddings and set them to trainable or not.