Integrate some part of fractal-demos

Related to https://github.com/fractal-analytics-platform/fractal-demos/issues/37.
Proposal: let's set up one more container with fractal-client, and let's have it as ready as possible to run example 01 from fractal-demos. Ideally all should be automated, meaning that make run should trigger a bunch of operations that are over only once example 01 is over.
Note that there will be a few expected gotcha on the way: e.g. paths need to be updated to something in /home/fractal-share, and we should wait for task collection to be over (through a script that checks every N seconds), ...
Longer-term perspective: this could represent one way to automatically re-run a bunch of fractal-demos examples. TBD what kind of checks could be included in the output (either just successful-execution assertions, or something more related to the output data - ref https://github.com/fractal-analytics-platform/fractal-demos/issues/37).

A broader review, planned with @mfranzon.
Versions
Expose env variables for versions (all defaulting to latest pypi version, if not specified) of

fractal-server
factal-tasks-core
fractal-client
fractal-web (latest release on github)
fractal-demos (maybe either latest on github or specific commit - to be used with git checkout)

Each variable gets used in the right container.
Server container and DB container

Use versions
Make volumes non persistent.

Web client

Use versions

demos container

Use versions (both in Dockerfile and run_all_demos.sh)
Move as many statements as possible from run_all_demos.sh to Dockerfile.
Pip install a minimal set of requirements for check_result.py
Split run_all_demos.sh in setup (up to task collection is over), example01, .. -> and/or collect all in a single script..
https://github.com/fractal-analytics-platform/fractal/issues/552
Catch exit code of run_example and log its state somewhere
After run_example.sh, add a new layer that waits for when job is over
Catch job status and log it somewhere
Add an example Python script for checking output, based on https://github.com/fractal-analytics-platform/fractal-demos/issues/37
Run check_results.py and log its output somewhere

Expected: a log file like
example 01
API calls -> success (or failed, here is the log..)
Job status -> done (or failed, here is the log..)
check-results -> success (or failed, here is the log..)

github action

Add all of this as a github action (without setting versions, in the first version), and use workflow_dispatch

Here is a proposal about versions:
For fractal-client (and the same holds for fractal-server) we may have one of the following env variable: FRACTAL_CLIENT_RELEASE_VERSION or FRACTAL_CLIENT_GIT_VERSION. The logic could be like:

If they are both unset, then we use pip install fractal-client.
If they are both set, we fail.
If FRACTAL_CLIENT_RELEASE_VERSION is set, then we use it as part of a pip install command.
If FRACTAL_CLIENT_GIT_VERSION is set (this could be a commit hash, or a tag, or a branch), then we go through git-clone and then git-checkout.

For fractal-tasks-core, we have fewer cases:

If FRACTAL_TASKS_CORE_RELEASE_VERSION is set, we pass it to the fractal-task-collect command.
If it is not set, we do not include it in the fractal-task-collect command.

For fractal-web, we could stick with FRACTAL_WEB_GIT_VERSION (a commit hash, a branch, or a tag):

If it's unset, we git-clone and stick with main
If it's set, we git-clone and then git-checkout.

For this, we would need some logic to shutdown everything after the demos service is over.

See --abort-on-container-exit flag

For fractal-tasks-core, we have fewer cases:
If FRACTAL_TASKS_CORE_RELEASE_VERSION is set, we pass it to the fractal-task-collect command.
If it is not set, we do not include it in the fractal-task-collect command.

Wouldn't we want to be able to use this to e.g. test a new task version or a task branch? Or is the focus on testing changes to server & web server with the released tasks?

Closed with #21


Implement loader for GeoJSON

added cleanup of all GeoJSON
added big code cleanup, App.jsx is now mostly manageable.


Ignore transient tags

Codecov Report

Merging #13 (3d320f7) into main (a0355d8) will increase coverage by 0.17%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #13      +/-   ##
==========================================
+ Coverage   81.90%   82.07%   +0.17%
==========================================
  Files           4        4
  Lines         210      212       +2
==========================================
+ Hits          172      174       +2
  Misses         27       27
  Partials       11       11

Impacted Files
Coverage Δ

internal/git/utils.go
67.24% <100.00%> (+1.16%)
:arrow_up:

Continue to review full report at Codecov.

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


mbedtls_pk_check_pair not working with PK backend to secure element !

Description

Type: Bug
Priority: Blocker

When using mbedtls_pk_check_pair  with alternate PK implemenation to use secure element is not working.
The check based on pointer is always false.
It for example break cert_write.
Performing the comparaison based on type solve the issue. See proposed enhancement.

Bug
mbed TLS build:
Version: 2.16.8
Suggested enhancement
diff --git a/library/pk.c b/library/pk.c
index 81cfdbfe8..9334845f4 100644
--- a/library/pk.c
+++ b/library/pk.c
@@ -510,7 +510,7 @@ int mbedtls_pk_check_pair( const mbedtls_pk_context *pub, const mbedtls_pk_conte
     }
     else
     {
-        if( pub->pk_info != prv->pk_info )
+        if( pub->pk_info->type != prv->pk_info->type )
             return( MBEDTLS_ERR_PK_TYPE_MISMATCH );
     }

Hi @Fassino and thank for your report! I'm quite surprised this doesn't work for you, because we have a test for mbedtls_pk_check_pair with alternative implementations, and it's obviously been passing in all of our CI runs.
Could you give us more details on how your setting up your context for alternate implementation?

I guess this would happen if the private key is in a secure element but the public key isn't, and you used the same MBEDTLS_PK_xxx value for both. The Mbed TLS code was written under the assumption that there is a single const mbedtls_pk_info_t * value per mbedtls_pk_type_t value, which is mbedtls_pk_info_from_type(pk_type). I wouldn't want to accept this patch without a thorough review of where else the code might rely on this assumption.
Using different pk_type values would solve this problem, but would open many others.
Secure elements are not officially supported in the mbedtls_xxx crypto interface. We're actively working on secure element support through the psa_xxx crypto interface. We're very unlikely to do significant work to support secure elements in long-time support branches.


Tool usage awareness

For this task (2.3.1 Awareness of tool usage), whose results are shown on table 3. (section 3.2), the positive samples - where the LLM needs to use a tool to address the user query - are drawn from the the generated single tool user queries (file dataset/data/all_clean_data.csv, with 20,615 queries), and the negative samples - where the LLM does not need a tool - are said to be drawn from three recent instruction datasets.
From the writing of the experimental section it seems the test set (used to produce table 3) has a 50%/50% split of positive/negative samples. I have a few questions about this:

Is this proportion correct?
Exactly how many queries are in used in this experiment?
Are the negative samples made available on the repository? If so where? (couldn't find them)

For this task (2.3.1 Awareness of tool usage), whose results are shown on table 3. (section 3.2), the positive samples - where the LLM needs to use a tool to address the user query - are drawn from the the generated single tool user queries (file dataset/data/all_clean_data.csv, with 20,615 queries), and the negative samples - where the LLM does not need a tool - are said to be drawn from three recent instruction datasets.
From the writing of the experimental section it seems the test set (used to produce table 3) has a 50%/50% split of positive/negative samples. I have a few questions about this:

Is this proportion correct?
Exactly how many queries are in used in this experiment?
Are the negative samples made available on the repository? If so where? (couldn't find them)

Sorry for the confusion. The proportion is correct. We totally use 515 x 2 samples.
"Are the negative samples made available on the repository?": I'm sorry for that. I just found myself forgetting to upload it. I will upload it soon.

OK, thank you. How soon do you expect to have this fixed? I've pointed out a number of mistakes already, but nothing changed on the repository. It's still 3 months old.

OK, thank you. How soon do you expect to have this fixed? I've pointed out a number of mistakes already, but nothing changed on the repository. It's still 3 months old.

Hi,
I have uploaded the datasets in dataset/tmp_dataset. You can check about it.


i18n integration

Supporting multiple languages would be good for expanding capabilities.
Requirements:

add the i18n library to the project
convert all instances of english text to dynamically generated from i18n
create a language definition file, starting with english.
add a language switching button to the website, probably in the footer so it's always rendered.
[optional] provide the translations for a 2nd language.

Are there any drawbacks to implementing this? Sounds like we should go ahead with it.

It's just a yak shaving task. Basically adding this dependency and then converting all existing text to use the translation hook instead:
https://react.i18next.com/guides/quick-start


The informational message on a login attempt is not completely visible

Example of the text not being rendered completely

This bug report is quite old, please report it again if it happens.


Update Addcommand

Age, gender and nric can be added, changed prefix for address to /h
Todo:
Update testcases
Clean up javadocs
Update regex for age, gender, nric

Build will fail because testcases have not been updated, will do so in another PR


Middleware sets content-type for non-livereload request

The middleware sets the content-type to "application/json" before checking that the request is a livereload request.
https://github.com/mklabs/tiny-lr/blob/v0.1.5/lib/server.js#L118
Because of that, any request that is handled by a middleware after the tiny-lr middleware has a content-type set to "application/json".
The content-type should be set in the function that handles the specific request. Example: https://github.com/mklabs/tiny-lr/blob/v0.1.5/lib/server.js#L194

Hi @jlowcs
Thank you for the initial investigation. As far as I can see, I just have to follow your guidelines. Thanks.

I need however to write a test case on that, just to be sure.

https://github.com/mklabs/tiny-lr/blob/master/test/middleware.js#L46 seems to be the case, I don't understand. Anyway, I'll commit your suggestion. Seems legit.

Should be ok now, thank you @jlowcs


363:Force update parent version with real version

If parent version is RELEASE or LATEST, update-parent does not update it to real version. hence, adding this feature to replace RELEASE or LATEST with real version.

Could you rebase against current master....

start working on this. missed your past message

Will take a look next week, thanks.

Any luck @bmarwell  ?


Add support for /api/ipam/vlan-groups/nnn/available-vlans/ child endpoint

In https://github.com/netbox-community/netbox/commit/e0cfd5e49bda860353702affd435f62bf9322dd4 for NetBox 3.2 (still a feature branch) there is a child endpoint for allocating next available VLAN ID in a VLAN group. This requires additional code in pynetbox as well.

FYI the relevant NetBox FR for this addition is here. Let me know if I can be of any help!

Thanks @jeremystretch, I'm currently testing my code and I see that the list items for available-vlans do not correspond to any current pynetbox models, so I think I need to create a new model for this. The plain Record does not seem fit because the returned data does not have the display field so there is no str output:
>>> netbox.version
'3.2'
>>> vg = netbox.ipam.vlan_groups.get(name="TestGroup")
>>> vg.min_vid, vg.max_vid
(10, 12)
>>> vg.available_vlans.list()
[, , ]
# Three "empty" items as there is no `name`, `label` or `display` attribute
>>> v = vg.available_vlans.list()[0]
>>> type(v)
<class 'pynetbox.core.response.Record'>
>>> ppr(dict(v))
{'group': {'display': 'TestGroup',
           'id': 1,
           'name': 'TestGroup',
           'slug': 'testgroup',
           'url': 'http://netbox-future.lein.io/api/ipam/vlan-groups/1/'},
 'vid': 10}
>>>

So I can create a new AvailableVlans(Record) class for this and use str(self.vid) for string representation.
Or, do you think it would be useful to have a display field in the available-vlans results in NetBox?
I'll create a PR here for this in a moment anyway.


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1355 ms

Resolved: Bofrost.be performance has improved in 1c69cdf.


Uername Error

Errors:

origin user (the user requesting to hug) -- unable to get server-nickname, instead, global name is displayed
target user (the user who should receive the hug) -- need to code exception when there does not exist a server-nickname for this user

2 is fixed

fixed 1

https://discord.js.org/docs/packages/discord.js/14.15.3/User:Class#displayName


Add stop method

Shuts down the scheduler.

Hi Tyrone, thanks for the PR. Looks good.
Just so i know,  what problem did this solve?
Thanks

Question - do we really need code to do this? If someone wants the tests to not run, can they not simply stop the application?
I suppose this would be handy if the app running tests is also running something else. Is that what you had in mind @tjcutajar ?

@tjcutajar - any thoughts on my previous question?

Hi @anuragkapur and @tjcutajar
My vote would be to close and not merge this PR  unless we hear about what problem this is solving.  As you say @anuragkapur killing the application might be good enough at present.
Thanks


Building against opencv 3 on OS X

I'm getting the error below when building on OS X Yosemite and using opencv-3.0.0 beta.
Is this due to a change between opencv 2.9 and 3?
error: no member named 'create' in 'cv::Algorithm'
detector = cv::Algorithm::createcv::FeatureDetector(detectorType.c_str());

yes, this is due to the change in the API between opencv 2.9 and 3.0.
I'll try to make it compatible when I have free time.


New collection exercise id is not returned when an exercise is created

When we create a new collection exercise we should either return a representation of the exercise or at least return the new UUID created for it

This is deliberate - the collection exercise resource representation is quite large and not all clients need it.   However the location field in the headers is the fully qualified URL for retrieving the newly created resource if you do need to access it.


Restore "Make Menu.get_template neutral to template engine"

Reverts rkhleics/wagtailmenus#191

Merging this back in under the proviso that changes will be made to make these changes backwards compatible before releasing


Refactor code and remove legacy hacks

Changes:

Removed predefined structure (it causes problem in maintenance) and related hacks:
Add entrypoint with user permissions fix
Don't link emscripten tools: Now it should be just activated by . ${EMSDK}/emsdk_set_env.sh  or just use given entrypoint (symlinks reduce ability to transfer this image)
Optimized size by removing non-essential files (minor, a couple of MB saved only)
Strip out debugging symbols from NodeJS and compiled Clang
$EMSCRIPTEN environment variable is no more part of the image ENV setting - in other words Emscripten has to be activated (by a way described below) in order to have $EMSCRIPTEN visible. Some other variables like $EMSDK, $EM_DATA, $EM_CONFIG, $EM_CACHE and $EM_PORTS are exported for compatibility reasons
nodejs is no longer exported (synlinked) by default
Used Dockerfiles for the compilation are stored inside Image in  /emsd_portable/dockerfiles/* folder under specific subfolders that names stand for used image. For the instance emscripten-slim image will have /emsd_portable/dockerfiles/emscripten-slim/Dockerfile and emscripten-ubuntu will have in addition /emsd_portable/dockerfiles/emscripten-slim/Dockerfile

This change might be a breaking change as it requires now to (either one):

use defined entrypoint (/emsdk_portable/entrypoint)
forward command to it by adding /emsdk_portable/entrypoint "@" to custom entrypoint
activate emscripten sdk (. /emsdk_portable/emsdk_set_env.sh) in custom entrypoint

Why this change after all:

To allow people using pre-compiled Emscripten SDK with any custom image and base image. Thanks to that change it's possible to simply:

FROM fedora
COPY --from=trzeci/emscripten-slim:sdk-tag-1.38.25-64bit /emsdk_portable /emsdk_portable

# install required tools to run Emscripten SDK
RUN dnf install -y python python-pip ca-certificates

ENTRYPOINT ["/emsdk_portable/entrypoint"]

And that's all! No magic involved  - no extra symlinks required.
Secondary goal is to provide an ability to download any image, and install custom SDK simple by calling ./emsdk install ... in it. Then that change might be commit and used later on.

My first intention was to remove symbolic links from base images, but looks that many projects rely on this image in multi stage build steps and in particular on that behaviour - for the instance that's the only way to use emscripten inside multi stage build.
I will put some effort to make sure these use case will not break.


Add bootloader info

In the "DIYino_v1_User_Manual_draft_v03.pdf" is no information which setting you have to use in the Arduino IDE to succesfully upload sketches.

Please don't mind, I just realized it's a draft, sorry!

Hi Papiertig0r, I will certainly work also on that Chapter but due to the superb documentation on the Arduino site I will only add links and not describe it in detail. Arduino is part of what DIYino is, but it's a hardware and I can only give some general guidelines/quick start help for software development.

Oh, I realized I might have misunderstood your intent. Probably you referred to the setting which type of circuit to use.. it is the Nano.


Can't upload files solved

Hello,
When trying to upload a file the upload pop-up comes up with a bluish window over it that prevents any interaction with stuff under it, including the "Cancel" and "Upload" buttons, requiring a program restart.
The overlay window is the same size as the original fusion one but the fusion one can still be moved around and resized without the state of the overlay changing.

Same behavior using both OpenGL and DirectX9

1.) Option: You must minimize the program or click on icon (Show desktop) and then you can upload your files.
2.) Option: You work with Tab- and Enter-Key.
*Notice: This effect usually only occurs when a file is first uploaded.

Thanks!

Here can you see this also when you will saving a rendered file: https://youtu.be/KTSdsOuuEmY?t=3242


Add filter to the "List tags" page

The web interface should provide some kind of filter for the package list.
Could be the name, could be tags, could be both.

The web interface should provide some kind of filter for the package list.
Could be the name, could be tags, could be both.

Yes, that is on our list already, though not for 1.0.0, but then the real power of filters can only show when there is enough data (=packages) to filter.

See #71


Logout redirecting 3 or more times

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.21.0
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
2.1.0
Description
When I call the msalService.logoutRedirect({ postLogoutRedirectUrl: ..appurl }) the msal library goes between the Azure B2C logout route and my app 3 or more times before finally routing to the login screen. I know this redirect needs to happen at least once based on B2C's current functionality. I verified that when I call the logout function that localStorage is getting cleared out with all the Azure B2C token information. Also I'm using the MSAL redirect component, and I have it in my index.html file.
Error Message
No response
Msal Logs
No response
MSAL Configuration
{
    auth: {
      clientId: environment.clientIdMS, // This is your client ID
      authority: environment.authorityMS, // This is your tenant ID
      knownAuthorities: [B2C Tenant],
      redirectUri: environment.redirectUriMS // This is your redirect URI
    },
    cache: {
      cacheLocation: 'localStorage',
      storeAuthStateInCookie: isIE, // Set to true for Internet Explorer 11
    },
    system: {
       loggerOptions: {
        loggerCallback,
        logLevel: LogLevel.Info,
        piiLoggingEnabled: false
      }
    }
  }

Relevant Code Snippets
// Guard config
{
    interactionType: InteractionType.Redirect,
    authRequest: {
      scopes: ['openid', 'profile',
        API Scope],
      extraQueryParameters: {
        test: 'test'
      }
    }
  }

// Listener to check if user is logged in
this.msalBroadcast.inProgress$
      .pipe(
        filter((status: InteractionStatus) => status === InteractionStatus.None),
        takeUntil(this._destroying$)
      )
      .subscribe((result) => {
        // const payload = result.payload as AuthenticationResult;
        this.loggedIn = this.msalService.instance.getAllAccounts().length > 0;
        if (this.loggedIn)
          this.checkAccount();
      });

// Logout function
this.msalService.logoutRedirect({
    postLogoutRedirectUri: environment.redirectUriMS,
    account: this.msalService.instance.getActiveAccount() // I've tried it with and without this line
});

Reproduction Steps

Call the logoutRedirect call

Expected Behavior
To be redirected once and then back to the login page
Identity Provider
Azure B2C Custom Policy
Browsers Affected (Select all that apply)
Chrome, Firefox, Edge, Safari, Internet Explorer
Regression
No response
Source
External (Customer)

@DerekJDev This commonly happens when the postLogoutRedirectUri page is the same as the redirectUri. Could you ensure that the page you redirect to after logout is not invoking the logout API again?

@pkanher617 I had is set to the same thing... I switched the postLogoutRedirectUri to a route that is not protected by the MsalGuard and that you can access with being authenticated, but now it's just stuck in a loop of redirecting back and forth. Besides msalService.logoutRedirect(...) and the MsalGuard, what would be invoking the logout API?
For reference, my redirectUri is http://localhost:4200 and my postLogoutRedirectUri is http://localhost:4200/unauthorized

Any update on this?

@pkanher617 did you get my email?

Thanks @DerekJDev I got it, reviewing today and will get as soon as I can!

Keep open.

Hey @pkanher617 sorry for all the checking in, but were you able to find anything in the fiddler trace? Thanks in advance.

Comment to keep open and active.

Any update on this?

Do I need to provide anything else to debug this?

@pkanher617 after updating the package and modifying some settings I was able to get it to work better. It works as it should most of the time, but sometimes it still redirects more than once.
I changed my logout redirect url and redirectUri to: http://localhost:4200. In my app registration, I left the "Front-channel logout URL" empty and I have http://localhost:4200/ as one of the redirect urls.
I'll try to get a fiddler trace when it redirects more than once, but any help would be appreciated.

@DerekJDev I apologize that this fell through the cracks, Prithvi is no longer on the team. Please email me your logs and I will be happy to follow up on this.

@tnorling thanks for the response, after making the changes I mentioned above and upgrading to the latest package I haven't been running into the issue. I will close this issue. If run into it in the future, I can reopen this issue and provide logs.


Compilation error

I'm running macOS v12.3 on an M1 macBook. M1-compatible version of libtorch is installed via homebrew. I'm running a basic example via cargo run --example basics, and get the following error:
   Compiling torch-sys v0.7.0 (/Users/ilya/Documents/code/rust/tch-rs/torch-sys)
The following warnings were emitted during compilation:

warning: clang: warning: -Wl,-rpath=/Users/ilya/Documents/pytorch-build/lib: 'linker' input unused [-Wunused-command-line-argument]
warning: libtch/torch_api.cpp:1:9: fatal error: 'torch/csrc/autograd/engine.h' file not found
warning: #include<torch/csrc/autograd/engine.h>
warning:         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 1 error generated.

error: failed to run custom build command for `torch-sys v0.7.0 (/Users/ilya/Documents/code/rust/tch-rs/torch-sys)`

Caused by:
  process didn't exit successfully: `/Users/ilya/Documents/code/rust/tch-rs/target/debug/build/torch-sys-38b4a4499eb2814d/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=TORCH_CUDA_VERSION
  cargo:rerun-if-env-changed=LIBTORCH
  cargo:rustc-link-search=native=/Users/ilya/Documents/pytorch-build/lib
  cargo:rerun-if-changed=libtch/torch_api.cpp
  cargo:rerun-if-changed=libtch/torch_api.h
  cargo:rerun-if-changed=libtch/torch_api_generated.cpp.h
  cargo:rerun-if-changed=libtch/torch_api_generated.h
  cargo:rerun-if-changed=libtch/stb_image_write.h
  cargo:rerun-if-changed=libtch/stb_image_resize.h
  cargo:rerun-if-changed=libtch/stb_image.h
  cargo:rerun-if-env-changed=LIBTORCH_CXX11_ABI
  TARGET = Some("aarch64-apple-darwin")
  OPT_LEVEL = Some("0")
  HOST = Some("aarch64-apple-darwin")
  CXX_aarch64-apple-darwin = None
  CXX_aarch64_apple_darwin = None
  HOST_CXX = None
  CXX = None
  CXXFLAGS_aarch64-apple-darwin = None
  CXXFLAGS_aarch64_apple_darwin = None
  HOST_CXXFLAGS = None
  CXXFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = None
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-arch" "arm64" "-I" "/Users/ilya/Documents/pytorch-build/include" "-I" "/Users/ilya/Documents/pytorch-build/include/torch/csrc/api/include" "-Wl,-rpath=/Users/ilya/Documents/pytorch-build/lib" "-std=c++14" "-D_GLIBCXX_USE_CXX11_ABI=1" "-o" "/Users/ilya/Documents/code/rust/tch-rs/target/debug/build/torch-sys-7a06587bf0c4212b/out/libtch/torch_api.o" "-c" "libtch/torch_api.cpp"
  cargo:warning=clang: warning: -Wl,-rpath=/Users/ilya/Documents/pytorch-build/lib: 'linker' input unused [-Wunused-command-line-argument]
  cargo:warning=libtch/torch_api.cpp:1:9: fatal error: 'torch/csrc/autograd/engine.h' file not found
  cargo:warning=#include<torch/csrc/autograd/engine.h>
  cargo:warning=        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=1 error generated.
  exit status: 1

  --- stderr

  error occurred: Command "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-arch" "arm64" "-I" "/Users/ilya/Documents/pytorch-build/include" "-I" "/Users/ilya/Documents/pytorch-build/include/torch/csrc/api/include" "-Wl,-rpath=/Users/ilya/Documents/pytorch-build/lib" "-std=c++14" "-D_GLIBCXX_USE_CXX11_ABI=1" "-o" "/Users/ilya/Documents/code/rust/tch-rs/target/debug/build/torch-sys-7a06587bf0c4212b/out/libtch/torch_api.o" "-c" "libtch/torch_api.cpp" with args "c++" did not execute successfully (status code exit status: 1).

I confirm I've got a similar issue on Ubuntu setting TORCH_CUDA_VERSION=114.

yeah, same issue just tested on an ARM version of Debian 🤷♀

If libtorch is installed manually, you need to point this crate at it via the LIBTORCH environment variable, there are some indications on how to do this in the main readme though I don't have a mac at end to check that it works.
When it comes to Debian on arm, this crate won't support auto-installing libtorch in this case so you will have to install it manually, then update LIBTORCH and LD_LIBRARY_PATH (and maybe LIBRARY_PATH too).

I've already tried downloading libtorch manually as well, but that's not the case. Isn't the TORCH_CUDA_VERSION variable download the right version automatically if set?

when testing on Debian ARM I installed libtorch via the Debian package manager, should I still change the .bashrc to point to the libtorch installation directory? I thought that only applied when installing libtorch manually...

Re arm, the error message seems to be about not finding the shared libraries. I have no clue how libtorch is packaged for debian arm but it seems that adjusting the different library paths could help.

This is also happening to me, an example , when running through Docker
-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
#0 201.2   = note: /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libtorch_cpu.so when searching for -ltorch_cpu
#0 201.2           /usr/bin/ld: cannot find -ltorch_cpu
#0 201.2           /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libtorch_cpu.so when searching for -ltorch_cpu
#0 201.2           /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libtorch.so when searching for -ltorch
#0 201.2           /usr/bin/ld: cannot find -ltorch
#0 201.2           /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libtorch.so when searching for -ltorch
#0 201.2           /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libc10.so when searching for -lc10
#0 201.2           /usr/bin/ld: cannot find -lc10
#0 201.2           /usr/bin/ld: skipping incompatible /usr/local/libtorch/lib/libc10.so when searching for -lc10
#0 201.2           collect2: error: ld returned 1 exit status
#0 201.2

I was getting the same issue and the problem was that I didn't set the LIBTORCH environment variable properly.
I installed libtorch with conda and was able to set LIBTORCH like this:
export LIBTORCH=$HOME/miniconda3/envs/[conda env name]/lib/python3.10/site-packages/torch


Fix for #109

Fix for #109

This pull request is now managed with CodeReviewHub. Refresh.

Closes #109


dask.delayed: Dataframe partition with map_overlap gets randomly converted to Pandas Dataframe or Pandas Series.

Describe the issue:
In recent versions of Dask, passing a Dataframe partition as an argument to a dask.delayed function gets randomly converted either into a Pandas DataFrame (expected), or a Pandas Series (not expected). This behavior is entirely non-reproducible, i.e. always happens randomly at different stages in a loop over partitions.
This seems to happen only under specific circumstances, one case beeing after applying two iterations of map_overlap (see below). I have, however, also seen it in situations without map_overlap. Remarkably, it also depends on the chunking of the iteration (happens for n_cores=3, apparently not for n_cores=2).
Minimal Complete Verifiable Example:
import numpy as np
import pandas as pd
import dask.dataframe as ddf
import dask
sample = np.array([np.arange(100000), 2 * np.arange(100000), 3 * np.arange(100000)]).T
columns = ["x", "y", "z"]
sample_pdf = pd.DataFrame(sample, columns=columns)
df = ddf.from_pandas(sample_pdf, npartitions=100)

n_cores=3

def test(part, columns):
    col_id = [part.columns.get_loc(axis) for axis in columns]
    return col_id

def forward_fill_partition(df):
    df = df.ffill()
    return df

for _ in range(2):
    df = df.map_overlap(
        forward_fill_partition,
        before=2,
        after=0,
    )

for i in range(0, df.npartitions, n_cores):
    print(i)
    core_tasks = []  # Core-level jobs
    for j in range(0, n_cores):
        partition_index = i + j
        if partition_index >= df.npartitions:
            break

        df_partition = df.get_partition(partition_index)

        core_tasks.append(
            dask.delayed(test)(
                df_partition,
                columns,
            ),
        )

    if len(core_tasks) > 0:
        core_results = dask.compute(*core_tasks)

Example output:
0
3
6
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_19014/1120124549.py in ?()
     44     col_id = [part.columns.get_loc(axis) for axis in columns]
     45     return col_id
     46
     47 def forward_fill_partition(df):
---> 48     df = df.ffill()
     49     return df
     50
     51 for _ in range(2):

/mnt/pcshare/users/Laurenz/AreaB/sed/poetry_envs/virtualenvs/sed-processor-3qnpZCFI-py3.9/lib/python3.9/site-packages/dask/base.py in ?(traverse, optimize_graph, scheduler, get, *args, **kwargs)
    658         keys.append(x.__dask_keys__())
    659         postcomputes.append(x.__dask_postcompute__())
    660
    661     with shorten_traceback():
--> 662         results = schedule(dsk, keys, **kwargs)
    663
    664     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])

/tmp/ipykernel_19014/1120124549.py in ?(part, columns)
     14 def test(part, columns):
---> 15     col_id = [part.columns.get_loc(axis) for axis in columns]
     16     return col_id

/tmp/ipykernel_19014/1120124549.py in ?(.0)
---> 15 def test(part, columns):
     16     col_id = [part.columns.get_loc(axis) for axis in columns]
     17     return col_id

/mnt/pcshare/users/Laurenz/AreaB/sed/poetry_envs/virtualenvs/sed-processor-3qnpZCFI-py3.9/lib/python3.9/site-packages/pandas/core/generic.py in ?(self, name)
   6295             and name not in self._accessors
   6296             and self._info_axis._can_hold_identifiers_and_holds_name(name)
   6297         ):
   6298             return self[name]
-> 6299         return object.__getattribute__(self, name)

AttributeError: 'Series' object has no attribute 'columns'

Anything else we need to know?:
This behavior is only seen in recent versions of dask >= 2024.3, in previous versions of dask this worked flawlessly. I suspect it to be related to the recently introduced query planning.
Environment:

Dask version: 2024.6.2
Python version: 3.9.19
Operating System: Ubuntu Linux
Install method (conda, pip, source): Python installed via anaconda, environment with virtualenv and pip

This is a little odd and looks to be related to how we tokenise keys.

@phofl Do you see any way how to address this, or suggest how to debug this further? For us this is a blocker to move to recent Dask versions right now.

I see there is a backport request: https://github.com/dask/dask/issues/11069
That would certainly help us for the moment.


Use global scope for addEventListener

Same as #9601 but for v5.3.x

Ok sorry for killing your first pull request on this, I hadn’t seen it was against 5.x. The failing test is caused by a puppeteer update. I think using v1.10.0 should fix it.

I will change back to window @tschaub it's what I originally had ;-)
@ahocevar agreed?

PR updated @tschaub

I'm unsure what is up with the CI @ahocevar for the v5.3.x branch. I tried adding pupeteer as a dev dependency but the result is the same

We didn’t use Puppeteer in the 5.x series, right?  I think the Karma confit sets the browser to Chrome in CI (only reviewing on a small device though).

@bartvde the failure I see is about precision in an assertion in the scaleline tests.  I assume there is a change in floating point math in a Chrome update.  To get this passing, I would lower the precision of the equality check in the scaleline test.

@tschaub correct, I pushed a fix for the test. Let me know if this would also make sense on master or not

@bartvde:

Let me know if this would also make sense on master or not

In master, this was already fixed with #9305.

ah right, that makes sense @ahocevar


Add support for serialization/deserialization of cglib proxies to javolution-serializer

From martin.grotzke on March 29, 2010 00:12:22
javolution-serializer should be able to serialize/deserialize cglib proxies.
As this is only required if the application uses cglib, this should be
implemented as a separate module, which can be plugged via the
customConverter attribute.
Original issue: http://code.google.com/p/memcached-session-manager/issues/detail?id=59

From martin.grotzke on March 28, 2010 16:06:13
Added new javolution-serializer-cglib module. Drop the jar in $CATALINA_HOME/lib and
WEB-INF/lib and register the converter class
"de.javakaffee.web.msm.serializer.javolution.CGLibProxyFormat" via the customConverter
attribute.
Status: Fixed
Labels: Milestone-1.3

From<EMAIL_ADDRESS>on February 07, 2012 15:32:50
what the version of cglib needed?

From martin.grotzke on February 08, 2012 14:03:16
You should try the latest cglib version. javolution-serializer is built/tested against cglib 2.2.


Open governance

I would like to help with this protocol specification, I've watched the first zoom recording, and read through the notes, but my next question is, when does the WG meet (Seems like Wednesdays, but sometimes it's first, second, last, etc) also, how does the working group communicate, is there a mailing list?

I've also reserved the open-inference org (https://github.com/open-inference) so that it can be used for this org, until the protocol can be moved into lfai or cncf - I belive that this doesn't yet feel like a vendor neutral protocol spec when you first stumble upon this github repo

@zevisert the kserve project is hosted under LFAI, so it is vendor neutral.
https://lfaidata.foundation/projects/kserve/


Add set status feature

Adds set user status functionality.
Screenshots
iOS

Android

@miguelespinoza

@miguelespinoza how will this work with multiple teams?

Just fyi to anyone reading this PR. It's on hold until we have the right side drawer

@miguelespinoza you are working on that right side drawer right?

closing in favor of a PR based on the right drawer


[Suggestion][VSCode/GitHub] GitHub PAT token should be asked after asking about all the Azure resource details

@bishal-pdMSFT @kanika1894 Can we ask all the repo details first and then ask Azure details like Subscription. Currently it is mixed and match. 1st subscription then github pat then azure resource details etc

@vineetmimrot github PAT token is asked before azure resource details to do the repository analysis and then get the templates.

The order of inputs in now changed. First we ask github PAT, and then all azure related details are asked together.


Unusual CPU usage spikes with 32-bit version

Am using 119.0.6045.192. Switching from 64-bit to the current 32-bit zip. Have been noticing brief spikes in CPU utilization which render the browser temporarily unresponsive.

I assume that these spikes are not generating dumps.
I wonder if you can open Process Hacker or similar tool, open the process producing the CPU spikes, then open the specific thread causing the spikes, and show me the call stack for that thread?

No dumps. It's only unresponsive for a few seconds which isn't enough time for me to find the relevant thread.
Just happens intermittently, can't figure out a specific way to reproduce.

I managed to catch this.

Also, after my computer has been in standby, when I switch to Supermium, it takes a while before it's responsive, whereas I also have Chromium 109 browser running which responds right away. Here I have captured an image of one of the threads

Seems to not occur if running with --no-sandbox - for reference, it can be confirmed this flag is active by checking chrome://sandbox/

Also, after my computer has been in standby, when I switch to Supermium, it takes a while before it's responsive, whereas I also have Chromium 109 browser running which responds right away.

do you use the same extensions or have the same number of tabs open at a time in both browsers ?

Have been noticing brief spikes in CPU utilization which render the browser temporarily unresponsive.

what CPU is this ?

Also, after my computer has been in standby, when I switch to Supermium, it takes a while before it's responsive, whereas I also have Chromium 109 browser running which responds right away.

do you use the same extensions or have the same number of tabs open at a time in both browsers ?

Similar extensions, and other browser was more immediately responsive with tabs already open vs Supermium with no tabs open.

Have been noticing brief spikes in CPU utilization which render the browser temporarily unresponsive.

what CPU is this ?

@andika207 @narinishi Commenting to follow this thread.

@Alex313031 there's a subscribe button on the right side if you don't want to post anything.
I don't know the actual cause of my issue https://github.com/win32ss/supermium/issues/158  but it seems to have gone away since then...


SSR support for useResizeObserver

Describe the bug
Using the useResizeObserver hook in a NextJS will throw "Error: window is not defined" at build time.
Expected behavior
Obviously the resize observer can't run server side so I'd expect it to silently fail/not call the callback.
Additional context
if (typeof window === 'undefined') return; might do ¯\_(ツ)_/¯

You can add a polyfill on the server to get around this

@jaredLunde good idea, I achieved this with:
import useResizeObserver, { UseResizeObserverCallback } from '@react-hook/resize-observer'

class ServerSideResizeObserverPolyfill {
  constructor(callback: ResizeObserverCallback) {}
  observe(target: Element, options?: ResizeObserverOptions) {}
  unobserve(target: Element) {}
}

export default function useResizeObserverSsr<T extends Element>(
  target: React.RefObject<T> | React.ForwardedRef<T> | T | null,
  callback: UseResizeObserverCallback,
) {
  return useResizeObserver(target, callback, {
    polyfill: typeof window === 'undefined' ? ServerSideResizeObserverPolyfill : null,
  })
}

Closing


Update markdown-links-verifier to 0.1.1

Changes:

Validate heading links. (PR #71 and PR #73).

This version is broken now. I'll get things stabilized and upgrade. Currently the version should update to <IP_ADDRESS>. I've a PR for this.


Adding ability to set network as host when running inside docker

This PR is for adding the ability to configure the network parameter of docker when running inside a container.
When configuring the "build inside docker" section of a job - under advanced options - you have the ability to configure manually the network and change it from "bridge" (the default) to "host"
in the job-dsl-plugin it was not exposed so I added it.
I added a new function "network" in docker context and exposed it in the wrapper.
Picture of the Maven clean install (after I added some tests for the new ability):

Picture of the actual use of the plugin after installing it on testing Jenkins:

-->
Submitter checklist

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[x] Link to relevant pull requests, esp. upstream and downstream changes
[x] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Hi @basil, This is a really minor enhancement that would mean a lot to us, can you please review it and give your opinion?


Minor logging improvements

Motivation
This PR contains a hodgepodge of small improvements to logging that have been running in the past few testnets, useful for debugging.
Changes

More contextual logging
Adds framework for simple logging of memory stats
More verbose and explicit logging
Some minor cleanup of logs and comments

NO logic changes.
Test Plan
N/A - no logic changes
TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[ ] Update documentation as needed

DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[ ] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

I removed the memlogger stuff since I'm not certain we want that in the develop branch. I moved it to #2451. @noamnelke could you take one more look please, esp. at the final iteration of the logging changes?

You resolved this comment and this one although they were not addressed.

Sorry about that, I must've gotten mixed up when resolving a merge conflict or something. All taken care of.
Please approve if it looks good. Thanks!

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge
On Thu, Jul 1, 2021 at 23:20 bors[bot] @.***> wrote:

Build failed:

ci-stage2
https://github.com/spacemeshos/go-spacemesh/runs/2968804186

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/spacemeshos/go-spacemesh/pull/2427#issuecomment-872683440,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZJWNBKOCTU7PX2ODCANQTTVUWAHANCNFSM45NVQV3A
.

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge

bors merge


Resource not found in Microsoft Graph: https://graph.microsoft.com/beta/deviceManagement/applePushNotificationCertificate

Describe the bug
Got an errormessage while startbackup
To Reproduce
Intune-startbackup
Expected behavior
no error
Screenshots

Run type (please complete the following information):

Mode: [ 1]
Client  local machine]

Hi @MrcoSchrnr,
It looks like the tool is not correctly detecting a null category on a management intent, please try the beta version by running this command to install pip install -i https://test.pypi.org/simple/ IntuneCD-beta and to backup run IntuneCDBeta-startbackup instead and let me know the results.
If all looks good on your end with this version I will add the changes to the tool.

Closed with #31


[Bug] The application will not update when I push code to the git and re-build it

Please answer these questions before submitting your issue. Thanks!
Environment Description

StreamX Version: 1.2.2
JVM version (java -version):jdk1.8.0_301.jdk
OS version (uname -a if on a Unix-like system):Darwin macdeMacBook-Pro.local 21.3.0 Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_X86_64 x86_64

Bug Description
I add a new project,then build it.when the building is finished,i add a new application.then lauch and start it.Until this step, everything is correct. However, when I  try to push my code,at this time,I will update the project updated previously. It will build successfuly without question.However,when I try launch and start the application got from the project for the second time, things develop towards an unexpected way! the application does not update at all! However ,I changed some code at the last push. That means , the behaviro of updating code does not  apply to the application.
I did not identify which stage has bug at the beginnig.but with my research from the start,push code,build project,and launch the application... I found the the jar home at hdfs only update once  when the directory is created ,it will not change when you try to update the jar.
How to Reproduce
you can see the update time of the jar ,at the host node,the update time is 17：26，but at the hdfs directory, the update time is 16:37, this is the create time of this directory,the jar is updated at 17:26 ,but is was not upload to the hdfs path,which I believe that should be used in the application.

Additional context
Add any other context about the problem here such as JVM track stack log.
Requirement or improvement
Maybe we should add some checks to make sure that the correct jar is uploaded to the remote path.

fixed.


Add unix socket support

Bringing Unix domain socket support to the Hub.
If unix_socket configuration is available for a given host in ~/.config/hub, it will configure http.Transport that will work for http and https over Unix domain socket

Thank you for the quick review turnaround.
Unix domain socket will primarily be useful for other GHE users in case they have extra security layer.
We're running a sidecar-proxy that exposes unix-socket to connect to GHE.

@mislav yeah, I was able to communicate to our internal GHE using this branch.

@mislav Any ETAs on when we can get it released?

@mislav gentle ping :)

Hello @mislav, do you have any updates?

Sorry for the wait!


Update blackfriday as instructed

/Users/runner/gomodcache/github.com/go-enry/go-license-detector/v4@v4.3.0/licensedb/internal/processors/markup.go:8:2:
missing go.sum entry needed to verify package github.com/russross/blackfriday/v2 (imported by
github.com/go-enry/go-license-detector/v4/licensedb/internal/processors)
is provided by exactly one module; to add:

    go get<EMAIL_ADDRESS>
the suggested command is incorrect, but this should address the error.

What does this PR do?

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The appropriate team/.. label has been applied, if known.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

I just ran go get github.com/russross/blackfriday/v2.  But it appears to not be necessary anymore?  We could just close this, I suppose.  Things are always a little wobbly with go.mod after a major go version bump!  (but I'm surprised they're so wobbly at .6)


App doesn't work over HTTPS

Simple fix would be to serve the HTTPS version of angular.
Mixed Content: The page at 'https://exnil.github.io/crop_planner/' was loaded over HTTPS, but requested an insecure script 'http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js'. This request has been blocked; the content must be served over HTTPS.

Thanks, this has been fixed.
Must have slipped in when I copy/pasted a newer version of the Angular script.


[FEATURE]:Print all the subsets of an array

Detailed description
I want to add the above algo in c++
Context
This algorithm is a recursive algorithm, used to print all the subsets of the array.
Possible implementation
No response
Additional information
No response

I want to contribute

this is my first contribution on open source :)


Grafana: Allow to specify tlsCertificateSecretName

Feature Request
Currently you must provide the contents of you tlsCertificate in the data-values file for grafana. This is undesirable in cases were the tlsCertificate is being managed by cert-manger.
I'd like to see a tlsCertificateSecretName parameter, so that that the user can simply reference the secret that contains the credentials.
Describe alternatives you've considered

Additional context
This improvement was just made to harbor 2.3.3, and it would be great to see it in grafana as well. I created an issue for prometheus addon too.  #2946

@vmware-tanzu/pkg-grafana-owners


Prepare data for upload to Zenodo

[ ] Zip file with raw folder structure
[ ] Zip file with derived data structure
[ ] Labels file
[ ] Brief documentation with reference to this repository

Duplicated issue


Need to generate dummy data for imported changes to be visible.

Describe the bug
Even after importing, the passwords are not visible until one inputs another password.
To Reproduce
Steps to reproduce the behavior:

Create a passwords.json file ready to be imported (or add data in browser, export, and then clear from browser).
Import it.
Observe the updation.
Add a new password.

Expected behavior
It is expected that as soon as the import is done, the component re-renders.
Desktop (please complete the following information):

OS: [Windows]
Browser [Chrome]

Assigned @pranavajith

Any update? @pranavajith


LSNBLDR-840 - Lessons - "Add Question" - Show Poll Results Does Not Work

This has a 'conversion script' which should sync up all poll data too because if the record isn't created when the question is created there won't be a record there. I didn't get that fixed to sync up in the code. There's a method here syncQRtotals but it doesn't look like it actually deals with the counts at all and I tried to change some code here and ended up with database concurrency issues so didn't have the time to spend on it. This was the conversion (for MySQL) which maybe we'll just put in the script files and could use a little more comparison testing. I guess it's nice to just have if this works.
DELETE FROM lesson_builder_qr_totals;
INSERT INTO lesson_builder_qr_totals (questionId,responseId,respcount) select questionId, multipleChoiceId, sum(correct) from lesson_builder_q_responses group by questionId, multipleChoiceId;

I created https://jira.sakaiproject.org/browse/LSNBLDR-846 to capture the issue of the conversion (or sync) problem which I think is separate from this working in the first place. Thanks!


The extension falsely reports validation errors in Kustomization patch manifests

Problem description
Can´t ignore / disable or change schema validation on kustomization patch files. The extension believes it's a true kubernetes manifest with all its expections, and validates with the kubernetes schema. Therefore the extension complains that the .yaml patch file doesn´t match the expectations.
Steps to Reproduce

Create a patch.yaml file with the following content:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
spec:
  replicas: 1

Observe the problems in VSCode

Expected Behavior
Different schema to validate against, or disable/ignore certain files (like kustomization patches) altogether.
Current Behavior
All files get validated according to the kubernetes schema even if kustomization files are meant to not adhere to the schema.
Relevant installed and enabled extensions

vscode-kubernetes-tools
redhat.vscode-yaml (uses https://github.com/redhat-developer/yaml-language-server)
vscode-eslint
prettier-vscode
vscode-docker

Proposed solutions

Allow the extension to be configured with glob patterns to ignore validation on certain directories / files. Something like this: https://github.com/redhat-developer/vscode-yaml
Or maybe when a kustomization.yaml file is detected in the folder, smartly detect the files that are kustomization patches and ignore them
A comment in the beginning of a manifest to let the extension know that this is a Kustomization patch and have other rules, or another schema to use. Example:

# kubernetes-is-kustomization-patch: true
# OR
# vscode-kubernetes-tools-ignore-validation: true
# OR something else..
apiVersion: apps/v1
kind: Deployment

Thanks @rille111 for opening this and sharing your ideas with us. Really appreciated!!
@itowlson @squillace WDYT about @rille111 's last proposal? Ignoring files that contains a specific comment at the beginning and avoid parsing them? In last months we ended up having many similar cases about people complaining that their files didn't get parsed correctly. Openapi, Kustomize and so on... This could be a workaround we could offer to users if they face such misbehaviour.
Making k8s extension smart enough to handle all cases would be great but not sure how feasible it is.

Ping @itowlson @squillace . I guess you missed this. WDYT?


(WIP) Add v2 doc - Feature flags

Still WIP but opening it as it might be useful
@x4d3 FYI

@BrunoChauvet @x4d3 please review
To view it nicely: https://github.com/ouranos/mno-enterprise/tree/feature/doc-v2/docs
I'll add more developer doc shortly so do not merge


cases: training on a remote machine (SSH)

for example, ssh to a remote machine, git clone / pull to get your code, then dvc pull to download your dataset, and dvc repro or dvc run to start training your models

An almost similar example is https://dvc.org/doc/use-cases/data-and-model-files-versioning and https://dvc.org/doc/use-cases/share-data-and-model-files and versioning in getting-started explains it.
I am sorry Can you explain this a little bit more?

@Naba7 the point here is in connecting your local environment with a remote one. DVC helps running an expensive training remotely, while you can keep doing some stuff locally. DVC commands in this scenario help you moving pulling/pushing data across different machines.

Can I take this up? I am not sure if I can do it,but I'll give it a try.

@Naba7 sure! You can take our NLP tutorial or get-started as a base example, and show step by step how to run it remotely via SSH or on S3 EC2 using tools like spotty.

Maybe these two interactive examples are related to this:

https://katacoda.com/dvc/courses/examples/shared-server
https://katacoda.com/dvc/courses/examples/ssh-storage

@mroutis what do you think?
Can we close this issue?

@dashohoxha I don't see how are they related, tbh. Also, I'm not sure I understood what https://katacoda.com/dvc/courses/examples/ssh-storage is about from reading the description - and it lacks any additional information inside that can help to "feel" the motivation behind it.

This is not a use case actually by the way it's written. Title should be changed to make it a use case, or it can be part of the user guide.

E.g. use case can be something like: "Training on a remote machine", "Organizing CI system for ML", etc

Not sure what @mroutis had initially in mind.

Sorry for the late response!
@shcheklein , changing the title

Closing in favor of #2544.


Add support for binding services to all addresses.

Can you explain what you're trying to do?  I think this will be subsumed by @justinsb's work, but i want to make sure I understand.

This makes it easy to access the service at a specified port on any node running kubelet. In particular if you are using AWS you can just point ELB to the kubelets at a specific port. I know @justinsb is working on ELB but still its a nice thing to have for other use cases.

Good idea, but we're going to implement this a bit differently.  I'm going to close this in favor of the series of PRs implementing #7679 and #7447


Implement Isloate.spawnSync

I'm the author of DCli which utilises waitFor to synchronously spawn processes.
With the deprecation of waitFor I'm currently stuck without a way to maintain the current api.
This issue tracking the deprecation of waitFor is here:
https://github.com/dart-lang/sdk/issues/52121
The core issue is that I need to spawn an isolate synchronously.
I'm not looking for the isolate to run to completion, rather just the ability to start the isolate synchronously.
With the current api
final isolate = Isolate.spawn<Args>(_runProcess, Args(commandToRun, mailbox));

/// The following code creates a dead lock as the isolate hasn't started and so doesn't
/// put anything into the mailbox.
mailbox.take(); // sync call that doesn't return util the isolate starts and puts a message into the mailbox

final isolate = Isolate.spawnSync<Args>(_runProcess, Args(commandToRun, mailbox));
/// I'm now guaranteed the isolate is running which means it will eventually place something in the mailbox.
mailbox.take(); // sync call.

I've tried an number of paths to get around the spawn issue but it appears that if you make a sync call (e.g. mailbox.take) immediately after calling Isolate.spawn then the spawned isolate doesn't start. I assume the current spawn logic is relying on a async call to be given processing time to start.
Unless I'm wrong about how spawn works, I've hit a brick wall in migrating dcli off of waitfor. I have resolutions for all of the other code except this rather critical piece.
@mraleph
@Hixie
@itsjustkevin
I need this enhancement before waitFor is removed from the dart api.

Good looks! +1

I agree that this is likely to be necessary for moving off all uses of waitFor().

I've would like to see waitfor un-deproacated until this is in the stable
release.
I have everything else ready but dcli is broken against stable until we
have something like this as a solution.
On Wed, 3 Apr 2024, 11:17 am Natalie Weizenbaum, @.***>
wrote:

I agree that this is likely to be necessary for moving off all uses of
waitFor().
—
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/55356#issuecomment-2033315183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OFH2MFZW5OSSIOCQNDY3NDCVAVCNFSM6AAAAABFUH6LVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZTGMYTKMJYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I assume the current spawn logic is relying on a async call to be given processing time to start.

That should not be necessary.
At the time the future is returned, the spawn should be underway, with no more local-isolate work necessary. The local future won't be completed while the local isolate is blocked, but if you don't care about that, it shouldn't be a problem.
If it doesn't work that way, I'll consider it a bug.
Could it be a problem that you're receiving events on other ports, which cannot be processed, and that somehow blocks the event to the port you're using for the mailbox? (If so, that should probably also be considered a bug, if nowhere else then in the mailbox code.)

Actually, the problem is probably that the spawn fails, which is reported as an asynchronous exception in the returned future. Which means it's not reported when the isolate is blocked, but since the isolate never started, the mailbox won't get any messages to unlock it.
That's a deadlock.
A reason it could throw might be that you're sending the mailbox object directly, and it's not sendable.
Change the code to:
final isolate = Isolate.spawn<Args>(_runProcess, Args(commandToRun, mailbox.asSendable));

and unwrap the Sendable<MailBox> using .materialize() at the other end.
Or, what I would do, make the Args constructor call .asSendable on its argument and store it as a Sendable<MailBox>. The give it a mailbox getter which re-materializes the mailbox if needed. If you want to be absolutely certain that the mailbox isn't stored on the object, in case you want to send it to another isolate, use an Expando.
Something like:
class Args {
  static Expando<Maibox> _mailboxCache = Expando();
  final Sendable<Mailbox> _mailboxPackage;
  final Command commandToRun;
  Args(this.commandToRun, MailBox mailbox) : _mailboxPackage = mailbox.asSendable {
    _mailboxCache[this] = mailbox;
  }
  Mailbox get mailbox => _mailboxCache ??= _mailboxPackage.materialize();
}

That should contain the sending logic, while still letting both ends use the object like today.
It is a problem that isolate spawn can fail later, but that's what asynchronous computations do.
A synchronous spawn would prevent that. Alternatively, what is needed is not a synchronous spawn, but just synchronous validation of the message. If a flag to Isolate.spawn could force synchronous validation of the sendability of the function and argument, and throw a synchronous ArgumentError (or whatever) if not sendable, then the actual spawning (which should then not fail for any reason other than out-of-memory) could be asynchronous.
Or maybe mailbox.take needs a timeout. If no message has been received in time, it throws a TimeoutException instead, which allows reporting an error instead of dead-locking. Tricky, if we're doing arbitrary user requested operations. Maybe we can have the operations send progress reports in the mailbox, like:
var isolateFuture = Isolate.spawn(_run, _Args(data, mailbox));
try {
  Uint8List msg;
  do {
    msg = mailbox.take(timeout: const Duration(seconds: 5);
  } while (_isStillWorking(msg)); // Standard IAmAlive report sent every second or so, not final result.
  return _parseResult(msg);
} on TimeoutException {
  isolateFuture.then((isolate) {
    isolate.kill();
  });
  throw OperationFailedException("User operation stalled");
}

Then you could build a protocol on top of the mailbox, instead of only using it for the final result.
(But without a time-out, it's limited how that can be used to prevent deadlocks.)

@lrhn  I was thinking the same and asked that as well in the other issue thread: https://github.com/dart-lang/sdk/issues/52121#issuecomment-2033107323
@bsutton are you sure this is not the case?

Just kidding - this was the code that I updated to use native_synchronization
i.e.
SendPort _connectSendPort(ProcessChannel channel) {
  /// take the initial message which contains
  /// the channels sendPort id.
  final msg = channel.send.take();

  return NativeCalls.connectToPort(msg);
}

from this file
is referencing:
class ProcessChannel {
  ProcessChannel()
      : pipeMode = false,
        response = Mailbox(),
        send = Mailbox();

in this file
And I forgot that I had updated this strong type to verify here:
void _startIsolate(ProcessSettings processSettings, ProcessChannel channel) {
unawaited(Isolate.spawn<List<Sendable<Mailbox>>>((mailboxes) async {

at this line

Given the above feedback i decided to write a few simplified experiments.
The following works as expected:
void main() {
  unawaited(Isolate.spawn(_run, 'hellow'));
  sleep(const Duration(seconds: 10));
}

void _run(String arg) {
  print('Hello from isolate: $arg');
}

This seems to support @lrhn statement that the spawn should proceed even if a sync call is made immediately after the spawn occurs.

Doing a simple mailbox.take also allows the isolate to spawn without issue:
void test2() {
  final mailbox = Mailbox();
  unawaited(Isolate.spawn(_run, 'hellow'));
  mailbox.take();
}

void _run(String arg) {
  print('Hello from isolate: $arg');
}

@lrhn Maybe you could triple spot check me here just to make sure I didn't overlook something obvious?

Not going to try to grok all the code, and don't know enough about the native synchronization functions, so I'll just give the completely generic recommendation to avoid the risk of over-capturing with closures.
The (mailboxes) async { ... } closure captures the processSetting variable from the surrounding scope, and is passed a List<Sendable<Mailbox>> as argument. The channel containing the original unsendable Mailboxes is also in scope. If the closure decides to (over-)capture that variable too, it will be unsendable.
It probably won't, because there is no closure capturing channel at all. It's still something that can go wrong if the compiler makes a wrong deduction somewhere.
I'd still consider moving the closure to be its own static function, and pass the processSettings as an argument too, using a record for the argument and patterns to destructure, so something like:
void _runInIsolate((ProcessSettings, Sendable<MailBox>, Sendable<Mailbox>) args) {
  final (processSettings, sendableSendBox, sendableResponseBox) = args;
  final sendBox = sendableSendBox.materialize();
  final responseBox = sendableResponseBox.materialize();
  // ...
}

Or pack up the mailboxes before calling _startIsolate(ProcessSettings processSettings, List<Sendable<Mailbox>> mailboxes) {... } so the unsendable mailboxes are not in the scope at all.
Whether the following logic is correct, that's for tests to decide :grin:.

I've made progress so thanks for the input. I will update in a couple of
days once I get further down the path.
On Thu, 4 Apr 2024, 6:56 pm Lasse R.H. Nielsen, @.***>
wrote:

@lrhn https://github.com/lrhn Maybe you could triple spot check me here
just to make sure I didn't overlook something obvious?
Not going to try to grok all the code, and don't know enough about the
native synchronization functions, so I'll just give the completely generic
recommendation to avoid the risk of over-capturing with closures.
The (mailboxes) async { ... } closure captures the processSetting
variable from the surrounding scope, and is passed a
List<Sendable> as argument. The channel containing the original
unsendable Mailboxes is also in scope. If the closure decides to
(over-)capture that variable too, it will be unsendable.
It probably won't, because there is no closure capturing channel at
all. It's still something that can go wrong if the compiler makes a wrong
deduction somewhere.
I'd still consider moving the closure to be its own static function, and
pass the processSettings as an argument too, using a record for the
argument and patterns to destructure, so something like:
void _runInIsolate((ProcessSettings, Sendable, Sendable) args) {
final (processSettings, sendableSendBox, sendableResponseBox) = args;
final sendBox = sendableSendBox.materialize();
final responseBox = sendableResponseBox.materialize();
// ...
}
Or pack up the mailboxes before calling _startIsolate(ProcessSettings
processSettings, List<Sendable> mailboxes) {... } so the
unsendable mailboxes are not in the scope at all.
Whether the following logic is correct, that's for tests to decide 😁.
—
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/55356#issuecomment-2036447153,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OHUIHQJU6Z664P7PYDY3UBR5AVCNFSM6AAAAABFUH6LVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZWGQ2DOMJVGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

So my statement about how spawn works was wrong, it will launch the process
even if a sync call is made immediate after.
So I have no immediate need for it.
It would still be nice as it would make some scenarios easier to code.
On Thu, 11 Apr 2024, 6:49 am Siva, @.***> wrote:

@bsutton https://github.com/bsutton any updates, do you still think you
need this feature ?
—
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/55356#issuecomment-2048411379,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OAR2DHVN3DIXMEPCCTY4WQUTAVCNFSM6AAAAABFUH6LVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBYGQYTCMZXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Fix frame rate differences on different platforms.

Already works now thanks to the fixes made in the Keyboard.h header.


Replace package satori/go.uuid

This issue has been opened automaticaly because we think you are using satori/uuid in your code. Unfortunately, satori/uuid has a critical defect where it doesn't generate random UUIDV4s satori/go.uuid#73 and should be replaced as the maintainer has been unresponsive for 5 months with the bug still open. Alternative packages you should consider: https://github.com/google/uuid https://github.com/pborman/uuid

I don't worry as the name indicates this is not usable Code so no problem.


Allow reading full 32 gen 7 boxes from ram dump files.

Even back in gen 6 I have been re-purposing the old obsolete RAM pcdata.bin files to still be useful by creating them using NTR debugger which allows me to check eggs without leaving the game and copying save files to the computer.
This works great and even works in Sun & Moon. With the only problem being that due to your check on the file it is limited to the old size which only covers 31 boxes, could you allow for bigger files to account for box 32.
This is a great and easy way to check and if I go long enough without good results due to no forced saves I can reset without saving to purge eggs. All I do is collect some eggs then hit the home button to suspend the game and have the system connect to Wi-Fi, dump pcdata.bin with NTR then home button to resume the game. It's a easy 10 seconds to check a batch of eggs.

I'm still having problems and can't read a full 32 box dump. If I load one the correct size the box range selector now includes 32 but no Pokemon show at all from any box. Loading a 31 box size file still works but only shows 31 boxes of course.
Working file made with (for size I used 2323031 in hex)
data(0x330d9838, 0x34ad0, filename='pcdata.bin', pid=0x3e)
When I increase it to 2323032 in hex KeySAVe can't open it correctly but at least doesn't give errors like before
data(0x330d9838, 0x36600, filename='pcdata.bin', pid=0x3e)
Offset only tested in Moon but is probably the same for Sun

Can you please share the file with me so I can test this? I don't have access to a system where I could create one myself, unfortunately.

I have emailed you the some example files one a full 32 dump and one smaller 31 that works.
Also note that if truncated to the smaller size the 32 starts working just missing the last box.
These files are from my quick play through save for extra legends so it doesn't have much just enough to spread around to unlock all the boxes. But does have a Pokemon in box 32 that should show up.


Add Unix Domain Socket support for Process Compose

Process Compose release v1.2.0 added support for usiing UDS resolving issue
This is adding support for that and updating example project as well.
Relevant Process Compose documentation is here.
NOTE: flake.lock file will need one more bump after merge to be functional on process-compose-flake dependency.

thanks for the feedback, i simplified the API, actually i like this better than my original one 👍
i'm not sure how to run the formatter locally, as there's no config in this repo for treefmt, and it seems to me that only nix-direnv is packaging treefmt. but if you have a command to run it, i'd appreciate it


Logging into ao3 enhancements destroyed my ability to use AO3

Logged into the extension for the beta enhancements (see what I left kudos on, etc) and now whenever I visit any page on AO3 I am simply met with 'try again' in the top left corner. Same thing happened on my phone. Tried in incognito mode and it worked perfectly fine because I wasn't logged in. After removing the extension it went back to normal (took a few minutes though) but I really did like using the extension and would prefer to have it. Sad that it made AO3 completely functionless when I had it in my Chrome extensions.

Yea, this is probably due to the "Track Works" feature. I'm hoping to either overhaul or remove it soon, it has been causing far too many issues.

Next version will have track works removed entirely, and a hopefully better version implemented soon. That was the best fix I could do for now.

Thanks!
On Fri, Jul 9, 2021 at 5:10 PM Jas @.***> wrote:

Next version will have track works removed entirely, and a hopefully
better version implemented soon. That was the best fix I could do for now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jsmnbom/ao3-enhancements/issues/16#issuecomment-877457871,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATYBUF4YXKIOTBKJ3BWM4LDTW5QTLANCNFSM43GVIUIQ
.


added heroku restart on deployment

@citizen428 is this still necessary? I feel like we recently got bitten by not restarting in our auto deploys...maybe rails 5 doesn't require it?

So yeah it restarts on deploy, but not after a migration (which I always thought was weird). So you can deploy, run a migration, and then have the app server not know about new fields. You've never had that happen?

As far as I know this is for cases where you manually deploy, i.e.
something like
git push heroku master && heroku run rake db:migrate && heroku restart
When coming from CircleCI as far as I'm aware all the commands listed under
the deployment-production-commands section are run first, then the restart
happens. I just checked all my old Rails app I have on my machine, and none
of them manually call restart.
But anyway, chuck it in, shouldn't hurt (worst case they dyno just gets
cycled twice) and if you think this has led to problems in the past better
be safe than sorry.
On Wed, Jun 28, 2017 at 9:12 AM hiattp<EMAIL_ADDRESS>wrote:

So yeah it restarts on deploy, but not after a migration (which I always
thought was weird). So you can deploy, run a migration, and then have the
app server not know about new fields. You've never had that happen?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/lockstep/rails_new/pull/10#issuecomment-311537104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC7cR0yZAHLZJZ3LMgqtANmkngVdQJ2ks5sIbZ4gaJpZM4OHMYg
.

Yeah its really only caused an issue once in quick key where the app couldn't find the field but definitely better safe than sorry for production deployments :)


Remove emulator option for non-windows

The emulator story on non-windows is using Azurite - but that has some limitations (see https://github.com/Microsoft/vscode-azurefunctions/issues/1245) and probably isn't up-to-par quite yet
Since I'm not showing the emulator, I feel like I need to do a "Skip for now" button

FYI I've seen the above message with Azurite if AzureWebJobsDashboard is not specified. If you specify it with a blank "" it doesn't appear.


add some brief CLI docs

Resolves #286. These are largely adapted from the svelte-cli readme. I don't think we want to spend too much time on these, since we're discouraging the CLI's use.
I also put a deprecation note in the svelte-cli repo's readme.

nice 👍


Error: premature EOF - when using gzip encoding

If you add grpc-accept-encoding gzip to the headers using a interceptUnary like so:
[
    {
      interceptUnary(next, method, input, options: RpcOptions): UnaryCall {
        if (!options.meta) {
          options.meta = {};
        }
        options.meta['grpc-accept-encoding'] = 'gzip';
        return next(method, input, options);
      },
    },
  ]

The client fails when making a request with the following error:
Error: premature EOF
This appears to happen because the server responds with a gzipped response and the response header Grpc-Encoding: gzip but the client library ignores the header.

@grpc/grpc-js has a supported channel option grpc.default_compression_algorithm and lists among its features "Partial compression support: clients can decompress response messages". Is there someway to implement this?

I suppose you are using the gRPC transport? When creating the transport, you can pass ClientOptions:
https://github.com/timostamm/protobuf-ts/blob/dffaada3eb28d6169478d6ab2631d88d8f8610ee/packages/grpc-transport/src/grpc-options.ts#L20-L25
ClientOptions are part of @grpc/grpc-js and include ChannelOptions:
https://github.com/grpc/grpc-node/blob/be7ec4aaad7d009f879433d87f3c4731c48c20c3/packages/grpc-js/src/client.ts#L99-L109
It's a lot of options in @grpc/grpc-js, but looking at grpc-transport.ts should make it clear how they're handled.


1717 config UI

Summary
replace put by patch for all plugins connection in config-ui
Unify property name to camelCase
Description
Describe what this PR does, and aims to solve in a few sentences.
Does this close any open issues?
closes #1717
Current Behavior
Describe the current behaviour of this issue, if relevant.
New Behavior
Describe the new behaviour updated in this issue, if relevant.
Screenshots

Other Information
Any other information that is important to this PR.

@e2corporation Please take a look at this PR , I will merge it first so we can deploy into our demo site for @Startrekzky and @yumengwang03 to start testing.


Restructure project folders to better accommodate (C++) unit tests

In order to use googletest for C++ it may make sense to restructure the current folder hierarchy. Instead of having sub-projects like web and raspberrypi inside each of src/ and test/, the sub-projects should be top-level and each contain src/ and test/. So instead of:
src/raspberrypi
test/raspberrypi
...
we would have:
raspberrypi/src
raspberrypi/test
web/src
web/test
...
or maybe better:
c++/src
c++/test
web/src
web/test
...
or maybe that's even better:
c++/src
c++/test
python/src
python/test
...
Further, sub-folders should be created for each resulting binary, at least for rasctl and rascsi, e.g.
c++/src/rascsi
c++/src/rasctl
c++/src/common
...
Or
c++/rascsi/src
c++/rasctl/src
c++/common/src
...
With common containing shared code.
The Makefile rules that assign object files to binaries also have to be changed, because the tests require a main() method of their own, which collides with rascsi::main().

@rdmark In case we agree on a structural change it should be done right after the 21.11 release. Even if nobody was willing to add unit tests (I experimented a bit with googletest, thus this ticket) the current structure is not that nice.

@uweseimet Agreed that just after 21.11 is a good timing for making structural changes in the repo. It gives use time to weed out unexpected complications/bugs.
I like the idea of breaking it down by language. I suggest we introduce a c/ directory as well to accommodate the X68k native code:
c/RASCTL
c/RASDRV
c/RASETHER
For the Python packages, I'd like to do some research on the best test runner/framework for test automation before deciding on a final structure. We have effectively three Python packages: loopback_test, oled_monitor, and web. There is an opportunity to create common libraries for the two latter, where there is mild code duplication right now.
@akuker What are your thoughts here?

@rdmark I never looked at the x68k folder before. What is this code used for?

@uweseimet They are code for native device drivers (RASDRV, RASETHER) and executables (RASCTL) for the Human68k OS, Sharp X68000. See wiki: https://github.com/akuker/RASCSI/wiki/X68000#X68000_Features

A minor thing - something about using the '+' character in a file path makes me cringe. I'd request that we use cpp instead of c++. I don't remember if that has bit me while working on makefiles or bash scripts or both in the past.....
What do you guys use for an IDE? Personally I use VSCode. TBH, I haven't dug into the unit testing capabilities of it, but it would be nice if it integrated nicely into an IDE.
A slight variation on what @uweseimet proposed....
rascsi/
   doc/ (nochange)
   hw/ (no change)
   cpp/
      librascsi/
         src/
         test/
      rascsi/
         src/
         test/
      rasctl/
         src/
         test/
      scsimon/
         src/
         test/
   python/
      oled/
         src/
         test/
      web/
         src/
         test/
      common/ ??
         src/
         test/
      loopback/ # I don't know if it makes sense to create tests for the loopback test.... it either works, or it doesn't :-)
         src/

@akuker I am using Eclipse on Linux. Yes, "cpp" is better, indeed. Special characters have the potential for issues. "lib"or something similar instead of common is fine for me. For consistency we should try to use the same name for python as well.

@akuker I use Notepad++ on Windows. Willing to change to a different IDE for UT integration. :)

Another Vs Code user here, this is a good call @uweseimet I too tried to put some simple tests together, but in the current state, its a real pain.

@hsiboy Would you agree that the structure proposed above (the latest one by @akuker) is a better approach, or would you suggest something else?

Yes, I think that @akuker approach is good as it will allow for growth/change in the future.
+1 from me.

@rdmark @akuker @uweseimet @hsiboy
I have started restructuring the python scripts to a python folder in the branch bzeiss_restructure_project_folders_python. It seems to work with those changes.
I took the liberty to make two additional changes in the branch:

I have renamed the oled service from monitor_rascsi to rascsi-oled. This has bugged me for a while the the systemd services weren't consistently named. They all start with rascsi or prefix rascsi now. I have adapted easy_install.sh with the migration work.
I have made a few improvements to easy_install.sh along the way. The systemd stop/enable service commands sometimes caused error messages in my easy_install scripts depending on the actual state of the services. I have added some systemd checks around it so that services aren't stopped when they aren't started or not even enabled.

It would be great if someone could take an early look at how I moved everything and to check whether this is the right direction. I had to make some decisions along the way there haven't been part of the discussion here (e.g. where to move the oled image resources, systemd files etc.).

@bzeiss I do think you're on the right track here! Good progress.
Some minor comments:
    if [ -d .git ]; then
This check for a git repo will only work when in the root of the repo, won't it? It looks like you're doing this in various subdirs where it will always fail.
There have been talks about using LCD screens with RaSCSI, so I don't know if renaming the service to '-oled' is the right choice. But then again, perhaps we need a separate script for LCD screens anyways!
While doing cleanup, I'm wondering if renaming the start.sh scripts to something more descriptive might be a good idea too. E.g. start_rascsi_web.sh and start_rascsi_oled.sh etc.

Good point, I will verify that .git check. It's quite possible that this is broken. I'm developing in Jetbrains IDEA where the contents of the local git content is synced to the raspberry via SSH duplication of the repository clone, so there is no .git directory. That made testing the scripts kind of annoying, so I just wanted to wrap the git stuff around a check so that the script still works when it's not a git cloned directory. But obvisouly that check must work. I'm testing now on the pushed branch as well and found already a few more things that are broken.
About the naming: yes, it would be best if we find a name that also matches the ongoing work with the control panel pcb. Maybe something like rascsi-control, rascsi-frontpanel or something along those lines. Based on that decision, we can decide on a start script naming.

@akuker @rdmark @uweseimet So I have been thinking about how to go forward. I'm currently working on three branches: one for the python restructuring, one for the ctrlboard and one for the proxy. The ctrlboard code is a complete reimplementation of everything, I think so far without any code from monitor_rascsi.
My proposition to move forward with all the changes is the following:

I'll rebase my python restructuring branch bzeiss_restructure_project_folders to the develop branch and create a pull request for it. This implies that the renaming of the current monitor_rascsi will still be rascsi-oled (see point 3 on why I propose this). This will essentially create the new structure as suggested above for only the Python-based content. This will give us some time to figure out whether it breaks anything that I haven't seen so far.

We can then start to work on the common python code directory. I have started with some parts of it in the ctrlboard branch. However, it would be good if we could brainstorm a few things regarding that. The current library code in src/web has some things in it like the flask internationalization where I'm not entirely sure how it can be shared to a non-webapp and whether it should be. Probably not a big thing, I just haven't dealt with it yet.

My suggestion is to keep the ctrlboard directory separate from the oled directory for a while. We can then carry the new controlboard feature as an experimental feature until a few people have a control board in their hands to play around and test it. At the same time, the existing oled feature is stable. I will then start to move over the necessary features from the oled to the ctrlboard project so that it covers both usage scenarios and the old oled python project can be removed when everything is good. In general, I'd intend to create a pull request for this as soon as the necessary parts exist in the shared code directory after the restructuring.

I haven't dealt with the restructuring of the C/C++ parts. I can generally do this as well, however, there is still a lot to do on my ctrlboard list. In general, I'd personally rather concentrate on making that part nice.

What do you guys think?

@bzeiss I endorse your plan. Thanks for working on this!
As for i18n, the flask_babel library is an extension to Babel, which is a general-purpose Python i18n library, so it might be possible to reuse some components for other Python packages. It's worth experimenting with, I think. While the oled-monitor arguably don't need i18n, the ctrlboard may have a rich enough UI that it's worth considering, isn't it?

@rdmark Regarding the translation: yes, that's what I kind of hoped for as well. I'm not sure to what degree it is "clean" to integrate flask into general-purpose python code, but if the existing code can be reused or rephrased for general purpose i18n and pybabel as well so that it works for both scenarios, I'm definately suggesting we do it like that. And yes, I think the control board interface will definately gain from translations as well though the amount of characters is limited, so we'll have to see whether reusing strings for both web and control board ui will work well. I can imagine that we may need something like a "short phrases" mode.

Pull request for the python restructuring.

With the latest changes in develop (sub-folders for rascsi/rasctl I tend to close this ticket. Moving the C++ tests to individual folders appeared to be fine, but in practice it is convenient to not have the tests split across several sub-folders. According to the initial suggestions the rascsi/rasctl-specific code is now located in separate folders.
Any objections to closing this ticket?

@uweseimet I think it would be beneficial to make the very top level dir structure change, e.g.:
src/raspberrypi/
src/x68k/
to
cpp/
c/
It removes an unnecessary directory nesting, and signals clearly what to expect from each code base. Thoughts?

@rdmark Yes, you are right. Do you volunteer to do that? I have to admit that I am a bit tired of changes like this ;-).
Maybe it's better to create a new, more precise ticket for that purpose.

@uweseimet Sure I can volunteer to do that. It should be mostly a pretty route task I think.

@rdmark Working on this after my changes from the feature_merge_file_support branch have been merged would probably a good point in time, because after this merge there are no other pending structural/file system changes.

As per a discussion with @akuker I will take action on this once his Banana Pi feature is finished.

@rdmark I assume it will be part of the next release?

@uweseimet I'm targeting the release following the next one.

@rdmark I suggest that you start after https://github.com/akuker/RASCSI/pull/915 has been merged, because this PR (targeted for the next release after 21.10) adds some new files. Changing folder structures before this merge might cause me inconvient merge conflicts.
I will finalize https://github.com/akuker/RASCSI/pull/915 as soon as the develop branch is not frozen anymore, which I expect to be the case right after the 21.10 release.

@rdmark All pending changes that affect the fileystem have been merged, i.e. now it's a good time for structural changes.

Sounds good. I'll work on this today.

Addressed in https://github.com/akuker/RASCSI/pull/941


merge with the main repository

@mohamadmansourX hi there,
why don't you merge the training steps with the main SuavolaNet repository, just submit a pull request there.

The main repo owners are working on a new extension for SuavolaNet and will publish the new source code in the same repository. Thus, they're not accepting pull requests in the current time.


Lower Vulkan 1.3 example requirements

Template
If you dont understand something just leave it.
If you can provide more detailed information than the template allows for, please ignore the template and present all of your findings.

Version of vulkano: TODO
OS: TODO
GPU (the selected PhysicalDevice): TODO
GPU Driver: TODO
Upload of a reasonably minimal complete main.rs file that demonstrates the issue: TODO

Issue
The Vulkan 1.3 triangle example doesn't exactly need Vulkan 1.3 API. You can lower the API requirement (for physical devices) to 1.0, and enable khr_dynamic_rendering in DeviceExtensions.

When I made this, I wanted to avoid complicated the example code (since it's meant as an introduction). But maybe you're right, it should work with khr_dynamic_rendering too.

I guess if you rephrase it as "triangle using dynamic rendering", you can say it requires Vulkan 1.3 or the dynamic rendering extension.


Changing button position

Hello,
I would like to ask how can i change the button position displayed on player screen (I mean during playing, not in this browser editor).
I know we can change some properties like this:
InteractivityManager.SingletonInstance.GetButton("ButtonName").SetProperty(InteractiveControlProperty.BackgroundColor, "#ffffff");
But how can I change this position values? So for example I could have an element that will follow mouse.
And next question: how to enable buttons if I also put a Mouse in controlls in Mixer browser UI editor? When I create a mouse all my buttons are always hidden.

You could update the position property on the scene, but that would be a bit involved. you also cannot have mouse controls and buttons at the same time.
But good news, for both of those scenarios, there is a much more flexible solution that we recommend if you are going beyond the basic controls :):
https://github.com/mixer/cdk/releases
Getting started: https://dev.mixer.com/reference/interactive_next/quickstart-html.html


Section for important points to follow before blood donation.

Creation of page for tips and important points to follow before blood donation.

Should I create a separate page for this or include the separate section before the volunteer section?  The link will be attached in the navbar.

Should I create a separate page for this or include the separate section before the volunteer section? The link will be attached in the navbar.

Don't attach any link in the navbar, you can create a section at the bottom before the footer. @Ritika122001

Ok, sure


AutoComplete: Enable Auto complete during rename.

Please select if your request is either something new or an enhancement

[x] Enhancement of an existing Feature.
[ ] Request of a new feature.

Please select the area your request applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[ ] Workspace - VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[x] Lookup - Dendron's Lookup Command
[ ] Views - Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema - Dendron Schemas
[ ] Pod - Data import from / export to Dendron
[ ] Publish - External Site Publish
[ ] Markdown - Markdown features, such as syntax support and features

Is your feature request related to a problem? Please describe
Auto complete does not work during rename.
Describe the solution you'd like
Make auto complete work during note rename.
Describe alternatives you've considered
Manually entering the rename.
Additional context
Auto complete currently works during look up. However, during rename (which looks very much like lookup) 'Tab' does not trigger auto complete functionality.

@nickolay-kondratyev, there is already an issue opened about this problem https://github.com/dendronhq/dendron/issues/405. I'm going to close this one as a duplicate; please, upvote or leave a comment in the linked issue.


debugger copy error now only copies error text

Fixes https://github.com/godotengine/godot-proposals/issues/5233

Callinou recommended that I simply change the "Copy Error" option so that it only copies the error text and not other info, but I'm not sure if it's a better idea to add a new option that does that while keeping the "Copy Error" option as it is.
so in this pr I added a new option with the name "Copy Error Brief" that copies only the error message while I kept the "Copy Error" option as it was.
which method is better ? should we have 2 options or just one with the new functionality ?
also is "Copy Error Brief" a good name ?

I don't think there should be two different options to copy text, as it can cause confusion and generally make usability worse for the 90% use case.
If you're a developer, you're probably running Godot from a terminal, so you can copy any messages that are printed easily.

yep that's reasonable, it's better to keep things simple and clean, got it !

While we won't merge this for 4.0, keep in mind that this needs to be squashed into a single commit.


Nicer constructor for variance priors

          This is a bit painful to expect people to write. Maybe we need an issue for a helper? Its quite low priority though obviously.

Originally posted by @seabbs in https://github.com/CDCgov/Rt-without-renewal/pull/123#discussion_r1516558535

[ ] Make a method for giving standard deviation a halfnormal prior.
[ ] Make constructor functions for structs that use this.


Integrationhelper.jar requires additonal jar file "commons-lang3-3.4.jar"

I have a simple Java WebApplication integrated with OSCM 16.0 using "integrationhelper.jar". The application is deployed on tomcat6 and runs fine as s service.
Using 16.1 GA3, an exception is thrown during runtime:
class not found: org.apache.commons.lang3.*
This can be solved by adding the Apache jar file:
commons-lang3-3.4.jar
Shouldn't the additional jar file be part of any oscm jar file?

The dependency to the library is removed. Instead Java string methods are used.


Merge 5.0 from upstream Simply-Love/Simply-Love-SM5

What's done:

Merge conflicts are handled

What's not done yet:

UI alignement, see -- TODO comments to see where things seemed iffy
Most things, really. I'm creating this PR to get share code and have a discussion on the work to be done

What's broken:

The UI on the title screen is misaligned
Starting a game breaks the flow immediately and you're stuck there :sweat_smile:

I'll give this a better look when I get the time.

Alright, so this really isn't workable as a PR after all - there's too much stuff that doesn't work. Sorry about this!