Feature/modal window

Creates the modal window and fixes a bug found on data visualization.
Paired the fix with @nighto

PR Updated

I couldn't change tabs when in the modal window. Besides, I couldn't test pagination, is it working?

Not yet. I think it should only be merged when ready.

PR Updated.
CSV Download and Tab change should work now.


[Feature]: change android resource page remove java kotlin cross platfrom and add a page for react native

Is your feature request related to a problem? Please describe.
it should only be native , react native and flutter
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

Please, assign me this issue.

according to the title -
java
kotlin
cross plateform removed.
and react native added.

@Rehan52004 go ahead


process_schemas Make schema path required, don't infer path

Closes #1268 @gabrielsaldana

@jeromekelleher updated!


Bootstrap update

Reworking bootstrap script

bootstrap.sh script lost its upgrade functionality.
upgrade.sh script was created for upgrade purposes.
upgrade became possible to only official tag (not branch).
some refactoring.

http://ocd.appscale.net:8080/job/Daily Build/6724/

http://ocd.appscale.net:8080/job/Daily Build/6727

http://ocd.appscale.net:8080/job/Daily Build/6793/


Multiprocessing Error

Hello,
I am a student studying GNN and recently I have been working on a project using AMR graphs.
I came across an issue while trying to use the AMR graph library in the code uploaded to a repository.
And I tried fixing it myself, but I'd like some feedback to ensure that the changes I made are correct.
Finally, I found an error that global variables are not shared when using multiprocessing.
So, I used functools.partial to pass arguments to the worker function and resolved the issue.
I'm not sure if the uploaded code was originally correct.
Below is the code that I modified.
Could you please confirm if the code below is correct? Thank you!
import re
import logging
from   multiprocessing import Pool
from   tqdm import tqdm
import numpy
from functools import partial

gfeaturizer, gmax_dist = None, None    # for multiprocessing
def build_coref_features(mdata, model, **kwargs):
    chunksize = kwargs.get('feat_chunksize',          200)
    maxtpc    = kwargs.get('feat_maxtasksperchild',   200)
    processes = kwargs.get('feat_processes',         None)    # None = use os.cpu_count()
    show_prog = kwargs.get('show_prog',              True)
    global gfeaturizer, gmax_dist

    gfeaturizer = CorefFeaturizer(mdata, model)
    gmax_dist   = model.config.max_dist if model.config.max_dist is not None else 999999999
    # Build the list of doc_names and mention indexes for multiprocessing and the output container
    idx_keys = [(dn, idx) for dn, mlist in gfeaturizer.mdata.mentions.items() for idx in range(len(mlist))]
    feat_data = {}
    for dn, mlist in gfeaturizer.mdata.mentions.items():
        feat_data[dn] = [None]*len(mlist)
    # Loop through and get the pair features for all antecedents
    pbar = tqdm(total=len(idx_keys), ncols=100, disable=not show_prog)
    with Pool(processes=processes, maxtasksperchild=maxtpc) as pool:
        worker_with_args = partial(worker, gfeaturizer=gfeaturizer, gmax_dist=gmax_dist)
        for fdata in pool.imap_unordered(worker_with_args, idx_keys, chunksize=chunksize):
            dn, midx, sspans, dspans, words, sfeats, pfeats, slabels, plabels = fdata
            feat_data[dn][midx] = {'sspans':sspans,   'dspans':dspans, 'words':words,
                                   'sfeats':sfeats,   'pfeats':pfeats,
                                   'slabels':slabels, 'plabels':plabels}
            pbar.update(1)
    pbar.close()
    # Error check
    for dn, feat_list in feat_data.items():
        assert None not in feat_list
    return feat_data

def worker(idx_key, gfeaturizer, gmax_dist):
    global gfrozen_embeds
    doc_name, midx = idx_key
    mlist       = gfeaturizer.mdata.mentions[doc_name]
    mention     = mlist[midx]               # the head mention
    antecedents = mlist[:midx]              # all antecedents up to (not including) head mention
    antecedents = antecedents[-gmax_dist:]  # truncate earlier value so list is only max_dist long
    # Process the single and pair data data
    sspan_vector = gfeaturizer.get_sentence_span_vector(mention)
    dspan_vector = gfeaturizer.get_document_span_vector(mention)
    word_indexes = gfeaturizer.get_word_indexes(mention)
    sfeats       = gfeaturizer.get_single_features(mention)
    pfeats       = gfeaturizer.get_pair_features(mention, antecedents)
    # Build target labels.  Note that if there are no clusters in the mention data this will still
    # return a list of targets, though all singles will be 1 and pairs 0
    slabels, plabels = gfeaturizer.build_targets(mention, antecedents)
    return doc_name, midx, sspan_vector, dspan_vector, word_indexes, sfeats, pfeats, slabels, plabels

Please read the note about multiprocessing on  the main project page under "Project Status" and review the issue referenced there.

Even so, does this approach still involve using multiprocessing?

I've forked this repo and made these changes in this repo to fix this issue.
To install:
pip install zensols.amr_coref


Update content in support interface

This is mostly minor content changes to make the support interface more consistent with the Manage one, and what candidates see.
This only affects the Support interface. Changes which also affect Manage (such as qualifications) are being handled separately.
Summary of changes:
Personal details

"Applicant details" changed to "Personal details"
"Residency details" changed to "Immigration status"

Choices

"Application choice ID" changed to "Application number" and moved to its own row in Course choices (recently changed in candidate and Manage interfaces too)
"Course candidate applied to" shortened to "Course applied to"
"Course offered by provider" shortened to "Course offered"
"Provider" changed to "Training provider"
"Recruitment cycle" changed to "Cycle"
"Chosen study mode" changed to "Full or part time"
"Accredited body" row dropped if blank
Rows re-ordered to match Manage

References

"1st reference" changed to "First referee"
"Type of reference" added (was missing)
"Relationship confirmed by referee?" added (was missing)
"Relationship amended by referee" added (was missing)
Referee rows re-ordered to match Manage interface

(Updating the specs)


rustPlatform.bindgenHook: use the same clang/libclang as rustc

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

48 packages built:

adoptopenjdk-icedtea-web
ashpd-demo
authenticator
blightmud
blightmud-tts
clipcat
darwin.builder
dmenu-rs
electrs
emacsPackages.evil-textobj-tree-sitter
emacsPackages.evil-tree-edit
emacsPackages.helm-tree-sitter
emacsPackages.pygn-mode
emacsPackages.tree-edit
emacsPackages.tree-sitter
emacsPackages.tree-sitter-ess-r
emacsPackages.tree-sitter-indent
emacsPackages.tree-sitter-ispell
emacsPackages.tree-sitter-langs
emacsPackages.tsc
firefox-esr-unwrapped (firefox-esr-102-unwrapped ,firefoxPackages.firefox-esr-102)
xulrunner (firefox-unwrapped)
fractal-next
helvum
imag
indradb-client
indradb-server
librewolf-unwrapped
lighthouse
matrix-conduit
nearcore
neovide
nix-du
openpgp-card-tools
polkadot
proxmox-backup-client
pw-viz
qdrant
slimerjs
snarkos
solana-validator
stratisd
teos
teos-watchtower-plugin
thunderbird-unwrapped (thunderbirdPackages.thunderbird ,thunderbirdPackages.thunderbird-102)
wasmer
wluma
zpool-auto-expand-partitions

what does this fix?

This reduces the build time closure of rust packages using bindgenHook from two llvms to a single llvm.

@ofborg eval

This reduces the build time closure of rust packages using bindgenHook from two llvms to a single llvm.

(In the future, it'd probably be a good idea to mention this in at least the commit message/PR description, to improve understanding for both reviewers and people looking at the change even after it's merged :)

This broke nix-du and Attic on Darwin because it introduces mismatched libcxx versions, though the blame lies elsewhere in the chain.
With the PR, here is the generated bindgenHook on aarch64-darwin:
populateBindgenEnv () {
    export LIBCLANG_PATH=/nix/store/g3gmlnvvmrqiir447i5qjpvcdx5gqy5z-clang-14.0.6-lib/lib
    BINDGEN_EXTRA_CLANG_ARGS="$(< /nix/store/3gqvvrx5plnb3cd9wf587s2za85yggv1-clang-wrapper-14.0.6/nix-support/cc-cflags) $(< /nix/store/3gqvvrx5plnb3cd9wf587s2za85yggv1-clang-wrapper-14.0.6/nix-support/libc-cflags) $(< /nix/store/3gqvvrx5plnb3cd9wf587s2za85yggv1-clang-wrapper-14.0.6/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
    export BINDGEN_EXTRA_CLANG_ARGS
}

Let's take a look at libcxx-cxxflags first:
-isystem /nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1

Nothing out of the ordinary here, with libcxx-14.0.6 selected as intended.
However, overriding libcxx isn't that easy. Using the default stdenv with Clang 11, -isystem /nix/store/5sby1xhsk6dzi83lsfrxp3w2hz32r3j7-libcxx-11.1.0-dev/include/c++/v1 is forcibly injected in cc-wrapper. Other -isystem flags against libcxx-11.1.0 are added straight into NIX_CFLAGS_COMPILE here in the setup hook :cursing_face:
As you would expect, things won't work that well when the headers are mixed. Even for a trivial program, everything breaks apart:
# sadness.cpp
#include <cstdlib>
int main() {}

[nix-shell:~/Git/attic]$ which clang++
/nix/store/bwscr98440mhhlg556fqhp5ll2fxnfic-clang-wrapper-11.1.0/bin/clang++

[nix-shell:~/Git/attic]$ clang++ --version
clang version 11.1.0
Target: aarch64-apple-darwin
Thread model: posix
InstalledDir: /nix/store/ssfpjhrysqf6ywz5sqi8gpz28zc23kiy-clang-11.1.0/bin

[nix-shell:~/Git/attic]$ clang++ $BINDGEN_EXTRA_CLANG_ARGS sadness.cpp
In file included from sadness.cpp:2:
In file included from /nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1/cstdlib:85:
/nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1/stdlib.h:148:34: error: unknown type name 'ldiv_t'
inline _LIBCPP_INLINE_VISIBILITY ldiv_t div(long __x, long __y) _NOEXCEPT {
                                 ^
/nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1/stdlib.h:149:12: error: no member named 'ldiv' in the global namespace
  return ::ldiv(__x, __y);
         ~~^
/nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1/stdlib.h:152:34: error: unknown type name 'lldiv_t'
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x,
                                 ^
/nix/store/5qwz665n6dgr0id7lgrmyqmqkkm6yg1l-libcxx-14.0.6-dev/include/c++/v1/stdlib.h:154:12: error: no member named 'lldiv' in the global namespace
  return ::lldiv(__x, __y);
         ~~^
[snip]

I'm not sure how to best address this, and the whole thing looks like a house of cards. We could make rustPlatform.buildRustPackage use the rustc stdenv by default, but still dev shells on the default stdenv remain broken without manual overrides. From a practical standpoint, I think we should revert this PR while we look for a better approach.

I agree that reverting it is likely the best route for now, at least to avoid breakage until the next staging cycle.
cc @NixOS/rust

This also causes build failures when cross-compiling to armv6l (and probably others):
Running rustc --crate-name build_script_build build.rs --crate-type bin -C opt-level=3 -C codegen-units=1 --edition 2021 --cfg feature="default" --out-dir target/build/r2r_rcl --emit=dep-info,link -L dependency=target/buildDeps --extern bindgen=/nix/store/iq3q6cgzx4blrd7icjl1smhhybv5gjw7-rust_bindgen-0.63.0-lib/lib/libbindgen-e82a3757df.rlib --extern r2r_common=/nix/store/mq61wjl2ckmikc21s5mxyycvn6bgqnwl-rust_r2r_common-0.3.4-lib/lib/libr2r_common-51083e258c.rlib --cap-lints allow --color always
Generate bindings file '/build/r2r_rcl-0.3.4/target/build/r2r_rcl.out/287eb9d48069f6c0c366f5ed178c6dab3fd779e321319a3c1c1b1173cb01720f/rcl_bindings.rs'
/nix/store/nasgvbblxi25r6y1s82il4m0m4ghib68-glibc-2.35-224-dev/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
thread 'main' panicked at 'Unable to generate bindings: ClangDiagnostic("/nix/store/nasgvbblxi25r6y1s82il4m0m4ghib68-glibc-2.35-224-dev/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found\n")', build.rs:101:10
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: build_script_build::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

This is a splicing problem and can be fixed by adding rustc to the bindgenHook callPackage arguments rather than the top-level arguments.


Struts not working on Wayland. [BUG]

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
On Bspwm, an Xorg window manager, I used Eww to create a bar. Now I use Hyprland, and when I tried to use the bar, I noticed everything worked fine, except for the struts. Eww cannot reserve space for some reason! I know it is possible considering Waybar does it just fine!
Reproducing the issue
Just specify a window that contains (struts :distance "40px" :side "top"), AKA, just make a bar.
Expected behaviour
Expected behavior? Well, if it wasn't clear already, I want the Wayland compositor/WM to actually reserve space when Eww asks for it!
Additional context
I am using the eww-wayland package on Arch Linux.

I'm assuming you're using struts as part of the reserve property. reserve is only for X11, on wayland you've gotta use the exclusive property (which is just a bool). https://elkowar.github.io/eww/configuration.html#wayland

I think that the exclusive option doesn't work. I'm using both waybar and eww. I use waybar for tray icons and taskbar and eww for a sidebar. I have set the exclusive option to "true", but the space doesn't reserved. If I maximize a window, the window doesn't cover the wabar's space at the bottom of the screen, but doesn't respect the reserved space of eww sidebar and grows behind it. I suppose it should grow until the edge of the sidebar as it does for waybar.

For whatever reason (wlroots, eww, I'm not sure), but it appears you can only have one exclusive client per side. I've hit this trying to have two eww windows exclusive on the same side which didn't work.

struts are an X11 thing, as CardboardTurkey has stated. on wayland, there's the :exclusive property, which does similar thing. I'm not sure about concrete limitations with multiple clients per side, that miiiight be a wayland limitation, or a compositor specific thing -- it's sadly nothing eww can influence, I assume.


Gitlab sub groups produce 404 error

When I try to run any review/description/etc on merge request for repo that is in sub group, I get GitlabGetError - 404.
This works
https://gitlab.com/org_name/repo_name/-/merge_requests/1

This does not work
(gitlab.exceptions.GitlabGetError: 404: 404 Project Not Found)
Full trace bellow
https://gitlab.com/org_name/repos_group/repo_name/-/merge_requests/1

Expected result
https://gitlab.com/org_name/repos_group/repo_name/-/merge_requests/1 - should work

Full error trace
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/gitlab/exceptions.py", line 336, in wrapped_f
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/gitlab/mixins.py", line 122, in get
    server_data = self.gitlab.http_get(path, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/gitlab/client.py", line 828, in http_get
    result = self.http_request(
  File "/usr/local/lib/python3.10/site-packages/gitlab/client.py", line 794, in http_request
    raise gitlab.exceptions.GitlabHttpError(
gitlab.exceptions.GitlabHttpError: 404: 404 Project Not Found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/pr_agent/cli.py", line 101, in <module>
    run()
  File "/app/pr_agent/cli.py", line 55, in run
    commands[command](args.pr_url, args.rest)
  File "/app/pr_agent/cli.py", line 84, in _handle_review_command
    reviewer = PRReviewer(pr_url, cli_mode=True, args=rest)
  File "/app/pr_agent/tools/pr_reviewer.py", line 22, in __init__
    self.git_provider = get_git_provider()(pr_url, incremental=self.incremental)
  File "/app/pr_agent/git_providers/gitlab_provider.py", line 34, in __init__
    self._set_merge_request(merge_request_url)
  File "/app/pr_agent/git_providers/gitlab_provider.py", line 51, in _set_merge_request
    self.mr = self._get_merge_request()
  File "/app/pr_agent/git_providers/gitlab_provider.py", line 257, in _get_merge_request
    mr = self.gl.projects.get(self.id_project).mergerequests.get(self.id_mr)
  File "/usr/local/lib/python3.10/site-packages/gitlab/v4/objects/projects.py", line 860, in get
    return cast(Project, super().get(id=id, lazy=lazy, **kwargs))
  File "/usr/local/lib/python3.10/site-packages/gitlab/exceptions.py", line 338, in wrapped_f
    raise error(e.error_message, e.response_code, e.response_body) from e
gitlab.exceptions.GitlabGetError: 404: 404 Project Not Found

So basically problem is here:
gitlab_provider.py
_parse_merge_request_url
L: 254
return "/".join(path_parts[:2]), mr_id

There could be more than 2 parts here
Can you please fix that?

This should solve it https://github.com/Codium-ai/pr-agent/pull/136

Merged into main


Remote-SSH & WSL: Support trash

Issue Type: Feature Request
On my vscode remote-ssh (Ubuntu), I can only delete file permanently, which caused many troubles. Could vscode remote-ssh add features to remove file to trash?
On my local env, I can delete files to trash.
VS Code version: Code 1.39.2 (6ab598523be7a800d7f3eb4d92d7ab9a66069390, 2019-10-15T15:33:00.827Z)
OS version: Darwin x64 18.7.0
Remote OS version: Linux x64 4.4.0-165-generic

where can i get the newest progress?

I need this very much, so please make it as soon as possible. THANKS

the files has to be somewhere because if we do Edit->Undo they come back

Yep, this feature would be absolutely appreciated :)

Yep, this feature would be absolutely appreciated :)

I look forward to the implementation of this feature.
remote-wsl provides much options and advantages for the development using vscode.

Oops! by mistake, i deleted a file of hours of work

I deleted test folder (despite I was right clicking on other file but test folder was selected somehow) ,
I couldn't retrieve them back so had to rework through them again. This feature is really needed

I just accidentally deleted the src directory of a project because the UI was frozen with, apparently, the wrong item selected. Luckily I had just pushed my work to Git moments before this happened.
The only option for deleting items I'm getting when connected to remotes and local Docker containers is Delete Permanently.

I just had the exact same experience. I right clicked on a single file to delete it permanently, vscode apparently decided to select an entire project folder with it, and proceded to wipe it out from my computer. 1 day of work lost in 1 second. It is unacceptable that this issue has been going on for 2 years now without being solved.

Hi Ben @bpasero, do you think it is feasible to implement this feature with the trash package mentioned by @LeuisKen? If the package could be incorporated into the codebase, I would like to give it a try.

npm package like trash may help: https://www.npmjs.com/package/trash

I've opened a new issue on the remote tools repo: https://github.com/microsoft/vscode-remote-release/issues/5615
the bot says it needs 10 upvotes tho

// Moves files/folders to the OS trash (recycle bin on Windows) when deleting. Disabling this will delete files/folders permanently.
"files.enableTrash": true

Couldn't we "simply" have VSCode target the remote's trash directory (e.g. $HOME/Trash)?
I'd be totally fine without editor undo integration (i.e. manual restoration only) if that's what's holding this back!

🙂 This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

What is the current status of this? Like it has been more than a year.

For anyone who hasn't been able to recover stuff with the strategy of finding the folder where your file was contained and CTRL + Z, try finding your ~/.vscode-server/data/User/History file, track down the directory that was changed around the same time (hint: use ls -lla or another tool). Then, find the latest file that was changed, in my case it a was a .py file with the name eODp.py. This allowed me to recover the file successfully after cat'ing it.

For anyone who hasn't been able to recover stuff with the strategy of finding the folder where your file was contained and CTRL + Z, try finding your ~/.vscode-server/data/User/History file, track down the directory that was changed around the same time (hint: use ls -lla or another tool). Then, find the latest file that was changed, in my case it a was a .py file with the name eODp.py. This allowed me to recover the file successfully after cat'ing it.

This worked perfectly fine for me. I could track down the directory that was changed on a specific date and recover my deleted file. Thank you @bmw99x!

I now see a undo option for files. I can confirm that I was able to recover the delete file using undo command.

However, this doesn't work for folders:

For anyone who hasn't been able to recover stuff with the strategy of finding the folder where your file was contained and CTRL + Z, try finding your ~/.vscode-server/data/User/History file, track down the directory that was changed around the same time (hint: use ls -lla or another tool). Then, find the latest file that was changed, in my case it a was a .py file with the name eODp.py. This allowed me to recover the file successfully after cat'ing it.

use ls -lt to sort by time

Being able to recover deleted files from the local system's trash would be a really nice feature to have. Also, it gets rid of all the pesky "Are you sure you want to permanently delete..." messages.

Can't believe this isn't supported yet, opened for almost 5 YEARS, something that so trivial and absolutely needed.
Almost lost a lot of work today cause of this.

At least show the confirmation dialog twice in case of WSL

I would like this to be implemented too


[Experiment]select & menu components

Objective
Provide stateless components and reusable hooks to make implementing a simple pattern for custom Dropdowns easier for Pluralsight devs.
Proposed Usage
Interfaces
interface SelectedItem {
  option: string
  value: number | string
}

export interface UseSelectProps
  extends Omit<HTMLPropsFor<'button'>, 'onChange' | 'value'> {
  disabled?: boolean
  error?: boolean
  onChange?: (
    evt: React.MouseEvent | React.KeyboardEvent,
    value: SelectedItem
  ) => void
  onClick?: (e: React.MouseEvent | React.KeyboardEvent) => void
  placeholder?: string
  size?: ValueOf<typeof vars.sizes>
  'data-testid'?: string
  value?: SelectedItem
  labelId?: string
  mountOpen?: boolean
}

Create a reusable Dropdown:
import Select, {
  useSelect,
  UseSelectProps,
  useMenuRef,
  handleMenuKeyDownEvents
 } from '.@pluralsight/ps-design-system-select'
import { BelowLeft, BelowRight } from '@pluralsight/ps-design-system-position'
import Menu from '@pluralsight/ps-design-system-menu'
import { useCloseOnDocumentEvents } from '@pluralsight/ps-design-system-util'

interface DropdownProps extends UseSelectProps {
  options: Array<{ value: string; option: string }>
}

const DrodpdownLeft: React.FC<DropdownProps> = ({ options, ...props }) => {
  const { button, selected, menu, isOpen, closeMenu } = useSelect(props)
  const ref = useMenuRef()
  useCloseOnDocumentEvents(ref, closeMenu)
  return (
    <BelowLeft
      when={isOpen}
      show={
        <Menu
          ref={ref}
          origin={Menu.origins.topLeft}
          {...menu}
          onKeyDown={handleMenuKeyDownEvents}
        >
          {options.map(i => (
            <Menu.Item value={i} key={i.value}>
              {i.option}
            </Menu.Item>
          ))}
        </Menu>
      }
    >
      <Select.Button {...button}>
        <Select.Selected {...selected} />
      </Select.Button>
    </BelowLeft>
  )
}
const DrodpdownRight: React.FC<DropdownProps> = ({ options, ...props }) => {
  const { button, selected, menu, isOpen, closeMenu } = useSelect(props)
  const ref = useMenuRef()
  useCloseOnDocumentEvents(ref, closeMenu)
  return (
    <BelowRight
      when={isOpen}
      show={
        <Menu
          ref={ref}
          origin={Menu.origins.topLeft}
          {...menu}
          onKeyDown={handleMenuKeyDownEvents}
        >
          {options.map(i => (
            <Menu.Item value={i} key={i.value}>
              {i.option}
            </Menu.Item>
          ))}
        </Menu>
      }
    >
      <Select.Button {...button}>
        <Select.Selected {...selected} />
      </Select.Button>
    </BelowRight>
  )
}

Note:

You can pass whatever you want as a child to Menu.Item. You just must ensure the value prop on Menu.Item adheres to the SelectedItem interface.  where the selectedItem.value is unique
closeMenu callback will focus Select.Button on global events (resize, scroll, click outside menu)

Should we do this?

Use reusable Dropdown

const items = [
  { value: 'One item', option: 'One item' },
  { value: 'Two item', option: 'Two item' },
  { value: 'Three item', option: 'Three item' }
]

// placeholder example
 <DrodpdownLeft options={items} placeholder={'Select item'} />

// initial value selected example
 <DrodpdownRight
      options={items}
      value={{
        option: items[1].option,
        value: items[1].value
      }}
    />

some initial thoughts quickly looking over the code. i'll find some time to dig in deeper later(or better yet we could have a team code review 🤔 )

i like the seperation between the hooks and components

i'm glad the polymorphic stuff worked well 🥳

i'd probably name the polymorphic interface differently. ForwardRefComponent doesn't mention anything about polymorphism

the examples of building a dropdown look simple 💥

I assume we'd replace the current Dropdown in time

naming wise maybe we can make things more understandable

Select isn't a full select component. maybe SelectPrimitive idk
or maybe there is Select for the atoms and SelectField for the Select+Field combo 🤷

interested in your take on the pros/cons of rolling our own useSelect vs the useSelect hook from downshiftjs.

should we drop downshift all together?
should we keep downshift for somethings but not for select/dropdown
does downshift still have merit but we need to compare/contrast these two useSelect approaches

Menu component is simple and I see many places we could use it

i'd love to decide on a strategy of naming/exports/organization for what's a building block vs a logic headless hook vs convenience wrappers

this pr might be a good candidate to decide that
we can update other components to match in time
maybe Select.Button is actually FormButton/ActivatorButton/Field.Button and useSelect is decoupled in a separate package 🤷♂

I'm down for a team review. I think it'll help with the questions/points you pose.

@danethurber getting the last bits done made splitting this hard. I think we can just wait until we go to a single package. I'm going to leave listbox in Select for now.


[Feature Request]: Title: Create About Us Page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Description:
Design and develop an "About Us" page that provides information about the company's mission, values, history, and team members. The page should also include images and a contact form for inquiries.
Labels: enhancement, high priority
Use Case
Benefits:
1. Builds trust with visitors by sharing the company’s story and values.
2. Humanizes the brand through team member profiles and images.
3. Provides a contact point for inquiries, fostering communication.
Benefits
No response
Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

but meet the team, already exist. if you want to work on this, you can work on ui improvement part, by creating an issue


Fix for runing python from folders containing spaces e.g "Program Fil…

Fix for runing python from folders containing spaces e.g "Program Files\Python310"

Thank you for the PR. These issues are fixed in latest main branch. Close this PR.


chore: add back removed credits

Removed by @Murtatrxx
Added back by @EvolutionX-10 [me :P]

I like


Expressions with ensemble.storage are not re-evaluated when storage changes

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@sibteali786 I think you raised this when developing Embrace app. After testing this on mobile side I think this is working as designed. See this YAML and paste into studio to test
View:
  onLoad:
    executeCode:
      body: |-
        ensemble.storage.set('value', 1)
  # Optional - style the screen
  styles:
    scrollableView: true

  # Optional - set the header for the screen
  header:
    title: Home

  # Specify the body of the screen
  body:
    Column:
      styles:
        padding: 24
        gap: 8
      children:
        - Text:
            text: ${ensemble.storage.get('value')}
        - Button:
            label: Update value
            onTap:
              executeCode:
                body: |-
                  ensemble.storage.set('value', 2)

Clicking the button does not update the text value. I believe the recommended approach here is to use the setText method or other appropriate setter for the widget you'd like to update.


Add confirmation page for clear command

The clear command is not protected by any validation. This makes new users vulnerable to deleting their contact book while learning how to use it.
Adding a confirmation page allows users to stop and think about the ramifications of their actions and reduces the likelihood of mistakes that can worsen the user experience.
Let's add a confirmation page.
Also, overloading the execute method in the logic manager for Commands also allows for non-text-based commands to affect the contact book. We use it in the implementation of the confirm clear page.
fixes #55

Note that the failing coverage comes from the FXML related files. If anyone has an idea on how to test those, do let me know!


Enhancement: Provide finer grained progress feedback regardless of stride or concurrency

"My progress has stopped working.  It is always giving a 100.00%/Starting no matter how many cycles I give it (i.e. 100K or 10M)."
This could be a bug or it could be because of how strides work with ratios. If the stride is very high, then the per-thread allocation of cycles might cause the progress meter to be advanced to complete while one or a few threads works through the sequence.

Follow up: This appears to have been related to the stride and sequence length with low thread counts. The visibility of this should be elevated at least, and perhaps the progress tracker should be finer-grained.

Fine grained metrics has solved this issue.


Fixes: FreeBSD Build

See here for why include/compat/freebsd/dirent.h was no longer needed; /usr/include/dirent.h now covers what that compatibility header was originally used for.
The examples currently don't build with LLVM 17 (some quirks with how they link to system libraries and whatnot) but the tools and the glfw stubs do without too many issues on FreeBSD 14.0 64-bit.

FreeBSD is not supported:
https://github.com/bkaradzic/bx/blob/3d53a4abaa91162db7ea195d43a4410335a67cf2/include/bx/platform.h#L489-L497

Sorry about that. I didn't see that stipulation at the end. Can the compat header at least be removed so that people don't think it's supported? Thanks

Can the compat header at least be removed so that people don't think it's supported?

It's used by Orbis/PS4.

I'll make some changes then since I'll be supporting BSDs for my needs but still want to keep PS4 support. Thanks again :D

For anyone that needs to keep BSD, PS4 and possible PS5 support available, this patch will get you started: https://raw.githubusercontent.com/bedwardly-down/bsd-cross-chain-experiments/master/patches/freebsd/Fixes-FreeBSD-Build.patch . The platform's not officially supported upstream (for valid reasons; the BSD community is great overall but game development and frameworks are barely of importance to them as a whole, so any maintenance or support will almost always need to be supported by individuals).


Contact Page - Duplicate UniqueId Error while Edit

Client Reported error -
While Editing Contact
"Invalid/Duplicate UniqueId Found" Error appears
ACId - 327
UniqueId - AK-1
https://community.easycloudbooks.com/t/Questions or Bugs/c658f0e1-a8ab-4be5-b9ef-50cc82d186f2

Not able to Replicate

Client Confirmed - Error is not repeating manner on same contact shown in video
This need to check live incase of error
Closing for now


[6.5.x] PRODMGT-1511 - Ability to copy and paste process content across windows/packages (#257)

Cherry-pick to 6.5.x branch (this is already on master for a while now).
See https://issues.jboss.org/browse/BPMSPL-289 for request to cherry-pick to 6.5.x

+1


Epic : End to end Tests

This epic lists the end to end tests.

[x] #235

(passing) 000.sh setup through mgmt, mgmt-staging repos Ready

[x] #236

(passing) 001.sh regional
(passing) 002.sh edge

[x] #237

(passing) 004.sh provision operator on all workload clusters

[x] #238

[x] (passing) 003.sh free5gc-cp
[ ] (failing) 005.sh AMF, SMF
[ ] (failing) 006.sh UPF

[x] (stretch) #150

(to be written) 007.sh assign to @denysaleksandrov

[x] #239

(to be written) 008.sh assign to @rravindran123

[x] #240

(to be written) 009.sh assigned (but not confirmed by her yet!) to @n2vo

[x] #241 - I don't think we have an automated way to do this
[x] (stretch) "other NF" package(s) - make more configurable and use pkg to deploy

We have a framework for e2e tests to build these out.
If you look in https://github.com/nephio-project/test-infra/tree/main/e2e/tests you will see NNN.sh files. Right now, there is a PR to add up through 006.sh which would cover the first 4 of these. I will note them up above, and assign numbers to each of the others so we can not clobber each other.

Ok, I assigned each of these a test case number, so we can dole them out separately and people can work on them without conflicting.
I noted in each individual issue which test case number they should use.
Right now, we have everything through the operator coming up. To get a call through, we still need:

The updated free5gc operator and operator package
The updated SMF, AMF, UPF packages that use the entire package specialization pipeline
The solution to populating UPF information into the SMF package
Intercluster networking, either automatically or manually (e.g., run a script that generates a container lab topology) after provisioning the clusters

All done and working :)


Failing to build image based on intel-nuc-python

I'm trying to deploy a container locally using sudo resin local push -s path/to/dockerfile/.
However, the build process fails halfway:
Reporting discovered devices
? select a device 79932cf.local (<IP_ADDRESS>)
* Building..
- Stopping and removing any previous 'local-app' container
- Uploading build context & starting build...
Step 1/6 : FROM resin/intel-nuc-python:3.5
 ---> 996e253cd45a
Step 2/6 : WORKDIR /usr/src/app
 ---> 80f580e48419
Removing intermediate container daa90f5e337b
Step 3/6 : COPY ./requirements.txt /requirements.txt
Push failed. Error: failed to export image: failed to set parent sha256:80f580e48419fc38e1ec34411c9171c7da0bc53011fff8df3cdeab25f5fb1aeb: unknown parent image ID sha256:80f580e48419fc38e1ec34411c9171c7da0bc53011fff8df3cdeab25f5fb1aeb Error: failed to export image: failed to set parent sha256:80f580e48419fc38e1ec34411c9171c7da0bc53011fff8df3cdeab25f5fb1aeb: unknown parent image ID sha256:80f580e48419fc38e1ec34411c9171c7da0bc53011fff8df3cdeab25f5fb1aeb
    at Stream.<anonymous> (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/resin-sync/build/docker-utils.js:146:23)
    at emitOne (events.js:116:13)
    at Stream.emit (events.js:211:7)
    at drain (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:36:16)
    at Stream.stream.queue.stream.push (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:45:5)
    at Parser.parser.onToken (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/JSONStream/index.js:129:18)
    at Parser.proto.write (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/jsonparse/jsonparse.js:135:34)
    at Stream.<anonymous> (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/JSONStream/index.js:21:12)
    at Stream.stream.write (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:26:11)
    at IncomingMessage.ondata (_stream_readable.js:639:20)
    at emitOne (events.js:116:13)
    at IncomingMessage.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at IncomingMessage.Readable.push (_stream_readable.js:208:10)
    at HTTPParser.parserOnBody (_http_common.js:141:22)
    at Socket.socketOnData (_http_client.js:440:20)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:594:20)

Note: the hashes mentioned in the messages are different everytime.
This is my Dockerfile:
FROM resin/intel-nuc-python:3.5
WORKDIR /usr/src/app
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
COPY . ./
CMD ["python", "config_fetcher.py", "-n"]

For completeness sake, this is my requirements.txt:
requests
python-dotenv

I tried using the -onbuild version and  removing the lines handling requirements.txt but it didn't help.
Deleting the .resin-sync.yml and repeating the process yields this (slightly different) error message:
? select a device 79932cf.local (<IP_ADDRESS>)
* Building..
- Stopping and removing any previous 'local-app' container
- Uploading build context & starting build...
Step 1/6 : FROM resin/intel-nuc-python:3.5
 ---> 996e253cd45a
Step 2/6 : WORKDIR /usr/src/app
 ---> 56139f9ca85d
Removing intermediate container 2a6fb003e853
Step 3/6 : COPY ./requirements.txt /requirements.txt
Push failed. Error: failed to get destination image "sha256:56139f9ca85dcb640229613667eec23144ba770ce8fb575624ec5f29afe97318": failed to get layer for image sha256:56139f9ca85dcb640229613667eec23144ba770ce8fb575624ec5f29afe97318: layer does not exist Error: failed to get destination image "sha256:56139f9ca85dcb640229613667eec23144ba770ce8fb575624ec5f29afe97318": failed to get layer for image sha256:56139f9ca85dcb640229613667eec23144ba770ce8fb575624ec5f29afe97318: layer does not exist
    at Stream.<anonymous> (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/resin-sync/build/docker-utils.js:146:23)
    at emitOne (events.js:116:13)
    at Stream.emit (events.js:211:7)
    at drain (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:36:16)
    at Stream.stream.queue.stream.push (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:45:5)
    at Parser.parser.onToken (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/JSONStream/index.js:129:18)
    at Parser.proto.write (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/jsonparse/jsonparse.js:135:34)
    at Stream.<anonymous> (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/JSONStream/index.js:21:12)
    at Stream.stream.write (/home/riccardo/.npm-global/lib/node_modules/resin-cli/node_modules/through/index.js:26:11)
    at IncomingMessage.ondata (_stream_readable.js:639:20)
    at emitOne (events.js:116:13)
    at IncomingMessage.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at IncomingMessage.Readable.push (_stream_readable.js:208:10)
    at HTTPParser.parserOnBody (_http_common.js:141:22)
    at Socket.socketOnData (_http_client.js:440:20)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:594:20)

Sometimes the following error would appear instead of the failed to get destination image
Push failed. Error: failed to get digest sha256:a18a67288b360c59f8af69facc888a37c6e230129a5772fd38695788ce4d65d1: open /var/lib/docker/image/aufs/imagedb/content/sha256/a18a67288b360c59f8af69facc888a37c6e230129a5772fd38695788ce4d65d1: no such file or directory Error: failed to get digest sha256:a18a67288b360c59f8af69facc888a37c6e230129a5772fd38695788ce4d65d1: open /var/lib/docker/image/aufs/imagedb/content/sha256/a18a67288b360c59f8af69facc888a37c6e230129a5772fd38695788ce4d65d1: no such file or directory

Any idea on what could be wrong or missing? Thanks in advance.

@miccio-dk can you ensure that you have set your device into "localMode" via the dashboard action, perhaps enable and re-enable it just to make sure. I have only ever seen this issue when using local push on a device that is not in "localMode"

@miccio-dk this looks to me like you're trying to use local mode without first enabling local mode for this device.


[Paper] PyCells for an Open Semiconductor Industry. Sepideh Alassi, Bertram Winter

Hi,
I hope merging of the paper was without problem, however I believe the ./make_paper.sh file needs updates since it adds the EuroSciPy 2013 to the header of paper after it is built!!
Please let me know if there was a problem by submission.
Best,
Sepideh

Independent Review Report
.. note::  Please be aware that all reviews are made public including
the reviewer's name.
Reviewer: Kathryn Huff
Department/Center/Division: Department of Nuclear Engineering and Berkeley Institute for Data Science
Institution/University/Company: University of California, Berkeley
Field of interest / expertise: Nuclear Engineering, Python, C++
Country: USA
Article reviewed: PyCells for an Open Semiconductor Industry. Sepideh Alassi, Bertram Winter #47
GENERAL EVALUATION
Please rate the paper using the following criteria (please use the abbreviation
to the right of the description)::
below     doesn't meet standards for academic publication
meets     meets or exceeds the standards for academic publication
n/a       not applicable

Quality of the approach: meets

Quality of the writing: meets (minor typos noted and should be corrected)

Quality of the figures/tables: meets

SPECIFIC EVALUATION
For the following questions, please respond with 'yes' or 'no'.  If you
answer 'no',  please provide a brief, one- to two-sentence explanation.

Is the code made publicly available and does the article sufficiently
describe how to access it?  We aim not to publish papers that essentially
advertise proprietary software.  Therefore, if the code is not publicly
available, please provide a one- to two- sentence response to each of the
following questions:

No. It is not clear from the current document where PyCells can be found, how to acquire it, or what its license is. The reference currently in place in the paper redirects to a secure login page.

Does the article focus on a topic other than the features
of the software itself?

No.

Can the majority of statements made be externally validated
(i.e., without the use of the software)?

No.

Is the information presented of interest to readers other than
those at whom the software is aimed?

Yes.

Is there any other aspect of the article that would
justify including it despite the fact that the code
isn't available?

No.

Does the article discuss the reasons the software is closed?

No. In fact, it indicates the opposite. The introduction seems to hint that the software is open and available. Perhaps this is the case. However, the location of the software or how to access it is not obvious in the article. So, this article may simply need to be updated to reflect the location of the PyCells software.

Does the article present the problem in an appropriate context?
Specifically, does it:

explain why the problem is important,
describe in which situations it arises,
outline relevant previous work,
provide background information for non-experts

Yes.

Is the content of the paper accessible to a computational scientist
with no specific knowledge in the given field?

Yes. I noted some specific instances in which jargon was confusing. Those instances should be fixed. Once that is done, the paper will be extremely accessible to a computational scientists from a different field.

Does the paper describe a well-formulated scientific or technical
achievement?

Yes. (the production of a library and improvement of a gui for circuit design)

Are the technical and scientific decisions well-motivated and
clearly explained?

Yes

Are the code examples (if any) sound, clear, and well-written?

Yes

Is the paper factual correct?

Probably. (location of code not clear, so this cannot be confirmed.)

Is the language and grammar of sufficient quality?

Yes

Are the conclusions justified?

Yes, if the claims about the software performance and functionality are true, then the conclusion (this software should make circuit design easier) is true.

Is prior work properly and fully cited?

I don't think so. The references are very limited. I am not particularly aware of prior work, but some efforts are discussed without being referenced. This should be improved.

Should any part of the article be shortened or expanded? Please explain.

The discussion of optimizing the software should be discussed in more specific detail.

In your view, is the paper fit for publication in the conference proceedings?
Please suggest specific improvements and indicate whether you think the
article needs a significant rewrite (rather than a minor revision).

If it turns out that the the software is open, then yes, this is fit for publication and the needed changes are minor. The most important needed change in that case is : list and cite the location of the software, its documentation, and its license.
If the software is proprietary, then no, it is not fit for publication.


Remove the params call

Remove the redundant Params func call because params struct is already embedded inside the wallet implementation and is used everywhere else.

Coverage remained the same at 25.6% when pulling 0a7e35417b4aba785524b879d1bfa89951bbc254 on amangale:master into<PHONE_NUMBER>e96e88c9b6a8ae2911c50fc2fdf07d on OpenBazaar:master.

There's a number of other places where it's used besides these two. I think it's best to get a solid spec for the interface changes agreed on and then make a PR for all the interface changes.


Tests fail with UnhandledPromiseRejectionWarning if they connect to imgur.com

Workaround
For other people with the same problem, a workaround for this issue is to integrate Jest and Puppeteer manually rather than using this preset.
🐛 Bug Report
The following test fails:
test('weird', async () => {
  await page.goto("https://imgur.com");
  expect(true).toBe(true);
});

Stacktrace:
λ ~/dev/weird-bug ← npx jest
 FAIL  ./test.js
  ✕ weird (1495 ms)

  ● weird

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        2.176 s, estimated 3 s
Ran all test suites.
(node:9861) UnhandledPromiseRejectionWarning: Error: Caught error after test environment was torn down

Navigation failed because browser has disconnected!
    at /home/lark/dev/gorged/node_modules/puppeteer/src/common/LifecycleWatcher.ts:105:13
    at /home/lark/dev/gorged/node_modules/puppeteer/vendor/mitt/src/index.ts:81:75
    at Array.map (<anonymous>)
    at Object.emit (/home/lark/dev/gorged/node_modules/puppeteer/vendor/mitt/src/index.ts:81:56)
    at CDPSession.emit (/home/lark/dev/gorged/node_modules/puppeteer/src/common/EventEmitter.ts:97:18)
    at CDPSession._onClosed (/home/lark/dev/gorged/node_modules/puppeteer/src/common/Connection.ts:319:10)
    at Connection._onMessage (/home/lark/dev/gorged/node_modules/puppeteer/src/common/Connection.ts:123:17)
    at WebSocket.<anonymous> (/home/lark/dev/gorged/node_modules/puppeteer/src/node/NodeWebSocketTransport.ts:41:42)
    at WebSocket.onMessage (/home/lark/dev/gorged/node_modules/ws/lib/event-target.js:132:16)
    at WebSocket.emit (events.js:315:20)
(node:9861) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:9861) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Other sites work fine, such as google, reddit, and stackexchange. I'm not sure if there are other sites which exhibit the same behaviour.
Note that this is not a problem with Jest timing out, since the failure happens in 2.7s, which is under the 5s Jest timeout.
To Reproduce
Steps to reproduce the behavior:
Install Jest, Puppeteer, and jest-puppeteer, and then run the above test suite.
My exact versions are as follows, from package-lock.json:
jest: 26.6.3
jest-puppeteer: 4.4.0
puppeteer: 8.0.0

In desperation, I also tried with a bunch of different versions for Puppeteer, all the way down to 1.0.0. None worked.
Expected behavior
The test succeeds.
Link to repl or repo (highly encouraged)
None; provided code is a complete MWE.
Run npx envinfo --system --binaries --npmPackages expect-puppeteer,jest-dev-server,jest-environment-puppeteer,jest-puppeteer,spawnd --markdown --clipboard
Paste the results here:
## System:
 - OS: Linux 5.8 Pop!_OS 20.10
 - CPU: (8) x64 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
 - Memory: 9.31 GB / 15.44 GB
 - Container: Yes
 - Shell: 5.0.17 - /bin/bash
## Binaries:
 - Node: 12.18.2 - /usr/bin/node
 - npm: 6.14.8 - /usr/bin/npm
## npmPackages:
 - jest-puppeteer: ^4.4.0 => 4.4.0

I have the same issue and breaks the pipeline.
Maybe catching the error here would make sense ?
https://github.com/smooth-code/jest-puppeteer/blob/53208719c486f7c7f45982a609002b738e9fcd95/packages/jest-environment-puppeteer/src/global.js#L77

@muka if you want to create a PR catching the error in teardown I think that would be acceptable.

PR #453 open and tested locally with success

Unfortunately seems this is not fixed. Using in headless I still receive the error
(node:9) UnhandledPromiseRejectionWarning: Error: Caught error after test environment was torn down

Navigation failed because browser has disconnected!
    at /app/customer-app/node_modules/puppeteer/src/common/LifecycleWatcher.ts:111:13
    at /app/customer-app/node_modules/puppeteer/vendor/mitt/src/index.ts:88:75
    at Array.map (<anonymous>)
    at Object.emit (/app/customer-app/node_modules/puppeteer/vendor/mitt/src/index.ts:88:56)
    at CDPSession.emit (/app/customer-app/node_modules/puppeteer/src/common/EventEmitter.ts:102:18)
    at CDPSession._onClosed (/app/customer-app/node_modules/puppeteer/src/common/Connection.ts:340:10)
    at Connection._onMessage (/app/customer-app/node_modules/puppeteer/src/common/Connection.ts:136:17)
    at runMicrotasks (<anonymous>)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:524:9)
    ```

Should #453 be closed if it doesn't fix this?

I am using it in CI and seems to work, I would merge thanks

Thank you! Do you have a schedule for npm release?

I should be able to get a release out later today.

Should be fixed in v6.0.1 🎉

It looks like this fix is causing another crash during teardown in our setup:
TypeError: Jest: Got error running globalTeardown - XXX\node_modules\jest-environment-puppeteer\teardown.js, reason: Cannot read property 'catch' of undefined
    at XXX\node_modules\jest-environment-puppeteer\lib\global.js:70:34
    at Array.map (<anonymous>)
    at teardown (XXX\node_modules\jest-environment-puppeteer\lib\global.js:68:30)
    at async XXX\node_modules\@jest\core\build\runGlobalHook.js:125:13
    at async waitForPromiseWithCleanup (XXX\node_modules\@jest\transform\build\ScriptTransformer.js:207:5)
    at async _default (XXX\node_modules\@jest\core\build\runGlobalHook.js:116:9)
    at async runJest (XXX\node_modules\@jest\core\build\runJest.js:405:5)
    at async _run10000 (XXX\node_modules\@jest\core\build\cli\index.js:320:7)
    at async runCLI (XXX\node_modules\@jest\core\build\cli\index.js:173:3)
    at async Object.run (XXX\node_modules\jest\node_modules\jest-cli\build\cli\index.js:155:37)

Using puppeteer ^11.0.0 and connecting to a chrome that runs in Docker.
For me, disconnect() returns undefined

Hi @IljaKroonen @UziTech
seems I introduced a bug, PR #456 revert the modification on disconnect. Thank you


[GHSA-3hxg-fxwm-8gf7] CRLF injection in Refit's [Header], [HeaderCollection] and [Authorize] attributes

Updates

Affected products
CVSS v3
CVSS v4
Severity

Comments
I pushed a release 7.2.22 with the crlf attack fix.

Hi there @ChrisPulman! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Hi there @ChrisPulman! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Thank you, I am aware of this update, please add Refit Version 7.2.22 to the list of versions with the fix applied, thank you


Should MethodInfoExtensions be public in System.Reflection

Not sure that we should really have this (Microsoft.EntityFrameworkCore\Extensions\MethodInfoExtensions.cs)
namespace System.Reflection
{
    public static class MethodInfoExtensions
    {
             public static bool MethodIsClosedFormOf([NotNull] this MethodInfo methodInfo, ...)
    }

BTW it's used in Relational and InMemory, so my proposal is to move it to M.EFC.Internal namespace.


Add class gist:SpecEntry

A SpecEntry is a Specification that has a magnitude and an aspect; for example, the specification of a particular furnace has an entry specifying weight (aspect) of 107 lbs (magnitude). This seems to be useful in a number of domains. Proposed definition:
gist:SpecEntry
	a owl:Class ;
	skos:prefLabel "Spec Entry" ;
	skos:definition "A sub-specification consisting of the aspect being measured and a magnitude." ;
	skos:example "The specification of a particular furnace includes, among others, spec entries specifying a weight of 107 lbs and a maximum overcurrent protection of 15 amps. In the first entry, the aspect is weight and the magnitude is 107 lbs. In the second, the aspect is maximum overcurrent protection and the magnitude is 15 amps. (Each magnitude consists of a numeric value and unit of measure.)" ;
	owl:equivalentClass [
		owl:intersectionOf (
			gist:Specification
			[
				a owl:Restriction ;
				owl:onProperty gist:hasMagnitude ;
				owl:someValuesFrom owl:Thing ;
			]
			[
				a owl:Restriction ;
				owl:onProperty
                                       [ owl:inverseOf gist:aspectOf ] ;
				owl:allValuesFrom gist:Aspect ;
			]
			[
				a owl:Restriction ;
				owl:onProperty
                                       [ owl:inverseOf [ gist:aspectOf ] ;
				owl:cardinality "1"^^xsd:nonNegativeInteger ;
			]
			[
				a owl:Restriction ;
				owl:onProperty gist:partOf ;
				owl:onClass gist:Specification ;
				owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
			]
		) ;
	] ;
	.

Details negotiable. E.g, is it always part of a larger Specification, or could it occur on its own?
Question regarding the first restriction: are two magnitudes expressed in different units of measure and numeric values but which equal the same amount the same thing or two different things? Assuming the latter, I've used a someValuesFrom restriction on hasMagnitude. Assuming the latter we could specify cardinality of 1.
Notice also that aspectOf doesn't specify domain Aspect; thus the allValuesFrom restriction on the inverse of aspectOf.

Related issue: in the case of concrete objects, as opposed to specifications, we suggest, I guess, that different predicates would be used to indicate the aspect being measured: hasWidth, hasHeight, hasCoolingCapacity, etc. It seems to me we should have a single approach to both specifications and real objects, and that the aspect model is preferable because it avoids defining a plethora of predicates in the domain ontology.

I'd love to have a sub-gist for specifications to include something like this. We have modeled this sort of thing for many clients.
However, as described in this wiki article, each situation is different enough so that the model usually needs to be tweaked in some way.  I'd have to give careful thought to what we might be able to use as a stable core model.

This should be discussed in the context of #800. I think it is a good idea, especially now that we are creating the operators ontology. The above definition seems overly complicated. Below is more like what we have used for past clients.
gist:SpecEntry
	a owl:Class ;
	owl:equivalentClass [
		a owl:Class ;
		owl:intersectionOf (
			gist:Specification
			[
				a owl:Restriction ;
				owl:onProperty gist:ofCharacteristic ;
				owl:someValuesFrom gist:Characteristic ;
			]
			[
				a owl:Restriction ;
				owl:onProperty gist:specifiedValue ;
				owl:someValuesFrom [
					a owl:Class ;
					owl:unionOf (
						gist:Category
						gist:Magnitude
					) ;
				] ;
			]
		) ;
	] ;
	skos:definition "Specifies values for a particular characteristic indicating what it means to be in spec for that characteristic. Often this will be what is required, allowed or promised, but it could also be used to specify what is not allowed.  The values will typically be numerical with some unit of measure specified."^^xsd:string ;
	skos:prefLabel "Spec Entry"^^xsd:string ;
	skos:scopeNote "Sets of allowed values may also come from a Nominal or Ordinal scale of measure."^^xsd:string ;
	.

There was not completed. There was no decision or even a discussion about whether/how to have SpecEntry in the context of the new units model.  Once that is settled, we should come back and consider how it would work.

Closing due to implementation of new units and magnitudes model.

Reopening due to the question of how to handle the range of values accommodated in spec entries. It remains to be seen how the new units and magnitudes model will model this.

Given that gist 13 magnitudes include aspect, a class for SpecEntry = ((uom + numericValue) + aspect) doesn't seem necessary.
However, SpecEntries have also been used to model aspect + category, as in color: green.
Should characteristics whose values can be expressed either numerically or categorially be one aspect or two?
Rebecca: Should be one aspect. There are mappings between the two - e.g., European shoe size 40 (a numeric value measured in cm) = US women's shoe size 9 (arguably a category) which can be mapped to, say, medium. It depends on use case. Notably, manufacturers typically need precise numeric values where the customer value is categorial. Amplitude might be measured in decibels while others may only need high, medium, low - it's still the same aspect.
Phil agrees, Michael thinks they are distinct.
Allowing for either magnitude or categorial values with an aspect would complicate queries, though.
Users might implement SHACL constraints to limit the values, just as they might require that length be expressed in inches rather than centimeters.
We ascertained that Aspect and hasAspect are not definitionally limited to scalar values, though some annotation changes should be made, depending on the decision we reach above:

Aspect is defined as "A measurable characteristic such as length, weight, cost, cycle time, or defect rate." If it can include non-scalar aspects we should make this clear at least with examples or a scope note.
hasAspect is defined as "Relates a magnitude to its aspect (measurable characteristic)." If it's meant to apply beyond magnitudes we should loosen up the definition. (Note that there's no domain.)

Do we need a class for Aspect + category (color: green)? What would we call it?

I propose the following model:

SpecEntry is a subclass of Specification that has an aspect and a magnitude, range of magnitudes, or a category for a value. (This is its original definition as implemented at various clients.)
This aligns with my suggestion on issue #1145 that a range should point at two magnitudes rather than literals. We can use the predicates defined in the Operators Ontology, with no need for additional predicates.
By stating the aspect on the SpecEntry, we get the benefit of pattern 1 and satisfy our intuition that each magnitude in a range would have the same aspect.
It is not necessary to assert the aspects on the magnitudes (though by definition of Magnitude we know that they exist). The aspect can be inferred via SPARQL from the SpecEntry onto the Magnitudes.
By stating the aspect on the SpecEntry, we can have a uniform model for categorial and scalar SpecEntrys.

Sample triples:
:_ProductSpecification_1 a gist:ProductSpecification .

:_SpecEntry_1
   a gist:SpecEntry ;
   gist:isDirectPartOf :_ProductSpecification_1 ; # not sure if this is the proposed predicate
   gist:hasAspect gistd:_Aspect_length ;
   ops:hasValueGreaterThan :_Magnitude_1 ;
   ops:hasValueLessOrEqualTo :_Magnitude_2 ;
   .

:_Magnitude_1
    a gist:Magnitude ;
    gist:numericValue 50 ;
    gist:hasUnitOfMeasure gistd:_UnitOfMeasure_inch ;
    # inferred: gist:hasAspect gistd:_Aspect_length ;
   .

:_Magnitude_2
    a gist:Magnitude ;
    gist:numericValue 60 ;
    gist:hasUnitOfMeasure gistd:_UnitOfMeasure_inch ;
    # inferred: gist:hasAspect gistd:_Aspect_length ;
   .

:_SpecEntry_2
    a gist:SpecEntry ;
    gist:isDirectPartOf :_ProductSpecification_1 ; # not sure if this is the proposed predicate
    gist:hasAspect gistd:_Aspect_color ;
    ops:hasValueEqualTo :_Color_red ;
    .

:_Color_red a :Color .

It is open to discussion whether we make modifications to the operators predicates as proposed above.

  It's very straight-forward with minimal disruption to how we do things now - and it allows for categories.  How cool is that? Very elegant,  (though maybe not quite in the league with e = mc-squared). I was hoping a solution like this would emerge.
I do think that using isPartOf is correct and aligns with what we have been doing all along.

[like]  Michael J. Sullivan reacted to your message:

From: Rebecca Younes @.>
Sent: Friday, August 30, 2024 6:00:53 PM
To: semanticarts/gist @.>
Cc: Subscribed @.***>
Subject: [External] : Re: [semanticarts/gist] Add class gist:SpecEntry (#527)
I propose the following model:

SpecEntry is a subclass of Specification that has an aspect and a magnitude, range of magnitudes, or a category for a value. (This is its original definition as implemented at various clients.)
This aligns with my suggestion on issue #1145https://urldefense.com/v3/__https://github.com/semanticarts/gist/issues/1145*issuecomment-2317389843__;Iw!!ACWV5N9M2RV99hQ!LqfQg4q7sGOQZJ5ggTG6ljlT-Wvl621s_pyCjt7mKIQWfNDkQwhthZBRTlOQDHR9qmj5h4r7lyiNYNhozaq0JzmqkPHJjEI$ that a range should point at two magnitudes rather than literals. We can use the predicates defined in the Operators Ontologyhttps://urldefense.com/v3/__https://github.com/semanticarts/operators-ontology/__;!!ACWV5N9M2RV99hQ!LqfQg4q7sGOQZJ5ggTG6ljlT-Wvl621s_pyCjt7mKIQWfNDkQwhthZBRTlOQDHR9qmj5h4r7lyiNYNhozaq0JzmqHjgspp0$, with no need for additional predicates.
By stating the aspect on the SpecEntry, we get the benefit of pattern 1 and satisfy our intuition that each magnitude in a range would have the same aspect.
It is not necessary to assert the aspects on the magnitudes (though by definition of Magnitude we know that they exist). The aspect can be inferred via SPARQL from the SpecEntry onto the Magnitudes.
By stating the aspect on the SpecEntry, we can have a uniform model for categorial and scalar SpecEntrys.

Sample triples:
:_ProductSpecification_1 a gist:ProductSpecification .
:_SpecEntry_1
a gist:SpecEntry ;
gist:isDirectPartOf :_ProductSpecification_1 ; # not sure if this is the proposed predicate
gist:hasAspect gistd:_Aspect_length ;
ops:hasValueGreaterThan :_Magnitude_1 ;
ops:hasValueLessOrEqualTo :_Magnitude_2 ;
.
:_Magnitude_1
a gist:Magnitude ;
gist:numericValue 50 ;
gist:hasUnitOfMeasure gistd:_UnitOfMeasure_inch ;
# inferred: gist:hasAspect gistd:_Aspect_length ;
.
:_Magnitude_2
a gist:Magnitude ;
gist:numericValue 60 ;
gist:hasUnitOfMeasure gistd:_UnitOfMeasure_inch ;
# inferred: gist:hasAspect gistd:_Aspect_length ;
.
:_SpecEntry_2
a gist:SpecEntry ;
gist:isDirectPartOf :_ProductSpecification_1 ; # not sure if this is the proposed predicate
gist:hasAspect gistd:_Aspect_color ;
ops:hasValueEqualTo :_Color_red ;
.
:_Color_red a :Color .
It is open to discussion whether we make modifications to the operators predicates as proposed above.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/semanticarts/gist/issues/527*issuecomment-2322073886__;Iw!!ACWV5N9M2RV99hQ!LqfQg4q7sGOQZJ5ggTG6ljlT-Wvl621s_pyCjt7mKIQWfNDkQwhthZBRTlOQDHR9qmj5h4r7lyiNYNhozaq0JzmqaYlyn6k$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AOMYTHYQGU5AFZ6PH6EOES3ZUCXNLAVCNFSM5BURPCGKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMZSGIYDOMZYHA3A__;!!ACWV5N9M2RV99hQ!LqfQg4q7sGOQZJ5ggTG6ljlT-Wvl621s_pyCjt7mKIQWfNDkQwhthZBRTlOQDHR9qmj5h4r7lyiNYNhozaq0Jzmqcf4tCfo$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

The definition should also cover the case of version IDs, as in the versioning ontology.
That makes 3 use cases:
magnitudes
version IDs
categorical values
Looking at all the use cases, the spec entry seems to be used to specify a set of values, so perhaps we should call it ValueSpec or ValueSpecification.

The versioning ontology doesn't import gist, it defines its own terms, so I'm not convinced that gist must consider the needs of that ontology. It defines its own class VersionRangeSpec, which does not have an aspect. The defining characteristic of what we're calling SpecEntry is that it has an aspect plus a value, either a magnitude or a category, so in any case I don't think it's a SpecEntry.

Looking at all the use cases, the spec entry seems to be used to specify a set of values, so perhaps we should call it ValueSpec or ValueSpecification.

INteresting point, a SpecEntry defines a range of acceptable values, which is a set, strictly speaking. When we first modeled this in 2011, Dave cintroduced the term AllowableRange - however, SpecEntry is not a pure range of values, it is tied to an aspect.  An instance of SpecEntry always refers to a range of values for a particular aspect. A group of spec entries is collectively a specification for something.
If we wanted just the range, SpecEntry would have one, but I am not proposing that.

The defining characteristic of what we're calling SpecEntry is that it has an aspect plus a value,

Not just a value, but a set of acceptable values (which could be just one value).

The versioning ontology doesn't import gist, it defines its own terms, so I'm not convinced that gist must consider the needs of that ontology.

We don't want to be forced to align them, but I am strongly against having different ways to do the same thing, just because we did not give enough thought to it.

I don't see that VersionRangeSpec is sufficiently similar to SpecEntry that they should coincide.

We may also want to add a restriction on SpecEntry that it be part of a Specification, but we should discuss that.

That is too strong, by analogy, engine bolts are created and intended to be part of actual engines. But they might not be so for a while, if ever.  I can create a spec entry saying that width is between 1 and 2 inches intending it to be used for furniture.  In practice it will almost certainly be part of a specification, but not in principle.

I don't see that VersionRangeSpec is sufficiently similar to SpecEntry that they should coincide.

They are very close in meaning.  Each has:

an aspect (e.g. width, version number)
a specification of a set of acceptable values for the aspect using the operators: EQ, GE, GT, LE & LT

Ignoring ontology modularity issues regarding, gist and the operators and versioning ontologies one could define version range spec to be a subclass of spec entry with two additional restrictions.

`hasAspect value :_Aspect_versionNumber
isVersionRangeOf some owl:Thing

In fact, defining version range spec as an explicit subclass would be optional.
I'll work out an example to clarify this.

Ignoring ontology modularity issues regarding, gist and the operators and versioning ontologies one could define version range spec to be a subclass of spec entry with three additional restrictions.

Having taken a closer look at the versioning ontology, which imports the operators ontology, I have a sense of what it would take to explicitly make VersionRangeSpec a subclass of SpecEntry.  I conclude that there is little if any benefit in doing so, given the design goal to keep the versioning and operators ontologies independent from gist.   As it is, to keep that independence, we had to recreate separate versions of  a few classes and properties that were needed.  There is no need for SpecEntry in the versioning ontology, so it's a bit moot to consider creating it just to subclass off it.  I thought of having a skos note about it, but that hardly seems worthwhile.

We deliberately wanted to keep the operators/versioning ontologies independent of gist. I therefore don't see that the subclassing is an option. gist should not inherit a concept as fundamental as SpecEntry from the versioning ontology, and as you say it's not needed there.

We may also want to add a restriction on SpecEntry that it be part of a Specification, but we should discuss that.

That is too strong, by analogy, engine bolts are created and intended to be part of actual engines. But they might not be so for a while, if ever. I can create a spec entry saying that width is between 1 and 2 inches intending it to be used for furniture. In practice it will almost certainly be part of a specification, but not in principle.

To me the term "entry" implies that it is actually entered in (or part of) a specification. (See, for example, 4b--"something entered.") For this reason I'm in favor of the restriction.

@rjyounes -- At one client we've seen a use case for composite aspects. If drawer size is represented as '20in x 10in x 30 in' in the data, it is helpful to be able to model which of those is the height, which is the width, and which the depth.
Should the definition of SpecEntry accommodate this use case?

@rjyounes -- At one client we've seen a use case for composite aspects. If drawer size is represented as '20in x 10in x 30 in' in the data, it is helpful to be able to model which of those is the height, which is the width, and which the depth.
Should the definition of SpecEntry accommodate this use case?

That is very interesting, but seems highly specialized - not the sort of thing that we normally include in gist.

To me the term "entry" implies that it is actually entered in (or part of) a specification. (See, for example, 4b--"something entered.") For this reason I'm in favor of the restriction.

An airplane engine is so called because it is intended to be part of an airplane, just like SpecEntry is intended to be part of a specification.  We don't need to give 'airplane engine' because sometimes is it not part of an actual airplane.

@rjyounes -- At one client we've seen a use case for composite aspects. If drawer size is represented as '20in x 10in x 30 in' in the data, it is helpful to be able to model which of those is the height, which is the width, and which the depth.

No, that got very messy and we ended up not using it anyway.

To me the term "entry" implies that it is actually entered in (or part of) a specification. (See, for example, 4b--"something entered.") For this reason I'm in favor of the restriction.

I think maybe the problem is with the word choice - I.e., can we call it something other than SpecEntry? How about ValueSpecification?

I prefer ValueSpecification but could live withValueSpec. We occasionally use abbreviated forms (the geo terms, not to mention SpecEntry itself), and ValueSpecification is not out of place with terms such as SubCountryGovernment, DegreeOfCommitment, ElectronicAddressType.

I just drafted a PR with a detailed example which is based on @rjyounes 's proposal. It directly imports the operators ontology
https://github.com/semanticarts/gist/pull/1161

Goal: Specify a set of acceptable values for an aspect.
Potential requirements:

Handle categories and magnitudes uniformly.
Handle a range of values, either categories or magnitudes.
Handle single values (a single target)
Handle a set that isn't a range (discrete values).
Ability to set a target value with a range of variation (could be expressed in the max and min, or as a separate percent). gist could provide max and min only, extensions can add a percentage property.

Getting to be long thread, but it's not clear SpecEntry is necessary.
Just relate the specification to an individual magnitude or range of magnitudes.
It looks like it would be helpful to add a class for Range.

Versions may include additional qualifiers like alpha, beta, RC (Release Candidate), or build metadata. Ignoring these can lead to misrepresentation of compatibility and dependencies.

Also, for version range representation, simply using ranges may not suffice. For instance, a software might be compatible with versions 2.0.x but not 2.0.5 due to a known bug. The model should allow for specifying such exceptions within version ranges.

@philblackwood

...it's not clear SpecEntry is necessary. Just relate the specification to an individual magnitude or range of magnitudes. It looks like it would be helpful to add a class for Range.

I agree that since magnitudes include aspect, SpecEntry (or Characteristic) don't add anything, though would still be needed for category values and collections. Were you thinking a Range itself would have an aspect or not? Example:
# Range with aspect
:_Range_gas_mileage_31_39_mpg
    a gist:Range ;
    gist:hasAspect :_Aspect_gas_mileage ;
    gist:hasMinInclusive :_Magnitude_gas_mileage_31_mpg ;
    gist:hasMaxInclusive :_Magnitude_gas_mileage_39_mpg .

:_Magnitude_gas_mileage_31_mpg
    a gist:Magnitude ;
    gist:hasAspect :_Aspect_gas_mileage ;
    gist:hasUnitOfMeasure :_UnitOfMeasure_mpg ;
    gist:numericValue 31 .

:_Magnitude_gas_mileage_39_mpg
    a gist:Magnitude ;
    gist:hasAspect :_Aspect_gas_mileage ;
    gist:hasUnitOfMeasure :_UnitOfMeasure_mpg ;
    gist:numericValue 39.

Or:
# Range without aspect
:_Range_gas_mileage_31_39_mpg
    a gist:Range ;
    gist:hasMinInclusive :_Magnitude_gas_mileage_31_mpg ;
    gist:hasMaxInclusive :_Magnitude_gas_mileage_39_mpg .

In the first case we duplicate the aspect on both the range and the magnitudes, as we talked about with my proposed Characteristic class.

This is very interesting.

Are you proposing that all instances of gist:Category  are to have an aspect, just like all Magnitudes do?
Are you proposing to never have subclasses of gist:Category?

@uscholdm if we want to expand the definition of aspect from "measurable characteristics" to "characteristics" then I think we want to use those aspects instead of creating subclasses of category so that there is a single way to represent them.
e.g. pick one of these styles:
using categories:     ex:_ExteriorColor_red  (requires updating the ontology to include ExteriorColor)
using aspects:         ex:_Category_exterior_color_red with aspect ex:_Aspect_exterior_color
Actually, either style can be used to define specifications, so we can treat the question separately if we agree that we should pick one of these and not use a combination of aspects and subclasses of category.

Comment about how we use specifications ...
Consider the simple case of a specification with two aspects, with a single fixed acceptable value for each one.
rectangle specification:                length 3 inches, width 8 inches.
actual rectangle measurements: length 3 inches, width 8 inches.
In this simple case we define the specification exactly the same way we describe the actual.
Variation: specification says the width may be either 8 inches or 10 inches.  We should cover this case as well, since many specifications come with a choice of values.
The concept of SpecEntry really isn't needed in either case.
See next comment for how this applies to "categorical values".

Specifying things with categorical values using our convention of subclasses of categories.
Case 1: within each category a thing and its specification are single-valued.

Thing 1 conforms to its specification. In general, check to see if there is an exact match between the actual values and the values in the specification.
Variation: choice of colors. First introduce the collection of acceptable colors.

Now see if the value for thing 1 is one of the acceptable colors:

Thing 1 conforms to its specification because its value is one of the acceptable colors in the specification.
To specify that a thing can have multiple colors, either create a category for each color combination (explicit) or create a new property (not as useful because it might require one property for a pair of colors, one for any 3 colors, one for any 4 colors, etc.)
Note that the examples still work if _ExteriorColor is replaced by _Category_exterior_color (1-to-1 correspondence).

Interesting, so it seems you are proposing that it is not necessary to have subclasses of Category,  one could use aspects instead.
Is that correct?

On property naming... Thing 1 may well be a thing with a red exterior color, and thus saying that it gist:isCategorizedBy :_ExteriorColor_red makes sense.
However the specification does not have an exterior color, as it is not a physical object.  In longwinded terms, the specification specifies that the exterior color is red. Not easy to come with a good property name for this that conforms to common sense and is not too long or convoluted.

If we are going to say that a specification hasValue or hasMagnitude, then why not also isCategorizedBy? I think the predicates can be interpreted flexibly enough to make that acceptable.


/storage/fn/get-download-url/* returns empty object

I assume the /fn/get-download-url/* endpoint here is intended to provide an image url that can be used in an html <img> tag.
I have managed to download the image blob with the /file/* endpoint and convert it to a data url, but it would be nicer to get a simple URL!
Any ideas why I am not getting the token specified here?

This was because the file got uploaded throught S3/Minio directly.
/fn/get-download-url/* endpoint should generate metadata on the fly if not already present.


Additional resource

Shared this list on Twitter, thanks. Audrey McLaren suggested adding Graspable Math.

Thank you for share and suggestion.


Dev, Test, Release Concept

Build on @luizstacio's initial draft concept...
https://gist.github.com/luizstacio/c8426be8215bd298d9b6c8168fb52e6c
....and further develop out the feature/bug/incident cycles.
Focus on:
How - the process
What - the features, bugs and incidents, the dev/test/delivery (CI/CD) technology & tooling (inc. testing)
Where - branches and environments involved in the process, eg., where are the playwright tests executed, where are they developed
When - The timelines of how we should be using the environments/branches, at what given time is a particular environment relevant for a specific release, eg. prod = current release, preprod = current release + hotfixes, test = current release + 1, dev current release + 2+
Who - who is responsible for which envs, tech etc

Version 1.0 complete, the documentation will evolve.


Change Banner

Is your feature request related to a problem? Please describe.
The current banner.txt file  still has the old name "Barracuda Archetype" in it
Describe the solution you'd like
Change it to "RefArch Template"

Is the update of contribution link also part of this issue: Gib uns dein Feedback und Verbesserungsvorschläge unter https://git.muenchen.de/ccse/refarch-archetype/refarch-overview/-/issues/new?issuable_template=Feedback

Is the update of contribution link also part of this issue: Gib uns dein Feedback und Verbesserungsvorschläge unter https://git.muenchen.de/ccse/refarch-archetype/refarch-overview/-/issues/new?issuable_template=Feedback

added updating the link to the issue


chore!: migrate to @unhead/vue from @vueuse/head

Because @vueuse/head will be deprecated in the coming month, this PR replaces @vueuse/head with @unhead/vue.
https://github.com/vueuse/head#:~:text=🌇,installation guide.

Possible for us to have a compactible layer with a warning on @vueuse/head?

I changed the PR to use @vueuse/head when @unhead/vue was not installed. 👍


pause required on line #73 for azure principal

/cf-platform-eng/bosh-azure-template/blob/master/create_azure_principal_powershell.txt
I had to add a pause before role assignment due to a "Principal not found" error.  A race condition where the role assignment happens before the directory has fully committed the new service principal.
$AzureServicePrincipal = New-AzureRmADServicePrincipal -ApplicationId $ADApplication.ApplicationId
Start-Sleep -s 10
$RoleAssignment = ...

This issue has been addressed, please see the following commit;
https://github.com/cf-platform-eng/bosh-azure-template/commit/8977c12988836d67d97f748b30d40d65826c90ec


Non-working code from OpenAI

Why is this bug happening?
(myenv) shyamaluser@Shyamals-iMac grok % ./scripts/train.py
Namespace(random_seed=-1, gpu=0, max_epochs=None, max_steps=100000, batchsize=0, n_layers=2, n_heads=4, d_model=128, dropout=0.0, weight_noise=0.0, non_linearity='relu', max_context_len=50, math_operator='+', operand_length=None, train_data_pct=5, warmup_steps=10, anneal_lr_steps=100000, anneal_lr=False, max_lr=0.001, weight_decay=0, weight_decay_kind='to_zero', noise_factor=0, save_activations=False, save_outputs=False, logdir='/Users/shyamaluser/grok', datadir='/Users/shyamaluser/grok/data')
Traceback (most recent call last):
  File "/Users/shyamaluser/grok/./scripts/train.py", line 14, in <module>
    print(grok.training.train(hparams))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/shyamaluser/grok/grok/training.py", line 703, in train
    model = TrainableTransformer(hparams).float()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/shyamaluser/grok/grok/training.py", line 50, in __init__
    self.hparams = hparams  # type: ignore
    ^^^^^^^^^^^^
  File "/Users/shyamaluser/grok/myenv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1747, in __setattr__
    super().__setattr__(name, value)
AttributeError: property 'hparams' of 'TrainableTransformer' object has no setter

Ask Claude bro

I have the same problem, please solve it

solve this pls, i have same problem


new package: dash 0.5.10

Description of package
Checklist

[x] Latest upstream version.
[x] I agree to maintain this package (required).
[x] I agree to notify KISS if I can no longer maintain this package (required).

done

New PRs for the aforementioned already merged. Will  fix the pending ones now. Dash is ready.


fix_brew

Codecov Report

Merging #52 (d122a13) into main (382b203) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   25.13%   25.13%
=======================================
  Files           1        1
  Lines         187      187
=======================================
  Hits           47       47
  Misses        134      134
  Partials        6        6

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 382b203...d122a13. Read the comment docs.


sbi cannot be installed in python version 3.7

Installing sbi (from source) fails in python version 3.7. It works in version 3.6, 3.8, and 3.9 (and probably also 3.10 and higher, but I did not check).
This also leads to failing tests.

Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/deismic/anaconda3/envs/sbi_test_36/bin/python /Users/deismic/anaconda3/envs/sbi_test_36/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/tmp9rb7qkio
       cwd: /private/var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/pip-install-tyzx6lgk/netcdf4_0ce9b5aaec844fccab9aa9f82e9c6072
  Complete output (39 lines):
  reading from setup.cfg...

      HDF5_DIR environment variable not set, checking some standard locations ..
  checking /Users/deismic/anaconda3/envs/sbi_test_36/include ...
  hdf5 headers not found in /Users/deismic/anaconda3/envs/sbi_test_36/include
  checking /Users/deismic/anaconda3/envs/sbi_test_36/Library/include ...
  hdf5 headers not found in /Users/deismic/anaconda3/envs/sbi_test_36/Library/include
  checking /Users/deismic/include ...
  hdf5 headers not found in /Users/deismic/include
  checking /usr/local/include ...
  hdf5 headers not found in /usr/local/include
  checking /sw/include ...
  hdf5 headers not found in /sw/include
  checking /opt/include ...
  hdf5 headers not found in /opt/include
  checking /opt/local/include ...
  hdf5 headers not found in /opt/local/include
  checking /opt/homebrew/include ...
  hdf5 headers not found in /opt/homebrew/include
  checking /usr/include ...
  hdf5 headers not found in /usr/include
  Traceback (most recent call last):
    File "/Users/deismic/anaconda3/envs/sbi_test_36/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 349, in <module>
      main()
    File "/Users/deismic/anaconda3/envs/sbi_test_36/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 331, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/Users/deismic/anaconda3/envs/sbi_test_36/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 117, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/private/var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/pip-build-env-ss2qqkey/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 163, in get_requires_for_build_wheel
      config_settings, requirements=['wheel'])
    File "/private/var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/pip-build-env-ss2qqkey/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 143, in _get_build_requires
      self.run_setup()
    File "/private/var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/pip-build-env-ss2qqkey/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 158, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 449, in <module>
      _populate_hdf5_info(dirstosearch, inc_dirs, libs, lib_dirs)
    File "setup.py", line 390, in _populate_hdf5_info
      raise ValueError('did not find HDF5 headers')
  ValueError: did not find HDF5 headers
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a6/f9/12f43c2e31d1c7aae0827820ae747fa4c7cc382b38dab11e8c11575d3af6/netCDF4-1.6.2.tar.gz#sha256=0382b02ff6a288419f6ffec85dec40f451f41b8755547154c575ddd9f0f4ae53 (from https://pypi.org/simple/netcdf4/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/deismic/anaconda3/envs/sbi_test_36/bin/python /Users/deismic/anaconda3/envs/sbi_test_36/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /var/folders/j9/w7ftvg_16t1f9bgp1cy4bt1r0000gn/T/tmp9rb7qkio Check the logs for full command output.```

Hi, I solved that problem by installing  libnetcdf-dev in linux

Hello,  I had a similar error due with Python 3.7 when installing sbi.
I work on Ubuntu 22.04.3 LTS.
I tried to install sbi in a new conda environment following the section Installation from the README of the sbi github.
When doing pip install sbi in this environment, I get the following error :
(...)

Collecting netcdf4
  Using cached netCDF4-1.6.5.tar.gz (764 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [37 lines of output]
      reading from setup.cfg...

          HDF5_DIR environment variable not set, checking some standard locations ..
      checking /home/sbi/miniconda3/envs/try_env/include ...
      hdf5 headers not found in /home/sbi/miniconda3/envs/try_env/include
      checking /home/sbi/miniconda3/envs/try_env/Library/include ...
      hdf5 headers not found in /home/sbi/miniconda3/envs/try_env/Library/include
      checking /home/sbi/include ...
      hdf5 headers not found in /home/sbi/include
      checking /usr/local/include ...
      hdf5 headers not found in /usr/local/include
      checking /sw/include ...
      hdf5 headers not found in /sw/include
      checking /opt/include ...
      hdf5 headers not found in /opt/include
      checking /opt/local/include ...
      hdf5 headers not found in /opt/local/include
      checking /opt/homebrew/include ...
      hdf5 headers not found in /opt/homebrew/include
      checking /usr/include ...
      hdf5 headers not found in /usr/include
      Traceback (most recent call last):
        File "/home/sbi/miniconda3/envs/try_env/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
          main()
        File "/home/sbi/miniconda3/envs/try_env/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/sbi/miniconda3/envs/try_env/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-o3frre5j/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "/tmp/pip-build-env-o3frre5j/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-o3frre5j/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 457, in <module>
        File "<string>", line 398, in _populate_hdf5_info
      ValueError: did not find HDF5 headers
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

To solve it, I install the package netcdf4 via the command conda install -c conda-forge netCDF4 and then re-do pip install sbi.
It works.
I don't know where the error comes from but trying to install sbi with a higher version of Python (>3.7) does not throw any error.

Related to #928

I can confirm @etouron1's fix: On Ubuntu 20.04.2 the following works:
conda create -n sbi_env python==3.7
conda activate sbi_env
conda install -c conda-forge netCDF4
pip install sbi

Installing sbi with python 3.6 or 3.8, 3.9, 3.10, 3.11 works fine.


Resolved dependencies are stored in target in workspace root

Currently resolved dependencies are stored in target in the workspace root and it creates an issue if we import parent directory of the project in VSCode instead of Project directly and even spam's unwanted area i.e user has a directory called workspaces which has 2 projects one for maven and another for node.
This scenario is quite common for CHE as there actual project gets imported under Projects directory.

This has been fixed in https://github.com/fabric8-analytics/fabric8-analytics-vscode-extension/pull/301, pls reopen if feel otherwise.


Update 'Compare Across the Globe' to Focus on English-Speaking Countries and Add (EN) Label

Updated the "Compare Across the Globe" tab to include only English-speaking countries, ensuring the query results align with user expectations.
This is shown in the screenshot.
This PR is related to issue #843 .

👏🏽 Can you add a space after Globe: Globe (EN)

Yes! I have changed that.


Update avro4s-kafka to 4.0.12

Updates com.sksamuel.avro4s:avro4s-kafka from 4.0.10 to 4.0.12.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.sksamuel.avro4s", artifactId = "avro4s-kafka" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #264.


Removed trial mode

This PR closes #13
Also removed obsolete wear modules

@TrianguloY Fixed.
PS: About LWP activity deletion:
This change requires a change of base implementation of the getMode() method inside ScreenManager. It potentially affects many states of this screen. I think this should be left for a future refactor

@SnowVolf

This change requires a change of base implementation of the getMode() method inside ScreenManager. It potentially affects many states of this screen. I think this should be left for a future refactor

Understood. You can keep it for now. In these cases I like to add a TODO comment (in this case in the javadoc, for the whole class) to not forget in the future. I can add an issue if you prefer it (some people don't like TODOs)
I added one last comment to fix, since in one of the cleanups you removed a necessary branch.
Also, while working on a public pr (specially if it has been reviewed) please avoid rebasing or changing the branch history, otherwise it's much harder for me to properly review the changes. Thanks!
If you want the pr to only consist on a single commit after merging just say so and I'll squash&merge it. Or you can mark individual commits for fixup (I think git has a standard way, using the same title and prefixing with "fixup! ").
Last: there seems to be some conflicts, although they appear to be easily fixable. I can fix them myself if you prefer (if so, tell me)

@TrianguloY

Understood. You can keep it for now. In these cases I like to add a TODO comment (in this case in the javadoc, for the whole class) to not forget in the future. I can add an issue if you prefer it (some people don't like TODOs)

ok. I'm added todo

Also, while working on a public pr (specially if it has been reviewed) please avoid rebasing or changing the branch history, otherwise it's much harder for me to properly review the changes. Thanks!

I follow the rule: 1 PR - 1 commit. I haven't seen a merge squash function on Github (like GitLab).  I haven't seen a merge squash function on Github (like GitLab).

For me is just choosing one option instead of the other :) so really don't worry (and as I said it helps enormously when reviewing, otherwise you can't compare and need to review the whole modified file again).
Everything seems fine now. Merging!