Add clang compiler for 'windows-latest'

Tool information

Tool name: clang
Tool license: UIUC (BSD-style) Open source
Add or update? add
Desired version: any
Approximate size:
If this is an add request:

Brief description of tool: C compiler, typically installed with LLVM
URL for tool's homepage: https://clang.llvm.org/ and repo: https://github.com/llvm/llvm-project
Provide a basic test case to validate the tool's functionality:

Area for Triage:
C/C++
Question, Bug, or Feature?:
Question
Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11.0
[ ] Windows Server 2016 R2
[x] Windows Server 2019

Description
When setting up a CI runner with GitHub Actions, using the clang terminal command in the runner does not work.
Here's an example where it is called via a Makefile:

I attempted to add several differents paths to to the PATH environment variable (using the new echo "C:\path\ >> $GITHUB_PATH syntax), to no avail.
After looking through the "windows-latest" readme, I only see Mingw-w64 in the list of installed tools - but the only occurences of 'LLVM' or 'Clang' are as Visual Studio components. Ideally, clang should work as a terminal command by default. I have been using a matrix to compile on all platforms using a cross-platform Makefile, and at the moment the only workaround I found is to exclude clang entirely from the windows build:
...
      matrix:
        os: [ubuntu-latest, macOS-latest, windows-latest]
        compiler: [gcc, clang]
        exclude:
          - os: windows-latest
            compiler: clang

...

    - name: make (with ${{matrix.compiler}}, for ${{matrix.os}})
      run: make CC=${{matrix.compiler}}

Perhaps clang is in fact already installed somewhere, and I haven't looked in the right place or found the correct way to do this - any help here is much appreciated.

clang is available on image as a part of MSYS2 in the following folders:
C:\msys64\mingw32\bin
C:\msys64\mingw64\bin

These folders are not in PATH by default since it will bring a lot of other tools in PATH.
You can add them to PATH during your build.

Maybe I'm missing something, but the path you gave doesn't seem to fix this:

I tried writing the path with both with single backslashes \ and double backslashes \\, neither worked.
I also attempted to make an alias command with alias clang="C:\msys64\mingw64\bin\clang.exe" which didn't work either.
Is there something I'm missing/not understanding in your reply ?
Here's the part of the ci.yml in question:
    if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }}
    steps:
    - uses: actions/checkout@v2

    - name: set clang env path
      if: runner.os == 'Windows'
      run: |
        echo "C:\msys64\mingw32\bin" >> $GITHUB_PATH
        echo "C:\msys64\mingw64\bin" >> $GITHUB_PATH
        clang --version

    - name: make (with ${{matrix.compiler}}, for ${{matrix.os}})
      run: make CC=${{matrix.compiler}}

I think you use GitHub commands incorrectly. GITHUB_PATH is applied only to the next steps and it won't work immediately. Please follow documentation to specify proper PATH: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
Also you should add only one path to GITHUB_PATH. mingw32 or mingw64 depend on what you need.

Thanks for the clarifications. After doing several attempts, it turns out that what worked best was to manually specify to use a bash shell rather than the default (PowerShell) on all steps.
Here's the YAML runner code that ended up working:
    steps:
    - uses: actions/checkout@v2

    - name: Add clang path to $PATH env
      shell: bash
      if: runner.os == 'Windows'
      run: echo "PATH=$PATH:C:\msys64\mingw64\bin" >> $GITHUB_ENV

    - name: Build (with ${{matrix.compiler}}, for ${{matrix.os}})
      shell: bash
      run: make CC=${{matrix.compiler}}
```

clang is available on image as a part of MSYS2 in the following folders:
C:\msys64\mingw32\bin
C:\msys64\mingw64\bin

These folders are not in PATH by default since it will bring a lot of other tools in PATH. You can add them to PATH during your build.

Hello, does it still work? I am try to use clang in windows environment, but this path(C:\msys64\mingw64\bin) is empty
I checked inside an action.

@hzhangxyz windows-2022 doesn't have any MSYS2 packages pre-installed. Please use https://github.com/msys2/setup-msys2 action for that


ci: add a go ci for test build and lint

Issue
Closes #38
Changes Proposed
Add a CI run on Pull Requests to check for build and Linting for incoming Golang code.

Hey @x-sushant-x, let me know if you need any clarification

I'll check this out tonight.

Hi @Pradumnasaraf this looks good! I'm merging it. Thanks for your contribution.

Thank you for the merge!


Fix getSupportedProperties method

Summary: fix_getSupportedProperties so that it is robust. For speed, initially, it tries to get properties from the class info only. If this fails, and it often does fail immediately after rialtoserver start-up, then it uses gst_plugin_feature_load and tries again. If this fails then it instantiates an object in order to get its properties (this is what gst-inspect does)
Type: Fix
Test Plan: UT, CT, native_build
Jira: RIALTO-597

Sanity tests for ['BCM 7216OTT Refboard VA'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58606/

Sanity tests for ['RPI4 IPSTB'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58607/

Sanity tests for ['BCM 7216OTT Refboard VA'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58613/

Sanity tests for ['RPI4 IPSTB'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58619/

'['RPI4 IPSTB']' Sanity test FAILURE, investigation pending.
Build Job/Num: build-rpi4-ipstb-oss/4375
Flash rdkv_rpi4_ipclient [SUCCESS]
rdkv_rpi4_ipclient - Video Test [FAILURE]
Video Accelerator Home Screen Test [FAILURE]
Video Accelerator VOD Video Detection Test [FAILURE]
HLS video streaming using gst-launch uri=aamp [SUCCESS]
HLS Video Streaming using aamp-cli [SUCCESS]
DASH Video Streaming using aamp-cli [FAILURE]
Video local (H264) using gst-play-1.0 [SUCCESS]
DASH Video Streaming using aamp-cli [SUCCESS]
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-raspberrypi-rdkv-rpi4-flow/12393/

Sanity tests for ['RPI4 IPSTB'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58690/

Sanity tests for ['BCM 7216OTT Refboard VA'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58693/

Sanity tests for ['RPI4 IPSTB'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58783/

Sanity tests for ['BCM 7216OTT Refboard VA'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58784/

Sanity tests for ['RPI4 IPSTB'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/58786/

'['RPI4 IPSTB']' Sanity test FAILURE, investigation pending.
Build Job/Num: build-rpi4-ipstb-oss/4441
Flash rdkv_rpi4_ipclient [SUCCESS]
rdkv_rpi4_ipclient - Video Test [FAILURE]
Video Accelerator Home Screen Test [FAILURE]
Video Accelerator VOD Video Detection Test [FAILURE]
HLS video streaming using gst-launch uri=aamp [SUCCESS]
HLS Video Streaming using aamp-cli [SUCCESS]
DASH Video Streaming using aamp-cli [SUCCESS]
Video local (H264) using gst-play-1.0 [SUCCESS]
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-raspberrypi-rdkv-rpi4-flow/12472/

'['RPI4 IPSTB']' Sanity test FAILURE, investigation pending.
Build Job/Num: build-rpi4-ipstb-oss/4442
Flash rdkv_rpi4_ipclient [SUCCESS]
rdkv_rpi4_ipclient - Video Test [FAILURE]
Video Accelerator Home Screen Test [FAILURE]
Video Accelerator VOD Video Detection Test [FAILURE]
HLS video streaming using gst-launch uri=aamp [SUCCESS]
HLS Video Streaming using aamp-cli [SUCCESS]
DASH Video Streaming using aamp-cli [SUCCESS]
Video local (H264) using gst-play-1.0 [SUCCESS]
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-raspberrypi-rdkv-rpi4-flow/12475/


Cover the case of creating table without columns

It is actually possible, reproducer:
[alex-dukhno@Alexs-MacBook-Pro ~]$ docker exec -it some-postgres /bin/bash
root@bc37e2936baa:/# psql -U postgres
psql (12.2 (Debian 12.2-2.pgdg100+1))
Type "help" for help.

postgres=# create table empty ();
CREATE TABLE
postgres=# select * from empty;
--
(0 rows)

postgres=# insert into empty values();
ERROR:  syntax error at or near ")"
LINE 1: insert into empty values();
                                 ^
postgres=# insert into empty values(1);
ERROR:  INSERT has more expressions than target columns
LINE 1: insert into empty values(1);
                                 ^
postgres=# insert into empty values(null);
ERROR:  INSERT has more expressions than target columns
LINE 1: insert into empty values(null);
                                 ^

Hi @alex-dukhno , I am starting to look into the code. May I work on this issue?

Hi, @silathdiir sure. Thanks for picking it up

BTW, if you have any questions don't hesitate to reach me out. I am glad to help :)

Hi @alex-dukhno , Thank you. I started to build and run the project with cargo run.
And I tested on psql with the below SQLs (according to folder compatibility).
create schema SMOKE_QUERIES;

create table SMOKE_QUERIES.EMPTY_TABLE ();

select * from SMOKE_QUERIES.EMPTY_TABLE;

drop table SMOKE_QUERIES.EMPTY_TABLE;

drop schema SMOKE_QUERIES;

It seems that EMPTY table has already been supported (on protocol part?). I tries to start reviewing the src/storage code.
Could you help give some general instructions about which part should I step into first? Thanks a lot.

Hi, honestly, I forgot what triggers me to create this issue - 😂
However, communication protocol hasn't to be a problem, but I see three cases of the problem, insert, update and delete - and now I am thinking that all of them are edge cases.
For instance:

insert into empty table is more like inserting "more" values than rows in a table.
delete and update when user incorrectly specified column(s) names

I think I have to create at least four issue, and all of them good first issues. I will ping you here and let you to choose any of them 😄

@silathdiir here are they #70, #71 and #72 pick any of them. I tried to describe as much as possible with places and methods to look at. I think #70 should be much easier than other two, because it already use code that should be re-used in #71 and #72.
And thank you for contribution! Now I know how I should describe good first issue(s) 😄


Not able to share image on Twitter.

I am not able to share image on Twitter on iOS.

I am not able to share image on Twitter on iOS.

/// * [image]: The image to be shared. (Android only)
Hi @ucpritam!  As stated in the relevant method and comment line, the image sharing feature is not yet stable on the iOS platform. I'm working on this. Thank you for your interest!


Micronaut Function (Serverless) to Oracle Cloud / Maven Guide Does Not Work OOTB

Expected Behavior
Following the steps in https://guides.micronaut.io/latest/micronaut-oracle-function-maven-java.html should work as described.
Actual Behaviour
Following guide doesn't produce a working OCI Function.
Steps To Reproduce
Following the steps in the guide I've generated a sample Function Application for Serverless using the Micronaut Launch. The build pipeline takes care of the docker login and uses the following command to build & push the docker image to OCIR:
chmod 777 ./mvnw
./mvnw install -am -DskipTests
./mvnw deploy -Dpackaging=docker -DskipTests

After creating & setting up an Application and Function, I've tried to invoke the function using:
oci fn function invoke --function-id <OCID> --file "-" --body ""

The function invocation fails with status 502. Inspecting the OCI-side logs, the following exception seemed relevant:
"Class 'io.micronaut.oraclecloud.function.http.HttpFunction' not found in function jar. It's likely that the 'cmd' entry in func.yaml is incorrect."

Environment Information
Using a Build Pipeline of an OCI DevOps project.
Example Application
No response
Version
4.4.3

Update after checking with @n0tl3ss: the fix for both the Java and native executable parts is adding a missing dependency to pom.xml:
<dependency>
  <groupId>io.micronaut.oraclecloud</groupId>
  <artifactId>micronaut-oraclecloud-httpclient-netty</artifactId>
  <scope>compile</scope>
</dependency>

and updating the micronaut-maven-plugin to:
<plugin>
  <groupId>io.micronaut.maven</groupId>
  <artifactId>micronaut-maven-plugin</artifactId>
  <version>4.6.1</version>
  <configuration>
    <nativeImageBuildArgs>
      <arg>-H:+StaticExecutableWithDynamicLibC</arg>
      <arg>-Dfn.handler=${function.entrypoint}</arg>
      <arg>--initialize-at-build-time=io.micronaut.core.reflect.ClassUtils</arg>
      <arg>--initialize-at-build-time=io.micronaut.core.reflect.ReflectionUtils</arg>
    </nativeImageBuildArgs>
    <appArguments>
      <arg>${function.entrypoint}</arg>
    </appArguments>
  </configuration>
</plugin>

and making sure that the file DOES NOT contain this line (the guide suggests to manually add it):
<baseImageRun>frolvlad/alpine-glibc:alpine-3.12</baseImageRun>

The function source in Function.java needs to look this way (@ReflectiveAccess used for the class):
package com.example;

import io.micronaut.core.annotation.ReflectiveAccess;
import io.micronaut.oraclecloud.core.TenancyIdProvider;
import io.micronaut.oraclecloud.function.OciFunction;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;

@Singleton
@ReflectiveAccess
public class Function extends OciFunction {
    @Inject
    TenancyIdProvider tenantIdProvider;

    public String handleRequest() {
        String tenancyId = tenantIdProvider.getTenancyId();
        return "Your tenancy is: " + tenancyId;
    }
}


update docs to reflect actual default base image

distroless.dev/static redirects to exactly the same location as cgr.dev/chainguard/static (and will indefinitely). cgr.dev has the added benefit that it has probers and oncall.
The docs change is more important; that was just plain incorrect since v0.12.0.

Codecov Report

Merging #903 (f79499b) into main (c1f4ad1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #903   +/-   ##
=======================================
  Coverage   51.34%   51.34%
=======================================
  Files          44       44
  Lines        3414     3414
=======================================
  Hits         1753     1753
  Misses       1432     1432
  Partials      229      229

Impacted Files
Coverage Δ

pkg/commands/options/build.go
71.07% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Setup wizard crashes if registry is empty

Setup wizard crashes on MethodForm if registry is empty.
Expected Behavior
The wizard should show warning and do not allow user to proceed if there is no methods in the registry.
Current Behavior
HTTP 500 and
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.11/dist-packages/sentry_sdk/integrations/django/views.py", line 90, in sentry_wrapped_callback
    return callback(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/utils/decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/formtools/wizard/views.py", line 244, in dispatch
    response = super().dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/two_factor/views/utils.py", line 169, in post
    return super().post(*args, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/formtools/wizard/views.py", line 305, in post
    return self.render_next_step(form)
  File "/usr/local/lib/python3.11/dist-packages/two_factor/views/core.py", line 529, in render_next_step
    return super().render_next_step(form, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/formtools/wizard/views.py", line 316, in render_next_step
    new_form = self.get_form(
  File "/usr/local/lib/python3.11/dist-packages/two_factor/views/core.py", line 491, in get_form
    return super().get_form(step=step, **kwargs)
  File "/usr/local/lib/python3.11/dist-packages/formtools/wizard/views.py", line 426, in get_form
    return form_class(**kwargs)
  File "/usr/local/lib/python3.11/dist-packages/two_factor/forms.py", line 26, in __init__
    method.initial = method.choices[0][0]
IndexError: list index out of range

Possible Solution
Do not allow user to proceed to the method step (gray out Next button on "welcome" step) or show message instead of method list on "method" step.
Steps to Reproduce (for bugs)

Remove all methods from registry
Go to setup wizard
Proceed to "method" step

Context
We allow administrators to select which methods are allowed. They can disable all methods. We can handle that case on our side or we can discuss and choose solution here.
Your Environment

Browser and version: N/A
Python version: 3.11.2
Django version: 3.2.25
django-otp version: 1.5.4
django-two-factor-auth version: 1.16.0
Link to your project: closed source

I feel like this is expected behaviour if all registry methods have been removed.
Maybe consider using a custom decorator, e.g.
def redirect_on_empty_registry(func):
  @wraps(func)
    def inner(request, *args, **kwargs):
      if len(registry.get_methods()) == 0:
        return redirect("somewhere-else")
      return func(request, *args, **kwargs)
  return inner

setup_view = redirect_on_empty_registry(SetupView.as_view())


Build me!

This repo is a shell at the moment.  The Readme describes what I'd like to do, now we just have to find some bandwidth to do it!
Anybody interested in getting involved?

@williamwong made some progress during the 2016 AEC Technology Hackathon --- Thanks again Will!

@bhowes-tt Yes, will continue some work on this and submit a PR soon!


Add token count and price estimation

Closes #272 #657 #128
This uses @dqbd/tiktoken, which is a WASM port of openai/tiktoken, which should be more aligned with the actual token cost. The count logic is the same as in https://tiktokenizer.vercel.app/. I'm also only importing cl100k_base, which should match GPT-3.5 and GPT-4 models
For calculation itself, I'm using BigNumber.js to avoid floating-point arithmetic shenanigans and imprecision.
https://user-images.githubusercontent.com/1443449/235177467-501f1a6a-0a0e-4ce9-a8f8-98c94aa36054.mp4

I believe the current implementation for calculating tokens in the GPT-4 API may not accurately account for token usage, as it should consider the entirety of the chat history for each subsequent user prompt. In the present approach, the displayed token cost might be significantly lower than the actual consumption.
Additionally, it's important to differentiate between the token costs for prompts and completions, as they may vary.

Hello @KarimMesallam,
the current implementation does take into account the chat history, as seen here: https://github.com/mckaywrigley/chatbot-ui/pull/664/files#diff-df165e72d8963e70352e718d811658cbb15cdab68cd286708371a39867174347R40, as well as the system prompt.
This PR does not really address tracking of the completion costs, only the prompting cost. General usage tracking of costs is definitely a good idea for a new PR though 😄

yeah can someone make it calcualte both?

How would you ideally implement client-side counting for tracking the cost of completion?


upgrade deps

I couldn't do the https://github.com/cohere-ai/cohere-typescript/issues upgrade since I was getting this error:
❯ yarn build
yarn run v1.22.19
$ tsc
node_modules/cohere-ai/Client.d.ts:7:24 - error TS2307: Cannot find module 'core/streaming-fetcher/StreamingFetcher' or its corresponding type declarations.

7 import { Stream } from "core/streaming-fetcher/StreamingFetcher";
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Found 1 error in node_modules/cohere-ai/Client.d.ts:7

Merging despite test timeouts.


fix: remove old data

Context
Issue: #91
Changes proposed in this pull request

Add an action to remove old data from the store so it's doesn't affect the result in the capacity and quote engines
Convert type in the events from BigNumber to number for poolId

Test plan

Add synchronizer tests that also include the test for the fix

Checklist

[x] Rebased the base branch
[x] Attached corresponding Github issue
[x] Prefixed the name with the type of change (i.e. feat, chore, test)
[x] Performed a self-review of my own code
[x] Followed the style guidelines of this project
[ ] Made corresponding changes to the documentation
[x] Didn't generate new warnings
[x] Didn't generate failures on existing tests
[x] Added tests that prove my fix is effective or that my feature works

Review
When reviewing a PR, please indicate intention in comments using the following emojis:

:cake: = Nice to have but not essential.
:bulb: = Suggestion or a comment based on personal opinion
:hammer: = I believe this should be changed.
:thinking: = I don’t understand something, do you mind giving me more context?
:rocket: = Feedback

Can you also fill in the Context section explaining what the bug is?


JS/CSS files not loaded on JBoss

Hello,
I have installed Sling 7 webapp on JBoss EAP 6.4.0
I've deployed Composum 1.3.0 but when I go to this page: http://<IP_ADDRESS>:8080/sling/bin/browser.html
I see only HTML elements (forms), but JS and CSS files are not loaded. In the Sling logs I see this error:
03.12.2015 15:12:39.127 *INFO* [http-/<IP_ADDRESS>:8080-2] logs/request.log 03/Dec/2015:15:12:39 +0100 [1652] -> GET /sling/bin/browser.html HTTP/1.1 03.12.2015 15:12:39.146 *ERROR* [<IP_ADDRESS> [1449151959129] GET /sling/bin/browser.html HTTP/1.1] org.apache.sling.scripting.jsp.jasper.runtime.JspFactoryImpl Exception initializing page context java.lang.IllegalStateException: JBWEB000043: Cannot create a session after the response has been committed 	at org.apache.catalina.connector.Request.doGetSession(Request.java:2649) 	at org.apache.catalina.connector.Request.getSession(Request.java:2382) 	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:791) 	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:801)
How can I fix this issue? I've tried version 1.3.1 but it doesn't start because of a wrong bundle version:
missing requirement [121.1] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0)))
Thank you

The new Bugfix Release 1.3.2 should solve the bundle version problem. The other problem is mostly a result of insufficient permissions of the current user (of the anonymous user); to handle this a check is added and delivered with release 1.3.2 which displays a simple login form if the initialization is not done properly. To use the console app read access to the paths '/libs/composum' and '/libs/jslibs' is needed.

@glucazeau Are the changes with release 1.3.2 solving your problem or is there anything open?

Hello,
Sorry I've tested quickly and didn't respond immediately.
No it doesn't seem to solve my problem. First, the login form action is "/j_security_check" so it's missing the context name.
I've edited the source to add "/sling" and when submitting the form with admin credentials (default from Sling install) I'm redirected to "http://localhost:8080/sling/index.html/" with a 403 error. If I go to browser.html again I briefly see the page without assets and then I'm redirected to the login form, displaying:
Console assets not accessible...
Current User: admin
Do I have to manually edit ACLs or should the admin user work already?

I also realize that using the Sling standalone launchpad I can log in and use Composum as an anonymous user. The problem only occurs with JBoss.

I think we have a general gap in our implementation - wie don't support a context path. In the JBoss context such a context path is essential and wo must solve this problem but it's a bigger change with some test effort and we take a little bit of time to do that, sorry.

Thank you for working on this issue, Composum is a very nice tool that I'd like to be able to use in JBoss. No need to be sorry about the time required to implement the changes. Unfortunately I'm too new to Sling to be able to really help I think.

@glucazeau This issue should be solved with release 1.3.3, can you recheck this?

Hello,
I was actually testing, it works well, I can access everything, anonymous or not, I don't see any issue.
Thank you very much for the quick fix, I'm very glad to have Composum on our JBoss environment :thumbsup:


the app didn't work and showed two errors

I gave full access to the Google Chrome software in the security settings, but it still didn't work. What should I do to solve the problem?
Please help me.
I put two screanshots about them here:

Dear @MGSAMANI
I don't have time to keep maintaining this project without your contribution
Please feel free to open PR


Fix deferred for loading user-specified UIs

In UIManager, pass self._load_ui into deferred as function object instead of calling immediately

Thanks for catching this. Bugs like this are one reason why a good test suite is important.


ffs: add Replace and Remove APIs

Updates to go-ipfs:v0.5.0-rc2
Closes #245
Closes #183
Merged ffs/grpc and ffs/pb into ffs/rpc
Updated design doc with new APIs

👁


Fix link in examples (laser pointer setup for 3DOF controllers)

Currently, the link points to a non-existent page, I guess the correct one is this one.
I have run npm run test:machinima, and this patch passes all machinima tests: no
(but I guess that shouldn't be a problem, since this is only a change to an HTML page)

Thanks, I fixed up the examples links in #176


Added: Pick a random variant per trial for the CongoSameDiff Experiment

This PR adds the following things to the CongoSameDiff experiment rule set:

Pick a random variant per trial based on the group number
Improve validation logic, mention all errors when playlist is invalid instead of just the first one it encounters

Data structure / CSV format
It requires the playlist to have the following format:

Name: Will be used for the result_key, so it can be whatever you think is convenient.
Group: Will be used as the trial number from which a random variant will be picked. If you have 3 variants that you want to use as the first experiment trial, you should have three stimuli in group 1.
Tag: Will be used to mark a trial as a practice trial.

Example data

Name
Group
Tag

Rhythm_Practice_Same
1
practice

Rhythm_Practice_Diff
2
practice

Rhythm_1_Same
1

Rhythm_1_Diff_100
1

Rhythm_1_Diff_50
1

Rhythm_2_Same
2

Rhythm_2_Diff_100
2

Rhythm_2_Diff_50
2

Possible conversion to factorial design
If we do decide to start using factorial design, we could then easily update this structure by using the variant number or letter in the tag column:
Example of factorial design data structure

Name
Group
Tag

Rhythm_Practice_Same
1
practice

Rhythm_Practice_Diff
2
practice

Rhythm_1_Same
1
1

Rhythm_1_Diff_100
1
2

Rhythm_1_Diff_50
1
2

Rhythm_2_Same
2
1

Rhythm_2_Diff_100
2
2

Rhythm_2_Diff_50
2
3

Resolves #919

@BeritJanssen I've merged it so that @Lia-JX-Li can start testing it already. Any feedback on the changes I can address in a 2nd PR :-)


IV Functionality for Pal Calc

Based on the following chain of Reddit comments:
TheIdget
This is a really cool app. I imagine it'd take a lot of work, but it'd be cool to one day see this also factor in IVs.
tylercamp
I’d like to add that but I’m not sure how it should factor in to the overall calculation.
Maybe it should just show the max possible IVs for the final child along with each breeding result in the results list on the right, and allow you to sort by that? Doesn’t directly solve the problem but would definitely help
TheIdget
I've thought about this for a bit now and think I have a couple ideas, since I don't think there's a singular great solution to this:
(1)     Regardless of anything else, I do think that IVs should act as a tiebreaker when there are multiple otherwise equally-valid shortest chains.
(2)     Add a parameter to set minimum parent IVs for reaching your desired Pal, along with a warning that high values may lead to overly long chains or have no possible solutions.
(3)     Add the option to breed for IVs instead of passive skills. You could still include preferred skills (to work as a tiebreaker), but the focus is getting highest IVs.
(4)     While the other 3 could work in tandem, this is a separate idea entirely that's a bit more abstract: Add a checkbox called "Prioritize IVs" that also unlocks some sliders (or just a singular one) that determines how much weight is put on the IV preference (vs passive skills etc.). This seems like the most challenging sort of path to take but could have some elegant results if done right.
tylercamp
(1) is currently already applied when it comes to picking between multiple options for a specific owned pal, but I don’t think it’s done as a tie-breaker for equivalent paths, that would be worth adding
(2) would be pretty straightforward to add
(3) could be done indirectly as a combination of (1), (2), leaving required passives empty, the ability to sort by max IV at the end of breeding, and a minimum required value for the max possible IV on a child at the end of breeding
(4) is tough to do “right” since it’s arbitrary weighting, but the code is already set up to reduce the list of results based on different parameters like num wild pals, breeding time, etc., so another filter could be added to that for IVs.
The relevance for (4) is that I was considering exposing this as a reorderable list so you could influence that pruning process. It would be a bit more complex to work with than simple sliders, but would be more straightforward to understand than some abstract and arbitrary sliders
I suggest opening a new issue on GitHub and copy/pasting or linking the convo here https://github.com/tylercamp/palcalc/issues
The pruning steps I’d be exposing in UI can be seen here near the end of the file: https://github.com/tylercamp/palcalc/blob/main/PalCalc.Solver/ResultPruning/PruningRulesBuilder.cs
Each step takes the list and either reorders it or reduces it to a smaller list, and the steps are ran in order. If we put an “IV pruning” step at the top of the list that would force the system to prioritize IVs over the other methods

When I wrote this I was under the impression that each IV is inherited with some random modifier on the parents IVs, e.g. child HP = (P1.Atk * 0.3 + P2.Atk * 0.3 + Rand(), but this suggests that each IV is either inherited directly from either parent or is set to a completely random value: https://game8.co/games/Palworld/archives/444315

Based on our testing, it appears at least one IV will always be inherited from one of the parents. The guaranteed stat is random, and there doesn't seem to be a way to influence which parent the IV will pass down from.

and

We found that the child Pals can inherit the other stats in addition to the guaranteed stat. There's around a 30% chance of inheriting an IV from a specific parent and around a 40% chance for the IV to be random. This means child Pals can get all their IVs solely from the parents.

So it seems that for each IV in a parent there is a 30% chance for the child to inherit that IV from that parent. I wish they published their stats on exactly how many IVs were directly inherited from the parents on each attempt, rather than combining all the counts together, so we could get stats on how frequently up to N traits are inherited directly from the parents. Similarly, since the 30% inheritance chance is affected by the "guaranteed 1 inherited IV" behavior, I'm not sure what the final probabilities should be for inheritance.

Marking this as "On Hold" until we can get more detailed info on IV inheritance stats.

In the meantime I've done some thinking on how the probability calc will be done, assuming:

IV inheritance probability is 50/25/25 for 1/2/3 IVs inherited, respectively
The probability of inheriting a given IV from a specific parent is 50/50, regardless of prior results (if this wasn't the case, I suspect we'd find that children never inherit 3 IVs all from the same parent)
Parents which have the same value for a given IV make it more likely for that IV to be inherited, and does not affect the probability of other IVs being inherited (unlike passive skill inheritance which combines + deduplicates the parent passives pool)

We have a modifier table for desired vs. actual inherited IV probabilities based on combinations:

1 Desired
2 Desired
3 Desired

1 inherited
1/3
0
0

2 inherited
2/3
1/3
0

3 inherited
1
1
1

(e.g. if we inherit 2 and we want 1 specific IV, 2/3 chance of getting what we want)
With the 50/25/25 probabilities:

1 Desired
2 Desired
3 Desired

1 inherited
50% * (1/3) = 16.7%
0%
0%

2 inherited
25% * (2/3) = 16.7%
25% * (1/3) = 8.3%
0%

3 inherited
25%
25%
25%

… this is the final probability table of getting any specific breeding outcome. e.g. for inheriting exactly two IVs, where one of those is any IV of our choosing, there’s a 16.7% chance of exactly that outcome. We'll also need to apply the probability of picking a parent which has a satisfactory IV.
If we have:

HP
ATK
DEF

Parent A
90
1
90

Parent B
1
90
90

… and a req. of at least 90 for some desired IV:

Desired
1 inherited
2 inherited
3 inherited
Total

[HP]
16.7% x (1/2) = 8.3%
16.7% x (1/2) = 8.3%
25% x (1/2) = 12.5%
29.2%

[ATK]
16.7% x (1/2) = 8.3%
16.7% x (1/2) = 8.3%
25% x (1/2) = 12.5%
29.2%

[DEF]
16.7% x (2/2) = 16.7%
16.7% x (2/2) = 16.7%
25% x (2/2) = 25%
58.3%

[HP, ATK]
0
8.3% x (1/2) x (1/2) = 2.1%
25% x (1/2) x (1/2) = 6.3%
8.3%

[HP, DEF]
0
8.3% x (1/2) x (2/2) = 4.2%
25% x (1/2) x (2/2) = 12.5%
16.7%

[ATK, DEF]
0
8.3% x (1/2) x (2/2) = 4.2%
25% x (1/2) x (2/2) = 12.5%
16.7%

All
0
0
25% x (1/2) x (1/2) x (2/2) = 6.3%
6.3%

… this tells us that, for this specific example:

If we only care about the 90 HP IV, we have a 29.2% chance of getting it in general.
If we only want the 90 DEF IV, we have a 58.3% chance of getting it in general.
If we want the 90 ATK and DEF IVs, we have a 16.7% chance of getting it in general.
If we want 90 for all IVs, there’s a 6.3% chance of that result.
... etc.

IV solving was added with #64 and will be released in v1.10.0


refactor: Playground items now don't load studio in iframes

Greatly improves the load time of the playground

https://user-images.githubusercontent.com/2925395/183131403-927f8e2e-576d-44b5-9f0f-caa087aed16a.mp4

Squash and merge is good


Integrated code lifecycle: Improve clean up of temp folders in build agents

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) and too complex database calls.
[x] I strictly followed the principle of data economy for all database calls.
[x] I strictly followed the server coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I documented the Java code using JavaDoc style.

Changes affecting Programming Exercises

[x] High priority: I tested all changes and their related features with all corresponding user types on a test server configured with the integrated lifecycle setup (LocalVC and LocalCI).

Motivation and Context

We want to add a task that cleans up temporary directories used by the build agent. This task needs to run async. (The directories in question are the repos cloned by the build agent).
Additionally, if the deletion of the cloned repo fails after the building process, we don't want the build to fail but simply log the event. The repo can be deleted at the next start-up.
Steps for Testing

Prerequisites:

1 Instructor
1 Student
Server with ICL (TS1-4)

Create a new programming exercise
Make sure that the template and solution build plans pass normally (template 0% and solution 100%)
Submit as a student, make sure that behavior is unchanged and is as expected

OPTIONAL TESTING (locally)
Prerequisites:

Make sure that the deletion process fails. In BuildJobExecutionService.java, throw an EntityNotFoundException before reaching this line buildJobGitService.deleteLocalRepository(repository); (line 549 in this branch)
Comment out line 331 deleteRepoParentFolder(assignmentRepoCommitHash, assignmentRepositoryPath, testRepoCommitHash, testsRepositoryPath); (comment out the whole try-catch block to make the code compile)
Run this branch locally (with ICL setup)

Make a few submissions
In the java console, check that the build agent logged the deletion error. Make sure that the build succeeded despite the deletion error (you should see 0% and not 0%, build failed in the job result)
Make sure that there are some folders under checked-out-repos (can be found in the repository root level)
Restart the server
Make sure that those folders were deleted

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance even for very large courses with more than 2000 students.
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance even for very large courses with more than 2000 students.

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Performance Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Summary by CodeRabbit

New Features

Introduced an asynchronous cleanup process for temporary directories, enhancing resource management.

Bug Fixes

Improved error handling during repository deletion, allowing the cleanup process to continue smoothly without interruptions.

@magaupp Thnx for the review. We don't want the task to be run regularly since temp folders should usually be deleted when a build job finishes. This is just to cover edge cases when the deletion fails for some reason

@magaupp Thnx for the review. We don't want the task to be run regularly since temp folders should usually be deleted when a build job finishes. This is just to cover edge cases when the deletion fails for some reason

Ok, then. But I still don't see what the time check should achieve.

@magaupp My thinking was in case the async task takes a bit long to be scheduled and executed, where the agent had enough time to start processing a buildJob. But I think you are right adding a small retention period could be beneficial


Bring over Python 3.x minor version packages from Jack's repository

Description
This PR moves Python 3.x minor version packages from my repository as this has been suggested during a review of those on the Chocolatey Community Repository.
So far, I've only copied over the packages and updated it according to this repository's guidelines as I haven't yet been informed what I have to do to get it accepted here.
Some open questions:

When uploading these packages, I was also aiming to create a python3.9 package but as it later turned out, the name is already taken, sort of. There's actually not a single version of the package listed as the only uploaded version was fully rejected by the automatic review process yesterday. Should I be pursuing this package name through some process or is this something that you can take care of?
Looking at the current python3 Chocolatey package, I imagine I would have to add support for things that this package supports and that my package currently don't such as:

package parameters that python3 package supports
installation location folder lockdown
Maybe something else?

Should I put contents of update.ps1 scripts in some common location to avoid duplication or do I not need to concern myself with that?
The packages are currently in review so it is still possible to update them. Do I need to do anything special so that these packages get pushed with the same version number when you merge this PR or is it something that you would take care of?

Motivation and Context
It's been suggested to me by @gep13 to move my packages for Python 3.x minor versions in their review:
https://community.chocolatey.org/packages/python3.7/3.7.9#versionhistory
My words on why I think it is necessary to have a package per each minor version of Python can be found there as well.
How Has this Been Tested?
Tested using packages generated with $au_Force = $au_WhatIf = $true; ./update.ps1 in the package folder and then tested locally (installation, uninstallation, running some simple code in installed Python's REPL, verifying that created shims work) in chocolatey-test-environment. The AU scripts have also been run in AppVeyor's Windows environment which is where the currently reviewed versions of packages were uploaded from.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[x] My change requires a change to documentation (this usually means the notes in the description of a package).
[x] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[x] I have updated the package description and it is less than 4000 characters.
[x] All files are up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[ ] The changes only affect a single package (not including meta package).

Original Location

Original Repository
No Open Issues

This is a brand new package currently in review so there are no open issues.

[ ] Include the link to the opened PR that removes the package from the original location

Haven't made one yet, it sort of feels a bit early considering that this has only really been talked about in the Chocolatey package review.

[x] The migration guidelines have been followed

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

Seems like CI is mistakenly treating generated packages as versions of python3 rather than versions of respective python3.x packages which makes it fail due to trying to install a x.3.x.y.z version of python3 package rather than 3.x.y.z version of python3.x package.

Looking at the code, this is a very good start for this.
While there is nothing in the code itself that is wrong, there is a lot of duplication with more or less the exact same code.
I think this is a very good candidate to be part of streams, instead of having a distinct package for every versions (the id of the package can be changed by setting PackageName in the return hashtable).
Would this be something you would be able to change?
If not, we can get this merged into a temporary branch until we have completed that work.
With the naming of the packages though, we should avoid using dots in the package name, and in my opinion it would be better if the package name would be python36, python37, etc.
Thoughts on this @JPRuskin @pauby

I'll try switching it to streams soon, maybe later today or tomorrow.
I'll keep the package names as is until agreement on that is reaches if that's okay.

I'll try switching it to streams soon, maybe later today or tomorrow.
I'll keep the package names as is until agreement on that is reaches if that's okay.

Sure thing, keep the names as it is for now. When we decide which names to use, and if it is updated to use streams, it will be quite easy to change them later.

With the naming of the packages though, we should avoid using dots in the package name, and in my opinion it would be better if the package name would be python36, python37, etc.

I would agree. A dot should only be used if it matches one of the known package types (.extension, .powershell, .portable, .install, etc.).

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

With the naming of the packages though, we should avoid using dots in the package name, and in my opinion it would be better if the package name would be python36, python37, etc.

At the moment, the current exceptions to not having dots in the name are these:

To add a postfix to signify that a package is a specific type, like .install, .extension, etc.
If the software name itself contains a dot, the example given is paint.net
For when the package ID contains a major+minor version. Examples are netfx-4.8,dotnet-3.1-runtime, and lots of other dotnet packages.

Given that python3.minorversion fits the last case, I'm personally fine with having the dot to seperate the major and minor version.
I generally would prefer to have the dot, because then it differentiates what is the major version part and what is the minor version part. Say for python v3.10.x, if the package ID python310 was used, it is not clear if that is refering to python v30.0.x, or v3.10.x or even v310.0.x. The package title and/or version is often visable at the same time and allow someone to figure out the notation used (like in the CCR webpage), but sometimes may take more work to find (such as a non-verbose list/search on the CLI).
Or for another example, given the rate of dotnet releases, dotnet 11 is only a cople of years away, and once that happens, if there is a package named dotnet-11-runtime, it would not be clear if that is dotnet v11.x or dotnet v1.1.x, assuming the policy would be that major and minor versions in the package id should not be seperated by a dot.

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

I agree with TheCakeIsNaOH's reasoning and some of these reasons were why I chose to use the dot in the name. Debian-based distros use the same convention which may make it more familiar to some users though there are also distros that don't use dots for minor Python version packages (e.g. Fedora-based).
Anyhow, I've made significant progress towards moving this to streams, there are still some small changes I need to make before it's ready (notably, au is hanging on search & replace when processing a second stream, probably because of LICENSE.txt update, I'll try switching that to full overwrite of the file instead of a regex matching whole file contents) + I need to test it out in chocolatey VM to confirm that it's working as intended but most of the work on the code is done I would say. Moving this to a stream in python3 also means that the package parameters from python3 which I didn't add are now available as well. I did end up using package name without dots after moving it to streams but I will change it back if you agree that the package name with a dot is superior :)

:white_check_mark: Package verification completed without issues. PR is now pending human review

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

For when the package ID contains a major+minor version. Examples are netfx-4.8,dotnet-3.1-runtime, and lots of other dotnet packages.

And neither of those packages is maintained in this repository, we have stricter rules and a few differences when comparing against the Chocolatey Community Repository.
Do note that the netfx-* naming is primarily due to historical reasons with other versions (not sure about the dotnet packages, most likely an oversight when the initial version was pushed).
After talking about it a bit with @pauby internally, we have come to the agreement that we do not accept using a . in the name for the version as this goes against the naming style referred to in the Chocolatey Documentation (https://docs.chocolatey.org/en-us/create/create-packages#naming-your-package), that there are existing packages that violate this does not change the matter in this repository.
However, as an alternative, we can accept using dashes - to separate the major and minor versions, but not the dots.

as this goes against the naming style referred to in the Chocolatey Documentation

In response to the automated review on the chocolatey community repository, I argued that 3.8 is part of the software name but I guess it's a rather weak point. The only other point I made for this name is that the naming style in Chocolatey documentation tells you to use the same package id as popular Linux distributions if they already have a package of it and this is the package id in Debian-based distros. This is just reiterating my points from that review so I don't really expect your decision to change here.

However, as an alternative, we can accept using dashes - to separate the major and minor versions, but not the dots.

I think I would prefer to not use a separator in that case. I know this goes against TheCakeIsNaOH's argument that this is making it harder to figure out the version but I think that it's more important to use a naming scheme that will be more natural to the users. I don't think I've seen any package that would use - for version separator and there are plenty of distros that use the python3x naming scheme already which would definitely make it more natural to those people as well as make it easier to just guess the name in general in comparison to python3-x.

So unless someone wants to argue really hard for python3-x name, I think this means that there's no open question for this PR anymore and it is ready for review.

:white_check_mark: Package verification completed without issues. PR is now pending human review

The only other point I made for this name is that the naming style in Chocolatey documentation tells you to use the same package id as popular Linux distributions if they already have a package of it and this is the package id in Debian-based distros.

While it is true that the documentation says to use the same package id as popular Linux distributions, remember that Debian isn't the only popular distros.
Additionally, there are so much inconsistency between linux distros to actually honor this part of the documentation (even among popular distros).
Some distros use dot separated, others doesn't separate and several doesn't even offer major+minor packages .
All in all, the decision won't be changed.
I have noticed you updated the PR, and have it on my TODO list to do another review on this PR on Monday (unfortunately won't have time until then).

I don't think I've seen any package that would use - for version separator and there are plenty of distros that use the python3x naming scheme already which would definitely make it more natural to those people as well as make it easier to just guess the name in general in comparison to python3-x.

It is true that no other packages I am aware of uses dashes as a version separator, that suggestion was mainly given as an option while still honoring the the naming guidelines, and separating major and minor version.
To be honest though, whether a separator is used or not doesn't really matter to me, as long as the package id does not use dots in it.

All in all, the decision won't be changed.
I have noticed you updated the PR, and have it on my TODO list to do another review on this PR on Monday (unfortunately won't have time until then).

@AdmiringWorm ping in case you forgot. If you just haven't had time to look at this, ignore me :smile:

@AdmiringWorm ping in case you forgot. If you just haven't had time to look at this, ignore me 😄

I still have this PR on my TODO list, but unfortunately haven't had the time yet. I plan to look at this PR tomorrow if nothing else prevents me.

Additionally, the thought is to make the python3 package a meta package that depends on the major+minor versions of the packages.
As such, it would be best to have the streams themself as part of a different package (directory), say for instance move it to a python3-streams directory, but leave the python3 package itself as is, or source the update.ps1 file in the streams directory. (See 7zip.install and 7zip as an example.)

Alright, I'll try to work on that tomorrow. One problem related to this is that I'm not sure that Test-RepoPackage will work properly with python3x packages being generated by a package named python3-streams, i.e. see the supported cases in the "How Has This Been Tested?" section in #2015 and we'll probably have to decide how to change the logic to work with those kinds of packages as well.

Alright, I'll try to work on that tomorrow. One problem related to this is that I'm not sure that Test-RepoPackage will work properly with python3x packages being generated by a package named python3-streams, i.e. see the supported cases in the "How Has This Been Tested?" section in #2015 and we'll probably have to decide how to change the logic to work with those kinds of packages as well.

While the Test-RepoPackage may not work properly with the python3-streams, it is a known issue with the helper script as it doesn't really have a knowledge about streams at all.
However, I would say feel free to ignore any failures from that script right now. It has been on my TODO list for a few years now to get it sorted, but never had time to do it unfortunately.
Also, feel free to ignore creating the python3 meta package, that is something I would like to be pushed after we have at least one version of the python3x package approved by moderators. We also need to let people know on that package that there will be changes (for instance, passing in package arguments and install arguments won't work anymore since they will not be passed down from the meta package to the python3x packages), and recommend them to directly install the major+minor versions that they want instead.
Bottom line, if you can move to the python3-streams directory, and remove the pushing of the python3 package itself this can be considered complete.

Alright, I'll try to work on that tomorrow.

Welp, that didn't work out... I should get to this some time in the second half of this week as I'm rather busy in the first half. In the meantime, thanks for the additional clarifications, it seems clear to me what I have to do now.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:x: Package verification failed, please review the Appveyor Logs and the provided Artifacts before requesting a human reviewer to take a look.

:white_check_mark: Package verification completed without issues. PR is now pending human review

@AdmiringWorm I think I addressed everything that you requested. Commits are a bit of a mess, I can split the changes out between them better if it were to make your review easier.
I also went ahead and reverted #2015 in this PR because it causes tests for pkgname-streams packages to fail entirely and it is no longer necessary now that this PR no longer tries to use python3.x as the package naming scheme.

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

@Jackenmen your changes have been merged, thanks for your contribution 👍. Great work.
Before merging I updated the PR to move the python3 package to a meta package, and temporarily disabled python and python3 updates (until we at least have 3.11 sub version available).
Just to be sure that we don't need to change too many packages once it they gets looked at by moderators, I also limited the amount of packages that will be pushed to the first 2 versions found (at this time that is 3.12 and 3.11). That should be removed once we have the first version approved.

Looks like the replacement of python3x was done somewhat incorrectly here, PackageSourceUrl and choco install command on description are incorrect :/ I thought I checked, maybe I didn't account for something.

The open question that remains is what the package names should be, current state of this PR has python311, without a dot rather than python3.11. I personally prefer the variant with the dot.

python311 (without a dot) is a good convention because the default install directory for this minor version is also C:\Python311 .
chocolatey upgrade overwrites the directory and does not remove it. Therefore, a parallel installation of several minor versions is possible and can only be prevented manually (cuninst and cinst again instead of cup). With own package names for minor versions this becomes more obvious.


Cookies not saved after redirect (v5.0.0.pre3)

I'm using the version v5.0.0.pre3 cause I need the request information in the response.
There is a problem in an api which uses redirects. After the 301redirect, the request does not contain the cookie information.
My Workaround is to make a Request without following the redirect, save the cookie and do it again with the cookie, but in my mind this should work automatically.

Dup of #264.
Support for this landed in #613. In order to use it for now, you'll need to use the gem via git as #613 has not made it into any release yet.

@tarcieri thank you for the info and sorry for the dup.
I thought v5.0.0.pre3 is the newest version.
No I can decide, if I want to have the request stored in the response, or having a working cookie handling.
I need both, so I might not be able to switch the project from HTTParty to this nice gem...
Do you plan to create a new stable version?

We should definitely do another release soon, unfortunately we recently had a regression in the test suite (#627) which should get fixed before we do that.

Sorry was super off lately. Getting back to development slowly, so stay tuned and good things will be happening soon... :D

Hi @ixti @tarcieri is there a timeplan for releasing the new version? :)

Hi @ixti @tarcieri is there a timeplan for releasing the new version? :)

We should probably open a 5.0.0 release tracking issue / milestone. In the meantime we should probably do another prerelease.
There are some showstopper issues (#627) preventing another release, and notably issues surrounding the parser (#604, #622, #630, #639) which it would be great to have addressed before a final release.

We should probably open a 5.0.0 release tracking issue / milestone. In the meantime we should probably do another prerelease.
There are some showstopper issues (#627) preventing another release, and notably issues surrounding the parser (#604, #622, #630, #639) which it would be great to have addressed before a final release.


RUM-7332: Add instrumented test for Compose Session Replay

What does this PR do?
Add instrumented test for Compose Session Replay
Motivation
RUM-7332
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 69.97%. Comparing base (f61a42c) to head (e07743a).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2469      +/-   ##
===========================================
+ Coverage    69.95%   69.97%   +0.02%
===========================================
  Files          786      786
  Lines        29298    29298
  Branches      4889     4889
===========================================
+ Hits         20493    20500       +7
+ Misses        7439     7436       -3
+ Partials      1366     1362       -4

see 36 files with indirect coverage changes


module.this.id Error

Describe the Bug
I'm calling terraform-aws-mq-broker v3.1.0 from terragrunt and get the following error on a plan. It looks like the module.this.id has no value and fails the two tests. I read that these modules should be compatible with the terragrunt.
The main.tf line 91  seems to be the issue.
broker_name                = module.this.id
I'm not sure why the error is being thrown and assume it's related to the fact that the id is only available after the module is applied? What's the fix or what am I doing wrong in trying to use cp modules with terragrunt?
│ Error: expected length of broker_name to be in the range (1 - 50), got
│
│   with module.mq_broker.aws_mq_broker.default[0],
│   on .terraform/modules/mq_broker/main.tf line 91, in resource "aws_mq_broker" "default":
│   91:   broker_name                = module.this.id
│
╵
╷
│ Error: expected value of broker_name to match regular expression "^[0-9A-Za-z_-]+$", got
│
│   with module.mq_broker.aws_mq_broker.default[0],
│   on .terraform/modules/mq_broker/main.tf line 91, in resource "aws_mq_broker" "default":
│   91:   broker_name                = module.this.id
│
╵
Releasing state lock. This may take a few moments...
ERRO[0055] Terraform invocation failed in /app/infrastructure-live/dev/ca-central-1/dev/messaging/rabbitmq/.terragrunt-cache/DzpSoeycWeukzz45-SRvPTXf7Qw/aYg6jvKMeoPdWBiN8E8O6YgHPKw  prefix=[dev/ca-central-1/dev/messaging/rabbitmq]
ERRO[0055] 1 error occurred:
* [/app/infrastructure-live/dev/ca-central-1/dev/messaging/rabbitmq/.terragrunt-cache/DzpSoeycWeukzz45-SRvPTXf7Qw/aYg6jvKMeoPdWBiN8E8O6YgHPKw] exit status 1
Expected Behavior
Module applies without error
Steps to Reproduce
Use the module with terragrunt version v0.48.3 based on the examples/complete.
Screenshots
No response
Environment
terragrunt version v0.48.3
Terraform v1.5.4
on linux_amd64
Additional Context
No response

^--- this is still an issue with Terragrunt.

^--- this is still an issue with Terragrunt now, using terragrunt 0.67.5


Picking problems in 2D when tracking an entity

Here's a combination of our Sandcastle Picking + CZML demos:
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.dataSources.add(Cesium.CzmlDataSource.load('../../SampleData/simple.czml'));

var scene = viewer.scene;
var entity = viewer.entities.add({ label: { show: false }});

// Mouse over the globe to see the cartographic position
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(movement) {
    var cartesian = viewer.camera.pickEllipsoid(movement.endPosition, scene.globe.ellipsoid);
    if (cartesian) {
        var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
        var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(2);
        var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(2);

        entity.position = cartesian;
        entity.label.show = true;
        entity.label.text = '(' + longitudeString + ', ' + latitudeString + ')';
    } else {
        entity.label.show = false;
    }
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

The picking appears to work fine in 3D and Columbus View, and works in 2D as long as you're not tracking a CZML Entity.  If you're tracking in 2D however, picking has an unexplained offset, large enough that you have to zoom out to most of the map to see the spot picked.
via StackOverflow.

possibly related to #3247?

Also reported here: https://groups.google.com/forum/?hl=en#!topic/cesium-dev/pp-vskchuVY

Did anyone fixed this?

Related bug found here - https://github.com/CesiumGS/cesium/issues/9916.

hello, I am still seeing this using the following code:
viewer.scene.canvas.addEventListener('mousemove', function (e) {
var ellipsoid = viewer.scene.globe.ellipsoid;
// Mouse over to get lat/lng
var cartesian = viewer.camera.pickEllipsoid(new Cesium.Cartesian3(e.clientX, e.clientY), ellipsoid);
if (cartesian) {
var cartographic = ellipsoid.cartesianToCartographic(cartesian);
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);
document.getElementById("latLngDisplay").innerHTML = 'Lat,Lng: ' + longitudeString + ', ' + latitudeString;
}
});
is there a workaround?

Hi @timeichfeld-msa, there hasn't been any activity on this item recently.
If you'd like to add more information about your use case, that may help us prioritize. If you are interesting in contributing, please let us know and we'd be happy to discuss implementation or review a PR. Thanks!

Hi ggetz.  I just put together a sandcastle item to explain the problem I am seeing.
Please have a look at:
https://sandcastle.cesium.com/#c=nVZrT+M4FP0rV/1CMlOcMgzLbKFomVK0SIUiWvalSCs3cVprXLtjO0BnNf99r+O8ChTtLB9K6tzHOec+3OhdLGfMWLjVKmHG9GMZywMSwko9MLBLhg+5YUC1ymVaHMxFzsB8zalmBGK5D1JZbzqmtgtjuegDl8VBvl4zDYJlFhKlJdNkh71mNFW5xVNqIVNCqEfTZEevDwjJMMES+xwDzDeQCJ584XIBSgK3aH6I5lbT5Mub1u5dQldMU+CJc/WoU27Wgm5grp4w1EcM9U2pFTh8FAS3VjhER/9ZJCfp3ej8YnI/g9HTGjmwFBmbXFiU21lX9HfJBmapcpEWdoWFQOWE45u10q+V4ZYruZXwPLE5FXD3o+lQf4qGmIgjR6ES6kJDplGJXrfnUlxP7qcjeMFsK5VHViUsabjwJY05E0Dn2zJWPOCR22WbbpP0djK9ml1Nbl6lt52Tm6qgiI369gmQQdjkCf6q6msVPHD2iLp6YRNFcTZQ5fNM84SS0EF4F7nPWGLL4Etnj5INQKLfkBmer8hvxVkQd5Li+1BJSzkKG3e6/8QSwCRMsmuVsn7lMa1OyHQ4uhl9uOjG8nt44tJEUUkllj4XYdIicGYITdOgCAjA0z7sFczvvPVe178oNO5Daeb+nPx9yKgwrNucsg2bZJlhtt9mMqTa4hOVh6gZHPXwY/+g1+uF3vF7jfKBaihwbVCKN3DWovdfpiCuuy7YQjNmgv3jI3L08/HxcRc+9kjv8NOnw7CEi4MJW4xSvmLSYFQDu9A70ATRt/6TXtjiv6KWaY691ABTQmkynNzdXI4nv4/uPo/vRyXt0k/i8uhD3GlNe9xpJPEq+A1DMrGZqcD7taHj8uWyGK7/oYjn45jU9fC56+xFqyEGLFBRh9EDVmXMjcVjHfiOcWtsrwtZLhM/Dyx0EH3IKJpNLiZ9uC2X5uOSSaCyKjaOV7FocbjKdVJu1A1nIjV4iDtFu73tN57xUd9slwWznzdXabDdz45Y7SoEXxvF08bbE10INWekfn3SsIDrYi0gVV3ALCzdwBvGStzaqoWm6yVPmjZtciZVVZqcZWnXKM2oShm83n9YA8GR4R9dqB7/DLsNkYodzyCoM4XtTqkw1BgHjTepXWZq2LJphTrZjiSUXHCbp2xqtSvroMJ8Te2SWFU1XTsjqZ1CtLjkTywNfnoRGHv5h+OWPjvCRtHNZDbqw6XS1ZVhn90VrT1WdBWpCzhoCnfywqqIRor7aIB9nLNdJhmu8L+N3QiGhgcfdplZ9mTRYM/9sil+2OzB++eKvAecteJ8uwTPdPTj4or8PEHLMFVJjqvPupEZCeYei8mJO9Wd0QkJlzjqv86ux28E84u80+2cFiTPqhS/8NVaaQu5FgEhkWUrvElRzWie48xbkhjjKnUatd1OU/6AF9LglfsPf3xRY/BNlgsx5d9wX56dRmj/wlUomqIqE5xXvLud2fLgbOwPCSGnEX593dMqJeYUk9Usmne1LNu+5bP/9i8

here is the javascript code:
/*
Test Process:
1.) move the mouse around the blue square.

note the Lat, Lng: in the upper left corner.
note the Lat, Lng: readout that follows the mouse.
2.) select the blue square by clicking on it.
3.) track the blue square by clicking the camera icon in the display box.
4.) zoom out a little.
5.) move the mouse around the blue square.

READOUT Expected result:
the readout in the upper left corner should read the lat,lng of the mouse position.
READOUT Actual Result:
the readout in the upper left corner shows a relative location from 0,0
MOUSE READOUT Expected Result:
the mouse readout should show the label above the mouse position with the lat,lng
MOUSE POSITION Actual Result:
the mouse readout is displayed at the (0,0) position (Zoom out to view off the coast of Africa.)
*/
const viewer = new Cesium.Viewer("cesiumContainer",{
sceneMode: Cesium.SceneMode.SCENE2D,
});
//readout
viewer.entities.add({
id: 'mouseReadout',
label: {
show: false,
eyeOffset: new Cesium.Cartesian3(0, 500, -1000)
}
});
var entity = viewer.entities.add({
position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
box : {
dimensions : new Cesium.Cartesian3(1000.0, 1000.0, 100.0),
material : Cesium.Color.CORNFLOWERBLUE
},
name: "blue square"
});
viewer.camera.flyTo(
{
destination: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 10000.0)
}
);
viewer.scene.canvas.addEventListener('mousemove', function (e) {
//TODO: Picking when an entity is tracked in the camera yields incorrect results
var entity = viewer.entities.getById('mouseReadout');
var ellipsoid = viewer.scene.globe.ellipsoid;

// Mouse over the globe to see the cartographic position
var cartesian = viewer.camera.pickEllipsoid(new Cesium.Cartesian3(e.clientX, e.clientY), ellipsoid);
if (cartesian) {
    var cartographic = ellipsoid.cartesianToCartographic(cartesian);
    var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6);
    var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);
    //NOTE: For label at mouse position
    entity.position = cartesian;
    entity.label.show = true;
    entity.label.font_style = 12;
    entity.label.text = 'Lat,Lng: ' + latitudeString + ', ' + longitudeString;
    var result = entity.label.text;
    document.getElementById("readout").innerHTML = entity.label.text;
}

});
Here is the css/html:

Loading...

Thanks much :)

@ggetz
Hi Gabby, what kind of contribution is needed, do you mean financial or code development? Please let me know how to proceed.
Thanks much,
-Timothy

@timeichfeld-msa I was referring to code contributions. But we do consider service work for roadmap-aligned services. For that, email<EMAIL_ADDRESS>

@ggetz
Hi Gabby, Understood :)  Thank you for the clarification.
We are just beginning to explore the CesiumJS API to satisy our use-cases and requirements. As we are still in learning mode, I think it would be premature for us to contribute good workable code that would help make Cesium better. We are just not up to speed with Cesium internal design, dependencies and requirements to be efficient with both our development investigation and in helping make Cesium better.
What I am able to do now is investigate our use-cases and look to the Cesium Team for API guidance and advice on resolving issues that we may encounter.  Please let me know how to proceed.
Thanks much,
-Timothy


Added Styles

Added elements and basic styling. Also reworked some of @hollyschinsky's content.

Looks good to me! BrowserSync looks bad ass :)
I'd prefer to see the package.json dependencies pinned to a specific version or at least consistently using the same range syntax, but that's minor.

Yeah, that's just what the docpad install command did. We can change it.


Add API for non-interactive use

I'm currently inferring dozens of tree sequences in a pipeline. It would be very useful to be able to add tsqc to the end of the pipeline, with it producing pngs of the key views.
I imagine a few python functions one could call, or a CLI command that produces a folder of images.

I've looked into this and it seems straight forward, at long as selenium is installed, which is an optional dependency of panel.

Was resolved in #160


WebpackError: ReferenceError: window is not defined

Bug screenshot

Plugin version
$ yarn list gatsby-plugin-react-leaflet
yarn list v1.15.2
warning Filtering by arguments is deprecated. Please use the pattern option instead.
└─<EMAIL_ADDRESS>Done in 0.70s.

Code to reproduce bug:
git clone https://gitlab.com/ian-s-mcb/gatsby-leaflet-bug-2.git
cd  gatsby-leaflet-bug-2
git checkout -b broken ed18e68
yarn build

Workaround:

Use node require() instead of import for react-leaflet library
Example code: git checkout -b workaround 68e8359

It's probably worth pointing that this bug occurs upstream (https://github.com/PaulLeCam/react-leaflet/issues/495) and the maintainers have chosen not to support Server Side Rendering (SSR).

@ian-s-mcb try updating to the latest version, this should work now. The package takes care of the SSR by not loading the libraries during the rendering.

@dweirich That fixed it. Excellent. Thanks!


No data retention charges till 90 days for Activity log data stored in a Log Analytics workspace.

Hello I'm a billing support engineer. This doc states that "No data retention charges till 90 days for Activity log data stored in a Log Analytics workspace." under the "Send to Log Analytics workspace."
However, the pricing page says, it's free up to 31 days.
Data Retention
Every GB of data ingested into your Azure Monitor Log Analytics workspace can be retained at no charge for up to first 31 days. Data retained beyond first 31 days will be charged per the data retention prices listed below.
https://azure.microsoft.com/en-us/pricing/details/monitor/
I assume 90 days are only for Azure Sentinel, as it states in the pricing page, under the retention price.
"2For Azure Sentinel enabled workspaces the data is retained for free for 90 days."
If the above assumption is correct, could you please clarify in this doc that 90 days-free is only for the sentinel, otherwise it contradicts with the pricing page and pricing calculator?
Thank you
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f3675fdf-bb64-d92d-3d3c-b4b3aa0dd0d2
Version Independent ID: ab6754aa-a227-3c9c-6e99-d89ddfa25c78
Content: Azure Activity log - Azure Monitor
Content Source: articles/azure-monitor/platform/activity-log.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

@v-sashig Thanks for your comment. We will review the issue and get back to you shortly.

@v-sashig  There will be no data retention charges till 90 days for Activity log data stored in LA. Same information has been documented in Azure Pricing Page. For your reference, adding the snapshot.

Hope this clarifies your question.

@v-sashig As there are no further documentation changes, we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.


[WIP] feat(Animation): add logic for mount/remove children

This PR adds the option on the Animation component, to wait with the mounting of the component until it is visible, as well as remove the dom element if the element is hidden.
For this, the react-transition-group dependency was added, and the Transition component is used behind the scenes from the Animation component. The API exposed is partially the Transition's API.
There are example usages in the changes.
Other change is that, the Animation component is not rendering the additional div anymore, it is rendering only the children.

Fails

:no_entry_sign:
Non-approved dependencies were detected. It is necessary to obtain approvals and register them in `approvedPackages` file before merge.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

:warning:
Package (or peer) dependencies changed. Make sure you have approval before merging!

Changed dependencies are detected.
Changed dependencies in packages/react/package.json

package
before
after

react-transition-group
-
^4.3.0

Non-approved dependencies are detected.
The following package version constraints missing approved candidate:

failed constrains
approved candidates

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>there are no any approved packages

<EMAIL_ADDRESS>there are no any approved packages

  Generated by :no_entry_sign: dangerJS

Hi, just a heads up that I made a change #2153 renaming all lib folders to utils. So the changes to lib files in this PR will need to be moved to the new location.


multi-thread inferencing

Hi, I see a few threads below asking similar questions but non shows a concrete example. So here is mine:
#[test]
fn torch_parallel_load_imagenet() {
let (model_file, image_file) = ("tests/torch/model.pt", "tests/torch/image.jpg");
let model_arc = Arc::new(Mutex::new(tch::CModule::load(model_file).unwrap()));
for i in 1..10 {
    let model = model_arc.clone();
    thread::spawn(move || {
        let cur_model = &*(model.lock());
        let image = imagenet::load_image_and_resize(image_file, 224, 224).unwrap();
        let output0 = image
            .unsqueeze(0)
            .apply(cur_model)
            .softmax(
                -1,
                Float
            );
        let res0 = imagenet::top(&output0, 5)
            .iter().map(|x| x.1.to_owned()).collect::<Vec<String>>();
        print!("res:{:?}", res0);
    });
}

this is adapted from the example and I put a mutex lock on the model. It compiles but will produce segmentation fault.
Wondering why that's the case?

my bad. I was missing code to wait for the thread to complete. The segment fault is due to main exit too fast and thread not yet finished.  The correct code is:
for i in 1..10 {
let model = model_arc.clone();
let handler = thread::spawn(move || {
let cur_model = &*(model.lock());
let image = imagenet::load_image_and_resize(image_file, 224, 224).unwrap();
let output0 = image
.unsqueeze(0)
.apply(cur_model)
.softmax(
-1,
Float
);
let res0 = imagenet::top(&output0, 5)
.iter().map(|x| x.1.to_owned()).collect::<Vec>();
print!("res:{:?}", res0);
});
handler.join().unwrap();
}


Implement improvements to new address generation

Resolves #1000
With this PR the sequence based (classic) address generation is added again. This PR got rather big as a lot of files are touched. But tests and code were restored from the original version.
A first round of feedback from @webmaster128 was applied on an early version, before this branch was rebased. More is very welcome!
Modifications to the CLI for the predictable address type (instantiate2):

--salt [hex,optional]
--fix-msg [bool,optional]

wasmd tx wasm instantiate [code_id_int64] [json_encoded_init_args] --label [text] --admin [address,optional] --amount [coins,optional] --salt [hex,optional] --fix-msg [bool,optional] [flags

Modifications to the CLI for the predictable address type (instantiate2):

--salt [hex,optional]
--fix-msg [bool,optional]

I am confused of --salt optional.
It is required for instantiate2.
If I understand correctly, if not provided, it uses old algorithm. If provided, it uses new algorithm?
Just we need to document that better than "optional" (I will review cli help text)

I am confused of --salt optional.

This is because in the current implementation, no instantiate2 CLI command was created. But I think we should have instantiate and instantiate2 separately.

I updated the tests at https://gist.github.com/webmaster128/e4d401d414bd0e7e6f70482f11877fbe (https://github.com/cosmos/cosmjs/pull/1253) to the version on this PR. msg: null means fix_msg: false. A solution to the msg length problem is not yet implemented.


Add list of example projects

We have some example projects that are out-of-tree so let's add them in
README.md together with the in-tree ones.

Are we pointing to chiselstrike-examples in chiselstrike.git ?


Rework of pop calculation

Removal of static building weight from most buildings (only used for flat modifier buildings like forcelimit buildings and forts)
Addition of dev_modifier modifier to make buildings scale on development
Buff to tax and prod income effect on conversion (u can also call it a nerf to manpower)
Addition of center of trade, inland center of trade and natural harbor to converter as well as the 3 goods producing prov modifiers
For you to check :
If i added modifier dev_modifier right, I think i added it at each spot needed
Addition of these 6 checks :
hasBuilding("center_of_trade")
hasBuilding("inland_center_of_trade")
hasBuilding("natural_harbor")
hasBuilding("stora_kopparberget_modifier")
hasBuilding("cerro_rico_modifier")
hasBuilding("spice_islands_modifier")
Explanation :
dev_modifier *= (baseTax + baseProd + manpower);
dev_modifier of a prov should be multiplied by development of the prov for use in total weight calculation

I'm finally getting around to handling Pull Requests. One change: this needs to go into the EU4ToVic2 branch instead of the master branch.


MINOR helper fuctions for CMS sanity

Tidies up a few CMS things when combined with the Dashboard PR:
https://github.com/silverstripeltd/platform-dashboard/pull/362

I recommend that you use a CMS extension to modify the DNAdmin ModelAdmin, since this module should not have a coupling to other modules.
See https://docs.silverstripe.org/en/3/developer_guides/customising_the_admin_interface/how_tos/extending_an_existing_modeladmin/#extending-existing-modeladmin

Agreed - have moved most of the code out into an extension. Think the remaining two functions make sense on DNProject though.


Fix ESLint errors in Mock Hub

Part of the ongoing work for #17826.

Could you use this special eslint configuration file to lint such internal packages?

Sure can, that would have been handy earlier!

Sure can, that would have been handy earlier!


Sync: drive sync list is empty

gdrive: 2.1.0
Golang: go1.6
OS/Arch: windows/amd64

When execute  sync download  <ID> or  sync content  <ID> geting output:
F:\Pictures\Sync>gdrive sync content <MyFolderID>
Provided id is not a sync root directory

or try to get list:
F:\Pictures\Sync>gdrive sync list
Id   Name   Created

F:\Pictures\Sync>

drive:` 2.1.0
Golang: go1.6
OS/Arch: `linux/amd64

001:~$ gdrive sync download <myid> ./mydir
Starting sync...
Provided id is not a sync root `directory

Any reasons?
001:~$ gdrive sync list
Id   Name   Created
001:~$

@alanef i have the same problem.

I managed to solve this problem. before you start syncing first run the drive sync upload command to make the destination syncable then try download. if your file is already there you can use the sync upload to create a directory and transfer your files using the browser. Let me know if this helps
example
gdrive sync upload path fileid
gdrive sync download fileid path


feat(refactor): renamed file names and fixed imports accordingly and …

…changed some components to FC

#36


Paperclip s3 at rails_admin

When i use paperclip for forms at my app it does upload images to S3, but this doesnt work at the admin panel. Was this ment this way or is a bug?

Was this issue ever resolved? Currently have this issue

how do we do this... it just uploads locally

The answer is you have to format your initializer properly
Paperclip::Attachment.default_options[:storage] = :s3
Paperclip::Attachment.default_options[:s3_credentials] = {
  bucket: Settings.s3.bucket_name,
  access_key_id: Settings.s3.access_key,
  secret_access_key: Settings.s3.secret_key,
  s3_region: Settings.s3.region
}


Error parsing cores

Describe the bug
A clear and concise description of what the bug is.
Describe your setup

WebMenu Version: v0.4.1
MiSTer Version: v200602

To Reproduce
Steps to reproduce the behavior:

Go to 'http://mister'
Click on 'Scan Cores'
See error

Expected behavior
List of cores.
Resulting behavior
Json.Decode.oneOf failed in the following 2 ways:

(1) Problem with the given value:

    {
            "rbfs": null,
            "mras": [
                {
                    "path": "/media/fat/_Arcade/Alibaba 40 Thieves.mra",
                    "filename": "Alibaba 40 Thieves.mra",
                    "ctime":<PHONE_NUMBER>,
                    "lpath": [
                        "Arcade"
                    ],
                    "md5": "d41d8cd98f00b204e9800998ecf8427e",
                    "name": "Ali Baba and 40 Thieves",
                    "roms": [
                        {
                            "zip": "alibaba.zip"
                        }
                    ],
                    "roms_found": false
                },
                {
                    "path": "/media/fat/_Arcade/Alien Arena.mra",
                    "filename": "Alien Arena.mra",
                    "ctime":<PHONE_NUMBER>,
                    "lpath": [
                        "Arcade"
                    ],
                    "md5": "d41d8cd98f00b204e9800998ecf8427e",
                    "name": "Alien Arena (Stargate upgrade)",
                    "roms": [
                        {
                            "zip": "alienar.zip|alienaru.zip"
                        }
                    ],
                    "roms_found": false
                },
                {
                    "path": "/media/fat/_Arcade/Amidar.mra",
                    "filename": "Amidar.mra",
                    "ctime":<PHONE_NUMBER>,
                    "lpath": [
                        "Arcade"
                    ],
                    "md5": "d41d8cd98f00b204e9800998ecf8427e",
                    "name": "Amidar (Scramble hardware)",
                    "roms": [
                        {
                            "zip": "amidar.zip|amidars.zip"
                        }
                    ],
                    "roms_found": false
                }
            ]
        }

    Expecting null

(2) Problem with the value at json.rbfs:

        null

    Expecting a LIST

Web Browser:

OS:  Windows 10
Browser Firefox
Version 76

Additional context
It outputs that error for every mra file, I've just truncated the error so it's not too big.
Also, all my roms are located in /media/fat/games/mame and /media/fat/games/hbmame.

Hi, thank you for reporting this.
Did the error appear after an upgrade or on a fresh install?
Do you have the core files in the usual folders? (/media/fat/_Arcade, /media/fat/_Computers,...)

No, this was my first time using the script.  I was just thinkinh it's maybe looking for the zip files in the wrong spot.  Mine are in /media/fat/games/mame, but it may justy be looking in /media/fat/_Arcade/mame
My core files are in /media/fat/_Arcade/cores
My other cores are just in the root /media/fat/
I would suggest have a settings that allow us to specify the paths we are using.

This is quite strange, the scan is not finding the core files (apart from the zip files, but that is not the source of the error).
In order to fix this I have to be able to first reproduce it.  Is it something non-standard in your setup? Standard core names? Lowercase or uppercase file extensions? Standard filesystem / permissions?
Finally, could you please execute this command via SSH and paste here the output:
$ find /media/fat -iname '*.rbf'

Thank you very much.
The config file is in the roadmap, I will introduce it before v1.0.0.

Sure no problem.
/root# find /media/fat -iname '*.rbf'
/media/fat/_Arcade/cores/DonkeyKongJunior_20191013.rbf
/media/fat/_Arcade/cores/Gyruss_20200315.rbf
/media/fat/_Arcade/cores/Rygar_20200513.rbf
/media/fat/_Arcade/cores/SEGASYS1_20200108.rbf
/media/fat/_Arcade/cores/Invaders_20190220.rbf
/media/fat/_Arcade/cores/jt1942_20200508.rbf
/media/fat/_Arcade/cores/jt1943_20200508.rbf
/media/fat/_Arcade/cores/jtbiocom_20191201.rbf
/media/fat/_Arcade/cores/jtbtiger_20200508.rbf
/media/fat/_Arcade/cores/jtcommando_20200508.rbf
/media/fat/_Arcade/cores/jtgng_20200603.rbf
/media/fat/_Arcade/cores/jtf1dream_20200508.rbf
/media/fat/_Arcade/cores/jtgunsmoke_20200508.rbf
/media/fat/_Arcade/cores/jtpopeye_20191227.rbf
/media/fat/_Arcade/cores/jttora_20200508.rbf
/media/fat/_Arcade/cores/jtvulgus_20200508.rbf
/media/fat/_Arcade/cores/Asteroids_20200520.rbf
/media/fat/_Arcade/cores/AsteroidsDeluxe_20200520.rbf
/media/fat/_Arcade/cores/AtariTetris_20191229.rbf
/media/fat/_Arcade/cores/BlackWidow_20200219.rbf
/media/fat/_Arcade/cores/MCR1_20200302.rbf
/media/fat/_Arcade/cores/MCR3Scroll_20200302.rbf
/media/fat/_Arcade/cores/CanyonBomber_20200113.rbf
/media/fat/_Arcade/cores/Arkanoid_20200302.rbf
/media/fat/_Arcade/cores/BombJack_20200108.rbf
/media/fat/_Arcade/cores/BurgerTime_20200108.rbf
/media/fat/_Arcade/cores/Centipede_20191218.rbf
/media/fat/_Arcade/cores/CrazyClimber_20200108.rbf
/media/fat/_Arcade/cores/Bagman_20200126.rbf
/media/fat/_Arcade/cores/CosmicAvenger_20191218.rbf
/media/fat/_Arcade/cores/Berzerk_20200114.rbf
/media/fat/_Arcade/cores/BurningRubber_20200112.rbf
/media/fat/_Arcade/cores/ComputerSpace_20191220.rbf
/media/fat/_Arcade/cores/Dominos_20200113.rbf
/media/fat/_Arcade/cores/MCR3_20200302.rbf
/media/fat/_Arcade/cores/CrazyKong_20200109.rbf
/media/fat/_Arcade/cores/FoodFight_20200108.rbf
/media/fat/_Arcade/cores/DonkeyKong_20200108.rbf
/media/fat/_Arcade/cores/Frenzy_20200113.rbf
/media/fat/_Arcade/cores/MCR2_20200521.rbf
/media/fat/_Arcade/cores/DigDug_20200106.rbf
/media/fat/_Arcade/cores/Gaplus_20200108.rbf
/media/fat/_Arcade/cores/Defender_20200220.rbf
/media/fat/_Arcade/cores/MCR3Mono_20200302.rbf
/media/fat/_Arcade/cores/Dorodon_20200109.rbf
/media/fat/_Arcade/cores/LunarLander_20200123.rbf
/media/fat/_Arcade/cores/GnG_20191228.rbf
/media/fat/_Arcade/cores/Pong_20200127.rbf
/media/fat/_Arcade/cores/Pleiads_20200512.rbf
/media/fat/_Arcade/cores/Galaga_20200411.rbf
/media/fat/_Arcade/cores/MoonPatrol_20200109.rbf
/media/fat/_Arcade/cores/Phoenix_20200109.rbf
/media/fat/_Arcade/cores/Popeye_20200305.rbf
/media/fat/_Arcade/cores/RallyX_20191218.rbf
/media/fat/_Arcade/cores/RshnAtk_20191229.rbf
/media/fat/_Arcade/cores/Ultratank_20200128.rbf
/media/fat/_Arcade/cores/SolomonsKey_20191230.rbf
/media/fat/_Arcade/cores/RiverPatrol_20200123.rbf
/media/fat/_Arcade/cores/TraverseUSA_20200123.rbf
/media/fat/_Arcade/cores/SilverLand_20200123.rbf
/media/fat/_Arcade/cores/SuperBreakout_20200320.rbf
/media/fat/_Arcade/cores/Sprint1_20200315.rbf
/media/fat/_Arcade/cores/Xevious_20200414.rbf
/media/fat/_Arcade/cores/Druaga_20191223.rbf
/media/fat/_Arcade/cores/Robotron_20200316.rbf
/media/fat/_Arcade/cores/SnapJack_20200109.rbf
/media/fat/_Arcade/cores/Pengo_20200114.rbf
/media/fat/_Arcade/cores/Sprint2_20200125.rbf
/media/fat/_Arcade/cores/ZigZag_20201009.rbf
/media/fat/_Arcade/cores/LadyBug_20200109.rbf
/media/fat/_Arcade/cores/Scramble_20200302.rbf
/media/fat/_Arcade/cores/Galaxian_20200114.rbf
/media/fat/_Arcade/cores/Pacman_20200116.rbf
/media/fat/_Arcade/cores/Pooyan_20200426.rbf
/media/fat/_Arcade/cores/NinjaKun_20200108.rbf
/media/fat/_Arcade/cores/TimePilot_20200114a.rbf
/media/fat/_Arcade/cores/jtdd_20200604.rbf
/media/fat/_Arcade/cores/Astrocade_20200528.rbf
/media/fat/_Arcade/cores/jtcps1_20200522.rbf
/media/fat/_Arcade/cores/jtsectionz_20200508.rbf
/media/fat/_Arcade/cores/Zaxxon_20200403.rbf
/media/fat/_Arcade/cores/jtcontra_20200528.rbf
/media/fat/_Arcade/cores/IremM62_20200601.rbf
/media/fat/_Arcade/cores/jtdd2_20200604.rbf
/media/fat/Scripts/.mister_updater/menu_20200429.rbf
/media/fat/menu.rbf
/media/fat/NES_20200526.rbf
/media/fat/TurboGrafx16_20200602.rbf
/media/fat/Gameboy_20200510.rbf
/media/fat/MegaCD_20200602.rbf
/media/fat/NeoGeo_20200510.rbf
/media/fat/SNES_20200530.rbf
/media/fat/GBA_20200513.rbf
/media/fat/Genesis_20200502.rbf
/media/fat/SMS_20200602.rbf

I think I see where the problem is. Easy fix. I will do it during the weekend. :+1:

Hi @molnara ,
could you please test this release in your setup and tell me if it fixes your problem?
https://github.com/nilp0inter/MiSTer_WebMenu/releases/tag/v0.4.2rc1
You have to repeat the core scan process clicking "Scan now" under the Core section of the Settings page.  If for whatever reason you encounter problems doing that due to the current error, please delete the file /media/fat/.cache/WebMenu/cores.json manually and repeat the process.
Thanks!

Excellent, it works now! 👍


Mac keyboard undo and redo need to look for meta, not ctrl

For #11758

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

@DavidKutu was looking into this but wasn't seeing it on Windows, but I was on Mac. Turns out it was just a keydown issue, not a deeper content undo problem. Meta wasn't being checked for our 'z' and 'shift-z' handling so it was doing both cell and editor undos on mac with a meta+z and getting all confused. No platform specific check needed as we also don't want to look at win+z on window or ctrl+z on mac.


[GH-637] Add endpoints to equip skin to character

Motivation
We need a way for users to equip items to their characters.
Closes #637
Summary of changes

Refactor CoM routes and add new items scope in router
Add new CoM ItemController and :equip endpoint
Add new error cases in fallback_controller
Move characters config from main config to a separate json file and access via Gateway app
Add CoM characters to seeds
Add one unit with each available character when creating a new user
Add CoM items templates config and use them in seeds
Add buy endpoint for testing purposes
Add new purchasable? and characters fields to item templates

How to test it?

Create user:
{:ok, google_user} = GameBackend.Users.find_or_create_google_user_by_email("some_email")
Buy item
curl -X PUT -d item_name="Muflus Gold" http://localhost:4001/curse/users/google_user.user.id/items/buy
(see apps/game_backend/priv/items_templates.json for item names)
Equip item
curl -X PUT -d character_name="muflus" -d item_name="Muflus Gold" http://localhost:4001/curse/users/google_user.user.id/items/equip
(see apps/game_backend/priv/characters_config.json for character names)

⚠ DISCLAIMER ⚠
The buy item step is under development still. Will be further improved in another PR (see issue)
Checklist

[x] Tested the changes locally.
[x] Reviewed the changes on GitHub, line by line.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

LGTM! update the description pls, the buy step has an "equip" instead of "buy"

Done


⚠ AGEG website (prod) has degraded performance

In b02b397, AGEG website (prod) (https://www.ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 8266 ms

Resolved: AGEG website (prod) performance has improved in 879d793.


Map remaining Ethereum grant funding datasets

This is a continuation of #213

[ ]  Ethereum Foundation
[ ]  clr.fund
[ ]  Giveth

The goal would be to have these ecosystems mapped with a CSV file in the same format as the ones here

Seems like a good thing to get the community to help with. Which sprint and/or challenge cycle should we put this in?

Related:

https://gap.karmahq.xyz/funding-map
Grants Standard Working Group (proposal)

The purpose of this group is to have regular working time to build a visual representation and fleshed-out value proposition for both grantees and grantors in adopting the DAOIP-5 standard. This can then be used to communicate how the different grant programs can adopt the standard and why, keeping the full vision in mind.

We should also get Stellar, Polygon, Uniswap, Aave, etc... added.

@rashmi-278 let's add to this list!

Latest Octant round

Hello @ccerv1 We could update our list with the following,
The  below listed programs were a part of Web3 Grants Report 2023, worked on by Eugene and Mashal
Maybe we could get in touch and they have might already heard of DAOIP-5

[ ] Stellar Foundation
[ ] DFINITY Community Grants
[ ] DFINITY Develper Grants
[ ] ENS DAO Public Goods
[ ] Manta
[ ] Mantle
[ ] Polygon
[ ] Public Nouns
[ ] Solana Foundation
[ ] Karma GAP
[ ] Hats Protocol
[ ] Hypercerts
[ ] Metric Garden
[ ] Questbook
[ ] Allo Protocol

Josh D is working on getting the Stellar Foundation Grants Data


Github actions failure

Regression on github action images : all tests using address sanitizer fail due to an incompatibility between address sanitizer and the new kernel.
https://github.com/actions/runner-images/issues/9491

Waiting for upstream to fix issue