Add organisations index and details pages

Context
Part of the provider relationship permissions journey relies on an organisations page for a provider user. This page links pages per organisation which display the permissions for that org.

Changes proposed in this pull request

Adds /provider/organisations index page
Adds a page displaying permissions for a single organisation relative to their relationship to various other ratifying and training providers.
Adds a navigation link for organisations index page

Organisations index

Organisations permissions details

Guidance to review
I haven't placed any of these pages behind feature flags as there are no links to actions to manage permissions etc. This might not be the right approach.

Link to Trello card
https://trello.com/c/RDYz6s69/2251-build-provider-organisations-pages

Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Code looks very good to me.
One UI thing: if I don't have any relationships to manage the page looks oddly empty. Do we need an empty state listing all the permissions and/or explaining there's no relationship to manage? I'm not sure whether we should have the header link at all if there are no relationships to learn about. It does feel right that if there are relationships which are affecting what the user can and can't do then we should make them visible.

Minor UI nit: spacing underneath the provider name looks a bit tight here compared with the prototype

@duncanjbrown I see what you mean, it looks bad. I'd gone on the assumption that all provider users would belong to at least one provider, but I hadn't considered that if that provider was self-ratifying then no relationships to other providers would exist and we'd get this blank page.
I'll remove the nav link unless manageable relationships exist.

LGTM 👍

Almost there — the spacing is still off on the list of providers, and in the event I have a mixture of manageable and unmanageable providers, I can still click through to the unmanageable ones, resulting in the blank screen?

Sorry @duncanjbrown, less haste, more speed. I think both outstanding issues are fixed by https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/2202/commits/4abe78b5cc7389addedcbcfd727e3ffe04dd9751 now.

More! Sorry.

Selecting no checkboxes on the organisations page gives me an error:

I still get Access Denied when clicking on a provider that is ratifying-only from the list of providers

I think we should have a gap under the "Change" link?

Maybe not for this PR. The end of the "change" flow is a bit odd when seen for the second time as it assumes I'm new to the process:

(btw, I wonder if this page should always have the Users link — providers could have orgs but not users permission)

@duncanjbrown thanks again for the review, I've attempted to address each point:

The controller error should be fixed by https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/2202/commits/be15794b122f9ab57dbdc652d608d7197d69b178 though we still need to address whether a user should be able to unset all permissions, perhaps in another story.
The Access Denied issue should be rectified by widening the scope of Provider.with_permissions_visible_to as this now retrieves both training and ratifying providers as both should be visible to the user (though not necessarily manageable).
I've placed the 'Change' link in a paragraph tag for additional bottom spacing https://github.com/DFE-Digital/apply-for-postgraduate-teacher-training/pull/2202/commits/7b3100e4358be2c196fd676cb4e93fe31d14a204
The end of the change flow is odd here I agree. The confirmation and success steps are part of the onboarding journey so at the very least the wording could be Permissions successfully updated.
@adamsilver should we do something different for post-setup updates to organisation permissions? (The design app doesn't seem to allow me to change permissions from the org page)

@steventux I’ve updated the prototype to show how editing permissions work:
https://manage-applications-beta.herokuapp.com/organisations/show3


[Bug]: Removing newly empty directories bypasses exclude patterns

Describe the Bug
Exclude pattern will not prevent rem_orphaned from deleting empty directories within a directory that rem_orphaned is run on. Kinda difficult explaining so I'll use an example:
A user has the following directory:
/data/torrents/tv/links
They want to ignore the following folder inside links:
/data/torrents/tv/links/cross-seed
So they add the exclude pattern:
/data/torrents/*/links/cross-seed/**
This successfully prevents qbitmanage from deleting any files inside /data/torrents/*/links/cross-seed/. However, if that directory is empty and rem_orphaned removes a file inside /data/torrents/*/links/, then the functionality of removing newly empty directories will delete the cross-seed folder - despite it being excluded.
I'd say this is pretty much the result of a bad user setup, although I still think this is a bug. Also, to confirm this I created an isolated environment to test with - just to make it faster creating/deleting files etc. Let me know if you want that to reproduce the bug.
Config
No response
Logs
N/A
Screenshots
No response
Installation
Docker
Version Number
4.1.7
What branch are you on?
master

To add onto this issue, I also noticed a related strange bug.
I used the removed orphans function and at the end, it was trying to delete the root folder.
My folder setup on the Host:
├── media/data/downloads/
│   ├── watch/
│   └── torrents/
│       ├── .RecycleBin/
│       ├── cross_seeds_files/
│       ├── orphaned_data/
│       ├── private/
│       │   ├── games/
│       │   ├── movies/
│       │   ├── music/
│       │   ├── prowlarr/
│       │   └── series/
│       └── public/
│           ├── games/
│           ├── movies/
│           ├── music/
│           ├── prowlarr/
│           └── series/

Docker mappings of qBittorrent and qBit_Manage:
  qbitmanage:
    volumes:
      - $DOCKERDIR/data/qbitmanage:/config:rw
      - $DOCKERDIR/data/qbittorrent/data/BT_backup:/qbittorrent/data/BT_backup:ro
      - /media/data/downloads:/data/downloads:rw
  qbittorrent:
    volumes:
      - $DOCKERDIR/data/qbittorrent:/config:rw
      - /media/data/downloads:/data/downloads:rw

Root_dir config in qBit_Manage:
directory:
  cross_seed: /data/downloads/torrents/cross_seeds_files
  root_dir: /data/downloads/
  remote_dir: /data/downloads/
  recycle_bin: /data/downloads/torrents/.RecycleBin
  torrents_dir: /qbittorrent/data/BT_backup
  orphaned_dir: /data/downloads/torrents/orphaned_data

Log from qBit_Manage:
[2024-10-09 21:28:13,573] [rem_orphaned:82]           [INFO]     | Deleting 1362 Orphaned files                                                                       |
[2024-10-09 21:29:07,597] [rem_orphaned:105]          [INFO]     | Removing newly empty directories                                                                   |
[2024-10-09 21:29:08,390] [remove_empty_directories:506] [WARNING]  | [Errno 13] Permission denied: '/data/downloads' : Unable to delete folder /data/downloads as it has permission issues. Skipping... |
[2024-10-09 21:29:08,391] [remove_empty_directories:517] [WARNING]  | [Errno 13] Permission denied: '/data/downloads' :  Unable to delete folder /data/downloads as it has permission issues. Skipping... |
[2024-10-09 21:29:08,391] [finished_run:468]          [INFO]     |     Scheduled Mode: Running every 30 minutes.

After the run, it had deleted all directories except the ones that still had torrent files in them, but that also included deleting the .RecycleBin folder, the cross_seeds_files folder and some category folders (when currently not have torrents).
And afterwards it was even trying to delete the whole root_dir folder according to the log.
Do I have something wrong with this configuration of directories?
Why would qBit_Manage delete it's own .RecycleBin folder and cross_seeds_files folder? (shouldn't it automatically exclude all the folders that are stated in the directory section of the config file).
And trying to delete the whole root_dir folder should never even be considered Wright?

@washedszn can you please update to develop branch and test to see if you still have this issue?


feat: add batch replace cmd

resolve: https://github.com/filecoin-project/venus/issues/5039

Codecov Report

Merging #210 (d7a578e) into main (7a62592) will decrease coverage by 0.51%.
The diff coverage is 3.34%.

@@            Coverage Diff             @@
##             main     #210      +/-   ##
==========================================
- Coverage   16.22%   15.70%   -0.52%
==========================================
  Files          53       57       +4
  Lines        5183     5329     +146
==========================================
- Hits          841      837       -4
- Misses       4258     4412     +154
+ Partials       84       80       -4

Flag
Coverage Δ

unittests
15.70% <3.34%> (-0.52%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.


Remove deprecated fields and methods for v0.15

Special thanks to @bep for his guidance and
for making sure all of the Hugo themes get updated.
Fixes #1172

Committed by @bep as 252ea96d1d359b485bae489327a8219d102f0607.  (Thanks!)


added check for null in c3_chart_internal_fn.expandArc

fixes error when chart is destroyed before it finishes rendering

[Current coverage][cc-pull] is 64.05%

Merging [#1715][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master      #1715   diff @@
==========================================
  Files             1          1
  Lines          4400       4400
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           2818       2818
  Misses         1582       1582
  Partials          0          0

Powered by Codecov. Last updated by [223404a...055a893][cc-compare]
[cc-base-branch]: https://codecov.io/gh/c3js/c3/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/c3js/c3/compare/223404a79246c61d150d8a209dbdc81f6955083b...055a8938a9a1ab082f141a9d1c7d1579017b3fd2
[cc-pull]: https://codecov.io/gh/c3js/c3/pull/1715?src=pr


Fix conf path of shell

This PR solve the problems with the configuration path when create a package with the shell

+1


trigger format with formBuilder

I would like the value of the component to be formatted when initialized via formBuilder. Is this possible?
Here is my code.
.html file snippet:
<ngx-mat-input-tel
[ngClass]="regErr?.phone ? 'errmsg' : ''"
[preferredCountries]="preferredCountries"
[enablePlaceholder]="true"
[format]="'national'"
formControlName="phone"
class="phoneInput"
#phone
>

.ts file snippet:
in constructor...
this.profileForm = this.formBuilder.group({
phone: [this.sess.phone]
})

Is it possible to trigger the formatting of the component?

@mikehumeny Sorry for the delay.
Can you give me the value from this.sess.phone ?

@mikehumeny I'm closing the issue, feel free to open it again if needed


[Bug or Feature?] kube-vip drops VIP when kube-apiserver unreachable.

Describe the bug
When the kube-apiserver is not reachable via its external endpoint
e.g.

k8s.example.com:6443

All advertised LoadBalancer endpoints get withdrawn and the watcher dies.
To Reproduce
Steps to reproduce the behavior:

Install kube-vip using the provided yaml manifest
Deploy some LoadBalancer services with endpoints
Block incoming traffic from the worker nodes on all controller nodes
See error

Expected behavior
I don't really know if kube-vip should just do nothing or if the current behaviour is expected.
Environment (please complete the following information):

OS/Distro: AlmaLinux 8.9
Kubernetes Version: v1.29.2
Kube-vip Version: 0.7.2

Kube-vip.yaml:
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app.kubernetes.io/name: kube-vip-ds
    app.kubernetes.io/version: v0.7.2
  name: kube-vip-ds
  namespace: lb-system
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: kube-vip-ds
  template:
    metadata:
      labels:
        app.kubernetes.io/name: kube-vip-ds
        app.kubernetes.io/version: v0.7.2
    spec:
      containers:
      - args:
        - manager
        env:
        - name: vip_arp
          value: "false"
        - name: port
          value: "6443"
        - name: vip_interface
          value: lo
        - name: vip_cidr
          value: "32"
        - name: vip_loglevel
          value: "5"
        - name: svc_enable
          value: "true"
        - name: vip_leaderelection
          value: "false"
        - name: svc_election
          value: "false"
        - name: vip_routingtable
          value: "true"
        - name: prometheus_server
          value: :2112
        image: ghcr.io/kube-vip/kube-vip:v0.7.2
        imagePullPolicy: Always
        name: kube-vip
        resources: {}
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - NET_RAW
      hostNetwork: true
      tolerations: {}
      serviceAccountName: kube-vip
  updateStrategy: {}

Additional context
Add any other context about the problem here.

Hi @Cellebyte
I've tried to reproduce the issue, but I am not sure if I get the same result as you.
I've deployed kube-vip using your manifest and created a LB service with 3 endpoints. Then, I've blocked all the traffic on the control-plane node. It seems that watcher reports error, but it is still trying to get to the apiserver, and as soon as the connection can be established, it is able to recover. Also, the route for the service is not being deleted at any point.
Here's an example log:
time="2024-06-06T11:19:23Z" level=debug msg="[endpoints watcher] service default/nginx-svc: local endpoint(s) [3], known good [<IP_ADDRESS>], active election [true]"
time="2024-06-06T11:19:33Z" level=debug msg="[endpoints watcher] service default/nginx-svc: local endpoint(s) [3], known good [<IP_ADDRESS>], active election [true]"
E0606 11:20:21.178183       1 retrywatcher.go:129] "Watch failed" err="Get \"https://<IP_ADDRESS>:443/api/v1/services?watch=true\": http2: client connection lost - error from a previous attempt: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"
E0606 11:20:21.178238       1 retrywatcher.go:129] "Watch failed" err="Get \"https://<IP_ADDRESS>:443/api/v1/namespaces/default/endpoints?fieldSelector=metadata.name%3Dnginx-svc&watch=true\": http2: client connection lost - error from a previous attempt: net/http: request canceled (Client.Timeout exceeded while awaiting headers)"
E0606 11:28:54.481504       1 retrywatcher.go:129] "Watch failed" err="Get \"https://<IP_ADDRESS>:443/api/v1/services?watch=true\": dial tcp <IP_ADDRESS>:443: connect: connection refused - error from a previous attempt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"

... (api-server is available again)...

E0606 11:30:09.301433       1 retrywatcher.go:129] "Watch failed" err="unknown (get endpoints)"
E0606 11:30:09.301470       1 retrywatcher.go:129] "Watch failed" err="unknown (get services)"
time="2024-06-06T11:30:09Z" level=debug msg="[endpoints watcher] service default/nginx-svc: local endpoint(s) [3], known good [<IP_ADDRESS>], active election [true]"
time="2024-06-06T11:30:19Z" level=debug msg="[endpoints watcher] service default/nginx-svc: local endpoint(s) [3], known good [<IP_ADDRESS>], active election [true]"

@p-strusiewiczsurmacki-mobica good that you validated it.
I will try to reproduce it on the setup where i encountered it.
Will close this issue for now.


Automatic folder finding

KeySAV2 does some automatic folder finding with external storage media, specifically, the following could be found:

main saved from SDF
Save data from digital copies
Battle Videos

Is this really needed? How can this be implemented in an unobtrusive way?

Relevant: node-usb


Add no unpinned courses message

If a user has all of their courses pinned, display a message indicating as such.

Problem: gets cut off at the bottom:

Checked on: Firefox, Chrome, Edge, Android Chrome
Shows up when there are no unpinned courses
Doesn't show up when there are unpinned courses
Doesn't show up on searching
LGTM

Excellent, thanks - not going to release just yet as other changes will be coming today/Monday, so meh on doing a BSI release for just that heh.


What If we have an aar regarding to this?

Libraries built with gradle can have consumerProguardFiles, which will be added in application itself. Google Play Services does that (as per Ian Lake's google+ post, when Google play services 7.5 are added). I have added consumer proguard line in one of my libraries here
How about having an aar built around these files? people don't have to download all the files separately and adding manually? Just add a library as dependency and it should take care of keep classes in proguard. In my knowledge it won't add anything to final apk, as we're not adding any code into the library, just build logic. I am proposing aar because I am familiar with developing gradle plugins and on the other hand I am not aware about adding consumerProguardFiles programatically from plugins.
Only downside I can see is the library size itself is too big provided there are too many files. But as I have stated above it should not add any footprint to final apk size. So, are we going to have aar library around that?

I have created a library project which follows this principle.
https://github.com/PrashamTrivedi/ProguardSnips
If you think it can be merged with this or any other way my library can help this, I am welcome for that.
Thanks for this library.


03/28/2018 22:43 : Create Pull Request for branch prTesting_2018032822 -> master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Inconsistent state if deleting a dataset fails

Context
From multiple support tickets, but finally managed to consistently reproduce. When deleting a dataset, if something fails, the database will be in an inconsistent state, where the user table and map are deleted, but the visualization is not, so it shows as a ghost table in the dashboard.
Steps to Reproduce

Create a dataset
Create a view over the dataset (CREATE VIEW wadus AS SELECT * FROM table)
Delete the dataset

Current Result
Error, but the user table is deleted and the visualization is kept.
Expected result
Error, but all metadata objects are kept.

Hi, how come the ghost tables routine is not detecting this?
I ask because there is a check for it IIRC.

Because the user table is there. It's only the map missing. Ghost tables only checks usertables AFAIK


Export flow types

We need to export flow types for our module - even in the examples directory it does not know the flow types.  This article seems to provide some good information on this

@jonthomp  The commit that references this should fix the problem, and even fix the typing issues you discussed with the function MyElement(props: Props): React.Node { because it is all defined now.  This will lead to some slight bloat in package size as discussed in the the article I linked, but the flow team is working on a built in command to do this in a minified fashion (also in article) so this should be find until that is out of experimental mode.

Closing this for now, can be reopened if necessary when the flow command is available.


how to emb  the prompt embeddings ' S'

in paper of  '4.2. Prompt Reasoning' ,i want to know how to    emb  the prompt embeddings ' S'  ,thanks !!!!!!

Please refer to https://github.com/wudongming97/Prompt4Driving/blob/master/projects/tracking_plugin/models/trackers/tracker_prompt.py#L353


PSF: Pressing Tab in Editor throws an exception when "Cursor beyond end of line" is enabled

When editing a PowerShell script in Far Editor, pressing Tab on an empty line with the cursor past the end of line (such as when Auto Indent is enabled) causes the following exception to be thrown:
IndexOutOfRangeException:
Index was outside the bounds of the array.

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at PowerShellFar.EditorKit.NeedsTabExpansion(IEditor editor)
   at PowerShellFar.EditorKit.OnKeyDownPSFile(Object sender, KeyEventArgs e)
   at FarNet.Editor0.AsProcessEditorInput(ProcessEditorInputInfo* info)
   at ProcessEditorInputW(ProcessEditorInputInfo* info)

An example of how to reproduce this:

Open a PowerShell script, or edit a new one, in Far Editor.
Set the following options, if not already set:
[x] Cursor beyond end of line
[x] Auto indent (not required for the example, but it makes my life easier 😄 )
Enter the following starting at any column > 1:

    if ($foo -eq "bar")<Enter>
    {<Enter>

At this point the cursor is on an empty line directly underneath the opening brace, "{".
Now, press Tab and you will see the message box referring to the exception. Selecting "[ More ]" will display the exception and stack trace in a new modal Editor.

Versions

Far Manager 3.0.4949 x64
FarNet and PowerShellFar 5.2.3

Thanks in advance,
Buck

Hi Buck,
Thank you for reporting the issue. I must admit "Cursor beyond end of line" is not tested well, I do not use this option. The bug should be fixed anyway. It should not take much time.

Please get the latest FarNet and PowerShellFar 5.2.4 and let me know how it goes.

That fixed it. Thanks, Roman.


Author name for post (backend)

Update the database so that,

models needed to update : posts, users
In posts model, a new author field must be created. Also change routes endpoints related to the
In users model, a new fullName field must be added along with username and password
Change login and register api routes so that it should save the fullName in the database

Hey
I'm interested can I work on it?

Hey
I'm interested can I work on it?

Sure dude

@anasvakyathodi did you resolve the issue? can I work on it?

@afif1400 Sure you can


CHQ-96 Allow logout from application

Story
https://maddonkeysoftware.myjetbrains.com/youtrack/issue/CHQ-96
Depends On (Optional)
#42
#40
Summary

Added TokenController to handle user token specific operations

Current the DELETE option is used during log out
The PUT option was put in place to allow users to prevent a timeout on their session.

Stubbed constants section for the Vue events
Added global event mechanism

Testing

Start UI, API and mongo db.
Log in through the UI

Verify the nav bar is updated to remove the login/register buttons and now displays a logout button

Verify mongo has a record in the sessions collection for your user

db.sessions.find()

(Optional) Make a call to the session refresh endpoint then verify that the session expire timestamp is updated

`curl -X PUT  http://localhost:5000/api/v1/token/<your_token> -H 'Content-Type: application/json'
db.sessions.find()

Click the logout button in the UI and verify the session has been deleted from the store

db.sessions.find()

Will add behavioral tests to cover the login / logout scenario

@naitp Ready for review. I need to think about the one ignored token test for now. I don't want to have the test go long running; in the neighborhood of 60+ seconds.


Fix: Use pinentry-mac as pinentry binary on macOS for approvals

I couldn't approve SSH Agent requests on macOS, it would just automatically deny any request.
This seems to be fixing the issue.

Any errors when it dies?

Either way, changes look good, thank you!

Any errors when it dies?

jonas@Jonas-MBP-M2 ~/Development/goldwarden (oisann/macos-ssh-agent-pinentry-fix) % go build -v .
github.com/quexten/goldwarden/cli/agent/systemauth/pinentry
github.com/quexten/goldwarden
jonas@Jonas-MBP-M2 ~/Development/goldwarden (oisann/macos-ssh-agent-pinentry-fix) % ls -lAh
total 26416
drwxr-xr-x@ 17 jonas  staff   544B Oct 31 09:31 .git
drwxr-xr-x@  5 jonas  staff   160B Oct 28 13:24 .github
-rw-r--r--@  1 jonas  staff   101B Oct 28 13:24 .gitignore
-rw-r--r--@  1 jonas  staff   1.0K Oct 28 13:24 LICENSE
-rw-r--r--@  1 jonas  staff   3.2K Oct 28 13:24 Readme.md
drwxr-xr-x@ 10 jonas  staff   320B Oct 28 13:24 cli
-rw-r--r--@  1 jonas  staff   2.4K Oct 28 13:24 go.mod
-rw-r--r--@  1 jonas  staff    12K Oct 28 13:24 go.sum
-rwxr-xr-x@  1 jonas  staff    13M Oct 31 09:31 goldwarden
drwxr-xr-x@ 12 jonas  staff   384B Oct 28 13:24 gui
-rw-r--r--@  1 jonas  staff   1.9K Oct 28 13:24 main.go
jonas@Jonas-MBP-M2 ~/Development/goldwarden (oisann/macos-ssh-agent-pinentry-fix) % ./goldwarden
zsh: killed     ./goldwarden
jonas@Jonas-MBP-M2 ~/Development/goldwarden (oisann/macos-ssh-agent-pinentry-fix) % echo $?
137

I found my local issue. It's a bug on arm macs with certain go versions (I think from 1.21) and updating to 1.23.3 fixed it.


Added showAttribution prop

The EmojiOne site says you need to add attribution to the EmojiOne project if it's a commercial project. If you leave off that prop it should still display as normal

Hey Nate, thanks for the PR! I'm not really interested in showing this attribution within the picker itself as I feel it messes up the design - It's up to the end user to add the attribution elsewhere on their site.
I'll add a note to the README that this is a requirement of using the picker 😄

This would be a very valuable addition. If a user agrees with you that it messes up the design, then they can just not neglect to enable this prop.


Issue with k8s.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/

Documentation misses couple of major points which has caused many issues.

What exactly is AdmissionController
The usage of flag "--admission-control-config-file", this AdmissionController, and the corresponding PodSecurity plugin
e.g: kube-apiserver --admission-control-config-file=/some/path/pod-security.yaml.
No support for Different CRI Flavours' Implementation. For e.g: Rancher does not have a straight forward way of changing /etc/kubernetes/manifests/kube-apiserver.yaml, as this file does not even exist for Rancher K3S implementation.

What exactly is AdmissionController

It feels like the clue is in the question.
The first link in k8s.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/ is to https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
If you wish to, you can report an issue about https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/ and explain what parts of that page you found difficult to understand.

The usage of flag "--admission-control-config-file", this AdmissionController, and the corresponding PodSecurity plugin
e.g: kube-apiserver --admission-control-config-file=/some/path/pod-security.yaml.

That is a fair comment. We should improve https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/ to explain setting the --admission-control-config-file command line argument to the API server, and to state that you must make sure to enable the PodSecurity admission controller (it's enabled by default, but it doesn't hurt to check).

No support for Different CRI Flavours' Implementation. For e.g: Rancher does not have a straight forward way of changing /etc/kubernetes/manifests/kube-apiserver.yaml, as this file does not even exist for Rancher K3S implementation.

You can use Pod Security Admission with any CRI implementation. However, if you are using a Kubernetes distribution or service that doesn't let you changes these settings, this documentation won't be relevant. Typically, you should read the docs for the distribution or service instead.
We won't update our docs to document restrictions that only exist in third-party software, even third-party software that is based on or includes Kubernetes.

/language en

/triage accepted

we plan to bring this up in sig-auth meeting to discuss how we can better handle making enforce as default.
Until the default discussion is done, this issue can be used to track for docs improvement as mentioned in @sftim's comment.

SIG Auth folks: what's your intent here?


Prevent multiple upgrades at the same time

Currently there is no upgrade cycle management. As soon as there is a ManagedOSVersion to apply over a cluster/node this is triggered. This results into making it possible to run multiple OS upgrades simultaneously over the same node.
The cycles of upgrades should be managed to prevent that from happening. It is not completely clear to me where is the best place to handle this logic, elemental-operator (we could track the ManagedOSVersion cycle with more detailed states), fleet, system-upgrade-controller or even the suc script.  Most likely in multiple places.
The issue is easily reproducible with:
kind: ManagedOSImage
metadata:
  name:  my-upgrade
  namespace: fleet-default
spec:
  managedOSVersionName: staging
  clusterTargets:
    - clusterName: my-cluster
--
kind: ManagedOSImage
metadata:
  name:  my-upgrade-2
  namespace: fleet-default
spec:
  managedOSVersionName: dev
  clusterTargets:
    - clusterName: my-cluster

Applied on Stable deployment including the testing ManagedOSVersionChannel.
Once both ManagedOSVersions are created both trigger the upgrade, it is easy to check on the target node it fetches both images in parallel and then two elemental --debug upgrade --system.uri dir:/ processes are running in parallel.

After some further debugging I have a couple of ideas spinning in my head:

I don't know how to easily trace or relate the plans created by fleet in downstream cluster with the former fleet bundle in upstream cluster. I don't know how to get the affected clusters from the bundle crd. In fleet upstream there are ways to relate downstream jobs with upstream bundle state, see https://github.com/rancher/fleet/issues/364. Not yet in any release, but worth to check.
I can't understand why system-upgrade-controllers spins pods on cordoned nodes if they are cordoned. This probably feels like an error. My expectation would have been that cordoning for upgrades is to prevent this sort of bad interactions such as two upgrade pods being scheduled simultaneously. Something to investigate in the scope of system-upgrade-controller

Reopening as this is just partially fixed, https://github.com/rancher/elemental/pull/692 just fixes the issue at node level, but not at cluster level. There could be a case in which upgrade A starts on node X and upgrade B starts on node Y and after both upgrades are finalized the cluster will have some nodes with upgrade A and some with upgrade B and all nodes will have the labels for A and B upgrades.
My idea to fix this is preventing downgrades, lets assume upgrade B is for version 2 and upgrade A is for version 1. If both upgrades are launched at the same time I want all nodes to be on version 2 regardless of which one of the two was applied before. So if a node on version 2 hits the upgrade A it will simply skip it. In addition we still have a force flag to omit any kind of version control if required for some odd case or weird situation.

I don't love the idea of preventing downgrades. There are valid reasons why you might want to rollback and our current mechanism for that is an "upgrade" to an older version.
That said, maybe the ManagedOSVersion is the component that holds the ordering (as opposed to the OCI artifact) allowing for injecting a rollback version by creating a newer object?


Write a PHP program to print reverse of a string

Description
Write a PHP program to print reverse of a string
Reverse of a string is the string with the characters in reverse order. For example, the reverse of "hello" is "olleh".
Input  : abcd
Output : dcba

How to contribute

Save the solution in print_reverse_of_a_string.php file
Add print_reverse_of_a_string.php file in print-reverse-of-a-string folder

!assign

Hey @rizkytegar,
This issue has been assigned to you for more than 15 days.
We are unassigning you from this issue.
If you are still interested in contributing to this issue, please get auto-assigned on the issue by commenting !assign again.
Thanks for your contributions :)

!assign


Text color in dark mode

This is a wonderful library.
I am very excited after a long time.
It seems to be enough to get an overview of the dataset.
Thank you.
Thanks also for the dark mode update.
I have only one request.
When in dark mode, the text color is not visible, perhaps because it is black. I would appreciate it if you could improve it.

Thanks for the confirmation and reply.
The problems that are arising are very small compared to what this library can do. It has served us well enough. Thank you.

Glad to have your approval 😄


fix(conf) fix changing response headers

Underscores in the response headers change to hyphens by default, this config change makes the default behavior preserving hyphens.
Fix #6995

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @Ocean-Moist , thanks a lot for taking the time to send this PR. We have decided not to merge it since it could break plugins which currently rely on this behavior. You may find the palliative fixes we decided to implement in #6995


python-packages pyusb: 1.0.0b1 -> 1.0.0b2

Small update. Tested succesfully with nox-review wip
cc maintainer @bjornfor

Pushed to master (4f47002352328306dc64b1e0ab02564bfee0c643). Thanks.


Tree-Sitter resolution errors using NodeParserAdapter in React project.

👓 What did you see?
I'm trying to use the Monaco editor library in a React project which uses tree-sitter for Node ParserAdapter but when I'm getting a bunch of resolve errors in the tree-sitter when I do this. I'm importing the NodeParserAdapter, not the WasmParserAdapter from the cucumber/language-service as we aren't using WebAssembly in our project.
Environment: Node v16.17.1 (Docker Image 16.17)
Error Log:
[0]
[0] Search for the keywords to learn more about each warning.
[0] To ignore, add // eslint-disable-next-line to the line before.
[0]
[0] WARNING in ./node_modules/tree-sitter-c-sharp/bindings/node/index.js 2:2-77
[0] Module not found: Error: Can't resolve '../../build/Release/tree_sitter_c_sharp_binding' in '/usr/src/my_project/node_modules/tree-sitter-c-sharp/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-c-sharp/bindings/node/index.js 9:4-77
[0] Module not found: Error: Can't resolve '../../build/Debug/tree_sitter_c_sharp_binding' in '/usr/src/my_project/node_modules/tree-sitter-c-sharp/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-java/bindings/node/index.js 2:2-74
[0] Module not found: Error: Can't resolve '../../build/Release/tree_sitter_java_binding'
in '/usr/src/my_project/node_modules/tree-sitter-java/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-java/bindings/node/index.js 9:4-74
[0] Module not found: Error: Can't resolve '../../build/Debug/tree_sitter_java_binding' in '/usr/src/my_project/node_modules/tree-sitter-java/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-php/index.js 2:2-69
[0] Module not found: Error: Can't resolve './build/Release/tree_sitter_php_binding' in '/usr/src/my_project/node_modules/tree-sitter-php'
[0]
[0] WARNING in ./node_modules/tree-sitter-php/index.js 5:4-69
[0] Module not found: Error: Can't resolve './build/Debug/tree_sitter_php_binding' in '/usr/src/my_project/node_modules/tree-sitter-php'
[0]
[0] WARNING in ./node_modules/tree-sitter-python/bindings/node/index.js 2:2-76
[0] Module not found: Error: Can't resolve '../../build/Release/tree_sitter_python_binding' in '/usr/src/my_project/node_modules/tree-sitter-python/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-python/bindings/node/index.js 9:4-76
[0] Module not found: Error: Can't resolve '../../build/Debug/tree_sitter_python_binding'
in '/usr/src/my_project/node_modules/tree-sitter-python/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-ruby/bindings/node/index.js 2:2-74
[0] Module not found: Error: Can't resolve '../../build/Release/tree_sitter_ruby_binding'
in '/usr/src/my_project/node_modules/tree-sitter-ruby/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-ruby/bindings/node/index.js 9:4-74
[0] Module not found: Error: Can't resolve '../../build/Debug/tree_sitter_ruby_binding' in '/usr/src/my_project/node_modules/tree-sitter-ruby/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-typescript/bindings/node/index.js 2:2-80
[0] Module not found: Error: Can't resolve '../../build/Release/tree_sitter_typescript_binding' in '/usr/src/my_project/node_modules/tree-sitter-typescript/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter-typescript/bindings/node/index.js 9:4-80
[0] Module not found: Error: Can't resolve '../../build/Debug/tree_sitter_typescript_binding' in '/usr/src/my_project/node_modules/tree-sitter-typescript/bindings/node'
[0]
[0] WARNING in ./node_modules/tree-sitter/index.js 4:12-66
[0] Module not found: Error: Can't resolve './build/Release/tree_sitter_runtime_binding' in '/usr/src/my_project/node_modules/tree-sitter'
[0]
[0] WARNING in ./node_modules/tree-sitter/index.js 7:14-66
[0] Module not found: Error: Can't resolve './build/Debug/tree_sitter_runtime_binding' in
'/usr/src/my_project/node_modules/tree-sitter'
[0]
[0] webpack compiled with 14 warnings

Tree Sitter and the other tree-sitter-c-sharp, tree-sitter-java etc are all installed and in the node_modules directory of the project.
tree-sitter
tree-sitter-c-sharp
tree-sitter-cli
tree-sitter-java
tree-sitter-php
tree-sitter-python
tree-sitter-ruby
tree-sitter-typescript

And when I look in the tree-sitter/build/Release I can see the tree_sitter_runtime_binding.node file
root@abc123:/usr/src/my_project/node_modules/tree-sitter/build/Release# ls
obj.target  tree_sitter.a  tree_sitter_runtime_binding.node

So why can't tree-sitter resolve it?
Have tried Node 18, that didn't work, tried running the build command directly from the node_modules/tree-sitter directory, didn't work, have tried installing tree-sitter in a new folder on it's own and getting the same error. Any help much appreciated.
✅ What did you expect to see?
The tree-sitter package to resolve correctly and for the Monaco editor to work with the @cucumber/monaco library.
📦 Which tool/library version are you using?
+--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | `--<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>
Node.js 16.17.1, tried with later versions of Node but to no success.
React 18.2
🔬 How could we reproduce it?
Steps to reproduce the behavior:

Start a node:16.17 Docker container
Create a React project using the Create React App template
Install the Monaco editor library and @cucumber/monaco library
Create a TestEditor.jsx file
Import the NodeParserAdapter into the file
Bug should reproduce

Below is the code snippet I'm trying to run.
import React from 'react'
// Import the components
import VerticalNav from '../../components/navbar/VerticalNav'
import HorizontalNav from '../../components/navbar/HorizontalNav'
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'

import MonacoEditor from '@monaco-editor/react'
import { configureMonaco } from '@cucumber/monaco'
import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions'
import {
    buildSuggestions,
    ExpressionBuilder,
    jsSearchIndex,
} from '@cucumber/language-service'
import { NodeParserAdapter } from '@cucumber/language-service/node'
import { render } from 'react-dom'

const value = `@foo
Feature: Hello
Scenario: Hi
  Given I have 58 cukes in my belly
  And this is an undefined step
    | some | poorly |
    | formatted | table |
`

async function Editor() {
    monaco.languages.register({ id: 'typescript' })
    const sources = [
        {
            languageName: 'java',
            uri: 'file:///tmp/StepDefinitions.java',
            content: `class StepDefinitions {
                @Given("I have {int} cukes in my belly"  )
                void method1() {
                }

                @Given("there are {int} blind mice")
                void method2() {
                }

                @Given("there is/are some/none/1 apple(s)")
                void method2() {
                }
            }
            `,
        },
    ]
    const adapter = new NodeParserAdapter('.')
    await adapter.init()
    const expressionBuilder = new ExpressionBuilder(adapter)

    const { expressionLinks } = expressionBuilder.build(sources, [])
    const expressions = expressionLinks.map((link) => link.expression)

    const registry = new ParameterTypeRegistry()
    const docs = buildSuggestions(
        registry,
        [
            'I have 42 cukes in my belly',
            'I have 96 cukes in my belly',
            'there are 38 blind mice',
        ],
        expressions,
    )
    const index = jsSearchIndex(docs)

    return configureMonaco(monaco, index, expressions)
}

export default function EditorElement() {
    const options = {
        value,
        language: 'gherkin',
        theme: 'vs-dark',
        // semantic tokens provider is disabled by default
        'semanticHighlighting.enabled': true,
    }

    Editor()
        .then((configureEditor) => {
            // @ts-ignore
            console.log('Hello World')
            render(
                <MonacoEditor
                    height="90vh"
                    options={options}
                    className="editor"
                    configure={configureEditor}
                />,
                document.getElementById('editor'),
            )
        })
        .catch((err) => console.error(err.stack))

    return (
        <>

                <VerticalNav />

                    <HorizontalNav />

        </>
    )
}

I tried following the example in the try folder, just replacing the WasmParserAdapter with the NodeParserAdapter but then I couldn't get any further with the resolve errors.
Any advice or help is much appreciated
📚 Any additional context?
Think I've gone through everything.

Hi @Summersby95
The NodeParserAdapter cannot run in a browser as it requires a Node.js runtime. It looks like we've made some mistakes in the packaging of NodeParserAdapter, but even if we fixed that, it would never run in the browser.

I'm importing the NodeParserAdapter, not the WasmParserAdapter from the cucumber/language-service as we aren't using WebAssembly in our project.

You don't need to be using WebAssembly in your project. The Wasm code (compiled tree-sitter modules) are handled in an encapsulated way by the WasmParserAdapter. All you need to do is to make the .wasm files available to be downloaded.


Request: expose mouse wheel events

Would it be possible to expose mouse wheel events? My rust skills aren't quite up to it. The mouse wheel is an obvious way to control zoom.

@bobgates absolutely, should be fairly trivial

Cool!


Optimise danger actions clone

This PR reduces the Danger-swift build time of one additional minute.
Before:

After:

good move!


Add action server example

Example action server code.
I have added this here until we add the action server implementation from https://github.com/osrf/ros2_java/pull/65 to ros2-java/ros2_java.
How to test:
# terminal 1
ros2 run rcljava_examples fibonacci_action_server

# terminal 2
ros2 action send_goal /fibonacci example_interfaces/action/Fibonacci "{order: 10}"

@jacobperron FYI

Maybe we should consider forking ros2_java_examples into the osrf org until we can get it upstreamed. What do you think?

Sounds good to me!
Could you create one? I think I don't have permissions to do that in osrf org.

Done https://github.com/osrf/ros2_java_examples


Command line arguments not properly handled - equal signs truncated

Is this a request for help?: NO
Is this an ISSUE or FEATURE REQUEST? ISSUE
What version of acs-engine?: 0.17.1 => 0.18.9 (both specifically tested)
Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
ACS-Engine 0.18.9 with Kubernetes
What happened:
Secrets were removed from the API file and passed from command line; extract example below:
      "servicePrincipalProfile": {
        "clientId": "",
        "secret": ""
      }
    }

acs-engine generate --output-directory "./_output/rack8s" --set servicePrincipalProfile.clientId='123a4321-c6eb-4b61-9d6f-7db123e14a7a',servicePrincipalProfile.secret='#msRock5!t=' ./clusterBuild-ACS_config-cardk8s.json

When this was done, the servicePrincipalClientSecret value in the generated azuredeploy.parameters.json has the '=' truncated out of it, failing without error.  If the value has a leading '=', the following exception is thrown:
INFO[0000] Error returned by LoadContainerService: json: cannot unmarshal number into Go struct field ServicePrincipalProfile.secret of type string
FATA[0000] error loading API model in generateCmd: error parsing the api model: json: cannot unmarshal number into Go struct field ServicePrincipalProfile.secret of type string

If, on the other hand, the same values are placed in the API config JSON (with or without a leading '='), the correct value shows up in the ARM template parameters file.
What you expected to happen:
I expected the command line parameters and those used in the API JSON to behave in the same manner.
How to reproduce it (as minimally and precisely as possible):
Example API JSON:
{
    "apiVersion": "vlabs",
    "properties": {
      "orchestratorProfile": {
        "orchestratorType": "Kubernetes",
        "orchestratorRelease": "1.10",
          "kubernetesConfig": {
            "networkPlugin": "kubenet",
            "networkPolicy": "calico",
            "privateCluster": {
			  "enabled": true
			},
            "enableRbac": true,
            "maxPods": 80,
            "addons": [
              {
                "name": "tiller",
                "enabled": false
              },
              {
                "name": "kubernetes-dashboard",
                "enabled": false
              }
            ]
          }
        },
      "masterProfile": {
        "count": 1,
        "dnsPrefix": "rack8s",
        "vmSize": "Standard_D2_v2",
        "osDiskSizeGB": 200,
        "vnetSubnetId": "/subscriptions/123412341234/resourceGroups/cardinalsolutionsgroup-network/providers/Microsoft.Network/virtualNetworks/k8s-vnet/subnets/k8s-subnet",
        "firstConsecutiveStaticIP": "<IP_ADDRESS>",
        "vnetCidr": "<IP_ADDRESS>/16"
      },
      "agentPoolProfiles": [
        {
          "name": "linuxpool1",
          "count": 2,
          "vmSize": "Standard_D2_v2",
          "availabilityProfile": "AvailabilitySet",
          "osDiskSizeGB": 200,
          "vnetSubnetId": "/subscriptions/123412341234/resourceGroups/jbh-network/providers/Microsoft.Network/virtualNetworks/k8s-vnet/subnets/k8s-subnet"
        }
      ],
      "linuxProfile": {
        "adminUsername": "",
        "ssh": {
          "publicKeys": [
            {
              "keyData": ""
            }
          ]
        }
      },
      "servicePrincipalProfile": {
        "clientId": "",
        "secret": ""
      }
    }
  }

Example command line input:
 acs-engine generate --output-directory "./_output/rack8s" --set servicePrincipalProfile.clientId='123a1238-c6eb-4b61-9d6f-7db6f1e14123',servicePrincipalProfile.secret='=MsR0ck5!t=',aadProfile.serverAppID='123a1238-c6eb-4b61-9d6f-7db6f1e14123',aadProfile.clientAppID='123a1238-c6eb-4b61-9d6f-7db6f1e14123',aadProfile.tenantID='123a1238-c6eb-4b61-9d6f-7db6f1e14123',linuxProfile.adminUsername='cardinal',linuxProfile.ssh.publicKeys[0].keyData='ssh-rsa AAAAB3N123412341234123412341234123412341213412341234rElF9/uV2/+S6itZ' ./clusterBuild-ACS_config-cardk8s.json

When the above command is run, it bombs on unmarshalling (due to the leading '=').  If the leading '=' is removed, the resulting servicePrincipalClientSecret will be MsR0ck5!t not MsR0ck5!t= as expected.  If these values are removed from the command line and placed in the API JSON, both =MsR0ck5!t= and MsR0ck5!t= work as expected.
Anything else we need to know: This is relevant because service principal secrets, as generated by the Azure Portal, often have trailing '=' signs.

Related to #3355

@jcorioland any update on this? We have been able to do deployments with our key in file, however I'd really like to remove it and use env vars instead.

@flyboarder nope sorry, I did not have time to look in details.


ToolBox - Updated downloaders

Created IDataDownloader implementations for Google, Dukascopy, Oanda
Updated downloaders to use them
Fixed a few bugs in LeanDataWriter

This was merged in from https://github.com/QuantConnect/Lean/commit/9c0f980a433f6b1686e7aef01c5ffdc72fcfe88f to https://github.com/QuantConnect/Lean/commit/73059f4d8daf66328718d4d7b2ce44e5ea71465e


How do I tell flow that a script is in a web worker?

I tried to typecheck a script that is normally run in a webworker context.  importScripts works but postMessage fails.  How do I tell flow that postMessage is valid in that context?

My recommendation would be to do:
declare var self: DedicatedWorkerGlobalScope;

And then use self.onmessage, self.importScripts, self.postMessage, etc. self is the global object in a web worker. The line above should tell Flow what type the variable this. DedicatedWorkerGlobalScope is a type already built into Flow.
That said, it'd be nice if we could tell Flow which environment a given piece of code is expected to run in, e.g. Node, browser, web worker, etc. so that it can define the right globals (and only those!). @gabelevi @samwgoldman @mroch what do guys think of optionally expanding the @flow pragma to allow environment specs, e.g. @flow env=node which would only enable the built-in core and node library definitions?

@philikon thanks, the workaround passed the flow checks! But I really like your proposal for a project where some scripts run only in the browser and other scripts run only in node but some run in both places.  for comparison, jshint has browser and node options controlling the globals.

Right, in my proposal, you'd be able to say @flow env=node,browser or @flow env=node,react or @flow env=browser,webworker.

Just ran into an issue about the environment... in my case flow thought alert was defined (because of window.alert), but I hadn't defined it (in node).
Looking through the included type defs (https://github.com/facebook/flow/blob/7d700411a2ac83d4656e5d442e1c8a96f33341ff/lib/dom.js#L2982), you can see a whole bunch of 'unsafe' variable names that are included as part of a Browser, but don't necessarily exist in a node environment.
@philikon 's suggestion (or something similar in the .flowconfig) would be great to prevent my sort of mistake in the future

Just had the same problem as @BlooJeans but with a function named focus, which is available in the browser but not in node.


pyspiel.state

import random
import pyspiel
import numpy as np
game = pyspiel.load_game("kuhn_poker")
state = game.new_initial_state()
while not state.is_terminal():
legal_actions = state.legal_actions()
if state.is_chance_node():
# Sample a chance event outcome.
outcomes_with_probs = state.chance_outcomes()
action_list, prob_list = zip(*outcomes_with_probs)
action = np.random.choice(action_list, p=prob_list)
state.apply_action(action)
else:
action = legal_actions[0]
state.apply_action(action)
I don't know how to enter pyspiel.state and calling procedure of state. So it is impossible to step_into state.is_ terminal(), state. chance_ outcomes()... when I debug the code. I hope you can solve my questions，thanks.

Hi @wshwc ,
The games are implemented in C++ and exposed to python. So the game logic is in kuhn_poker.cc, which means you cannot directly step into the logic from Python.
For this game in particular there is a pyyhon implementation (name is python_kuhn_poker) which will allow that: see the python/games foldee.

Yes, I tried to find C++ code of pyspiel.state until I see the following code block。
py::classh<State, PyState> state(m, "State");
state.def(py::init<std::shared_ptr>())
.def("current_player", &State::CurrentPlayer)
.def("apply_action", &State::ApplyAction)
.def("apply_action_with_legality_check",
py::overload_cast(
&State::ApplyActionWithLegalityCheck))
.def("legal_actions",
(std::vector<open_spiel::Action>(State::)(int) const) &
State::LegalActions)
.def("legal_actions",
(std::vector<open_spiel::Action>(State::)(void) const) &
State::LegalActions)
.def("legal_actions_mask",
(std::vector(State::)(int) const) & State::LegalActionsMask)
.def("legal_actions_mask",
(std::vector(State::)(void) const) & State::LegalActionsMask)
.def("action_to_string", (std::string(State::)(Player, Action) const) &
State::ActionToString)
.def("action_to_string",
(std::string(State::)(Action) const) & State::ActionToString)
.def("string_to_action",
(Action(State::)(Player, const std::string&) const) &
State::StringToAction)
.def("string_to_action",
(Action(State::)(const std::string&) const) & State::StringToAction)
.def("str", &State::ToString)
.def("repr", &State::ToString)
.def("is_terminal", &State::IsTerminal)
.def("is_initial_state", &State::IsInitialState)
.def("move_number", &State::MoveNumber)
.def("rewards", &State::Rewards)
.def("returns", &State::Returns)
.def("player_reward", &State::PlayerReward)
......
But now I still don't know how to implement specific functions, such as state.def("is_terminal", &State::IsTerminal)

I also recommend that you watch this tutorial to learn the basic functions: https://www.youtube.com/watch?v=8NCPqtPwlFQ

Looking forward to your docs page for the API reference.
Now I know more about openspiel.
Thank you very much.

Thanks. For now there is this: https://openspiel.readthedocs.io/en/latest/

Now I know how to implement a specific algorithm to solve the equilibrium strategy of a game.
So far, I have learned the basic use of this library. Later, I will learn more about the implementation details of some algorithms，such as Deep CFR, NFSP.
Thank you for your reply and for taking the time to help me.

No problem, you're welcome. :) Please don't hesitate to ask more questions as they come up.
I will close this issue for now but you can open new ones as necessary.


Not working

Hi, whenever I try to download it says failed to find download link.
I've tried it with other steam workshop items and it still doesn't work. Please help.
This is the mod: https://steamcommunity.com/sharedfiles/filedetails/?id=2211271581

When I click download, nothing downloads, and it does say "Status: Found download link"

https://github.com/ArjixWasTaken/my-userscripts#note


No proper documentation for reverse geocoding

There is no proper documentation for reverse geocoding ie, retrieving longitude and latitude from entered Pincode/zipcode

The only documentation that exists on AgmGeocoder is API reference. Since our library is pretty much an Angular wrapper for Google Maps JS API, we expect users to read through the original API. Still, I guess we can add some usage info in the jsdoc


Animate getting started step closing

You can't see it in the gif due to the lowered frame rate, but when clicking on a new step you can see the steps at the bottom go up and then go down again. I think you can avoid this by animating the hide and the show with the same duration.

It's a bit weird because we cant animate it to the actual height because that can vary based on the contents and editor width, instead we animate the max-height, so even though the animation lengths are the same on paper if the contents are smaller the animation will finish faster.

It's a bit weird because we cant animate it to the actual height because that can vary based on the contents and editor width, instead we animate the max-height, so even though the animation lengths are the same on paper if the contents are smaller the animation will finish faster.

You should be able to do it in JS by resolving the height, this isn't a big deal just a small polish issue I noticed.

You should be able to do it in JS by resolving the height, this isn't a big deal just a small polish issue I noticed.

I saw the same thing and everything was jumping all over the place:
https://user-images.githubusercontent.com/35271042/107806392-a97cb900-6d1b-11eb-973a-02e5c07bcd41.mp4


Add Da One scheme

Hello, I would like to add my theme to the scheme repositories list. Thank you.
Links:

Da One
Da One Base24

Hey thanks for this! Looks great 😃


[Feature Request] Check Have I Been Pwned

Can you please add support for checking have i been pwned. This is a lookup / notification service to see if your email, password or username has been leaked in a data breach.
Thanks
API;
https://haveibeenpwned.com/API/v2

Not sure if that's the direction the maintainers want to go in. Sherlock is a branding tool used to check username availability.

Sherlock just going to do one job perfectly, for now at least. that could be another library.

Thanks for your reply and for considering it.


Nit: Write error logs to os.Stderr

Issue To Be Solved
I noticed that error logs are written to stdout, where ideally I would expect them to be written to stderr.
This probably doesn't matter for the most part, but it would be helpful to tools that are trying to better understand emitted logs (e.g. detect and handle errors).
Suggest A Solution
I believe this could be achieved by using zerolog.MultiLevelWriter API (https://pkg.go.dev/github.com/rs/zerolog#readme-multiple-log-output) to redirect logs to either stdout or stderr (depending on their severity level).
Context
Flowser relies on the fact that error logs are emitted to stderr in certain places (e.g. to alert the user when emulator fails to start), so this would help us a bit in that regard.

hmm we can add that, my only concern is if someone (or some tool )  is relying on existing behaviour.

@bartolomej let me know if this works for you, if not we can try to find an alternative solution.

@bluesign Yeah, I think thay would work fine, will try it out soon.
I think we can close this issue for now.


Include run log as part of tarball results

The output of sonobuoy should be included in the tarball before it is packaged, so any errors can be clearly included in the tarball.

Update to logrus

Fixed by #64


[BUG] ManagedIdentityCredential authentication failed: Adding the specified count to the semaphore would cause it to exceed its maximum count

Library name and version
Azure.Identity <IP_ADDRESS>
Describe the bug
I use the following code to obtain the access token from Azure
var credentialsProvider = new DefaultAzureCredential(
       new DefaultAzureCredentialOptions{ ManagedIdentityClientId = "XYZ" });

var accessToken = await credentialsProvider.GetTokenAsync(new TokenRequestContext(_scopes), cancellationToken);

From time to time, it throws exception
ManagedIdentityCredential authentication failed: Adding the specified count to the semaphore would cause it to exceed its maximum count. See the troubleshooting guide for more information. https://aka.ms/azsdk/net/identity/managedidentitycredential/troubleshoot  Azure.Identity.AuthenticationFailedException: ManagedIdentityCredential authentication failed: Adding the specified count to the semaphore would cause it to exceed its maximum count. See the troubleshooting guide for more information. https://aka.ms/azsdk/net/identity/managedidentitycredential/troubleshoot   ---> System.Threading.SemaphoreFullException: Adding the specified count to the semaphore would cause it to exceed its maximum count.
   at System.Threading.SemaphoreSlim.Release(Int32 releaseCount)
   at Microsoft.Identity.Client.Internal.Requests.ClientCredentialRequest.GetAccessTokenAsync(CancellationToken cancellationToken, ILoggerAdapter logger)
   at Microsoft.Identity.Client.Internal.Requests.ClientCredentialRequest.ExecuteAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.ApiConfig.Executors.ConfidentialClientExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenForClientParameters clientParameters, CancellationToken cancellationToken)
   at Azure.Identity.AbstractAcquireTokenParameterBuilderExtensions.ExecuteAsync[T](AbstractAcquireTokenParameterBuilder`1 builder, Boolean async, CancellationToken cancellationToken)
   at Azure.Identity.MsalConfidentialClient.AcquireTokenForClientCoreAsync(String[] scopes, String tenantId, Boolean enableCae, Boolean async, CancellationToken cancellationToken)
   at Azure.Identity.MsalConfidentialClient.AcquireTokenForClientAsync(String[] scopes, String tenantId, Boolean enableCae, Boolean async, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityClient.AuthenticateAsync(Boolean async, TokenRequestContext context, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex, String additionalMessage, Boolean isCredentialUnavailable)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenFromSourcesAsync(TokenCredential[] sources, TokenRequestContext requestContext, Boolean async, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex, String additionalMessage, Boolean isCredentialUnavailable)
   at Azure.Identity.DefaultAzureCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)

Expected behavior
No exception, access token retrieved
Actual behavior
From time to time, exception is thrown
Reproduction Steps
Can't find.
I suspected that it is connected to the heavy load or some leak. I tried to reproduce it by calling this method 10k times one by one, I was not able to do that. Also, I tried to do this in multiple threads at the same time, can't reproduce it neither.
Environment
Azure App Service

@christothes:  Looks like this was resolved in MSAL 4.59.0 and the Azure Identity dependency needs to be bumped.  (11.0.0-beta.1 is using MSAL 4.65.0).

@gmrozikmedius:  Thanks for reaching out and we regret that you're experiencing difficulties.   The issue that you're reporting is with the MSAL dependency used by Azure.Identity and tracked by #4472.  The comment there indicates that this was recently resolved with MSAL v4.59.0, which we'll need to pull in as a dependency update.
To mitigate the error in your application in the meantime, you can take a direct dependency on Microsoft.Identity.Client.Extensions.Msal v4.59.0, which will hoist the version used.

@jsquire , thank you for pointing out the reason and the solution. I will add a direct dependency to Msal v4.59.


[Enhance] Fix markdown linting errors

Two types of errors:

code blocks without a blank line above/under it
Title without a blank line under it

I have carefully checked all the md files and I fix all the errors I encountered.


Whether the v4l2src can be used in Custom gst for using another camera /dev/video1

Hi,
For getting the video streams from another camera, we are using the following in custom gst.
#define CUSTOM_VIDEO_SOURCE "v4l2src device=/dev/video1 ! queue ! capsfilter caps="video/x-raw, width=(int)1280, height=(int)720" ! videoscale"
But we are getting the following error.
Error in element v4l2src0.
Error: Internal data flow error.
Debugging info: gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:transport-agent-1/GstBin:bin1/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
==== Error message stop ====
Do anyone has suggestion on this?
Thanks.

Can your v4l2src device deliver 1280x720 raw video?


Update Visual Studio Marketplace URL

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[FLINK-32848][tests][JUnit5 migration] Migrate flink-runtime/shuffle tests to JUnit5

What is the purpose of the change
Migrate flink-runtime/shuffle tests to JUnit5.
Verifying this change
The change itself is for migrating UT.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Hi @1996fanrui, could you review the change when you are free, much appreciated~

Hi @FangYongs, could you help check the change when you are free?

Thanks @X-czh for contributions, LGTM


Added unfold, lunfold

Simple implementation of unfold / lunfold latter being lazy / generator version.
Not that happy with the kw parameter include_last though, but found it useful so..

None of this is need. Python and funcy already have several ways to handle this in a more natural way.
take(5, iterate(lambda n: n + 1, 0))  # [0, 1, 2, 3, 4]

def collatz(n):
    return n // 2 if even(n) else 3 * n + 1

collatz_10 = iterate(collatz, 10)
list(iter(collatz_10.__next__, 1))  # 10, 5, 16, 8, 4, 2

Ok, collatz was not an optimal example, but unfold is much more generic and there’s a reason why it is in Haskell.
Then again I appreciate practicality of funcy, and would not add stuff there that is not in high need :)


[GE] Copying property line files

This is the initial move. Next PR will have edits to these files. Discussed with @RaananW yesterday.

All of them reference CommonControlPropertyGridComponent which is unique to GUI Editor at the moment. Plus they will all probably get structure change to remove the LineContainerComponent.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>

:tada: This PR is included in version 7.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


KeyError: 'ANSYSEM_ROOT202' in Sweep_an_option_get_capacitance_matrix

Information

Qiskit Metal version: 0.0.3
Python version: 3.7.8
Operating system: windows 10

What is the current behavior?
11:05PM 03s ERROR [open_ansys]: environment variable ANSYSEM_ROOT202 not found. Is Ansys 2020 R2 installed on this machine? If yes, then create said environment variable. If you have a different version of Ansys, then pass to open_ansys() the path to its binary, or the env var that stores it.
KeyError                                  Traceback (most recent call last)
 in
2 # This cell will open the Ansys application.  Run this cell, if Ansys, is not already open.
3 # A project will be opened using this command.
----> 4 q3d.open_ansys()
c:\users\asus\downloads\qiskit-metal-main\qiskit_metal\renderers\renderer_ansys\ansys_renderer.py in open_ansys(self, path, executable, path_var)
209         if path is None:
210             try:
--> 211                 path = os.environ[path_var]
212             except KeyError:
213                 self.logger.error(
~\anaconda3\envs\pymetal23\lib\os.py in getitem(self, key)
679         except KeyError:
680             # raise KeyError with the original key value
--> 681             raise KeyError(key) from None
682         return self.decodevalue(value)
683
KeyError: 'ANSYSEM_ROOT202'
Steps to reproduce the problem
'q3d =  design.renderers.q3d
This cell will open the Ansys application.  Run this cell, if Ansys, is not already open.
A project will be opened using this command.
q3d.open_ansys()'
What is the expected behavior?
Shouldn't have this problem
Suggested solutions

Hi,
Actually yes, this is expected behavior. The message indicate that you need to provide other inputs to this method for it to work.


Can anyone share the dataset? Thank you very much

Hi,
Few-shot datasets are already shared in the github repo, in the data/ folder.
In addition to them, you still need COCO and Pascal VOC datasets in the format of COCO. They are available on the Internet.


Add titles OME 2024 talks

Adding Guilliame's title
built at

Okayed by June as per slack.
Merging.


Patch 7

Add is_server_owner. Thank you erik. idk why i am making a pull request even though you literally helped me make half of the code but thanks.

FYI: The commit will be merged into main when patch-7 is finished.


The commit_project_revision() sql function should be able to commit all form_change records at once

This function is currently committing any project revisions, then reporting_requirement and then updating all form_change records that aren't either project or reporting_requirement. This is being done because the project and reporting_requirement records need to be created first, so that any dependent records have access via a foreign key. We should be able to do all updates at once if we set our foreign key constraints to the project and reporting_requirement tables to be deferrable.
This blog post has a good explanation of deferrable constraints: https://brunoscheufler.com/blog/2022-03-20-understanding-deferred-foreign-key-constraints-in-postgresql#deferrable-constraints

done as part of #1003

Since deferred constraints did not pan out as we'd hoped, this will require more exploration. Some of the complexity may have been removed with the milestone refactor.


VeriFind: A React Web App for Searching and Validating Academic Research

Project Name
VeriFind
Description
Project VeriFind is a web application that enables users to search academic literature and validate research documents with ease. The application provides advanced search functionality with customizable result counts, real-time search with loading states, paginated results, and a responsive search interface. Users can upload PDF documents for validation, view a general summary of the document analysis, and receive page-by-page suggestions for improvement. The application also includes a warning system for large result sets and a statement validation feature. VeriFind is built using React, FastAPI, LangChain, and Groq.
Build
Yes
Train
No
Analyze
No
Challenge Topic / Topic Category

[X] Customized Information Extraction
[X] Education
[ ] Enhancing Accessibility in Healthcare Through AI
[ ] Mitigating Natural Disasters in a Changing Climate
[ ] Reducing Food Waste Through AI-Powered Innovation
[ ] other - World Issues
[ ] other - Open-Source
[ ] other - Scientific Computing
[X] other

Project Repository URL
https://github.com/ScientiFolks/VeriFind
Deployed Endpoint URL
No response
Project Video File (not folder) Link (ensure viewer access)
https://drive.google.com/file/d/1vXfirl_e9DAfsEtA_Tg0Ri1nSqLhTRBs/view?usp=sharing
Team Members
@ghaziakmalf, @Mehmed13, @akmaldika, @Breezy-DR, @MuhLibri

Your project is an impressive tool that addresses a key challenge in academic research—efficiently searching and validating academic literature. The attention to code quality, documentation, and presentation is evident and commendable. Excellent work!
Beautiful frontend though!
The "Find" feature is particularly noteworthy. Have you considered implementing it as a browser extension? It could be incredibly useful for researchers and scientific workers who frequently navigate academic resources online.
Regarding the "Analyze" feature, I'd like to share an insight from working with retrieval-augmented generation for scientific papers. A common challenge is the model generating hallucinated answers to user queries when the retrieved data doesn't contain the relevant information. A potential enhancement could involve implementing a validation mechanism to ensure that the model's answers are strictly based on the provided data. If the information isn’t available, the model should refrain from answering. This would significantly enhance the reliability of your solution.
Overall, this is a well-thought-out project with strong potential for adoption in the academic and research community. Great job!


add playlist support

Out of curiosity, are smart playlists (playlists whose content is based on search criteria, rather than static lists) something that might be in scope for this project?

Thanks for the remark, indeed, there is a bug on this part, the track id sent to the api is not the good one, so there is an error on the creation of the playlist


arco init my-project   Error  'Please commit your Git modification first'

[x] I'm sure this does not appear in the issue list of the repository

Basic Info

Package Name And Version: v1.27.2
Framework version: Vue
Browser: chrome<IP_ADDRESS>

Steps to reproduce

sudo npm i arco-cli@latest yarn -g
arco init my-project

The environment
Nodejs

v10.24.1
v14.20.0

.gitignore_global 文件最后添加 *


privacy

PR Type
Documentation

Description

Updated the README.md to clarify the trigger mechanism for the PR-Agent Chrome extension, enhancing understanding of its functionality.
Overhauled the data privacy section in docs/docs/index.md, adding detailed explanations for both self-hosted and CodiumAI-hosted options, and emphasizing the non-data collection policy.

Changes walkthrough 📝
Relevant filesDocumentation

README.mdClarify Trigger Mechanism in PR-Agent Chrome Extension Description

README.md
Updated the description of the PR-Agent Chrome extension to clarify the trigger mechanism from "command" to "tool".

+1/-1

index.mdEnhance Data Privacy Documentation for PR-Agent

docs/docs/index.md
Refined the "Data Privacy" section to "Data privacy" for consistency.  Added detailed subsections for self-hosted and CodiumAI-hosted PR-Agent Pro.  Expanded on the data privacy details for both hosting options.  Reiterated the non-data collection policy in the context of the PR-Agent Chrome extension.

+15/-4

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/review auto_approve

/improve

Failed to generate code suggestions for PR

Generating PR code suggestions
Work in progress ...

Generating PR code suggestions
Work in progress ...

/review


Remove MO's extra js confirm. data-confirm is handled by rails-ujs

This should be good to deploy after review.

Coverage remained the same at 92.651% when pulling c8f561f21832873584970f1cc77cd715b92de66f on nimmo-remove-double-confirm into 7b6c75daee6c80bfda28e53e532b7d130498923f on master.

I was able to confirm that these changes have the desired effect on my branch.  Pushed the changes to the visual-models branch.


General slime improvements

About the PR

This PR will attempt to add the following:

Slimes can "morph" into a smaller slime which is faster and can go through grilles, but drops all their items except for the internal inventory - they can also crowbar open any door at a 8 second do-after (airlocks)
Slimes have an internal 2x2 inventory - killing them drops the items they are holding
Slimes aren't affected by their own goop
Same damage mods however less bloodloss damage
Slimes have an accelerated regen (slight)
Morphed slimes are different from NPC slimes because they have proper transparency
Slimes can be put into bags

Why / Balance

Due to slimes having all negatives, I have decided to make positives for them.
Technical details

swaps around some entities ids
Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

Ekrixi dev when

based

Morphing part is cool, but a bit too unbalanced. It would be better if slimes could change their hairstyle and beard as they wish and could change colour with spray painter (since we don't have paint, like in ss13) overall original slimepeople bonuses came from them being able to regen lost limbs and having no bones, so adding this would result in a very powerful race later on when surgery gets added (if it ever does)

Morphing part is cool, but a bit too unbalanced. It would be better if slimes could change their hairstyle and beard as they wish and could change colour with spray painter (since we don't have paint, like in ss13). Overall original slimepeople bonuses came from them being able to regen lost limbs and having no bones, so adding this would result in a very powerful race later on when surgery gets added (if it ever does)

I can nerf them to being only slightly faster and unable to crowbar doors but I insist on the morphing as its a really interesting mechanic

Where is the tg self-revival mechanic 😢
https://github.com/space-wizards/space-station-14/issues/23354#issuecomment-1873701892
Also idk about crowbaring doors faster, doesn't seem very 'slimy' to me (feels more like a diona thing)

Morphing part is cool, but a bit too unbalanced. It would be better if slimes could change their hairstyle and beard as they wish and could change colour with spray painter (since we don't have paint, like in ss13). Overall original slimepeople bonuses came from them being able to regen lost limbs and having no bones, so adding this would result in a very powerful race later on when surgery gets added (if it ever does)

I can nerf them to being only slightly faster and unable to crowbar doors but I insist on the morphing as its a really interesting mechanic

Yeah, that would probably work. My main concern was the antag factor, with thief slimes being able to outrun secoffs with stolen item, but as long as they are slower than speedboots and faster than walking speed both slimes get a cool mechanic and station gets a reason to produce speedboots. Morphs would probably need to have no hands though, and it would be cool if they looked like mini versions of the mob slimes

that bug was just a typo using PartBase not BasePart

Ohhhh. What's the maximum size of a morphed slime's inner bag? We all realize they're going to put cigarette packs full of pills (or a spacesuit RD) in there, don't we ?
What do you mean put in the bag? The morphed version or the full-sized version? How does the antagonist kill the slime targets? How does the security team solve the problem? This seems wrong...

a slime morphing would drop all equipment so its not op for thieves since they drop everything they have for an item or 2

Ohhhh. What's the maximum size of a morphed slime's inner bag? We all realize they're going to put cigarette packs full of pills (or a spacesuit RD) in there, don't we ? What do you mean put in the bag? The morphed version or the full-sized version? How does the antagonist kill the slime targets? How does the security team solve the problem? This seems wrong...

An internal inventory would be 2x2.
Also, I mean that you can place slimes inside of bags, such as duffelbags/satchels... cause I think it would be funny as hell to carry a friend slime in a duffelbag

Yeah, that would probably work. My main concern was the antag factor, with thief slimes being able to outrun secoffs with stolen item, but as long as they are slower than speedboots and faster than walking speed both slimes get a cool mechanic and station gets a reason to produce speedboots. Morphs would probably need to have no hands though, and it would be cool if they looked like mini versions of the mob slimes

Morphed slimes wouldn't get an inventory except for their internal one

Also, I mean that you can place full-sized slimes inside of bags, such as duffelbags/satchels... cause I think it would be funny as hell to carry a friend slime in a duffelbag

Might be annoying to be suddenly picked up and put into a bag if this applies while full-sized

Also, I mean that you can place full-sized slimes inside of bags, such as duffelbags/satchels... cause I think it would be funny as hell to carry a friend slime in a duffelbag

Might be annoying to be suddenly picked up and put into a bag if this applies while full-sized

Would probably have a doafter of like 5-7 seconds

Ohhhh. What's the maximum size of a morphed slime's inner bag? We all realize they're going to put cigarette packs full of pills (or a spacesuit RD) in there, don't we ? What do you mean put in the bag? The morphed version or the full-sized version? How does the antagonist kill the slime targets? How does the security team solve the problem? This seems wrong...

An internal inventory would be 2x2.
Also, I mean that you can place full-sized slimes inside of bags, such as duffelbags/satchels... cause I think it would be funny as hell to carry a friend slime in a duffelbag

That's more of a downside, bro.  Similarly, they pick you up, throw you in the trash....... If you do a carry option, the slimes must be of impressive size and slow the carry, otherwise it will look like a cover.

Ohhhh. What's the maximum size of a morphed slime's inner bag? We all realize they're going to put cigarette packs full of pills (or a spacesuit RD) in there, don't we ? What do you mean put in the bag? The morphed version or the full-sized version? How does the antagonist kill the slime targets? How does the security team solve the problem? This seems wrong...

An internal inventory would be 2x2.
Also, I mean that you can place full-sized slimes inside of bags, such as duffelbags/satchels... cause I think it would be funny as hell to carry a friend slime in a duffelbag

This shouldn't be applied to sull-sized ones due to their height and overall grief possibilities, especially with SSD targets. Plus, you can still carry around a morphed friend who could (I presume) talk and look out of your inventory

imo, internal inventory and putting into bags is OP

imo, internal inventory and putting into bags is OP

It's a 2x2 inventory that drops on crit, if necessary I can make it so that people can open the internal inventory - not sure how bags are OP, but I guess I can make it so that only the morph can fit inside of a bag

IMO this PR just seems to powercreep slimes massively.
1 seems like a very OP ability used exclusively by shitters, to bust into a locked room and shoot someone dead instantly
2 seems fine honestly, it's the species ability I would give to slimes. Just make it so that examining them makes it obvious they have something inside.
3 and 4 are fine, although I can see 3 being abused by slimes in a similar fashion to dionas kudzuflooding.
5 is fine, this and 2 are really the only things I think slimes need.
I don't think I understand 6
7 seems like it'll be abused to massive extents, maybe make them take like, 4x6 inventory space. Honestly, I think that picking up and fireman carrying people should be it's own PR entirely. shouldn't be exclusive to slimes, they should just be maybe less heavy so you don't slow down as much when carrying them.
Overall, I would think about 2 and 5 but the rest seem like they would make slimes unbalanced. Especially 1 and 7. (also wouldn't this PR require a design document?)

Slimes have an accelerated regen (slight)

What a great idea I wonder why nobody ever thought of this :godo:

IMO this PR just seems to powercreep slimes massively. 1 seems like a very OP ability used exclusively by shitters, to bust into a locked room and shoot someone dead instantly 2 seems fine honestly, it's the species ability I would give to slimes. Just make it so that examining them makes it obvious they have something inside. 3 and 4 are fine, although I can see 3 being abused by slimes in a similar fashion to dionas kudzuflooding. 5 is fine, this and 2 are really the only things I think slimes need. I don't think I understand 6 7 seems like it'll be abused to massive extents, maybe make them take like, 4x6 inventory space. Honestly, I think that picking up and fireman carrying people should be it's own PR entirely. shouldn't be exclusive to slimes, they should just be maybe less heavy so you don't slow down as much when carrying them.
Overall, I would think about 2 and 5 but the rest seem like they would make slimes unbalanced. Especially 1 and 7. (also wouldn't this PR require a design document?)

...obviously it powercreeps slimes - because slimes have nothing interesting to them. i can link you the issue stating how slimes have purely negatives - #23354, but these are all valid things that apply to a slimeperson

also i want 7 in specific because i think it would be funny to carry a slimeperson in your bag at the cost of it taking up everything

I feel like the morphing thing might be a bit much tbh, but also given you drop all your shit it's kind of completely irrelevant most of the time so I'm down to at least try it. It feels similar yet different to nymphs so it could maybe be interesting, but I agree that being picked up is more a downside than anything and the "morphed" slimes should probably be very similar to normal slimes.

...obviously it powercreeps slimes - because slimes have nothing interesting to them. i can link you the issue stating how slimes have purely negatives - #23354, but these are all valid things that apply to a slimeperson

I think it's a little bit too much though. Especially 1. That seems like an antagonist ability, not something that, let's be real, 1/8 of the station is gonna be able to do. Just because you drop everything doesn't make giving an entire species All Access a good mechanic (especially because you can just put your PDA in your internal storage anyway). I'm fine with 2 and 5, and 7 seems funny but should probably be part of a full fireman carry mechanic PR

i'll drop the breaking and entering but morphs are still gonna be in

imo, internal inventory and putting into bags is OP

It's a 2x2 inventory that drops on crit, if necessary I can make it so that people can open the internal inventory - not sure how bags are OP, but I guess I can make it so that only the morph can fit inside of a bag

there is a reason why internal storage is a syndie implant. Giving slimes this would just make all powergaming antags playing slimes. As I already stated, it's better to simply give slimes the mechanics they had in SS13, such as being able to change your hairstyle and beard at wish and drinking dye to change colour (I played only Paradise, so my examples are only based on their mechanics). Additionally, when surgery gets added slimes will be able to regen lost limbs and will be immune to bone fractures, meaning they almost won't slow down at low health compared to other races, which, combined with this PR, will make them completely OP

have nothing interesting or GOOD to them

they will have when wounds rework is done
like ubreakable bones (they dont have it), regenerate limbs
also would good to be able to change your hairstyle anywhere anytime, for food (hungry = no haircut :trollface:)

wounds rework coming soon (2032)

they will have when wounds rework is done
like ubreakable bones (they dont have it), regenerate limbs

And until wounds is merged they will stay uninteresting - I am not going to rely on "a PR that someone will finish eventually", but rather I would like to be the person who finishes the PR.

 It feels similar yet different to nymphs so it could maybe be interesting, but I agree that being picked up is more a downside than anything and the "morphed" slimes should probably be very similar to normal slimes.

I can already see shitters breaking into armory and stealing a pistol, then hiding it in their internal storage.

i'll drop the breaking and entering but morphs are still gonna be in

bump

updated todo list

also i want 7 in specific because i think it would be funny to carry a slimeperson in your bag at the cost of it taking up everything

literally felinids

morphing is good and i want it in any form here it'll be really fun

Where is the tg self-revival mechanic 😢

Once we get the nymph system to dionæ #19450, I mean let us have something with those bipedal shrubs.
Or maybe the #17279 perhaps, they both are quite exciting to see

I feel like the morphing thing might be a bit much tbh, but also given you drop all your shit it's kind of completely irrelevant most of the time so I'm down to at least try it. It feels similar yet different to nymphs so it could maybe be interesting, but I agree that being picked up is more a downside than anything and the "morphed" slimes should probably be very similar to normal slimes.

I can already see shitters breaking into armory and stealing a pistol, then hiding it in their internal storage.

morphing would drop the pistol though

I feel like the morphing thing might be a bit much tbh, but also given you drop all your shit it's kind of completely irrelevant most of the time so I'm down to at least try it. It feels similar yet different to nymphs so it could maybe be interesting, but I agree that being picked up is more a downside than anything and the "morphed" slimes should probably be very similar to normal slimes.

I can already see shitters breaking into armory and stealing a pistol, then hiding it in their internal storage.

morphing would drop the pistol though

Not if it's in the internal inventory.

If this PR is to be finished (rain pr lol lmao) then this should come off as a full-on slime rework ditching or incorporating and reimagining the old bonuses and maluses, introducing new ones in the process, not doing such would put slimes into a position where the features of the species are stitched together from PRs made by different contributors over different times, which is obviously not good because of how slimes were out of sync for a while.
The overall strength of the planned features is greater than of any other species both by quantity and individual feature strength, and as such it should be counteracted by equally strong maluses, I'll go over the planned features and then propose some maluses to counteract them.
Slime morph. Relatively weak for the debuffs it grants, losing all of your equipment in a largely equipment-focused game in exchange for a little speed and the ability to traverse the few grilles in-station while also being liable to getting picked up massively downplays the potentially strong and defining feature, if anything this should allow slimes to slowly crawl under doors that are not "secure", so no sec doors or windoors, no command doors or windoors, no vault, etc.
This should also leave mild amounts of goo on the floor and deal damage to the slime, perhaps make a loud noise as well.
Slime inventory. Effectively a weaker form of what arachnids have with web pockets but overall, a good side feature that doesn't lean heavily into being too strong or weak.
Blood slow immunity. Decent side feature, assuming this applies to blood as well as slime it's not particularly useful except for situations like med, nukies or chef.
Damage resistances. Slime DR should be overhauled to match with the current combat balance, having it as-is won't exactly do much good.
Faster regen. Alright QoL feature assuming it really is only slightly faster.
As such, there are 5 differentiating buffs coming with slimes, I will also propose another feature which is leaning both into buff and debuff now.
Slime goo should be prone to easier detective investigation, DNA being linked directly to slime goo and shown in the crew records console.
Slimes should get hit HARD by poison and radiation, if a slime gets poisoned or overdosed their silly slime cells eviscerate and die in agony, same with radiation, both because Slime Logic :tm:
Slimes should be limited to 1 chemical being metabolized at a time, something something slimemen are complex organisms and have a hard time incorporating meds into themselves.

Slimes should have slower melee speed in general, nothing too much, assuming all other species have a modifier of 1.0 slimes should be like 0.85 or 0.9 to avoid overnerfing silly slimemen.
Slime DR should probably be more specialized towards one specific damage type like it was for blunt before but if slimes are despite the above maluses deemed too strong the DR could be adjusted to be weaker than most other species DRs with some careful number maneuvers.
text wall goopman blast, graaaaarrgh..,.,. glug lug glug glug,.,.,.,... (slime noises)

Yeah idk about the 1 chem and weakness to poison/rads thing, that'll make them difficult to treat if poison is still in their system
Also slimes by nature are complex but also walking osmosis bubbles, so they should be able to metabolise many chems at once imo
For flavour, consider adding chems they can reproduce like reagent slimes

Added to OP

Morphing and squeezing through grilles is such a good feature. Would be extra funny if they could fall into or hide in drains.

Morphing and squeezing through grilles is such a good feature. Would be extra funny if they could fall into or hide in drains.

inb4 squeezing through electrified grille and becoming cooked inside out

we're pulling a rainpr - i'll finish this by saturday im really bummed out by life

Morphing and squeezing through grilles is such a good feature. Would be extra funny if they could fall into or hide in drains.

floor drains should act like chasms to slimes

What if while morphed, you replaced the unpowered airlock open do after with squeezing through the airlock to the other side instead? Still a do after, still only unpowered, only difference is you're leaving the door closed. But it feels kinda flavourful. Maybe make it just a bit faster but still slower than crowbar opening.

The passive health regen is a bit much. I think slimes should be encouraged to make use of their advanced metabolic system rather than receive a recovery boost just for existing.

You mentioned at one point they might be able to squeeze under doors? This is a huge security concern, no matter how you balance it. 👎

Some questions...
3) When morphing, slimes drop their internal inventory, yes?
4) Other players can view and interact with their internal inventory too, yes?
Everything else seems fine. Great work! ❤

ok
already revised, they don't go under doors
ill have to check
yea

I will say one thing. You are a saint

Make slimes transform into puddles (i.e. change slime mob sprite to slime puddle sprite) :trollface:

merge when?

storage implant no virus 2025 working

why is slimeperson grey but slime is blue? its confusing
also, imo all that seems too OP

why is slimeperson grey but slime is blue? its confusing
also, imo all that seems too OP

Perhaps if you read the sister issue you would understand all of this

why is slimeperson grey but slime is blue? its confusing
also, imo all that seems too OP

Perhaps if you read the sister issue you would understand all of this

Half the OP is ranting and most of the comments are bikeshedding so please clarify where it is rather than brushing it off.

Half the OP is ranting and most of the comments are bikeshedding so please clarify where it is rather than brushing it off.

Slimes are not fun to play as and they also lack any neat features, they are more or less just translucent colored humans with worse damage mods and no interesting gameplay features. This is why I think they're the worst race in the game.
"but dionae were designed to be the worst!"
Okay, but at least dionae have interesting enough features like having Robust Harvest act as omnizine, and even have a design. Slimes don't have any of those, instead just being nitrogen breathers and being able to metabolize 6 chems at once.

Mini slimes don't go under doors. They aren't better human because they still have their drawbacks of being weak to piercing, slash, alongside their reduced walkspeed and attack speed (I'm fairly sure I coded that)

Also I'm not sure how to make polymorphing predicted

I really hope to see this merged. as an avid slime player I really like the idea of being able to revert to slime and scurry around and being able to have a sort of bonus pocket will be very nice. I hope to be stuffed in a bag someday

Still working on this.

I do hope this comes soon, considering the recent slime "nerf" if you can call it that.

 On the other we cant be revived, nor healed by traditional means.

known issue, it's due to internal inventory - its late at my place unfortunately so if someone could disable internal inventory temporarily until i find out a solution it would be much appreciated 😁😁

known issue, it's due to internal inventory - its late at my place unfortunately so if someone could disable internal inventory temporarily until i find out a solution it would be much appreciated 😁😁

Just have interactions take priority over opening inventory. Or just leave internal inventory opening to the context menu.

clicking yourself to inject with, for example, an uplink implant will simply try to put it into your internal inventory, with no override to simple interactions meaning slimepeople are locked out of using implants without someone helping them, most likely.