text:
String template is proposed for JSON string without any need

Hi,
for this code:
DATA(lv_json) = `{"a":"b", ` && `"c":{}}`.

abap-cleaner proposes without any need string templates:
DATA(lv_json) = |\{"a":"b", "c":\{\}\}|.

On one side, the unnecessary string templates causes runtime costs and on the other
side the JSON syntax becomes quite hard to read because of the escaping of the bracelets.
Kind regards
André

Hi André,
thanks for opening this! Not sure about the runtime costs: unlike the literal operator & (which is executed only once during compile time), the concatenation operator && is executed each time at runtime, so there is a runtime cost to the original concatenation. By contrast, I'd assume that the escaped characters in the string template are already replaced at compile time, so the string template is already complete at runtime (but I'm not an expert here).
However, readability certainly suffers in this case. I think there could be different approaches here:

There is already the option "Embed operands … if result is shorter / shorter or equal". This option does not consider the code length changes due to escape characters yet. If we enhanced it accordingly, some extreme cases would be avoided (not your example, though, because the result is still shorter than the original code).
We could add an option to avoid string templates if more than X escape characters would have to be introduced.
Or there could be an option to only introduce string templates if there are embedded expressions, but not if multiple string literals are concatenated – assuming that there was a (readability) reason for using separate literals in the original code. So none of the following examples would be converted:

Which do you think would fit your request best?
Kind regards,
Jörg-Michael

Hi Jörg-Michael,
Yes, in my real coding the JSON is quite long and spanning multiple lines because of the line limit of ABAP,
therefore I added the concatenation operator.
I prefer option 3.
Thanks.
Kind regards
André

Hi André,
thanks again – in version 1.18.0, which was just released, the cleanup rule "Use string templates to assemble text" now has this option:

If activated, only the second line of the example will be changed:

Kind regards,
Jörg-Michael

Thanks a lot Jörg-Michael.
Kind regards
André

authors: apanys jmgrassau

repo: SAP/abap-cleaner


text:
Inital EcmaScript5 Lexer exmaple based on Esprima's implementation.

this is still missing a few things which will be handled in future
commits.

RegExp literal
error tolerance
error messages

Coverage remained the same at 100.0% when pulling 042488299fdec91b2ec2c4dc07cc67858a7160cc on ecma5_lexer into 8b2e2f68a8ea5ce9245dec1fee690c99d953c1c3 on master.

Coverage remained the same at 100.0% when pulling 604efc6aef3d925cff75bb32904633eb57b9ead9 on ecma5_lexer into 8b2e2f68a8ea5ce9245dec1fee690c99d953c1c3 on master.

Coverage remained the same at 100.0% when pulling 754b27f1abd058d7f1e2f06aa4c0a97fc7b62abe on ecma5_lexer into 8b2e2f68a8ea5ce9245dec1fee690c99d953c1c3 on master.

Coverage remained the same at 100.0% when pulling bc8dbe8eeeaad54c43460779df3e843e43cfd89c on ecma5_lexer into 8b2e2f68a8ea5ce9245dec1fee690c99d953c1c3 on master.

source: gharchive/pull-request

repo: SAP/chevrotain

license_type: permissive

license_source: bigquery


text:
Credit card saved even when I don't tick the save option.

Issue found on http://dev-com-17.accdemo.b2c.ydev.hybris.com:4200/electronics-spa/en/USD/
Steps to reproduce:

Go through checkout and don't tick the "Save" checkbox for the payment details.
Pass the order.
Go in My Account -> Payment Details
Actual result: The card is saved and is even set to the default payment method if you had no previous saved payment methods.
Expected Result: The card is not saved

Closing the ticket.  The credit card is always saved.  The purpose of the "save as default" checkbox is only to flag the new credit card as default or not.

Created GH-2620 as an improvement suggestion.

source: gharchive/issue

repo: SAP/cloud-commerce-spartacus-storefront

license_source: github-api


text:
[GH-5954] Removing compodocs from github releases

Fixes #5954

There is one benefit for that archives - you can access docs for given version. With github pages you get access only to the latest version docs. I think we should wait with that change until versioning support in github pages docs.

@marlass True. Thanks for the feedback.

authors: hackergil marlass


text:
chore: Remove internal enum representations

The internal enums brought more complexity than value. In this PR I replaced them with simple literal string values.
Relates to SAP/cloud-sdk-backlog#1014

[x] I know which base branch I chose for this PR, as the default branch is v2-main now, which is not for v3 development.
[x] If my change will be merged into the main branch (for v3), I've updated (V3-Upgrade-Guide.md)[./V3-Upgrade-Guide.md] in case my change has any implications for users updating to SDK v3

Nice thing getting rid of the enums.
Not wanting to bike shed, but I'm wondering if this alternative pattern could make sense for us? I think this would preserve the nice aspects of enums without their downsides (as far as I understand with my limited typescript knowledge)
cf playground here

authors: fwilhe marikaner

repo: SAP/cloud-sdk-js


text:
GA Testcase in script format

@theStiggySpd - Here are the testcases in a script format.  If you prefer this option. Please merge it and delete the old testcases.
Issue
#
Description
Test cases in script format
@theStiggySpd - Test case in script format. If you prefer this option please merge and then delete the old test case.
Checklist for Pull Requests

[ ] Supplied as many details as possible on this change
[ ] Included the link to the associated issue in the Issue section above
[ ] The code conforms to the general development guidelines.
[ ] The code has unit tests where applicable and is easily unit-testable
[ ] This branch is appropriately named for the associated issue

@theStiggySpd - I resolved the comments you made. I have yet to add testcases for General Feedback and the pre filtered list. Could you submit this so I can add these testcases.

repo: SAP/guided-answers-extension


text:
BUG - Descending sort returns an error on Tree table

Related Feature
Feature request: issue number
Description
Descending sort on a Tree table (hierarchical query) returns a parsing error:
Steps to Reproduce
Steps to reproduce the behavior:

Go to sap.fe demokit: http://localhost:8080/test-resources/sap/fe/templates/internal/demokit/technicalSandbox.html#Hierarchy-manage?sap-ui-app-id-hint=Hierarchy-manage
Do a descending sort on any column
Error returns by the mock server:

Expected results
Descending sort should not return any error and should be applied
Actual results
Error from Mock server when applying a descending sort
Screenshots

Version/Components/Environment
Add any other context about the problem here
OS:

[ ] Mac OS
[ ] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Fixed in the latest version

authors: GwendalMoreau nlunets

repo: SAP/open-ux-odata


text:
Added ADOPTERS.md

Added the ADOPTERS.md file so that we can collect and list organizations that are using or have used the portal, or used
it as a reference for their own portal.
Once the list is more complete, this file can be made more prominent in the README.md file.

@misappi , @Michadelic , if you merge, please squash and remove the comment related to package-lock.json from the commit message.

I think you already mentioned this adopters pattern elsewhere.
On the InnerSource Commons Slack: https://innersourcecommons.slack.com/archives/C04PXKRN4/p1653415487297279

repo: SAP/project-portal-for-innersource


text:
When using central namespace secrets with suffix it still requires sap-btp-service-operator for configured namespaces

Creating a ServiceInstance in namespace X along with a secret in operator namespace named sap-btp-service-operator-X still requires sap-btp-service-operator to exist in the operators namespace
helm upgrade --install \
    sap-btp-operator sap-btp-operator/sap-btp-operator \
    --create-namespace \
    --namespace=sap-btp-operator \
    --version=0.5.1 \
    --set manager.secret.enabled=false \
    --wait --timeout 10m --debug

kubectl create secret generic \
    sap-btp-service-operator-default -n sap-btp-operator \
    --from-literal clientid='<clientid>' \
    --from-literal clientsecret='<clientsecret>' \
    --from-literal sm_url='<smurl>' \
    --from-literal tokenurl='<tokenurl>' \
    --from-literal tokenurlsuffix='/oauth/token';

kubectl create -n default -f - <<EOF
    apiVersion: [services.cloud.sap.com/v1alpha1](http://services.cloud.sap.com/v1alpha1)
    kind: ServiceInstance
    metadata:
        name: btp-audit-log-instance
        namespace: default
    spec:
        serviceOfferingName: auditlog-api
        servicePlanName: default
        externalName: btp-audit-log-instance
EOF

kubectl describe serviceinstances -n default
# Secret "sap-btp-service-operator" not found

The secret name should be -sap-btp-service-opeartor

authors: TalShorSap krodyrobi

repo: SAP/sap-btp-service-operator


text:
UI5 Linter does not know / accept sap.ui.predefine or sap.ui.require.preload in bundles

In a bundle file (no matter whether it's a Component-preload.js or a library-preload.js file) calls to the bundle-only APIs sap.ui.predefine or sap.ui.require.preload are reported as use of a disallowed global.
Example: https://github.com/SAP/openui5/blob/master/src/sap.ui.core/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library-preload.js#L2
While this might be limited to framework code, it might be fixable in a robust way. UI5 tooling adds comments to bundles that would allow to identify them
//@ui5-bundle sap/f/library-preload.js
/*!
 * OpenUI5
 * (c) Copyright 2009-2024 SAP SE ...

@codeworrior added those comments to the manually created preloads in sap.ui.core, just in case we want to use them as markers.
As the two APIs in question are not documented as public APIs (only restricted, AFAIK), they either might have to be added to the overlay or have to be listed in the linter's source (similar to the other allowed globals).
Note: This issue is assumed to be specific to framework code only.  It's not likely that application code or reuse libs create (non-empty) bundles as part of the sources.
Context

UI5 linter version: 0.2.2
Node.js Version: v20.11.1
npm Version: 10.2.4
OS/Platform: macOS 14.4.1

Was initially SAP-internally tracked with issue id 106.


text:
Feedback on Tutorial: Configure SAP HANA, express edition Security

Please update the tutorial:

The instruction in section "Change the SSFS Master Keys" for step 4. "Re-encrypt the system PKI SSFS" is incorrect. the variables DATAPATH and KEYPATH must be set to the proper directory - as stated in the PDF tutorial, but there the "export" statement is missing.
export RSEC_SSFS_DATAPATH=/usr/sap/HXE/SYS/global/security/rsecssfs/data
export RSEC_SSFS_KEYPATH=/usr/sap/HXE/SYS/global/security/rsecssfs/key

Please do not change the Root Keys for HANA Express VMs with DB+Apps (hxexsa).
"You should NOT generate a new root key for the DPAPI service as there is a PEM certificate in the database encrypted with the current key",
Change the rootkey only if following views are empty in the SystemDB: "SYS"."P_DPAPI_KEY_" and "PUBLIC"."CREDENTIALS".
Explanation is here: https://answers.sap.com/questions/27365/uaa-security-is-not-up-on-hana-express.html

Thanks for your feedback. This tutorial was updated with the release of SAP HANA, express edition 2.0:

Configure SAP HANA 2.0, express edition Security

repo: SAPDocuments/Tutorials


text:
make in CSIP does nothing in macOS

julia> Pkg.add("SCIP")
INFO: Installing SCIP v0.2.0
INFO: Building SCIP
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps/downloads
INFO: Directory /Users/chkwon/.julia/v0.5/SCIP/deps/downloads already created
INFO: Downloading file https://github.com/SCIP-Interfaces/CSIP/archive/v0.3.6.zip
INFO: Done downloading file https://github.com/SCIP-Interfaces/CSIP/archive/v0.3.6.zip
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps/src
INFO: Directory /Users/chkwon/.julia/v0.5/SCIP/deps/src already created
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps
INFO: Directory /Users/chkwon/.julia/v0.5/SCIP/deps already created
INFO: Path /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6 already created
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
make: Nothing to be done for `all'.
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
===================================================================================================================================================[ ERROR: SCIP ]====================================================================================================================================================

LoadError: Provider BinDeps.BuildProcess failed to satisfy dependency libcsip
while loading /Users/chkwon/.julia/v0.5/SCIP/deps/build.jl, in expression starting on line 34

======================================================================================================================================================================================================================================================================================================================

===================================================================================================================================================[ BUILD ERRORS ]===================================================================================================================================================

WARNING: SCIP had build errors.

 - packages with build errors remain installed in /Users/chkwon/.julia/v0.5
 - build the package(s) and all dependencies with `Pkg.build("SCIP")`
 - build a single package by running its `deps/build.jl` script

======================================================================================================================================================================================================================================================================================================================
INFO: Package database updated
INFO: METADATA is out-of-date — you may not have the latest version of SCIP
INFO: Use `Pkg.update()` to get the latest versions of your packages

Hm, the failure of BinDeps is quite unspecific here.
We had build problems on OS X before, see #21. Unfortunately, I have neither experience with, nor access to any machines with OS X, so I don't know how to make this work.
@chkwon: Could you tell me whether make test in the folder SCIP/deps/src/CSIP-0.3.6 works?

:~/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6$ make
make: Nothing to be done for `all'.

Well, make all does nothing. It seems that something is wrong with Makefile. Let me play with it a little bit.

My apology. This is the real error:
julia> Pkg.add("SCIP")
INFO: Installing SCIP v0.2.0
INFO: Building SCIP
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps/downloads
INFO: Downloading file https://github.com/SCIP-Interfaces/CSIP/archive/v0.3.6.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   125    0   125    0     0    534      0 --:--:-- --:--:-- --:--:--   536
100 21068  100 21068    0     0  42713      0 --:--:-- --:--:-- --:--:-- 42713
INFO: Done downloading file https://github.com/SCIP-Interfaces/CSIP/archive/v0.3.6.zip
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps/src
INFO: Attempting to Create directory /Users/chkwon/.julia/v0.5/SCIP/deps
INFO: Directory /Users/chkwon/.julia/v0.5/SCIP/deps already created
Archive:  /Users/chkwon/.julia/v0.5/SCIP/deps/downloads/v0.3.6.zip
71ca62a4b29352cc5ade76911725f435829ae6c8
   creating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/.gitignore
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/LICENSE
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/Makefile
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/README.md
   creating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include/
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include/csip.h
   creating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.c
   creating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/minunit.h
  inflating: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test.c
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
mkdir -p /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib
make links
Creating symbolic links to headers and library within SCIPOPTDIR (/Users/chkwon/Applications/scipoptsuite-3.2.1).
gcc -std=c99 -Wall -pedantic -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/include -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include -c /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.c -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -lscipopt -fPIC -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o
clang: warning: -Wl,-rpath,/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib: 'linker' input unused
clang: warning: -lscipopt: 'linker' input unused
clang: warning: argument unused during compilation: '-L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib'
gcc -std=c99 -Wall -pedantic /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -lscipopt -fPIC -shared -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/libcsip.so
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
INFO: Changing Directory to /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6
=======================================================================[ ERROR: SCIP ]=======================================================================

LoadError: Provider BinDeps.BuildProcess failed to satisfy dependency libcsip
while loading /Users/chkwon/.julia/v0.5/SCIP/deps/build.jl, in expression starting on line 34

=============================================================================================================================================================

======================================================================[ BUILD ERRORS ]=======================================================================

WARNING: SCIP had build errors.

 - packages with build errors remain installed in /Users/chkwon/.julia/v0.5
 - build the package(s) and all dependencies with `Pkg.build("SCIP")`
 - build a single package by running its `deps/build.jl` script

=============================================================================================================================================================
INFO: Package database updated

and make test in SCIP/deps/src/CSIP-0.3.6:
:~/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6$ make test
compiling test
gcc -std=c99 -Wall -pedantic -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include -g /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test.c -Wl,-rpath,/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -lm -lcsip -lscipopt -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test
/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test
dyld: Library not loaded: lib/libscipopt-3.2.1.darwin.x86_64.gnu.opt.so
  Referenced from: /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test
  Reason: image not found
make: *** [test] Abort trap: 6

What I don't know is whether

A different Makefile (or options) should be used to compile the libscipopt, or
The Makefile for CSIP needs to updated, or
Both :-\

In the failing make test when it complains that "Library not loaded", does this file exist? Is it maybe a naming issue (with darwin)?

A couple of observations:

libscipopt-3.2.1.darwin.x86_64.gnu.opt.so does exist in $SCIPOPTDIR/lib.
libscipopt-3.2.1.darwin.x86_64.gnu.opt.so does NOT exist in CSIP-0.3.6/lib:

~/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib$ ls -al
total 104
drwxr-xr-x   5 chkwon  staff   170B Mar  6 14:29 ./
drwxr-xr-x  10 chkwon  staff   340B Mar  6 12:54 ../
lrwxr-xr-x   1 chkwon  staff    60B Mar  6 12:54 include@ -> /Users/chkwon/Applications/scipoptsuite-3.2.1/scip-3.2.1/src
-rwxr-xr-x   1 chkwon  staff    41K Mar  6 14:29 libcsip.so*
lrwxr-xr-x   1 chkwon  staff    63B Mar  6 12:54 libscipopt.so@ -> /Users/chkwon/Applications/scipoptsuite-3.2.1/lib/libscipopt.so

I don't have good memories of .so, but had some success with .dylib. I guess both SCIP and CSIP need to be .dylib?

Sadly, I know nothing about .dylib.
About the missing files: I think it's OK that only libscipopt.so is there, because this one should be used by the CSIP Makefile. Anyway, it's a symlink to SCIP's libscipopt.so which is itself a symlink to the most recently compiled library, in your case libscipopt-3.2.1.darwin.x86_64.gnu.opt.so.

By accident I found this older StackOverflow question, where a user tried to use PySCIPOpt on OS X. There was the issue with the shared library not found, and it was suggested to set DYLD_LIBRARY_PATH to include the path where libscipopt-3.2.1.darwin.x86_64.gnu.opt.so is located. Apparently this helped the user to go one step further.
I'm not sure why this would be necessary, but may it helps us understand the issue better.

Unfortunately, this does not help. It generates the same error.
I tried a couple of things:

I tried physically copying libscipopt-3.2.1.darwin.x86_64.gnu.opt.so to CSIP-0.3.6/lib. It was successful:

chkwon@MacBook:~/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6$ make test
make[1]: `/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test' is up to date.
/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/test/test
Running tests...
  test_lp
  test_mip
  test_mip2
  test_mip3
  test_socp
  test_nlp
  test_quadobj
  test_lazy
  test_lazy2
  test_lazy_interrupt
  test_objsense
  test_sos1
  test_sos2
  test_sos1_sos2
  test_manythings
  test_doublelazy
  test_changeprob
  test_changequadprob
  test_changevartype
  test_initialsol
  test_heurcb
  test_params
All tests passed!

After creating a symbolic link named libscipopt-3.2.1.darwin.x86_64.gnu.opt.so, instead of libscipopt.so, it was successful. (without a physical copy)

Two guesses:

It seems like CSIP is looking for lib\libscipopt-3.2.1.darwin.x86_64.gnu.opt.so, not just libscipopt-3.2.1.darwin.x86_64.gnu.opt.so. Specifically in the lib directory of CSIP.

It does not know if libscipopt-3.2.1.darwin.x86_64.gnu.opt.so is the same one as libscipopt.so. Perhaps it knows the other way around.

To compile dylib files, a flag -dynamiclib needs to be added. It seems that dylib files are needed for both SCIP and CSIP.
Could you tell me where I should add the flag -dynamiclib for SCIP? I also need to change the file extension .so to .dylib. I tried to figure it out by myself, but the makefile in SCIP is very complicated. Any advice will be useful.

@leethargo I didn't know how to edit makefiles for SCIP, but I had a success.

To compile libsciopt.dylib:

After generating all object files following the main instruction of this package, I used the following line:
 g++ -install_name @rpath/libscipopt.dylib -dynamiclib -undefined suppress -flat_namespace -m64 -shared -o lib/libscipopt.dylib obj/*.o /Users/chkwon/Applications/scipoptsuite-3.2.1/scip-3.2.1/obj/O.darwin.x86_64.gnu.opt/lib/objscip/*.o /Users/chkwon/Applications/scipoptsuite-3.2.1/soplex-2.2.1/obj/O.darwin.x86_64.gnu.opt/lib/*o

To compile libcsip.dylib:

gcc -std=c99 -Wall -pedantic -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/include -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include -c /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.c -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/Applications/scipoptsuite-3.2.1/lib/ /Users/chkwon/Applications/scipoptsuite-3.2.1/lib/libscipopt.dylib -fPIC -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o

and
gcc -std=c99 -Wall -pedantic /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/Applications/scipoptsuite-3.2.1/lib/ /Users/chkwon/Applications/scipoptsuite-3.2.1/lib/libscipopt.dylib -fPIC -shared -dynamiclib -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/libcsip.dylib

I also copied libcsip.dylib to deps/usr/lib.

deps.jl

@checked_lib libcsip "/Users/chkwon/.julia/v0.5/SCIP/deps/usr/lib/libcsip.dylib"

Then it worked.

btw you can compile with USRFLAGS=theflagyouwant
On Mar 10, 2017 19:48, "Changhyun Kwon" notifications@github.com wrote:

@leethargo https://github.com/leethargo I didn't know how to edit
makefiles for SCIP, but I had a success.

To compile libsciopt.dylib:

After generating all object files following the main instruction of this
package, I used the following line:
g++ -install_name @rpath/libscipopt.dylib -dynamiclib -undefined suppress -flat_namespace -m64 -shared -o lib/libscipopt.dylib obj/.o /Users/chkwon/Applications/scipoptsuite-3.2.1/scip-3.2.1/obj/O.darwin.x86_64.gnu.opt/lib/objscip/.o /Users/chkwon/Applications/scipoptsuite-3.2.1/soplex-2.2.1/obj/O.darwin.x86_64.gnu.opt/lib/*o

To compile libcsip.dylib:

gcc -std=c99 -Wall -pedantic -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/include -I/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/include -c /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.c -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/Applications/scipoptsuite-3.2.1/lib/ /Users/chkwon/Applications/scipoptsuite-3.2.1/lib/libscipopt.dylib -fPIC -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o
and
gcc -std=c99 -Wall -pedantic /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/src/csip.o -L/Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib -Wl,-rpath,/Users/chkwon/Applications/scipoptsuite-3.2.1/lib/ /Users/chkwon/Applications/scipoptsuite-3.2.1/lib/libscipopt.dylib -fPIC -shared -dynamiclib -o /Users/chkwon/.julia/v0.5/SCIP/deps/src/CSIP-0.3.6/lib/libcsip.dylib
I also copied libcsip.dylib to deps/usr/lib.

deps.jl

@checked_lib libcsip "/Users/chkwon/.julia/v0.5/SCIP/deps/usr/lib/libcsip.dylib"
Then it worked.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SCIP-Interfaces/SCIP.jl/issues/42#issuecomment-285752020,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFNG9mG5Bg8YSST97gHrnZOx7xHm5KZ6ks5rkZr1gaJpZM4MURV5
.

@fserra Thanks. I also needed to change the output library file extension from .so to .dylib.

authors: chkwon fserra leethargo

license: mit


text:
mask_token相关报错

File "Med-ChatGLM/modeling_chatglm.py", line 836, in forward
mask_position = seq.index(mask_token)
ValueError: 150001 is not in list
看了下逻辑，
        if past_key_values is None:
            past_key_values = tuple([None] * len(self.layers))

            MASK, gMASK = 150000, 150001
            mask_token = MASK if MASK in input_ids else gMASK
            use_gmask = False if MASK in input_ids else gMASK
            seq = input_ids[0].tolist()

            mask_position = seq.index(mask_token)

这段代码似乎隐藏了一个assert，即MASK in seq or gMASK in seq,但看起来这个假设并不成立导致报错?

官方更新太快。建议执行回滚huggingface代码版本解决。

您好，这个错误是chatglm和huggingface相关代码的更新导致的，我们会尽快修复并更新

请问这个bug有fix吗？在线等，挺急的，谢谢～

authors: ayanesakura exaggerated-dream zhpmatrix

repo: SCIR-HI/Med-ChatGLM


text:
В "Penumbra Theme" не отображается обратная ссылка с "Анима Сола"

Среди обратных ссылок "Penumbra Theme", "Включения (используя [[include]])" отсутствует ссылка на "SCP-1170-RU - Анима Сола", который использует эту тему через include
https://scpfoundation.net/theme:penumbra
https://scpfoundation.net/scp-1170-ru

Фиг знает как это получилось, я в итоге отредактировал аниму солу и обратная ссылка появилась

authors: JohnLyetacker jewalky

repo: SCPru/RuFoundation

license: MIT


text:
Fix some imports and other checker warnings

Removed a number of imports reported as unused.
Reorganize imports in a few places.
Checker reported warnings problems ("Instantiating an exception,  but not raising it, has no effect"): serveral tool modules instantiated  a warning class thinking (?) it would issue the warning; changed these to the standard use - calling the warn() function with the warnclass as an arg.
Tool modules that were touched had the copyright header munging applied.
Removed irritating "####" lines from gettext and msgfmt tools.

Signed-off-by: Mats Wichmann mats@linux.com
Contributor Checklist:

[X] I have created a new test or updated the unit tests to cover the new/changed functionality.
[X] I have updated CHANGES.txt (and read the README.rst)
[X] I have updated the appropriate documentation

fooey, I made sider unhappy....

repo: SCons/scons


text:
Code changes for formatting response of search call in chroma vector db.

Code changes for formatting response from nearest neighbour call search in chroma vector db.
Sample Command : VectorDatabaseQuery ( engine = "41766dd6-cfc0-4425-ac7c-e0e1715bbfab" , command = "what is somatosensory" , limit = 5 ) ;
O/P :
[
{
"Content": "This is a...",
"Divider": "1,  2",
"Modality": "text",
"Part": "0",
"Source": "somatosensory.pdf",
"Tokens": 488
},
{
"Content": "receptors respond to ..",
"Divider": "3,  4",
"Modality": "text",
"Part": "0",
"Source": "somatosensory.pdf",
"Tokens": 500
}
]

Can we take a look at the changes I pushed and see if that does what the previous code was doing?

@themaherkhalil : We are getting formatted search response with new code . Please merge the code.

No code change after merging in dev. Pushed with https://github.com/SEMOSS/Semoss/pull/213

repo: SEMOSS/Semoss


text:
fix(build): Track patch change dependencies

This commit modifies the toolchain Makefile to ensure that if any of the
patches change, we reconstruct the source directory of that part of the
toolchain.

@BetsyRT r+

repo: SESA/EbbRT


text:
特定のURLでサムネが出ない

https://steamcommunity.com/sharedfiles/filedetails/?id=1511944780
詳細不明、分かったらタイトルを変える

item['preview_url']
https://steamuserimages-a.akamaihd.net/ugc/957468055304326078/4B96C9BA967CCE3F809A5733F68A6589C759096F/
↑拡張子がついてない

Steam APIの仕様変更

repo: SETNAHQ/Reika


text:
Update string file for MetaDeploy

Critical Changes
Changes
Issues Closed

@Nickers3 It looks like we're missing some ui_options to get user-facing strings for installer steps. Happy to help.

@Nickers3 It looks like we're missing some ui_options to get user-facing strings for installer steps. Happy to help.

repo: SFDO-Community/OmbudsmanCloudCare


text:
Java import in ThingML (Path problem)

I have this project which contains:

JavaLib/myClass.java
Test.thingml

// Test.thingML

datatype myClass
	@java_type "JavaLib.myClass";

thing Test {
	property myA : myClass = 'new JavaLib.myClass('& 3 &');'

	statechart TestChart init Init {
		state Init {
			on entry do
				print "[Test] Start"
				''&myA &'.displayA();'
				print "[Test] End"
			end
		}
	}
}

configuration TestCfg {
	instance t : Test
}

How do I specify the path of myClass. Because so far, the only way I made it works is puting it in the folder thingml-gen/java/src/main/java or with an absolute path.

Package your lib in a Maven project that you install locally.
Then in your thing, use the @maven_dep "JavaLib" annotation to tell the thing where to find the dependency.
Try that and close the issue if it works :-)

@maven_dep seems to copy directly its content in the pom.xml between
so I need to write it this way, to make it work. Is it the proper way?
@maven_dep "

<dependency>
    <groupId>MyGroupeID</groupId>
    <artifactId>MyArtefactID</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>"

yes indeed

Is it possible to have a syntaxe like :
@maven_dep "groupID:ArtefactID:Version" ?
And parse it.

Yes, you can implement that feature, in addition (not in place) of the current one. :-)

authors: Lyadis brice-morin lmouline


text:
🛑 DNS2.electro is down

In f98b888, DNS2.electro (ns2.elteam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DNS2.electro is back up in e1f1ceb after 10 minutes.

repo: SIRMaxis/uptime-robot


text:
🛑 DNS2.electro is down

In 5e23ef9, DNS2.electro (ns2.elteam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DNS2.electro is back up in 48e4dfb after 44 minutes.


text:
🛑 Website is down

In 899e659, Website (ELTeam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Website is back up in 7447894 after 26 minutes.


text:
🛑 DE Server is down

In 5067c4e, DE Server (de1.elteam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DE Server is back up in cc99de4 after 45 minutes.


text:
🛑 Website is down

In 3f98335, Website (ELTeam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Website is back up in 40aa74e after 18 minutes.


text:
🛑 DNS1.electro is down

In 8cfe78f, DNS1.electro (ns1.elteam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DNS1.electro is back up in 352065d after 18 minutes.


text:
🛑 DNS1.electro is down

In 66d3b4e, DNS1.electro (ns1.elteam.ir) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DNS1.electro is back up in 26eb00e.


text:
[FEATURE] F1, Precision, Recall 점수를 계산하는 방법 있나요?

🚀 Feature

Hello, first of all, thank you for providing this model along with the implementation code. Using KoBERT, I am building a binary classification model on a Korean dataset. Please, I was wondering if there are any methods to compute more metrics such as F1 score, Precision, and recall.
Thank you.
Motivation
 Provide various performance measurement metrtrics to evaluate model build with KoBERT.
Pitch

Additional context

@bage79 Thank you for your reply. I will follow you advice.

repo: SKTBrain/KoBERT


text:
🛑 SLUGSoc.co.uk is down

In 4915321, SLUGSoc.co.uk (https://slugsoc.co.uk) was down:

HTTP code: 502
Response time: 622 ms

Resolved: SLUGSoc.co.uk is back up in dd8131f.

repo: SLUGSoc/status-monitor


text:
🛑 Ayi Academy is down

In 4ddb37a, Ayi Academy (https://ayi.academy/) was down:

HTTP code: 521
Response time: 516 ms

Resolved: Ayi Academy is back up in 999c311 after 20 minutes.

repo: SOPORTEAYIGROUP/AYIGROUP


text:
🛑 CAOSBI is down

In 913224f, CAOSBI (https://caosbi.ayi-asociados.com/) was down:

HTTP code: 502
Response time: 19112 ms

Resolved: CAOSBI is back up in 9e8b5fc after 5 minutes.


text:
🛑 CAOS is down

In 3e5d8a0, CAOS (http://caos.ayi-asociados.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CAOS is back up in 7ee75d4.


text:
Add Optimizer test

Every method within the optimizer class has undergone testing and yields the expected results.

If you approve of this test, merge it

It was closed by mistake

repo: SP-SoftFuzz/ProfHeat


text:
🐛 한글 URL 인코딩 되어 게시글을 찾지 못하는 오류 해결

세부 사항

SSR 부분에 한글 URL일 경우 인코딩된 정보와 비교하여
데이터를 불러오도록 오류를 해결했습니다.

체크 리스트 (아래 사항들이 전부 체크되어야만 merge)

[x]  필요한 test들을 완료하였고 기능이 제대로 실행되는지 확인 하였습니다.
[x]  코드 스타일 가이드에 맞추어 코드를 작성 하였습니다.
[x]  제가 의도한 파일들과 수정 사항들만 커밋이 된 것을 확인 하였습니다.
[x]  본 수정 사항들을 팀원들과 사전에 상의하였고 팀원들 모두 해당 PR에 대하여 알고 있습니다.

This pull request has been deployed to Vercel.

Latest commit:
554d5e3

✅ Preview:
https://space-dev-club-front-ed8ad9x7y-junghoon-p.vercel.app

🔍 Inspect:
https://vercel.com/junghoon-p/space-dev-club-front/7ZyHFS623i9aybFLUeG7yh9kH5St

View Workflow Logs

LGTM


text:
Sync/Pull error

I successfully push my commit to Github and try to check out what's up in the Sync/Pull so I clicked it and this editor crashed.
error log is here :

LoginId:dfa00d6d486166cdf15d8fa2ad11f76e
EpicAccountId:035890a485614eceae4a335d44545841
Fatal error: [File:D:\Build++UE4\Sync\Engine\Source\Runtime\RenderCore\Private\RenderResource.cpp] [Line: 128] A FRenderResource was deleted without being released first!
UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
UE4Editor_RenderCore!FRenderResource::~FRenderResource() [d:\build++ue4\sync\engine\source\runtime\rendercore\private\renderresource.cpp:128]
UE4Editor_Engine!FGPUSkinPassthroughVertexFactory::scalar deleting destructor'() UE4Editor_Engine!TArray<TUniquePtr<FGPUSkinPassthroughVertexFactory,TDefaultDelete<FGPUSkinPassthroughVertexFactory> >,FDefaultAllocator>::~TArray<TUniquePtr<FGPUSkinPassthroughVertexFactory,TDefaultDelete<FGPUSkinPassthroughVertexFactory> >,FDefaultAllocato() [d:\build\++ue4\sync\engine\source\runtime\core\public\containers\array.h:529] UE4Editor_Engine!TArray<FSkeletalMeshObjectGPUSkin::FSkeletalMeshObjectLOD,FDefaultAllocator>::~TArray<FSkeletalMeshObjectGPUSkin::FSkeletalMeshObjectLOD,FDefaultAllocator>() [d:\build\++ue4\sync\engine\source\runtime\core\public\containers\array.h:529] UE4Editor_Engine!FSkeletalMeshObjectGPUSkin::scalar deleting destructor'()
UE4Editor_RenderCore!FPendingCleanupObjects::~FPendingCleanupObjects() [d:\build++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:1278]
UE4Editor_RenderCore!FlushRenderingCommands() [d:\build++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:1226]
UE4Editor_Engine!UMaterial::PostEditChangeProperty() [d:\build++ue4\sync\engine\source\runtime\engine\private\materials\material.cpp:4296]
UE4Editor_UnrealEd!UEditorEngine::HandlePackageReloaded() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:776]
UE4Editor_UnrealEd!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,void __cdecl(enum EPackageReloadPhase,FPackageReloadedEvent * __ptr64)>::ExecuteIfSafe() [d:\build++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:679]
UE4Editor_CoreUObject!ReloadPackages() [d:\build++ue4\sync\engine\source\runtime\coreuobject\private\uobject\packagereload.cpp:593]
UE4Editor_UnrealEd!UPackageTools::ReloadPackages() [d:\build++ue4\sync\engine\source\editor\unrealed\private\packagetools.cpp:716]
UE4Editor_UnrealEd!UPackageTools::ReloadPackages() [d:\build++ue4\sync\engine\source\editor\unrealed\private\packagetools.cpp:466]
UE4Editor_GitSourceControl
UE4Editor_GitSourceControl
UE4Editor_GitSourceControl
UE4Editor_GitSourceControl
UE4Editor_SourceControl!FSourceControlModule::Tick() [d:\build++ue4\sync\engine\source\developer\sourcecontrol\private\sourcecontrolmodule.cpp:244]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1897]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3699]
UE4Editor!GuardedMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\launch.cpp:174]
UE4Editor!GuardedMainWrapper() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:276]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
kernel32
ntdll

same problem here ;\

@tomcleaver not plugin author, but it would be good if you can provide more detail (including full logs)
make sure you have UE4 debugging symbols installed, and you can post the full crash-dump

also @Reetro check my message above, (and the rest of the thread) - fixing problems like this is nearly impossible without a decent dump+log

I actually made a post with my full log here https://github.com/SRombauts/UE4GitPlugin/issues/87

authors: Reetro bbagwang chozabu tomcleaver


text:
doc(readme): add touchDrag explanation

Added touchDrag explanation to README.
Description
I added touchDrag to the Configuration section in README.
Motivation and Context
vue-carousel allows us to enable/disable touchDrag option, but the option is not mentioned on README.
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[ ] I have included a vue-play example (if this is a new feature)

Coverage remained the same at 67.692% when pulling c3f789fd677a989759e51d7dd924b7b62b2aea73 on Tsuyoshi84:update_readme into c793cebfad22b86b77f3eabbd46dd3bee493ffbe on SSENSE:master.

Thanks for contributing @Tsuyoshi84! I'll merge this into our release candidate, and will ping you in the changelog when we release :rocket:

authors: Tsuyoshi84 coveralls quinnlangille

repo: SSENSE/vue-carousel


text:
♻ Mobile | "My QR Code" should link to the new scanner page

Cc: @adamcogan @matt-goldman-ssw

Hi team
Pain

As per Adam's email (subject "Rewards - QR code not going to new screen") the "My QR Code" button in the flyout still opens the old QR code popup
What code could be improved?

This button should be updated to open the new Scanner page, with the QR code as the default tab.
Tasks

[ ] Hook up My QR Code button to the updated Scanner page
[ ] Ensure the QR tab is open by default when opened by the button

Acceptance Criteria

[ ] Meets Definition of Done - https://github.com/SSWConsulting/SSW.Rewards.Mobile/blob/main/_docs/Definition-of-Done.md

More Information

Screenshots

Figure: My QR Code should go to the scanner page
Thanks!

As per my conversation with Seth, we should probably just kill the button in the flyout.


text:
💄 Mobile | Update quiz results page (requires designer review)

Pain:
The existing Quiz Results page leaves a lot to be desired. While we had some great designs from Joe we had to quickly adapt and change the existing design to fit with the AI Quiz structure.
Solution:

[x] Solicit a new design for the Results page
[x] Update this PBI with an @adamcogan approved design screenshot
[x] Implement the design

### Tasks
- [ ] https://github.com/SSWConsulting/SSW.Rewards.Mobile/issues/844
- [x] Implement Design

Done - this was completed here https://github.com/SSWConsulting/SSW.Rewards.Mobile/issues/844

authors: tkapa zacharykeeping


text:
✨ Support mermaid syntax

Cc: @bradystroud

Hi
Pain

Many of our rules have diagrams in them. Some people create these using draw.io, some use other tools. This results in the following problems:

Inconsistency between the styles of diagrams produced
Diagram source difficult to store with rule for later editing
Diagrams are static (e.g. users cannot pan and zoom)

Suggested Solution

Add Mermaid support.
Mermaid is easy to use and easy to implement. We can install a package that will automatically render the diagrams for us, and we can control whether users can pan/zoom etc.
Mermaid syntax is just text so easy to store embedded in the rule. And that means its easy to edit and easy to diff too. VS Code has a plugin that can render it in real-time, and many online tools provide a visual editor.
Thanks!

Additional to this, it would be nice if we could have a SSW branded stylesheet, that we could include to auto brand mermaid diagrams.  Ideally this could be used both in SSW Rules, but also in any mermaid diagram.

Hi All,
Status: On Hold
With our current implementation of Rules, the Gatsby plugins that have been created to support mermaid are buggy and do not work. For the v2 of rules (this implementation) we are putting this on hold as the plugins (see below) do not work.

gatsby-remark-draw (uses mermaid cli)
gatsby-remark-mermaid (uses Playwright)

authors: JackDevAU danielmackay matt-goldman


text:
Add unstable_extern_types feature

To see what changes we'd have to make in the library to use extern type (RFC-1861) when it's is stabilized.
This requires https://github.com/SSheldon/rust-objc-encode/pull/7.
Unfortunately had to change some usage of ptr::null[_mut] to 0 as *const/mut X, and change the inner type of AtomicPtr, see https://github.com/rust-lang/rust/issues/42847.

I'm very excited for extern types, thanks for doing this proof of concept! However I'm not excited about having another feature flag and a nightly only feature. I think we should wait for this feature to stabilize.

I think it's a good idea to have unstable features like these, since it gives nightly users (like myself :wink:) the option to test it out on their code beforehand, and raise incentive for the feature to be developed on upstream. Besides, it isn't (or can at least be explicitly documented to not be) part of the SemVer contract since they're nightly only anyway - so theoretically, barring the changes to ?Sized bounds, this could be released in 0.2.8 and removed in 0.2.9 again if you wanted to.
Notable other places where the unstable feature thing is done:

serde's unstable feature
libc's const-extern-fn feature
cargo itself does it
Actually the whole "nightly" features idea in Rust follows mostly the same reasoning as I've given here

authors: SSheldon madsmtm

repo: SSheldon/rust-objc


text:
Upper bound per-level priority queues based on 1-level cut

Closes #166 . This should make internal memory used more often, since we fewer times hit the case where the 1/4th of memory given to the per-level priority queue cannot contain as much as the 3/4th given to the levelized priority queue. Why this exactly is a thing in the first place I do not yet fully understand, to be honest.

Codecov Report

Merging #327 (b3db1ee) into main (347d47c) will increase coverage by 0.007%.
The diff coverage is 95.000%.

@@              Coverage Diff              @@
##              main      #327       +/-   ##
=============================================
+ Coverage   97.312%   97.319%   +0.007%
=============================================
  Files           58        58
  Lines         3274      3282        +8
=============================================
+ Hits          3186      3194        +8
  Misses          88        88

Impacted Files
Coverage Δ

src/adiar/internal/quantify.h
97.931% <92.857%> (+0.014%)
:arrow_up:

src/adiar/internal/product_construction.h
98.492% <94.118%> (+0.008%)
:arrow_up:

src/adiar/bdd/if_then_else.cpp
95.848% <96.000%> (+0.029%)
:arrow_up:

src/adiar/internal/cut.h
100.000% <100.000%> (ø)

Continue to review full report at Codecov.

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

authors: SSoelvsten codecov-commenter

repo: SSoelvsten/adiar


text:
Merge Sort In Cpp

Introduction to the Sort
Time Complexity Information Of All Scenarios
Code For The Algorithm

Hi @ST1LLWATER , I would like to work on this issue, can you please assign me?

Hello, @ST1LLWATER I would like to work on this issue.

Hi @anjaligoswami, it's a pleasure to work with you on this issue. I would like to write the code for this algorithm and if it is ok you could do the two pending points that include the explanation and the time complexity. If you need help I would be glad to help you.

I have just included the algorithm solution code in the second commit of pull request #25

Hi , I would like to work on this issue . Assign me on this issue

@ST1LLWATER I did this issue on pull request #25


text:
Resource manager design for many core and heterogeneous machines

We are in need of a resource manager to handle the way we allocate cores/sockets/gpus etc in a more user friendly and adjustable way.
@shoshijak is workin on a new resource manager and I have some ideas on how I'd like to use it
One basic design idea I have would look something like the following where I might want to assign the all even numbered PUs, on the 1st core of each socket to one thread pool, and the rest to another, but pu 0 , core 0 on socket 0 to a network only task pool.
int main() {
    auto rm = hpx::get_resource_manager(); // queries hwloc interally for into
    auto pool_1 = rm.create_thread_pool("even_pool");
    auto pool_2 = rm.create_thread_pool("default_pool");
    auto pool_3 = rm.create_thread_pool("network");
    for (auto s : rm.sockets()) {
        for (auto c : s.cores()) {
            for (auto pu : c.pus()) {
                if (s.index()==0 && c.index==0 && pu ==0) {
                    pool_3.add(pu);
                }
                else if (s.index()==1 && pu %2 ==0) {
                    pool_1.add(pu);
                else (pu %2 ==0) {
                    pool_2.add(pu);
            }
        }
    }
    hpx_init(&etc);
}

int hpx_main(...) {
    auto network_executor = rm.executor_for_pool("network");
    auto f1 = hpx::async(network.executor, some_network_stuff);
    auto even_executor = rm.executor_for_pool("even_pool");
    auto default_executor = rm.executor_for_pool("default_pool");
    // tasks spawned without an executor will go onto the default pool
    //etc
}

the idea is that the user can partition the system up according to desire and create 'pools' of hardware threads that each run their own scheduler on.
A user who needs an executor for network, another for some gpu related activity (but using tasks on the cpu), and another exetutor, might need 3 pools - and on a single core system would oversubscribe by adding the same core to 3 pools. The resource manager would create 3 threads on the same core.
likewise we might iterate over GPUs in the same way, also NUMA domains instead of or as well as sockets.
Other features we would like.
The ability to ask for a core on a socket that is connected to the PCI bus that connects to the network card.
Same for GPU
Other hardware related issues of a similar theme. How do we specify a core on a socket closest to the PCI bus for the network? Can we specify the first PU on the first core on the socket closest to the network card using a syntax like
network_pool.add(rm.sockets.get(hpx::policies::resources::PCI).core(0).pu(0));

This issue should be the place to submit API ideas for how we implement the resource manager
Also : Resizing pools during/after program segments. reallocating resources etc. TBD

The problem with partitioning up the system before hpx_init is that we
don't know if a node hosts more then one locality. Other than that, I like
the basic idea.
Am 05.05.2017 2:33 nachm. schrieb "John Biddiscombe" <
notifications@github.com>:
We are in need of a resource manager to handle the way we allocate
cores/sockets/gpus etc in a more user friendly and adjustable way.
@shoshijak https://github.com/shoshijak is workin on a new resource
manager and I have some ideas on how I'd like to use it
One basic design idea I have would look something like the following where
I might want to assign the all even numbered PUs, on the 1st core of each
socket to one thread pool, and the rest to another, but pu 0 , core 0 on
socket 0 to a network only task pool.
int main() {
auto rm = hpx::get_resource_manager(); // queries hwloc interally for into
auto pool_1 = rm.create_thread_pool("even_pool");
auto pool_2 = rm.create_thread_pool("default_pool");
auto pool_3 = rm.create_thread_pool("network");
for (auto s : rm.sockets()) {
for (auto c : s.cores()) {
for (auto pu : c.pus()) {
if (s.index()==0 && c.index==0 && pu ==0) {
pool_3.add(pu);
}
else if (s.index()==1 && pu %2 ==0) {
pool_1.add(pu);
else (pu %2 ==0) {
pool_3.add(pu);
}
}
}
hpx_init(&etc);
}
int hpx_main(...) {
auto network_executor = rm.executor_for_pool("network");
auto f1 = hpx::async(network.executor, some_network_stuff);
auto even_executor = rm.executor_for_pool("even_pool");
auto default_executor = rm.executor_for_pool("default_pool");
// tasks spawned without an executor will go onto the default pool
//etc
}
the idea is that the user can partition the system up according to desire
and create 'pools' of hardware threads that each run their own scheduler on.
A user who needs an executor for network, another for some gpu related
activity (but using tasks on the cpu), and another exetutor, might need 3
pools - and on a single core system would oversubscribe by adding the same
core to 3 pools. The resource manager would create 3 threads on the same
core.
likewise we might iterate over GPUs in the same way, also NUMA domains
instead of or as well as sockets.
Other features we would like.
The ability to ask for a core on a socket that is connected to the PCI bus
that connects to the network card.
Same for GPU
Other hardware related issues of a similar theme. How do we specify a core
on a socket closest to the PCI bus for the network? Can we specify the
first PU on the first core on the socket closest to the network card using
a syntax like
network_pool.add(rm.sockets.get(hpx::policies::resources::PCI).core(0).pu(0));
This issue should be the place to submit API ideas for how we implement the
resource manager
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/STEllAR-GROUP/hpx/issues/2609, or mute the thread
https://github.com/notifications/unsubscribe-auth/AADRl1zUcys1xoWZ_hMjOJbdJCTgm46Eks5r2xcpgaJpZM4NR2zO
.

In order to support an arbitrary amount of executors we should not leave assigning concrete cores/processing units to the user. This will not scale. I think we should leave the task of deciding what cores/processing units to assign to what executor should be left to the resource manager (that's its main task). We should however have a means of defining constraints allowing to fine tune thread placement. So the executor should be able to ask the resource manager for exclusive/shared access to N cores/processing units with additional constraints, like 'N cores on the same socket' or '2 processing units on this core' etc. It is the task of the resource manager to either satisfy the request or to deny it if the request can't be satisfied.

And how would you let the user inform the executor of the kind/amount of resources he should request from the resource manager?

@shoshijak that should be part of the API exposed by the resource manager. I think the best way would be to define a interface the resource manager can use to interact with the requesting executor (see for instance: https://github.com/STEllAR-GROUP/hpx/blob/master/hpx/runtime/threads/thread_executor.hpp#L127-L146). This would be necessary also for implementing dynamic assignment of cores.
In short, a requesting executor would create an object exposing this interface and hand it to the resource manager. The resource manager in turn uses this interface to a) query the executor for constraints, requirements, etc. and b) to interact with the executor in order to grant or revoke access to a particular core/processing unit, and c) to extract statistics which can be used to assess how busy a particular executor currently is (needed in situations where more resources are requested than there are available).

@hkaiser The idea outlined above was for when the user wants to customize things. By default, the resource manager will create a thread pool with all cores in (or however many asked for by hpx:threads).
The intention here was to provide a mechanism for the user to create differnt thread pools so that different schedulers can be run on each

After videoconf with @biddisco and @hkaiser, a summary of the plan:

@biddisco's proposal and @hkaiser's proposal are very different, and are actually two different kinds of resource managers. Let's rename John's proposal "resource partitioner".
The plan is to start by implementing a static resource partitioner, which more or less exposes the API described at the beginning of this thread, and which sits outside of the HPX runtime.
Then move on either to allowing this resource partitioner to resize thread_pools dynamically during execution, or create a resource manager in @hkaiser's vision.

@biddisco and I are thinking some more about how the resource_partitioner would be used, and realized there are many potential conflicts between command-line specifications (e.g. --hpx:threads N, --hpx:cores N and --hpx:bind) and the code we suggest to allow in int main() (cf snippet at the top of this issue).
What do you think for example of the following question:
If a user specifies --hpx:threads N --hpx:bind balanced on a two socket-machine where each socket has N PUs (so the machine has twice as many PUs as the user asked for in the command line). Suppose the user then asks for more than N PUs in int main().
should ...

the resource partitioner fulfill this request even though it violates the command-line option?
the resource partitioner throw an exception and let the command line specifications override the code in int main()
should --hpx:threads merely specify the number of OS-threads to put in the default pool (a thread-pool which contains all resources the user has not requested in int main() )?

And a different but related question:
Should the resource-partitioner behave according to policies specified in the command line?
Examples of policies could include

allow empty pools (or not)
create a default pool (or not)
allow oversubscription (or not)

any other ideas?

@shoshijak The point I was trying to make earlier when we spoke was that if the user specified
--hpx:threads=12 --bind=balanced on a amchine with 2 12 core sockets, then when the iterators are created in the resource manager, they will iterate only over those 12 cores that are allowed by the user'
s command line and in this example, will give 6 per socket. the other 6 per socket will be 'invisible' to the RM and thus the user can't create too many before int main.

NB. The user could still iterate over those 12 cores and add them to several pools, and thus oversubscribe the cores, but only those ones that were declared by the command line. in this example 12 cores would be unused even if the user added the other 12 used ones to multiple pools and ended up creating 36 actual 'threads' on those 12 cores.

or then again ....
if the resource_manager is created with an 'ignore_command_line' policy flag, then it could grab all the resources regardless of what was on the command line.

Further discussion on resource managers/partitioners has brought up a new interesting twist.
Once we allow multiple thread pools, with different schedulers running on each pool, we will need to add an id_type for thread pools and corresponding decoration to remote async calls.
I may partition my system into a communication_pool, default_pool and a compute_pool - I wish to launch a task on a remote node, and have it run on the compute pool, or the communication_pool, rather than the default_pool. I will then with to get a handle (id_type) to the compute_pool on locality(x) and
hpx::async( locality_id, compute_pool_id, action, args ...);

My understanding was that the resource_partitioner would sub-partition the machine before HPX was launched, thus leaving only a subset of the cores to HPX. The rest of the cores wouldn't be visible to HPX anymore.
If this understanding is incorrect, and we still want to expose those sub-partitions outside of the HPX domain to the user, we should use executors for this and not id_types.

The plan was to allow multiple thread pools to be exposed to HPX on a single node.
On a local machine - there might be N thread pools. Each one has it's own scheduler and to launch a task on the mpi_pool, we would require
    auto mpi_pool = resource_manager.get_pool("mpi");
    auto mpi_executor = mpi_pool.get_executor();
    auto a_future = hpx::async(mpi_executor, stuff);

the purpose of this being to allow us to dedicate some cores to an mpi executor, some others to default pool and allow the user to create as many pools/schedulers as they require for their algorithmic needs.
But... supposing you want to launch a task on the mpi_executor of a remote node? Then it would be nice to have ID types for the different thread pools and be able to schedule a task to run on the remote node, on that pool. Either a remote executor ID, or a remote pool ID would be useful/required.

Yes, executors are the way to go, then.

@biddisco @hkaiser Are there still API changes that you wish to see for the RP? If not, this can probably be closed (or more specific issues can be opened for whatever is missing).

authors: biddisco hkaiser msimberg shoshijak sithhell

repo: STEllAR-GROUP/hpx


text:
Add lcos::local::one_element_channel

refactored local channel implementation
channel::set is now optionally asynchronous
adding asynchronous iterator support to channel

Hmm, I'm not a big fan of that, that makes a little awkward to extend.
Could we do it the other way around, that is have an explicit operator in
the various channels?
Am 18.05.2017 3:55 nachm. schrieb "Hartmut Kaiser" <notifications@github.com

:

@hkaiser commented on this pull request.
In hpx/lcos/local/channel.hpp
https://github.com/STEllAR-GROUP/hpx/pull/2631#discussion_r117253994:

private:

   boost::intrusive_ptr<detail::channel_base<T> > channel_;

public:

   receive_channel(channel<T> const& c)

     : base_type(c.get_channel_impl())

   {}

   receive_channel(one_element_channel<T> const& c)

     : base_type(c.get_channel_impl())

   {}

No for two reasons:

in that case a receive_channel would become constructible from a
send_channel, for instance
all channel classes are non-publicly derived (using protected
derivation) from channel_base

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/STEllAR-GROUP/hpx/pull/2631#discussion_r117253994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADRl8ZWKOY3fvz1m1CeDZARuuE7WboTks5r7E3SgaJpZM4NbcAW
.

Hmm, I'm not a big fan of that

Of what? Could you elaborate, please?

Hmm, I'm not a big fan of that

Of what? Could you elaborate, please?

That we essentially have to list all channel implementations in the ctor of receive_channel and send_channel. Guess it is not something blocking right now, still a little nuisance,

That we essentially have to list all channel implementations in the ctor of  receive_channel  and  send_channel . Guess it is not something blocking right now, still a little nuisance,

I don't have a better solution. Besides, being explicit is always better than relying on implicit conversions.

authors: hkaiser sithhell


text:
Global namespaces support, plus better handling of teams

This PR introduces the concept of global namespace.
Global namespaces
A global namespace is identified by a boolean flag and it's associated with a Registry instance. Global namespaces are always public, meaning everybody can pull from them. Only admin users can push to them. As usual there's a team behind the global namespace, so an admin user could add contributors to it to have more people with pull rights.
Hidden teams
The team model now has a new boolean attribute: hidden. This is used to hide certain teams like: the one associated to a global namespace and the one associated with a personal user namespace.
UI changes
Namespaces index
The namespaces page now has to sections: special namespaces and normal ones. The special section contains the global namespaces plus the personal namespace of the user (this addresses some of the points of issue #54).

Teams index
The team page hides all the teams that have hidden set to true. This fixes some of the points of issue #54.

In the above screenshot the user is part of 0 teams as opposed to before when the team of the personal namespace would have been shown.

@mssola as usual feedback is welcome :)

I get an exception when accessing the admin dashboard and clicking "Namespaces". In particular, the exception happens in the file app/views/namespaces/index.html.slim in the line 20, because the @special_namespaces instance variable is nil.

Everything else LGTM :+1:

@mssola thanks for the testing and the notes. I fixed the issue you reported by creating admin-only pages for the namespaces and for the teams.
I'm going to merge the code, but feel free to comment if you do not like something

authors: flavio mssola

repo: SUSE/Portus


text:
[WIP] Layer seven tests

Until layer 7 envoy package is in this should fail.
Other then that it should be good and can be reviewed. will squash shortly.
Why is this PR needed?
This pr provides integration tests for layer 7 network filtering
Fixes #https://github.com/SUSE/avant-garde/issues/984
What does this PR do?
this is a test that covers this senario
GIVEN cilium is properly configured
AND an L7 policy that restricts access to an endpoint is applied
WHEN a unautorized request is made to the endpoint
THEN Access is denied

please include a brief "management" technical overview (details are in the code)
Anything else a reviewer needs to know?
Special test cases, manual steps, links to resources or anything else that could be helpful to the reviewer.
Info for QA
This is info for QA so that they can validate this. This is mandatory if this PR fixes a bug.
If this is a new feature, a good description in "What does this PR do" may be enough.
Related info
Info that can be relevant for QA:

link to other PRs that should be merged together
link to packages that should be released together
upstream issues

Status BEFORE applying the patch
How can we reproduce the issue? How can we see this issue? Please provide the steps and the prove
this issue is not fixed.
Status AFTER applying the patch
How can we validate this issue is fixed? Please provide the steps and the prove this issue is fixed.
Docs
If docs need to be updated, please add a link to a PR to https://github.com/SUSE/doc-caasp.
At the time of creating the issue, this PR can be work in progress (set its title to [WIP]),
but the documentation needs to be finalized before the PR can be merged.
Merge restrictions
(Please do not edit this) then why is it here?
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

Hi!
New code has been merged in master regarding terraform 0.12. Please rebase your branch to take this changes in.
Happy hacking

We have L7 support in Envoy; are these tests still relevant?

not relevant anymore

authors: Itxaka Klaven dannysauer jordimassaguerpla

repo: SUSE/skuba


text:
Improve skuba cluster upgrade plan output

Why is this PR needed?
This changeset modifies the skuba cluster upgrade plan output so
it's much more clear what is the expected workflow of the cluster
upgrade.

Pre platform upgrade checks

Checks whether there are drifted nodes that prevent the platform
upgrade
Checks whether addons need to be upgraded before the
platform (there are new addons available for the current cluster version)

Platform upgrade checks

Checks whether there is a new platform version available

Post platform upgrade checks

If there are platform upgrades available, check whether addons
will need to be upgraded afterwards (there are new addons
available for the target cluster version)

Fixes https://github.com/SUSE/avant-garde/issues/1144
Merge restrictions
(Please do not edit this)
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

Hi!
New code has been merged in master regarding terraform 0.12. Please rebase your branch to take this changes in.
Happy hacking

Manual test plan:

setup a k8s cluster using RPM-installed skuba-1.0.2-1.1 (and using tf-0.11.14)

zypper in terraform-0.12.21
and upgrade the tfstate of the deployment to 0.12

git fetch origin pull/911/head:PR911

git checkout PR911 (and use diff to see if I am on the right branch)

make .

copied the tfstate to appropriate folder inside git repo

ran skuba cluster status inside the cluster folder                   PASSED

ran skuba cluster upgrade plan inside cluster folder             PASSED

 OUTPUT(s):

(checking built skuba version)
== skuba version
** This is an UNTAGGED version and NOT intended for production usage. **
skuba version: untagged (v1.2.6-37-gbc63e0d0) (development) 20200306 go1.12.6
== skuba cluster upgrade plan
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
All nodes match the current cluster version: 1.15.2.
Addon upgrades for 1.15.2:

cilium: 1.5.3 (new addon)
dex: 2.16.0 (new addon)
gangway: 3.1.0-rev4 (new addon)
kured: 1.2.0-rev4 (new addon)
psp (new addon)

It is required to run 'skuba addon upgrade apply' before starting the platform upgrade.
Upgrade path to update from 1.15.2 to 1.16.2:

1.15.2 -> 1.16.2

Addon upgrades from 1.15.2 to 1.16.2:

kured: 1.2.0-rev4 -> 1.3.0

*OUTCOME:

addon upgrade              - PASSED
node upgrade                - FAILED
atighineanu@f108:~/work/glugulasp/imba-cluster> skuba node upgrade apply -t 10.84.73.207 -u sles -s
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
Current Node version: 1.15.2

Fetching the cluster configuration...
Performing node master-pimp-general-00 (10.84.73.207) upgrade, please wait...
E0306 09:41:06.769195   10185 ssh.go:195] Removed /etc/systemd/system/timers.target.wants/skuba-update.timer.
E0306 09:47:17.015972   10185 ssh.go:195] Created symlink /etc/systemd/system/timers.target.wants/skuba-update.timer → /usr/lib/systemd/system/skuba-update.timer.
Unable to apply node upgrade: unable to patch daemonset with kured unlocking annotation: Patch https://10.84.73.205:6443/apis/apps/v1/namespaces/kube-system/daemonsets/kured: EOF

Information for QA:
This patch is mainly improving skuba cluster upgrade plan:

It should always show:

Current Kubernetes cluster version: <currentKubernetesVersion>
Latest Kubernetes version: <latestKubernetesVersion>

It will check what is the version of all nodes (control plane nodes and worker nodes), checking if all nodes in the cluster match the current cluster version X.

If this condition is not satisfied, it will print:
Some nodes to not match the current cluster version (<X>):

And then, it will go through all nodes, showing:

- <nodeName>: up to date if <nodeName> is at version X.
- <nodeName>; current version: Y (upgrade required) if <nodeName> version Y does not tolerate version X. I will later describe what "tolerate" means in this context.
- <nodeName>; current version: Y (upgrade suggested) if <nodeName> version Y tolerates version X.
If any of the previous nodes is a worker node and is unschedulable (cordoned), the previous line will be appended with ; unschedulable, ignored. E.g. - <nodeName>; current version: Y (upgrade suggested); unschedulable, ignored.

If the condition is satisfied (all nodes match the current cluster version X), it will print:
All nodes match the current cluster version: X

Then, it will perform what we call the "plan pre platform upgrade".

Assuming you are in Kubernetes version X

It will compare the current addon versions in the cluster (by reading the skuba-config ConfigMap), against the latest list of addons compiled into skuba for the version X.

Essentially: are all addons up to date for the current cluster version X?

This check is important because we want to force the user to upgrade to the latest addons available for version X before they can upgrade to a X+1 Kubernetes version.

If there are addon updates, it will show the following:
Addon upgrades for X:

And then, print the addon upgrades as we are used to. There are small behavioral change here though:

If the new and old addon version matches (only the manifest version was bumped), the output changes with this PR:

Before: - <addon>: <version> -> <version> (manifest version from N to M)
After: - <addon>: <version> (manifest version from N to M)

If there is a new platform version Y, and there are addon upgrades available for version X, it will print:
It is required to run 'skuba addon upgrade apply' before starting the platform upgrade.

If there are no addon upgrades available, it will print:
Addons at the current cluster version X are up to date.

If there is a new platform version Y, it will also print:
There is no need to run 'skuba addon upgrade apply' before starting the platform upgrade.

Then, it will perform what we call the "plan platform upgrade":

No changes with respect to the previous output. E.g.:
Upgrade path to update from X to Z:
  - X -> Y
  - Y -> Z

Then, it will perform what we call the "plan post platform upgrade":

Assuming you are in Kubernetes version X, upgrading to Kubernetes version Y

It will compare the latest addon versions for version X with the latest addon versions for version Y, and so, it will notify the user if they need to run skuba addon upgrade apply after the upgrade of all the nodes.

Essentially: after I have executed skuba node upgrade apply in all my nodes, do I need to execute skuba addon upgrade apply afterwards?

The output is the same to the case of "plan pre platform upgrade", with the difference that messages are:

Addon upgrades from X to Y: instead of Addon upgrades for X:
It is required to run 'skuba addon upgrade apply' after you have completed the platform upgrade. instead of It is required to run 'skuba addon upgrade apply' before starting the platform upgrade.
There is no need to run 'skuba addon upgrade apply' after you have completed the platform upgrade. instead of There is no need to run 'skuba addon upgrade apply' before starting the platform upgrade.

/cc @atighineanu

This is green, please review. Will await for QA ACK as well.

STEPS:

Installed a cluster with :master + PR - builded skuba (v1.2.6-58-gd4814064) with option --kubernetes-verstion 1.15.2

skuba cluster upgrade plan
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2

Upgrade path to update from 1.15.2 to 1.16.2:

1.15.2 -> 1.16.2

Addon upgrades from 1.15.2 to 1.16.2:

kured: 1.2.0-rev4 -> 1.3.0
metrics-server: 0.3.6 (new addon)
psp:  ->  (manifest version from 1 to 2)

Please, run skuba addon upgrade apply in order to upgrade addons.

skuba addon upgrade apply
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
#COMMENT: (before, there was something happening, now -there's nothing)

[apply] Congratulations! Addons for 1.15.2 are already at the latest version available

skuba node upgrade plan master-pimp-general-00
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
Current Node version: 1.15.2

Component versions in master-pimp-general-00

apiserver: 1.15.2 -> 1.16.2
controller-manager: 1.15.2 -> 1.16.2
scheduler: 1.15.2 -> 1.16.2
etcd: 3.3.11 -> 3.3.15
kubelet: 1.15.2 -> 1.16.2
cri-o: 1.15.0 -> 1.16.1

skuba node upgrade apply --target 10.84.73.184 --user sles
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
Current Node version: 1.15.2

Fetching the cluster configuration...
Performing node master-pimp-general-00 (10.84.73.184) upgrade, please wait...
Unable to apply node upgrade: failed to apply state skuba-update-timer.disable: Process exited with status 1
===================================================
RE-TRIED the same thing all over again (re-created the whole cluster from scratch)

skuba node upgrade apply --user sles --sudo --target 10.84.72.10
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.15.2
Latest Kubernetes version: 1.16.2
Current Node version: 1.15.2

Fetching the cluster configuration...
Performing node master-pimp-general-00 (10.84.72.10) upgrade, please wait...
E0313 08:41:24.435314   25175 ssh.go:195] Removed /etc/systemd/system/timers.target.wants/skuba-update.timer.
E0313 08:44:57.817707   25175 ssh.go:195] Created symlink /etc/systemd/system/timers.target.wants/skuba-update.timer → /usr/lib/systemd/system/skuba-update.timer.
Node master-pimp-general-00 (10.84.72.10) successfully upgraded

skuba cluster upgrade plan
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.16.2
Latest Kubernetes version: 1.16.2

Some nodes do not match the current cluster version (1.16.2):

master-pimp-general-00: up to date
master-pimp-general-01; current version: 1.15.2 (upgrade required)
master-pimp-general-02; current version: 1.15.2 (upgrade required)
worker-pimp-comrade-00; current version: 1.15.2 (upgrade suggested)
worker-pimp-comrade-01; current version: 1.15.2 (upgrade suggested)

Addon upgrades for 1.16.2:

kured: 1.2.0-rev4 -> 1.3.0
metrics-server: 0.3.6 (new addon)

skuba addon upgrade plan
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.16.2
Latest Kubernetes version: 1.16.2

Unable to plan addon upgrade: Not all nodes match clusterVersion 1.16.2

skuba addon upgrade apply
** This is an UNTAGGED version and NOT intended for production usage. **
Current Kubernetes cluster version: 1.16.2
Latest Kubernetes version: 1.16.2

Unable to Apply addons upgrade: [apply] Not all nodes match clusterVersion 1.16.2
Conclusion:

regarding the output of the skuba upgrade [command] when informing about updates and warning about nodes that need upgrade(s), to me it looks that it works as intended.
before, we ran skuba addon upgrade before node upgrade; I guess because of this metrics, it says that it's up-to-date.

authors: atighineanu ereslibre jordimassaguerpla


text:
论文撰写常见问题汇总

【腾讯文档】2023年论文撰写常见问题汇总
https://docs.qq.com/doc/DQ2FGS2lneEZTeWlR

Hello, could you please tell me how to change the '硕士'  to '博士' on the cover page? I couldn't find the corresponding interface to make this change in the 'sustech-setup.tex' file.

改example文件的最开头，看下注释
获取Outlook for Androidhttps://aka.ms/AAb9ysg

From: LI Sen @.>
Sent: Wednesday, September 27, 2023 1:01:04 PM
To: SUSTech-CRA/sustech-master-thesis @.>
Cc: Ziqiang Li @.>; Author @.>
Subject: Re: [SUSTech-CRA/sustech-master-thesis] 论文撰写常见问题汇总 (Issue #66)
Hello, could you please tell me how to change the '硕士' to '博士' on the cover page? I couldn't find the corresponding interface to make this change in the 'sustech-setup.tex' file.
―
Reply to this email directly, view it on GitHubhttps://github.com/SUSTech-CRA/sustech-master-thesis/issues/66#issuecomment-1736705753, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFPPM7S554OD54TBJPUY2FDX4OXJBANCNFSM6AAAAAAVQC6RAM.
You are receiving this because you authored the thread.Message ID: @.***>

改example文件的最开头，看下注释 获取Outlook for Androidhttps://aka.ms/AAb9ysg
…
________________________________ From: LI Sen @.> Sent: Wednesday, September 27, 2023 1:01:04 PM To: SUSTech-CRA/sustech-master-thesis @.> Cc: Ziqiang Li @.>; Author @.> Subject: Re: [SUSTech-CRA/sustech-master-thesis] 论文撰写常见问题汇总 (Issue #66) Hello, could you please tell me how to change the '硕士' to '博士' on the cover page? I couldn't find the corresponding interface to make this change in the 'sustech-setup.tex' file. ― Reply to this email directly, view it on GitHub<#66 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFPPM7S554OD54TBJPUY2FDX4OXJBANCNFSM6AAAAAAVQC6RAM. You are receiving this because you authored the thread.Message ID: @.***>

Hello,
I have previously attempted to make adjustments in the example file by modifying it to “\documentclass[degree=doctor,language=chinese,cjk-font=external]{sustechthesis},” however, it seems to have had no effect.

authors: iseedwyane liziwl

repo: SUSTech-CRA/sustech-master-thesis


text:
Dismissing a HUD interferes with the VoiceOver focus

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil) is called whenever a HUD is dismissed, which plays the screen changed VoiceOver sound but also moves the focus to the first accessible item in the screen.
I think that if this line has to be called, it should be done in the optional completion handler because it does more than just play the screen changed sound.

I checked the documentation. It says:
"Posted by an application when a new view appears that makes up a major portion of the screen."
Thus, I think it would be O.K. to remove the line from dismissWithDelay: as no new view appears.

Yes that's exactly what I intended to do. I'll make a pull request.

Great. Thanks for the contribution.

authors: honkmaster lapfelix

repo: SVProgressHUD/SVProgressHUD


text:
Support for Civilization for Windows sounds

Because it's going to take some time to figure out how to decode the original Civilization for DOS sound files, it's a good idea to add support for the Civilization for Windows sound files. If the .wav files exist, CivOne will play them. Otherwise it will just run with no sounds.

In order to play the game with CivWin sounds, you'll need to copy all the .wav files from the original (Civilization for Windows) folder to ~/sounds/**
Also, you need to install OpenAL: https://www.openal.org/downloads/
This feature is experimental, and basically a workaround until we manage to discover how the original Civilization for DOS sound files work. It adds a bit of life to the original game.
Please, do not post links to the original sound files. If someone does not own CivWin, they'll have to live without sounds for the moment. Sorry...

This feature has not been implemented in the SDL version of Civilization. I also want to add a GUI for adding the files, instead of manually copying them.

Now that support for playing sounds has been implemented in the SDL runtime of CivOne, here's the todo list:

Add a setting in the Setup screen to add the WAV files
Use all (relevant) sound files

The following sound files are not yet used:

AIRNUKE.WAV (when using a nuke on a city)
CANNON.WAV (when attacking with a canon)
LOSE2.WAV (when losing a game)
S_LAND.WAV (when attacking with modern weapon units)
S_NUKE.WAV (when using a nuke outside a city)
WINTUNE.WAV (when winning a game)

All CivWin sounds are now used. Now we just need a setting in the setup screen to add sound files.


text:
clip_timestamps does not work, cross audio hallucination [faster-whisper 1.0.2]

I was testing faster whisper with 2 very long audio files (about 30 min each). Both were generated using the gigaspeech dataset, with long.wav being many audio files concatenated into a continuous file and silence.wav being audio files joined with 3-minute-long complete silences in between. I then used silero VAD externally to generate speech timestamps for each file before passing these timestamps through the clip_timestamps parameter.
When testing this functionality on just silence.wav, the transcript generated was as expected. However, when running the model on long.wav first (where there was some hallucination) then silence.wav, the silence.wav transcription was completely hallucinated and the provided clip_timestamps were also not used.
Code:
from faster_whisper import WhisperModel
from faster_whisper.audio import decode_audio
import os
import torch

DATA_DIR = "test_data/wav/processed"
OUTPUT_DIR = "test_data/output/asr"
FS = 16000

model = WhisperModel("base")

vad_parameters = {
    "threshold": 0.28,
    "min_speech_duration_ms": 250,
    "max_speech_duration_s": 10,
    "min_silence_duration_ms": 100,
    "window_size_samples": 1536,
    "speech_pad_ms": 30
}

vad, utils = torch.hub.load("snakers4/silero-vad", model="silero_vad", onnx=True)
(get_speech_timestamps,
save_audio,
read_audio,
VADIterator,
collect_chunks) = utils

for file_name in os.listdir(DATA_DIR):
    output_file = os.path.splitext(file_name)[0] + ".txt"
    output_path = os.path.join(OUTPUT_DIR, output_file)

    file_path = os.path.join(DATA_DIR, file_name)

    # clip_timestamps generated here
    audio = decode_audio(file_path)
    speech_timestamps = get_speech_timestamps(torch.tensor(audio), vad, sampling_rate=FS, **vad_parameters)
    clip_timestamps_list = []
    for entry in speech_timestamps:
        clip_timestamps_list.append(str(entry["start"] / FS))
        clip_timestamps_list.append(str(entry["end"] / FS))
    clip_timestamps = ",".join(clip_timestamps_list)
    print(clip_timestamps_list)

    with open(output_path, "w") as f:
        segments, info = model.transcribe(
            audio,
            beam_size=5,
            vad_filter=False,
            clip_timestamps=clip_timestamps
        )

        for segment in segments:
            segment_text = segment.text.strip()
            f.write(f"{segment.start:.2f}\t{segment.end:.2f}\t{segment.text}\n")

Files:
https://drive.google.com/file/d/1mfDWNDmcZvW9M-zMaNWFy9tVUOdUrZnA/view?usp=sharing
Environment:
faster-whisper==1.0.2
onnxruntime-gpu==1.17.1
torch==2.2.2+cu121
torchaudio==2.2.2+cu121
torchvision==0.17.2+cu121
python 3.10.12
cuda 12.1
requirements.txt
Expected output:
clip_timestamps are used. This behaviour happens when only silence.wav is run by itself.

Actual output:
The model is transcribing silence (audio only starts at 180s), completely disregarding the given clip_timestamps. This is the same audio file as above, the only difference being that another audio was run before.

I feel this issue is worth raising as running the same audio should give the exact same outputs every time, which is inexplicably not happening here. Additionally the parameter clip_timestamps should cause the model to use the given timestamps when transcribing. Any advice or help as to why this happens and how this can be addressed will be greatly appreciated.

Tried to examine how the relevant variables are being passed in the source code in transcribe.py
Outputting the length of clip_timestamps (argument passed to transcribe() ), options.clip_timestamps and seek_clips
long.wav
Len clip_timestamps list 714
Len clip_timestamps passed to transcribe() 5894 type <class 'str'>
Len options.clip_timestamps before split 5894 type <class 'str'>
Len options.clip_timestamps after split 714 type <class 'list'>
Len seek_clips 357
silence.wav
Len clip_timestamps list 26
Len clip_timestamps passed to transcribe() 214 type <class 'str'>
Len options.clip_timestamps before split 714 type <class 'list'>
Len options.clip_timestamps after split 714 type <class 'list'>
Len seek_clips 357

It seems on the second file options.clip_timestamps is not correctly updated from the passed argument clip_timestamps and results in the wrong seek_clips being used.

Was able to do a simple fix for this problem, created a pull request #842

@nonnoxer , tks for your PR. I merged it.

For future reference, the issue was caused by setting NamedTuple fields at the class level.
Once a field of a NamedTuple is set at the class level, all instances created before and after will be affected. i.e. when trying to call instance.field, the class-level field value will always be returned.

authors: liwangd nonnoxer trungkienbkhn

repo: SYSTRAN/faster-whisper


text:
🛑 Rahanet Movie AF is down

In 785a52d, Rahanet Movie AF (http://movie.af/) was down:

HTTP code: 403
Response time: 1354 ms

Resolved: Rahanet Movie AF is back up in 5777e6e after 10 minutes.

repo: Saboor-Hakimi/upptime


text:
Verificar mas codigos que solo 200 como valido

Un request 300 puede ser valido. Conviene verificar que sea valido si es menor a 400

https://github.com/Saetabis1/bookmark-checker/pull/1

authors: gvquiroz jvelezpo


text:
Remove type parameters from enum variants

Currently, I don't see a use-case for type parameters on enum variants. It also goes against an enum's semantics of having a fixed set of variants (albeit with parameters).

:tada: This issue has been resolved in version 0.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
npm package (@latest dist-tag)
v0.4.0
GitHub release

Your semantic-release bot :package::rocket:

repo: Safe-DS/DSL


text:
sprint create bug

I tried creating a sprint -- and it mostly worked -- but there was an exception thrown.
rallymanager --synapse_config ~/.synapseConfig_sage_ki_service --config ~/rally_config.json create-sprint 30 A

    INFO:kirallymanager.manager:Creating a new sprint 30A
INFO:kirallymanager.manager:Created sprint project syn22000247
Downloading  [####################]100.00%   358.0bytes/358.0bytes (952.2kB/s) masterTemplate.md Done...
    INFO:kirallymanager.manager:Set sprint project wiki.
INFO:kirallymanager.manager:Created sprint project folder structure.
INFO:kirallymanager.manager:Created sprint project forum posts.
Traceback (most recent call last):
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/bin/rallymanager", line 120, in <module>
    main()
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/bin/rallymanager", line 116, in main
    args.func(args)
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/bin/rallymanager", line 26, in create_sprint
    config=config)
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/lib/python3.7/site-packages/kirallymanager/manager.py", line 492, in create_sprint
    rally_admin_sprint_table = syn.store(rally_admin_sprint_table)
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/lib/python3.7/site-packages/synapseclient/client.py", line 997, in store
    properties = self._updateEntity(properties, forceVersion, versionLabel)
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/lib/python3.7/site-packages/synapseclient/client.py", line 3370, in _updateEntity
    return self.restPUT(uri, body=json.dumps(get_properties(entity)))
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/lib/python3.7/site-packages/synapseclient/client.py", line 3490, in restPUT
    exceptions._raise_for_status(response, verbose=self.debug)
  File "/Users/psnyder/Documents/virtual_environments/synapsepythonclient1.9.4/lib/python3.7/site-packages/synapseclient/exceptions.py", line 153, in _raise_for_status
    raise SynapseHTTPError(message, response=response)
synapseclient.exceptions.SynapseHTTPError: 403 Client Error:
You do not have UPDATE permission for the requested entity.

sage-ki-service didn't have permissions to the file views. I fixed that.

authors: kdaily philerooski

repo: Sage-Bionetworks/ki-rally-manager


text:
Working: Minimum Sum Array Size: Leetcode 209

LeetCode 209 - https://leetcode.com/problems/minimum-size-subarray-sum/
Implementation in GoLang

@Saikat2407 , for your info. If this commit makes sense, please do merge.