setup.sh fails to run

I am following the instructions of https://docs.microsoft.com/en-us/learn/modules/build-serverless-api-with-functions-api-management/3-exercise-import-function-app-api-management but setup.sh crashes with the following output:
Storage account created.

Creating function apps in Azure...
--runtime-version is not supported for --runtime dotnet. Dotnet version is determined by --functions-version. Dotnet version will be 2.2 for this function app.
Cannot modify this site because another operation is in progress. Details: Id: d4065bb7-4fb1-4ef4-97ba-1c1ffbdb5926, OperationName: Create, CreatedTime: 9/16/2020 9:05:45 AM, RequestId: 54a972d8-273e-4748-b923-13e6d6e3e388, EntityType: 2
--runtime-version is not supported for --runtime dotnet. Dotnet version is determined by --functions-version. Dotnet version will be 2.2 for this function app.
Cannot modify this site because another operation is in progress. Details: Id: d4065bb7-4fb1-4ef4-97ba-1c1ffbdb5926, OperationName: Create, CreatedTime: 9/16/2020 9:05:45 AM, RequestId: 54a972d8-273e-4748-b923-13e6d6e3e388, EntityType: 2

Function apps created.

Building zip files for deployment...

Zip files built.

Publishing function source code...
The function app 'ProductFunctionf3ef379e71' was not found in resource group'learn-063124fb-9e29-4b49-91ac-e1430787c756'. Please make sure these values are correct.
The function app 'OrderFunctiond96de59dc4' was not found in resource group 'learn-063124fb-9e29-4b49-91ac-e1430787c756'. Please make sure these values are correct.

Code published. Functions are ready to use.

The message at the end is misleading. No functions were created.

It looks like creating a new sandbox resolved the issue. Still I think the error handling of the script could be improved.


Add more options for defining bins from ranges

Let's thiscuss which of these options whe want to add:
-including the endpoint
-providing the stepsize
-providing/returning the bin edges rather than bin centers

I think this depends also on what part of the code should be returning this.
If we are talking about the binning functions, those should behave as similar as possible to np.histogramdd.
If we are instead talking about the processor method to add axes to bin on, and the binning method itself, I would sick to the xarray output, and think of which is the most logical input, and as discussed, return an xarray with bin centers (or Interval objects) as coordinates.

@steinnymir how do you consider the interface for this to look like? Should we add an additional parameter bin_size? Or should we adopt the functionality as is described in the docstring (tuple of start, end, stepsize instead of the current implementation of start, end, num_points)?


Changes are not taken when putting a "/" character in the filename

Environment info

OS: MacOs Sierra 10.12.6 (16G1212)
App Version (Command/Ctrl + ,): v1.6.0

Description of the problem / feature request / question:
Changes are not taken when putting a "/" character in the filename (see gif), no error message is provided.
Github doesn't allow /' in the name
If possible, provide a sample gist or screenshot:

It's not a valid token for a filename in most OSs, maybe we need a warning for that. To be honest, I don't know why users would try this...

users often do mistake like this

FYI, cmd + e is the shortcut for editing an existing gist.

Reference package: https://www.npmjs.com/package/valid-filename


Example of Theme?

It'd be great if you could give an example of how to create a theme (or even just show the source of the current themes) so that other people can build off of those. Thanks!

Thanks @thetomester13, will add a dedicated HOWTO for this in the next version. In the meantime, theme sources are here:

https://github.com/fluentdesk/fluent-themes
https://jsonresume.org/themes/ --> (multiple GH repos)

Sweet, thanks!!


Error trying to run fontmake on NotoSanAdlam ufo source

I am working on bug fix for the Noto Sans Adlam that prevents the script from connecting. When I attempt to build with fontmake for testing, I get an "Assertion Error." This occurs the whether running fontmake on the designspace file or the individual UFOs.
INFO:fontmake.font_project:Building OTF for NotoSansAdlam-Regular
INFO:ufo2ft:Pre-processing glyphs
INFO:ufo2ft.filters:Running DecomposeComponentsFilter on NotoSansAdlam-Regular
INFO:ufo2ft.filters:Running RemoveOverlapsFilter on NotoSansAdlam-Regular
INFO:ufo2ft:Building OpenType tables
INFO:ufo2ft.postProcessor:Renaming glyphs to final production names
INFO:ufo2ft.postProcessor:Subroutinizing CFF table
INFO:fontmake.font_project:Saving master_otf/NotoSansAdlam-Regular.otf
Traceback (most recent call last):
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/bin/fontmake", line 10, in
sys.exit(main())
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontmake/main.py", line 422, in main
ufo_paths, is_instance=args.pop("masters_as_instances"), **args
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontmake/font_project.py", line 1020, in run_from_ufos
self.build_otfs(ufos, **kwargs)
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontmake/font_project.py", line 307, in build_otfs
self.save_otfs(ufos, **kwargs)
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontTools/misc/loggingTools.py", line 375, in wrapper
return func(*args, **kwds)
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontmake/font_project.py", line 619, in save_otfs
self.subset_otf_from_ufo(otf_path, ufo)
File "/Users/neilspatel/Documents/FontMake/Noto Sans Adlam New/env/lib/python2.7/site-packages/fontmake/font_project.py", line 686, in subset_otf_from_ufo
assert len(ufo_order) == len(ot_order)
AssertionError

What's your command? I'm trying with various commands and not getting a problem. A few I tried with fontmake 2.1.0:
fontmake -m NotoSansAdlam.designspace -o otf
fontmake -u NotoSansAdlam-Regular.ufo -o otf

Those were the commands I was trying with the current Adlam files. I haven't try running an update on fontmake. Let me see if that's the issue.

Also it says you're on Python 2.7. I'm on 3.8.2. I'd recommend setting up a new 3.8 virtual env and pip installing fontmake there.

Thanks! Doing that now. Hadn't touched fontmake in a while and didn't realize how out of date my copy was.

Yes, lots of changes in fontTools and other parts of fontmake so Python 3 with latest fontmake is the best way to go.

That did it thanks!


Database integration

As a person going through the demo, I want a database integration so that I can understand off-chain storage.
Prior completion of #4 is desired
Acceptance Criteria

[ ] University names and rankings are saved in an external database

Please also note:

If a conversation about this issue is happening when it is being worked on (i.e., has an assignee),
the outcomes should be documented here (not in the comments).

Resources:
Add image here.

How would the query results look?  For example, this describes two columns [ "name", "ranking"] so could a simple version of the results be a JSON list of tuples with those two columns?  As string data?  Or (string, int) ?
Future:

ostensibly, we'll have error codes, etc., added later
also other mime types supported for the responses

Got a prototype service to demo ...
The request, after authentication:
http://<IP_ADDRESS>:5000/auth/get?file=univs.json

Sample results:
{
  "results": [
    { "rank": 1, "name": "Deep Springs College" },
    { "rank": 2, "name": "Leland Stanford Junior University" },
    { "rank": 3, "name": "Bard College at Simon's Rock" },
    { "rank": 4, "name": "Gupton-Jones College of Funeral Service" },
    { "rank": 5, "name": "University of Coimbra" }
  ]
}

FWIW, this is example code -- no effect on Computable.io code base -- except to show a simple, extensible example for what @rbharath proposed last Monday in the team meeting.  I would suggest call this "storage" instead of "database", since the former is more general and pluggable, while the latter has strong connotations which will likely confuse people who are outside of our discussions.
Anywho, here's the sample code -- less the nginx scripts: https://github.com/DerwenAI/stor
Though it was built for running as WSGI with nginx fronting it. I'll add those quickly, e.g., we'd want to run HTTPS-only/TLS/HSTS, though that will require:

a subdomain from computable (or other domain)
a certificate for the TLS (shared/cheap is fine)

Also, the "key management" and user model is super trivial at first: it's a JSON with user tuples as ("email", "pwd-hash") based on bcrypt_sha256
However, the libraries used provide for secure authentication, API keys, etc. That all depends on product specs :)

This task has been completed using IPFS and storing a “block” of data, i.e. a byte array of a stringified json blob. This allows complete data flexibility, but will probably have to be revisited when we investigate our data query requirements/strategy.
After persistence to IPFS, we can store the IPFS CID (content identifier) on the data attribute of a registry listing and use it for data retrieval later.


[tool_crash] adb: error: listener 'tcp:61146' not found

Steps to Reproduce
Due this is a private project, I can't share the source. But I followed this steps.

Run VS Code
Make sure you run an Android Emulator
Run the app with flutter run --verbose

Expected results: The App running in the Android Emulator.
Actual results: Nothing happens. When I click the app on the Android Emulator, the error " keeps stopping". On the iOS-Simulator it runs fine.

Logs
command
flutter run --verbose
exception
ProcessException: ProcessException: Process exited abnormally:
adb: error: listener 'tcp:61146' not found
Command: /Users/johan/Library/Android/sdk/platform-tools/adb -s emulator-5556 forward --remove tcp:61146
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:172:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:322:19)
#2      _rootRunUnary (dart:async/zone.dart:1192:38)
#3      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#4      _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#5      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#6      Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#7      Future._completeWithValue (dart:async/future_impl.dart:526:5)
#8      Future.wait.<anonymous closure> (dart:async/future.dart:402:22)
#9      _rootRunUnary (dart:async/zone.dart:1192:38)
#10     _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#11     _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#12     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#13     Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#14     Future._completeWithValue (dart:async/future_impl.dart:526:5)
#15     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#16     _rootRun (dart:async/zone.dart:1184:13)
#17     _CustomZone.run (dart:async/zone.dart:1077:19)
#18     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#19     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
#20     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#21     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#22     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

flutter doctor
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.5 19F101, locale en-US)
    • Flutter version 1.17.5 at /Users/johan/flutter
    • Framework revision 8af6b2f038 (5 days ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/johan/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.1

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (1 available)
    • sdk gphone x86 • emulator-5556 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

flutter analyse
Analyzing app...
   info • This function has a return type of 'Timestamp', but doesn't end with a return statement •
          lib/modules/shared/util/serialization.dart:24:20 • missing_return

Fixed by https://github.com/flutter/flutter/pull/57173

@jonahwilliams Thanks! When or in which version will the fix be available?


[dropwizard-swagger] TypeError: Cannot read properties of null

Hello,
I am using "smoketurner/dropwizard-swagger v2.0.12-1" with "dropwizard-core v2.1.0".
I don't understand why swagger cannot execute the API. I get "TypeError: Cannot read properties of null" in the browser console.
Please find below my screenshots.
Here my swagger.json file. Note: the swagger.json is valid, I checked it in Swagger Editor.

When I click on Execute Button I get the swagger error:

And here the browser console error:

And here the Java code that exposers the Test method:

Thanks in advance 4 your help.
Greg

Duplicate of https://github.com/smoketurner/dropwizard-swagger/issues/273.

is solution found for this?


[Nextstep bug]

Docs Build status updates of commit eb1a3cc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/quickstarts/create-channel-group-tab-node-yeoman.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Remove-WindowsUpdate cannot be run remotely

The Remove-WindowsUpdate cmdlet lacks an '-AcceptAll' flag, which means that it cannot be ran remotely using Invoke-WUJob:
Invoke-WUJob -ComputerName $hostname -RunNow -Script { Remove-WindowsUpdate -KBArticleID $using:kbid -AutoReboot }
The command created on the remote host is then
powershell -Command " Remove-WindowsUpdate -KBArticleID <kbId> -AutoReboot "
But this prompts for confirmation, causing the scheduled task to hang indefinitely.
Would like to see the -AcceptAll flag from Get-WindowsUpdates also added to Remove-WindowsUpdates so that remotely managing these is easier.

Nevermind, realized you can just use -Confirm:$false.


False positive in UnnecessarySafeCall (1.11.0-RC2)

Observed Behavior
Issue reported for necessary safe call:
val linkedDevices: Map<Device, DeviceLink>
...
linkedDevices[ownerDevice]?.isOwned = true

Your Environment

Version of detekt used: 1.11.0-RC2
Version of Gradle used (if applicable): 6.6
Operating System and version: MacOS 10.15.5

Possibly seeing a similar false positive UnnecessarySafeCall result in older versions too.
class ExampleViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val textExample: TextView? = itemView.findViewById(R.id.textExample)
}

// incorrectly flagged as unnecessary
viewHolder.textExample?.typeface = getTypeface()

Thanks for listing and tracking further cases here.

Hey @vladimirfx @Julesssss
I've tested all of your examples removing the types that are not known (or that are Android specifics) but trying to maintain the patterns:
OP Example: https://pl.kotl.in/-VLlrSCsk
Example A: https://pl.kotl.in/ydew3b-Fc
Example B: https://pl.kotl.in/OGo8X_wPe
For all of them, I was not able to reproduce the issue.
Moreover, this specific rule is relying only on an inspection of the Kotlin compiler: UNNECESSARY_SAFE_CALL. There is no extra logic added.
Are you also getting warnings from the Kotlin compiler for those examples?
Can I ask you to try with the snippets I linked if the issue is still reported?

Sure, I'll try this next week. Thanks for investigating.
On Fri, 14 Aug 2020, 17:47 Nicola Corti<EMAIL_ADDRESS>wrote:

Hey @vladimirfx https://github.com/vladimirfx @Julesssss
https://github.com/Julesssss
I've tested all of your examples removing the types that are not known (or
that are Android specifics) but trying to maintain the patterns:
OP Example: https://pl.kotl.in/-VLlrSCsk
Example A: https://pl.kotl.in/ydew3b-Fc
Example B: https://pl.kotl.in/OGo8X_wPe
For all of them, I was not able to reproduce the issue.
Moreover, this specific rule is relying only on an inspection of the
Kotlin compiler: UNNECESSARY_SAFE_CALL. There is no extra logic added.
Are you also getting warnings from the Kotlin compiler for those examples?
Can I ask you to try with the snippets I linked if the issue is still
reported?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/detekt/detekt/issues/2961#issuecomment-674137951, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACR5JXNGMVCJMVPSPL4QOC3SAVL7LANCNFSM4P2YMFXQ
.

Bug present in type resolution mode (detektMain)

Detekt task in the beginning outputs:
warning: classpath entry points to a non-existent location: /Users/user/.gradle/caches/modules-2/files-2.1/com.github.spotbugs/spotbugs-annotations/4.1.1/f2c06572ee999f374c0849d696305d203bf9c3e/spotbugs-annotations-4.1.1.jar;/Users/user/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/26.0-jre/6a806eff209f36f635f943e16d97491f00f6bfab/guava-26.0-jre.jar;...

all classpath delimeted by ';' (shouldn't it be ':' in Unix system?).
Afterward 10k lines with errors such:
//Users/vladimirfx/dev/projects/fcb/mfc/mfc-backend/src/main/kotlin/internal/user/webservice/UserProfile.kt:9:18: error: cannot access built-in declaration 'kotlin.String'. Ensure that you have a dependency on the Kotlin standard library
val surName: String,
             ^

Detekt 1.10 works correctly in same project. Gradle downgrade is not helps.

Looks like bug is there:
https://github.com/detekt/detekt/blob/b75cf4227afca0ca95fcf0ebea426c15a9fd7b7d/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/invoke/CliArgument.kt#L42
IMO it should be https://docs.oracle.com/javase/6/docs/api/java/io/File.html#pathSeparatorChar

Looks like bug is there:
https://github.com/detekt/detekt/blob/b75cf4227afca0ca95fcf0ebea426c15a9fd7b7d/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/invoke/CliArgument.kt#L42
IMO it should be:
java.io.File.pathSeparatorChar

instead of hardcoded ';'

Thanks for investigating this!
This line was not a problem but the handling of the separators in core. I've created a PR to fix this regression for the next bugfix release.

We had a regression in 1.11.0, please update to 1.11.1, thanks!


i18n(ja): update astro-components.mdx

Added description

Description (required)
Fixed the position of 'Fallback Content for Slots'
Added description in 'Fallback Content for Slots'

Related issues & labels (optional)

Closes #8302
Suggested label: i18n

@yanthomasdev @morinokami

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ja
basics/astro-components.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@morinokami
コメントありがとうございます！
全てのサジェスチョンを受け入れました！


Privacy concerns

Hi all, not sure where to put this question.
I just wanted to bring this thread to your attention. Maybe this would be a better place to address some of it's questions therein.
https://github.com/corona-warn-app/cwa-documentation/issues/615

Ok, maybe i'll get a better response if i put the questions here.
First, the most important but out of scope question. If you have an opinion or know anything about he subject i would be interested to hear it, otherwise skip ahead to the tech Qs.
Why, given that the results of votes on digital green certificates, and the list of amendments shows us that AM12 was adopted, and given that the purpose of AM12 is to restrict the use of digital green certificates to their intended purpose for use only at member state borders without further individual member state legislation, do we see countries such as Germany pushing ahead with their use for access to private spaces such as bars and restaurants, even outside?
Now, the code...
In the technical specifications it states

6.3.1 Frontend
The verifier app frontend provides functionality to scan and verify DGCs. It scans the base45-
encoded QR code, extracts the COSE signature, and decodes CBOR back to JSON (see also
6.2.1). It then verifies the signature with the keys provided by the verifier app’s backend. The
app uses only open-source libraries; all DGCs scanned or processed are ephemeral and will
not be stored.

Can businesses create their own verifier app or is there just one?
What are the requirements to be a verifier app?
Can these requirements be imposed via the holder's app?
and correct if i'm wrong here, but to my knowledge at the point of verification there is not simply a 👍 / 👎 situation but rather all json fields are visible to the verifier app?
What i'm trying to get at here is, how can the holder really know that these json fields are ephemeral?

Nothing?

@watmm Yes, all JSON data is accessible to anybody that has access to the QR code. This data contains at least your full name and data of birth and information about what is being certified (e.g. when you where vaccinated). This is strictly necessary to tie a certificate to a person with the help of a government-issued id. This is not different to how many other documents work, e.g. your bank card carrying your name on it, etc.

@FlorianFranzen Is it still the case, that all JSON data is accessible? Scanning my own QR code with a 3rd party app, yields a message that the content is encrypted (which in fact it does seem to be).


In 'init' super() method should use static class name in SpotifyClientCredentials and SpotifyOAuth

Currently it is not possible to extend SpotifyClientCredentials and SpotifyOAuth without overrding completely the __init__ method and avoid calling super().__init__().
I am not an expert in Python so I could be completely wrong, however from my research this seem to be caused from the fact that in the classes' __init__ they refer to the dynamic self.__class__, which when called by the extending class leads to to an infinite recursion.
This PR fixes the issue by setting the class name statically in the super() call.

Thanks, merged!


SPARK-5458. Refer to aggregateByKey instead of combineByKey in docs

Test build #26230 has started for   PR 4251 at commit d2dc160.

This patch merges cleanly.

Is the idea simply that aggregateByKey is higher-level and most people don't need to go all the way to combineByKey? There's nothing wrong with combineByKey per se right?

Exactly

Test build #26230 has finished for   PR 4251 at commit d2dc160.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26230/
Test PASSed.

I think this text also appears in python/pyspark/rdd.py - maybe we should udate that as well?

Good point, updated the patch

Test build #26239 has started for   PR 4251 at commit 460827a.

This patch merges cleanly.

LGTM

Test build #26239 has finished for   PR 4251 at commit 460827a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26239/
Test PASSed.


Add SSTable loader command line to README

This change is

Review status: 0 of 1 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Skeleton

Still to do

[x] error handling for Janus messages
[x] error handling for plugins messages
[x] concurrent/promise error handling
[x] event-machine error handling
[x] more specs

@njam this is not ready but:

could you have a look on janus/plugin/rtpbroadcast/mountpoint structure - do you think it is good idea to introduce plugin/features based classes?
should we have real test with travis? I mean to install janus + plugins and then run specs? see current spec for mountpoint?

session, plugin, mountpoint: How about introducing a common parent like Janus::Resource (which would always keep the reference to the client, for sending commands)
yes, agree to have this plugin-specific resource
client: Only expose attributes that are needed (probably client?)
client: Rename "client" to "websocket_client"?
Regarding tests: I think it would be better to mock the websocket server in this case. Tests will be much faster, and the server logic is not so complex that it's too big of a difference. wdyt?

So you mean:

Janus::Resource::Session
Janus::Resource::Plugin
Janus::Resource::Plugin::Rtpbroadcast::Mountpoint

or rather

Janus::Resource::Session
Janus::Resource::Plugin
Janus::Plugin::Rtpbroadcast::Mountpoint

?

I would go with the latter (keeping all files of this plugin together), but extending from Janus::Resource, wdyt?

@najm if you have sec please have a look on current structure

there are resources for janus
there are resources for plugins
there is very basic mock for websocket client (it must be moved out to some spec_helper?)

I will finish and polish it up if you agree on the structure. There are some missing parts still like maybe callback for janus errors which could be automatically detected by client from incoming messages.

briefly checked (need to leave, sorry):

resource: I would add the client getter here. Maybe even a constructor which expects a client instance? Then all child classes would access the client from the common getter, and it would be in the structure of the classes that they need to have it.
resource: maybe include EventEmitter? And use common events, like create and destroy?
Plugin::Rtpbroadcast::Resource: I think it's not needed?
General: I would drop all attr_accessors that are not needed (not public interface). Let's only expose public attributes, and public methods that are useful. The rest can be made private.

@njam thanks for tips. agree on all

@njam fyi https://github.com/sqwiggle/janus-gateway-ruby

ah sqwiggle… :D
Thought about that name too, would be more expected. Should we rename to "janus-gateway-ruby"?

I think we should rename!

Changed the repo name, can you adjust the code?

@njam so how should structure this

modules

module Janus
 module Gateway
  class Client
  end
 end
end

or rather
module JanusGateway
 class Client
 end
end

gemspec

s.name        = 'janus-gateway-ruby'

or
s.name        = 'janus-gateway_ruby'

Or just update gemspec and keep stuructre like it is now?

@njam please review

Two things:

naming is not adjusted but we have to decide in it
there should be layer of transport for this client. currently we have websocket integrated quite deeply but there should be easy option to extend with http or rabbit if any contributor is willing to do that! wdyt?

Because "janus-gateway" is one term and we don't want to reflect "ruby" in the gem's name let's do:
module JanusGateway
 class Client
 end
end

Then maybe as a gem name janus_gateway?

Agree on the transports topic. I guess sending and receiving data from the server is only happening in JanusGateway::Client?

yes for naming
yes for transport

@njam renamed! what about transport? should I implement it now?

Yes, let's add transport, makes sense and should be simple. Could also help for testing (we can stub the whole transport).

@njam ok, I have implemented the transport layer for webscoket! have a look. It is a bit rough but should give a lot of flexibility!?

janus_gateway/client.rb: I would drop the auto transport generation in favor of a clean signature (only transport, no url). wdyt? -> adjust readme
janus_gateway/client.rb: Remove faye import
client_spec.rb: Probably move to transport spec?
transports: Adapter pattern looks good!

Could you add docu everywhere, will make it easier to review!

@njam please have a look now

README: Rtpbrodcast: Last code example: Move .then on new line, so there's only one level of indentation?
Why do we need _self.client - is there another client on the Client?
plugin/rtpbroadcast.rb: How about making this extend the base Plugin? Then we could do JanusGateway::Plugin::Rtpbroadcast.new() (for example in the readme!)
plugin/rtpbroadcast/resource.rb: How about making this extend the base Resource?
transport.rb: initialize: Add docu
transport.rb: send: Fix docu
transport.rb: ready_state: What are possible return values? Should we document them?
transport.rb: has_client? / has_connection?: On an abstract level I suggest we don't care about a "client". How about combining those two into is_connected??- transport/websocket.rb: connect:
transport/websocket.rb: connect: I would suggest to not pass on event when emitting open. We don't need it and it could be confusing wdyt?

README: Rtpbrodcast: Last code example: Move .then on new line, so there's only one level of indentation?
Why do we need _self.client - is there another client on the Client?
plugin/rtpbroadcast.rb: How about making this extend the base Plugin? Then we could do JanusGateway::Plugin::Rtpbroadcast.new() (for example in the readme!)
plugin/rtpbroadcast/resource.rb: How about making this extend the base Resource?
transport.rb: initialize: Add docu
transport.rb: send: Fix docu
transport.rb: ready_state: What are possible return values? Should we document them?
transport.rb: has_client? / has_connection?: On an abstract level I suggest we don't care about a "client". How about combining those two into is_connected??
transport/websocket.rb: connect:  In the error handler we now raise, where will this be rescued? Should it eventually be logged? Maybe add a todo there to remember?
transport/websocket.rb: connect: I would suggest to not pass on event when emitting open. We don't need it and it could be confusing wdyt?
transport/websocket.rb: connect: The transaction_queue is a Hash where key is the transaction's id right? So we can just get that one promise if it exists, instead of looping over the queue and checking each?
transport/websocket.rb: connect: Instead of emitting error, emit close when the connection is closed?
transport/websocket.rb: connect: Add docu
transport/websocket.rb: send_transaction: Rename p to promise
transport/websocket.rb: close: Remove in favor of using disconnect? Or is there a use case for close?
transport/websocket.rb: transaction_id_new: Is this something used throughout? If so, move to base transport?
transport/websocket.rb: _client: Rename to _create_client
transport/websocket.rb: client: Docu is off. Maybe remove this alltogether?
transport/websocket.rb: _timeout_error: Inline? Only 1 usage
transport/websocket.rb: _promise_wait_timeout: Rename to _transaction_timeout, because "promise" is rather an implementation detail. Maybe move this to a constant?

Why do we need _self.client - is there another client on the Client?

It is due to eventemitter e.g. client.on :open do. There is not more current current context available and self refers to another one!

resource.rb: initialize: add docu
resource.rb: initialize: remove id - not used by any resource?
resource.rb: How about always keeping a reference to the client on all resources? I think it's always needed. We could pass it to the constructor?
resource/plugin.rb: initialze: Add docu
resource/plugin.rb: create: Rename p to promise
resource/plugin.rb: create: Prefer single over double quotes
resource/plugin.rb: destroy: Rename p to promise
resource/plugin.rb: destroy: Calling _on_destroyed, but function is on_destroyed
resource/plugin.rb: on_created / on_destroyed: Make them private?
resource/plugin.rb: on_destroyed: remove data
resource/plugin.rb: session: Fix docu
resource/session.rb: initiailize: Add docu
resource/session.rb: name: I guess it can return nil if not created?
resource/session.rb: create: p -> promise
resource/session.rb: create: single quotes
resource/session.rb: on_created/on_destroy: Make private?
resource/session.rb: on_created: Add docu
resource/session.rb: on_destroy: Remove data?
resource/session.rb: heartbeat: single quotes
error.rb: initialize: Add docu
client.rb: transport_client: Rename to just transport
client.rb: initialize: Add docu
client.rb: send: Fix docu (hash instead of string?)
transport.rb: Streamline send() and send_transaction(): Always expect Hash instead of String?
client.rb: ditto
client.rb: destroy: rename to disconnect
mountpoint.rb: I'll review it later

transport/websocket.rb: connect: In the error handler we now raise, where will this be rescued? Should it eventually be logged? Maybe add a todo there to remember?

should be handled by parent usage?

README: Rtpbrodcast: Last code example: Move .then on new line, so there's only one level of indentation?

Not sure what you mean exactly?
The rest of TRANSPORT is fixed. Will continue on other topics...

resource.rb: initialize: remove id - not used by any resource?

[ ] it is used in many places?

resource.rb: How about always keeping a reference to the client on all resources? I think it's always needed. We could pass it to the constructor?

[ ] not sure! is it really needed in your opinion?

@njam please review

@njam replaced eventemitter with events. please review

readme: I meant can we do something like this (untested)?

  JanusGateway::Resource::Session.new(client).create.then do |session|
    JanusGateway::Resource::Plugin.new(session, JanusGateway::Plugin::Rtpbroadcast.plugin_name).create
  end.then do |plugin|
    JanusGateway::Plugin::Rtpbroadcast::Resource::Mountpoint.new(plugin, 'test-mountpoint').create
  end.then do |mountpoint|
    # do something with mountpoint
  end

transport.rb: initialize: remove abstract constructor, because other transports might not need url, protocol? We could move this to the websocket transport.
transport.rb: send: also accept Hash data, like for send_transaction?
transport/websocket.rb: initialize: Interesting this transport. Do we need to send this value for the janus server to accept the connection?
transport/websocket.rb: connect: Does this method really ever return?
transport/websocket.rb: send: Accept Hash
transport/websocket.rb: disconnect: How does EventMachine.stop work? Which EMs does it stop? How can we make sure it doesn't stop the wrong EM?
transport/websocket.rb: ready_state: Unused - remove?
transport/websocket.rb: is_connected?: No need to compate nil? with false - just use !foo.nil?
transport/websocket.rb: client: If we have a getter for the client, we should probably use it everywhere (instead of the @client?)
transport/websocket.rb: client: Should it fail if there's no client? Otherwise let's adjust docu
transport/websocket.rb: _create_client: Fix docu
transport/websocket_spec.rb: Adjust "describe"
transport/websocket_spec.rb: Maybe check that the promise is rejected with the correct error?
transport/websocket_spec.rb: Maybe add some more coverage? :)
resource.rb: I think it makes sense to have a reference to the client. All resources are somewhat created in reference to a client (or a client's connection), and they might need to send something to the server at some point. Of course some resources can access the client through their parent resources, but nevertheless they're still associated with a client somehow. I think it would be useful to have it. wdyt?
resource.rb: Add a full getter for id, to add some docu (clarifying that it can be nil)
resource/plugin.rb: on_destroyed: Prefix with underscore
resource/plugin.rb: janus_client: Drop in favor of resource's client getter (tbd)?
resource/session.rb: name: What's the reason to have this getter? Shouldn't we just use id? Can't find usages.
resource/session.rb: heartbeat: Stop previous heartbeat thread if one running
resource/session.rb: _on_created: Instead of send() can we just call _on_destroyed?
resource/session.rb: _on_created: I don't think we need to pass the id when emitting those events, because the events are emitted on a specific session instance (which has the id already)?
resource/session_spec.rb: When testing event callbacks the problem is that we don't check that the callback was actually called. Instead I would create a Proc, and expect that it gets executed with:

expect(callback).to receive(:call).once.with(something)

See for example here

resource/plugin_spec.rb: Create a spec for the plugin
rtpbroadcast/resource.rb: Remove?
rtpbroadcast/resource/mountpoint.rb: No need to include EventEmitter (done in base resource)
rtpbroadcast/resource/mountpoint.rb: streams: Will fail if not created. How should it be handled?
rtpbroadcast/resource/mountpoint.rb: destroy: Add docu
rtpbroadcast/resource/mountpoint.rb: Always use plugin getter instead of `@plugin?
rtpbroadcast/resource/mountpoint.rb: We should also add some assertions (expect()). Not sure if the approach with Proc is the best, but it should work!

readme: I meant can we do something like this (untested)?

[ ] not working for me :/

transport/websocket.rb: initialize: Interesting this transport. Do we need to send this value for the janus server to accept the connection?

[ ] if you mean the janus-protocol then yes! we have to do it!

transport/websocket.rb: connect: Does this method really ever return?

[ ] not really. it returns only if EM stops :)

transport/websocket.rb: disconnect: How does EventMachine.stop work? Which EMs does it stop? How can we make sure it doesn't stop the wrong EM?

[ ] is it even possible to run multiple EM? This is blocking and doesn't return self. Current solution was only one I could find but maybe there us better1?

transport/websocket.rb: ready_state: Unused - remove?

[ ] it is used e.g. is_connected? ?

resource/session.rb: _on_created: Instead of send() can we just call _on_destroyed?

no, we cannot call private method from private one!

rtpbroadcast/resource.rb: Remove?

[ ] it is needed otherwise Plugin::Rtpbroadcast::Resource::Mountpoint fails with unknown Plugin::Rtpbroadcast::Resource !

rtpbroadcast/resource/mountpoint.rb: streams: Will fail if not created. How should it be handled?

[ ] should be handled by agent/parent which calls this method? We return promise and raise error!

There are still SPEC notes to finish

readme

Found the problem - thanks for the help @vogdb - we need to call .value before returning in the then(). It's strange, and different than in JS, but it works:
JavaScript:
var async = function(value) { return new Promise(function(res) {res(value);}); };

async('hello').then(function(ret) {
  console.log('result1: ' + ret);
  return async(ret + '.');
}).then(function(ret) {
  console.log('result2: ' + ret);
  return async(ret + '.');
}).then(function(ret) {
  console.log('result3: ' + ret);
});

Ruby:
  async = Proc.new { |value| sleep 1; Concurrent::Promise.new.set(value).execute }

  async.call('hello').then do |value|
    puts "Value: #{value}"
    async.call(value + '.').value
  end.then do |value|
    puts "Value: #{value}"
    async.call(value + '.').value
  end.then do |value|
    puts "Value: #{value}"
  end

  puts "done"
  sleep 5
  puts "done done"

rtpbroadcast/resource/mountpoint.rb: streams: Will fail if not created. -> We return promise and raise error!

Not sure if we talk about the same. I mean this one:
    def streams
      @data['data']['stream']['streams']
    end

The problem is that @data might not be set. There will be a strange error message. Maybe there should be a getter for the data which fails in that case?

@njam please have a look in meantime

transport.rb: ready_state: I would suggest to remove this on the base class, because it doesn't have meaning for all possible transports. Maybe make it private, or even inline on websocket.rb?
transport/websocket.rb: connect_client: Raise if @client already exists?
transport/websocket.rb: How about renaming connect -> run and connect_client -> connect?
transport/websocket_spec.rb: Use connect (new)  instead of run - and remove the Thread
resource.rb: name: Either return nil by default, or change docu to always return a string?
resource/session.rb: initialize: Pass along client to the super call? Or is it done automatically?
resource/plugin.rb: create: Should we shorten this to promise.set(self).execute on one line?
resource/plugin.rb: destroy: Also shorten-able to just promise.set(self).execute I guess (which returns the promise)?
rtpbroadcast/resource/mountpoint.rb: create: ditto
rtpbroadcast/resource/mountpoint.rb: destroy: ditto
plugin.rb: What's the difference of JanusGateway::Plugin and JanusGateway::Resource::Plugin?  Is the former maybe not needed?
client.rb: Shouldn't include EventEmitter, because it only proxies on calls?
event_mock.rb: replace in favor of Faye::WebSocket::API::MessageEvent

resource/session.rb: initialize: Pass along client to the super call? Or is it done automatically?

by default all arg are passed to super. If you need to adjust it then you have to specifically set them.

plugin.rb: What's the difference of JanusGateway::Plugin and JanusGateway::Resource::Plugin? Is the former maybe not needed?

well we could live without this. Idea was to force each plugin to implement this as that name is handy and fixed! Also to keep proper ruby structure we need JanusGateway::Plugin to implement JanusGateway::Plugin::Rtpbroadcast - otherwise ruby fails.

resource.rb: name: Either return nil by default, or change docu to always return a string?

can we always convert to string in getter? wdyt? @id.to_s

@njam please review

lgtm


Unless I'm being thick, I cannot seem to find references to either of these CSS values in canius...

Unless I'm being thick, I cannot seem to find references to either of these CSS values in caniuse:
https://developer.mozilla.org/en-US/docs/Web/CSS/initial
https://developer.mozilla.org/en-US/docs/Web/CSS/inherit

This issue was imported from Google Moderator
Moderator votes: +4
Issue added by Joey Hoer on 2014-02-11
To vote this issue up or down, simply include +1 or -1 in your comment.

Duplicate of #1016.

inherit seems to be still missing?
It is well supported though, therefore not that high priority...
https://developer.mozilla.org/de/docs/Web/CSS/inherit


chore: Bump Flask to 2.3.3 and update dependencies

Done

Updates Flask to 2.3.3
Update other requirements where needed to be compatible

QA

I have set up demo on u.com. Check that the packages provided by Flask-Base are working:
https://ubuntu-com-14024.demos.haus/

Can you bump the version of flask-base? if you don't do it won't automatically trigger a renovate PR

@samhotep Any idea why these checks are hanging?

@carkod Can you take another look please

@samhotep Any idea why these checks are hanging?

Try updating the labels.

As @carkod suggested I've updated the versions, but the checks are borked now - taking a look

@petesfrench checks are running, you're good to merge :)


Add support for providing constraint failure message

Purpose

$Subject

Fixes : https://github.com/ballerina-platform/ballerina-standard-library/issues/3211
Examples
type User record {
    @constraint:String {
        minLength: 1,
        maxLength: 10,
        message: "User name should not exceed 10 characters"
    }
    string userName;
    @constraint:Int {
        minValue: 18,
        message: "User should be atleast 18 years old"
    }
    int age;
};

Checklist

[ ] Linked to an issue
[ ] Updated the changelog
[ ] Added tests
[ ] Updated the spec
[ ] Checked native-image compatibility

Closing this as we have decided on a different proposal


Adding missing users.identity action

Coverage remained the same at 100.0% when pulling 03d98ab5f1bfa5a1fbced401b78829dc94b92b82 on zostay:users.identity into c1b97884321e7286c8567c252cc953c7360e0c0b on mihyaeru21:master.

👍

I will update to 0.0.7


Night CI 2023-08-01: Failed

action url: https://github.com/spidernet-io/egressgateway/actions/runs/5731279629

same with #661


See if we can support Sysex and key commands (TouchOSC 1.9.4)

http://hexler.net/forum/viewthread/1083/

I managed to implement support for generating key presses from /key messages fairly easily with pyautogui.
You can try it out by checking out my feature/keys branch. I've added a ToucOSC template with a nice keyboard layout, which I created to test this new feature, to the repo.
I didn't do a PR yet, since pyautogui doesn't install cleanly out-of-the-box, its code is rather messy IMHO and it also includes several dependencies for functions, which are not needed for solely generating key events. pyautogui uses X11 to inject keystrokes, which is less general than using the Linux kernel uinput facility (e.g. via python-evdev), but has the advantage, that it works without special permissions for the user.
Let me know how you like the feature and whether you think it's ok to add pyautogui as a dependency. We could also rip out the relevant code from pyautogui, clean it up and include it in the touchosc2midi package, the X11-specific part it isn't actually that big.

So, I worked a little bit more on my branch and eventually decided to extract the keyboard handling code from PyAutoGUI into a new submodule touchosc2midi/x11keyboard.py, since there were several shortcomings I wanted to fix and I wanted to get rid of the other unneeded stuff in PyAutoGUI and the heavy dependencies they bring (Pillow, in particluar).
The functions from PyAutoGUI to generate X Windows keyboard events use the fake_event function from the Xlib.ext.xtest module from python-xlib. After some testing it became apparent, that this function does not work correctly, since it does not take the current keyboard mapping (language, model, variant, etc. set via the X Keyboard (XKB) extension) into account, so you get wrong key presses. E.g., if the current keyboard layout is 'de', calling key_down('z') will generate a keyboard event for 'y'.
So I implemented a little wrapper for Xlib to call the XTestFakeKeyEvent function with Cython. The file touchosc2midi/xtest.pyx is compiled by python setup.py build|install to a C-extension module, which is then imported by x11keyboard.py. When the module is not available or importing fails, because no X server is available, the main module touchosc2midi.py will emit a warning and continue without keyboard support. python-xlib is still used for mapping keysyms to keycodes, so I added python3-xlib (supports Python2 too) to the dependencies in setup.py.


Add documentation for manual cleanup of shoot

Signed-off-by: Swapnil Mhamane<EMAIL_ADDRESS>What this PR does / why we need it:
This PR adds the documentation for resources to cleanup for manual cleanup.
Special notes for your reviewer:
Please let me know if i'm missing anything resources.
Release note:

Additionally, it would be nice to have this in:
https://github.com/gardener/documentation/tree/master/website/documentation/050-tutorials/content/howto

Sure i'll raise a PR there as well. Actually in that case it makes sense to just update the index on this repo and have actual documentation there.

Thanks, very nice! However, can we remove all cloud related information here and only talk about the generic parts? Instead, can you please open PRs against the gardener-extensions repo and add the content to the respective controllers docs folder?

Thanks, very nice! However, can we remove all cloud related information here and only talk about the generic parts? Instead, can you please open PRs against the gardener-extensions repo and add the content to the respective controllers docs folder?

Ahh, I got your concerns. But not sure separating this small section under different extensions is good idea. It's better to have it in one place rather than spread across multiple location.

Ahh, I got your concerns. But i'm not sure, separating this small section under different extensions is good idea. It's better to have it in one place rather than spread across multiple location.

No, this will get outdated very soon if we don't keep the documentation next to the implementation. If you want one common place then it can be merged together somewhere automatically based on the various locations.

Ahh, I got your concerns. But i'm not sure, separating this small section under different extensions is good idea. It's better to have it in one place rather than spread across multiple location.

No, this will get outdated very soon if we don't keep the documentation next to the implementation. If you want one common place then it can be merged together somewhere automatically based on the various locations.

Ok. I will change it.

@swapnilgm please reopen this PR once adapted and created corresponding PRs on the g/ge repo.


HTML5 shims question

I am curious to know if we use HTML5 shims, would these work with IE9 and below?
If yes, please reply as soon as you can.
Thank you
(currently my laptop is under construction and cannot check it myself)

It might work, I've not tested. Even with that, it still might be good to have a CSS or GIF fallback (by which point one may as well just not bother using Canvas in production).
Probably worth checking on http://modern.ie or http://browserstack.com

I checked your stuff with IE8, (back then I couldn't), and it doesn't work.
Perhaps worth the effort of making some small adjustment and a polyfill. Just to have it cover all major browsers. (See my projects, perhaps you get some inspiration ;)

Have you tried excanvas? For now I don't think it's worth building in any polyfills/shims, as that just adds bloat to the lib -- this kind of stuff can easily be added at the discretion of developers using sonic.js.


Multiple selection for collision grid editor

Keybinds
SHIFT - Hold shift and click two tiles to select the region between them
CONTROL - Hold control and click multiple tiles
Multiple Selection

Allows all the same abilities of singular tile selection, except for:

Adding/removal of layers if the selected tiles do not share the same number of layers
Editing of flags on layers above the lowest common denominator of selected tiles

Preview
(Slightly outdated, but gets the point across)

Heck yeah, I'll merge it once I get on a PC.


Using Shortcode in a mailer

I get this error when using it to parse an email subject line in my InvoiceMailer
uninitialized constant InvoiceMailer::Shortcode

Hey @bcackerman did you ever figure out how to import Shortcode in your Rails Mailer ?


Node Update

Hello, your extension has helped me tremendously but I am seeing a warning about the Node version during build time:
"##[warning]Task 'Mirror Git Repository' version 1 (mirror-git-repository-vsts-task@1) is dependent on a Node version (6) that is end-of-life. Contact the extension owner for an updated version of the task. Task maintainers should review Node upgrade guidance: https://aka.ms/node-runner-guidance
". Is there any chance the Node version will be updated? I really like this extension and would be great to continue to use this, thanks!

I just noticed the same warning today, and was looking for an updated version of this task.
Thanks!


jw-demo-875 to 0.0.7

Promote jw-demo-875 to version 0.0.7

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


SMTP Support

There should be an async SMTP client.

Php is dead

I actually started on an SMTP server here - https://github.com/iggyvolz/mailserver - I imagine a client wouldn't be too much different (and would probably be a component of a server anyways).


falling down chasm should put you on a new 1x1 map instead of delete

Description
so you can maybe fulton out / be bought back at cargo

This is just z-levels.

z-level ss13 real....

every single person falling into any chasm getting funneled into the same spot

yes and that funny

make the chasms a small little cave with a ghostrole for a guy who lives at the bottom of the chasms.

Falling into a chasm should ~break your bones~ bring you to a small village in legally-distinct-lavaland, where a small colony of ghost role legally-distinct-ashwalkers live. From here, if you aren't instantly killed by the ashwalkers, you can try mining enough ore to make yourself a station fulton from a crafting bench (reskinned autolathe) the ashwalkers would have (which instantly fultons you back to the station). Gives salvagers a small minigame, doesn't instantly kill them, and gives players fun ghost roles.


[RPC] RPC API design

Currently, there are two styles of RPC naming in the system:

Direct method names such as submit_txn, view, resource.
Prefixed names such as accounts.get, accounts.balance.

It is important to unify these naming styles. However, adding a prefix to each API, such as transaction.get or state.get, would create additional complexity for the developer.
Therefore, I suggest the following solution:

All necessary public API in Rooch should be unified under the prefix "rooch". For example, rooch.submit_txn and rooch.view.
Additionally, API requiring special permission rules should use independent prefixes such as accounts, debug, or system.

Ref:

Discussion: https://discord.com/channels/1078938449974935592/1110388019233558558
#12
#41

Sui's RPC API interface has a uniform prefix of sui_, such as sui_transferObject. In my opinion, rooch.is similar to sui_ prefix, and all interfaces should have an independent non rooch. prefix, such as accounts, state, tx (or transaction), which will better indicate the purpose of the interface, and also for developers more friendly.

Three styles of RPC API:

ETH and Sui style:  eth_sendTransaction, eth_getTransactionByHash, sui_getTransactionBlock, sui_executeTransactionBlock, sui_dryRunTransactionBlock.
Aptos REST style: /v1/transactions,/v1/blocks, /v1/events GET|POST.
Starcoin style: chain.get_transaction, chain.get_events, txpool.submit_transaction, contract.dry_run".

I prefer to use ETH and Sui style:

Avoid using too many namespaces, which can lead to overthinking to place API under which namespace. Developers may also need help remembering the API namespaces.
It will be convenient to map between Rooch RPC and ETH RPC later when designing the ETH RPC Proxy.

So I suggest we provide three namespaces:

rooch_: All public RPC API about the rooch container like eth_ or sui_
wallet_: A local wallet in the Rooch node. Default open to local request. I think the wallet_ is more suitable than the account_.
node_manager_: All API to manage the local node, include the debug_ in ETH. Default open to local request.
index_: For the index API, the user can disable the Index Service and API.


fix: Fix the JMX whitespace regression

What changes were proposed in this pull request?
This fixes the regression from my previous PR https://github.com/confluentinc/cp-helm-charts/pull/428 which was due to formatting with whitespaces to make it consistent with the patterns below. It didn't show on the previous PR since it only affected some metrics.
How was this patch tested?
Tested with the complete Grafana dashboard and short enough refresh interval (30m refreshed every 15s) not to use the old values.
Apologies for the inconvenience.

Old good (not so much) yaml formatting?

So in the pattern section, it doesn't matter the whitespaces as that is the expression that ends up as Prometheus metric which doesn't care about whitespaces around the labels.
While the whitelistObjectNames is Java ObjectName specification is impacted by whitespace:

Spaces have no special significance in a String representing an ObjectName. For example, the String:
domain: key1 = value1 , key2 = value2
represents an ObjectName with two keys. The name of each key contains six characters, of which the first and last are spaces. The value associated with the key " key1 " also begins and ends with a space.

So when I added the whitespace between glob patterns in whitelistObjectNames that made expression not match all the needed keys. So it is not the leading whitespace in YAML is is the whitespace in whitelistObjectNames YAML strings.


Chore: Remove dtolnay/rust-toolchain?

Description
And just use the version in the actions image? Seems like it's being updated pretty frequently.
Rust tools in the image can be found here: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md#rust-tools

a few things:

the patch of a few days adds in an explicit toolchain fetch in a lot of steps that don't need them (e.g. because they already have them via the cache)
I'm inclined to not to do this because:

if we rely on the version on the image, it can change without our intervention causing PRs to start failing.
old tasks, particularly, say benchmarks (if we skip some) because commits are pushed in groups, that we decide to run after could break, or have in consistent results if run with the unexpected version of a toolchain. same with rerunning old tests.

the patch of a few days adds in an explicit toolchain fetch in a lot of steps that don't need them (e.g. because they already have them via the cache)

I'd argue that we should just stick it in every step since it's sometimes tricky to know if we have everything in the cache. The "Build" step only compiles things using the "dev" profile. Things like tests use a separate "test" profile, and so there's some additional compilation that needs to be done (which won't be in the cache).
The pr I put in over the weekend was a result of CI failing on the clippy step since the runner image updated from rust 1.72 to 1.73 and there were a few lints added this release.

wondering if we can just add a rust-toolchain.toml?
will that be respected by the ci?

I'd argue that we should just stick it in every step since it's sometimes tricky to know if we have everything in the cache. The "Build" step only compiles things using the "dev" profile. Things like tests use a separate "test" profile, and so there's some additional compilation that needs to be done (which won't be in the cache).

As configured, I believe that the toolchain is supposed to be in the cache, and we should never install the tool chain without clippy/etc. (and maybe make sure the justfile checks the path for the actions-installed rust, if we want to keep this path)

will that be respected by the ci?

Do you have to run rustup to setup the toolchain in order for this to work? (and if this results in us doing measurable work; we should make sure it's included in the cache.)

I think my new thought is:

we commit the change, and remove actions installed rust
we do this rust-toolchain work as in #1947
we make sure that the rust-toolchain file is respected by the justfile
we confirm that rustup-installed artifacts are cached.


Error When transitioning to Dusk or Dawn

dynamic-illumination.js:70 Uncaught (in promise) TypeError: Cannot set property 'unexploredColor' of undefined
at dynamic-illumination.js:70
This pops up whenever I use the module. Any idea of the fix?

i second this

Is this version 0.7.5 or 0.7.6? I think those values only exist in 0.7.6, I forgot that when I set the min version

0.7.6!

@Ragash @yoshikidneo I just found that a typo had snuck in, sorry about that.
I've pushed a very small release to correct it, updating should stop the error.

Awesome thanks for that quick turn around, ill download the update when i get home from work!


[5.8] Enable use of product ID to distinguish duplicate product names

Enable use of product ID to distinguish duplicate product names
Resolves rdar://102138022

@swift-ci smoke test


Security vulnerability testing- Nessus & NMAP

1. Security testing when IPMI is enabled

Security vulnerability testing- Nessus
[x] Port scanning (2)
[x] Application scanning (2)
[x] Vulnerability testing (2)
Security testing- NMAP
[x] Port scanning (2)
[x] App scanning (2)

2. Security testing when IPMI is disabled

Security vulnerability testing- Nessus
[ ] Port scanning
[ ] Application scanning
[ ] Vulnerability testing
Security testing- NMAP
[ ] Port scanning
[ ] App scanning

Looks good to me.

Tools versions:
Nessus Version: 7.1.3 (#120) LINUX
NMAP: Zenmap 7.70

Closing this as these are executed.


ci: Update protobuf and golangci-lint

Fixes: https://github.com/checkpoint-restore/go-criu/pull/69

Codecov Report

Merging #70 (80d2124) into master (f729f1e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #70   +/-   ##
=======================================
  Coverage   26.15%   26.15%
=======================================
  Files          11       11
  Lines        2015     2015
=======================================
  Hits          527      527
  Misses       1390     1390
  Partials       98       98

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 f729f1e...80d2124. Read the comment docs.


Webly

WIP

Stylistic, nit: I think it's nicer to have the /server' level ie. /server/web or /server/dashboard

Stylistic, nit: I think it's nicer to have the /server' level ie. /server/web or /server/dashboard

This is definitely work in progress 🤣
I made the PR because I need @altafan help in "merging" the two servers into one:

API is running on port 8000
Dashboard is running on port 7000

I want them to be running on the same port, which means endpoint paths will need to change.


Upgraded KotlinDL version and refactor Titanic in IDEA example

Closed #259

@koperagen could you please have a look? Looks like a simple solution here (it builds fine on my machine.


Date and time seperate

Hey just another question, even when I set the mode to 'time' or 'date', the opposite picker would sometimes pop up. I've been looking at it and I've checked and i'm not sure if it's my own mistake or not.

Could you please provide an example?
Thank you!

Closing for inactivity, feel free to open another issue if needed.


Session tokens issues

First, the new form of the session tokens does not appear to match the docs README.md. I attempted to use depends however there seems to be no mechanism in the function itself to extract a header from the request? The method was also called from_header rather than decode_token_from_header which was referenced in the docs
A suggestion is to write tests based on your examples in the README - that way if they break it will be clear what needs to be updated
An issue I am having to work around now is that shopify does not actually pass the jti as an int. At least in the session token I received it was a string ('3512a085-ee9a-4914-b252-3aabcd1ada14')
For your convenience here is a full session token payload:
{
  "iss": "https://satel-products.myshopify.com/admin",
  "dest": "https://satel-products.myshopify.com",
  "aud": "2ca57b9f8ea64fc449ca4d20610884ec",
  "sub": "78980514043",
  "exp":<PHONE_NUMBER>,
  "nbf":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "jti": "3512a085-ee9a-4914-b252-3aabcd1ada14",
  "sid": "38a01da7a45fbc47b07ddee21155e017d3e3e04b646e766835135021d24e39ee"
}

Edit:
This workaround seems to work:
class MySessionToken(SessionToken):
    jti: str

@qw-in I created a PR which should address these issues. Are you able to send me a full request with the session token? I want to check something!

@Nathan-Nesbitt I am unable to log in to Shopify partners but will get you one when that is resolved :sweat_smile:


Secondary camera incorrectly renders DynamicTilemapLayer

Version

Phaser Version: 3.19.0

Operating system: Mac OSX 10.14.6

Browser: Bug observed in Chrome and Safari

Description

I have a tilemap with two layers. The map is large and I am using dynamic tilemap layers. There is a main camera, which works fine, and a secondary camera used for a minimap.
When using two DynamicTilemapLayer instances (a tilemap with two layers), the secondary camera correctly renders

all of the top layer (layer2), which contains decorative tiles like trees and gravestones;
all sprites; and
only a portion of the bottom layer. Note that the portion rendered correctly is everything left and above the center of the secondary camera. Every tile on layer1 below and to the right of the center of the secondary camera does not render and defaults to the camera background color.

The main camera renders everything fine.
Example Test Code

Create the layers:
    var layer1 = map.createDynamicLayer('layer1', tileset, 0, 0);
    var layer2 = map.createDynamicLayer('layer2', tileset, 0, 0);

Add the camera:
        this._minimap = this.scene.cameras.add(4, 4, 58, 58).setZoom(0.05).setName('mini');

Additional Information

I have attached a partial screenshot showing the secondary camera rendered on top of the minimap frame. The second (top) layer contains things like gravestones and trees. The background color of the secondary camera is red.

I am attaching larger screenshots to show the minimap in the context of the larger main camera. The main terrain tiles are on layer1. The decorations are on layer2. Layer1 is not rendering correctly right or below of center. (It falls back to the camera background color.)
this._minimap.setBackgroundColor(0xff2244);
Here is a screenshot when using dynamic layers:

    var layer1 = map.createDynamicLayer('layer1', tileset, 0, 0);
    var layer2 = map.createDynamicLayer('layer2', tileset, 0, 0);

Here is a screenshot when changing to static layers:

    var layer1 = map.createStaticLayer('layer1', tileset, 0, 0);
    var layer2 = map.createStaticLayer('layer2', tileset, 0, 0);

Have tested this with the new Tilemap system in 3.50 (master branch) and multi renderer and it's working fine, from what I can see (I created 2 cameras at different zooms viewing the same multi-layer tilemap). It rendered correctly with no cut-off. If you get a chance, please test against 3.50 (do a local build from master). If it still fails, upload your test code and map here for me, please.


Unable to install IPAM provider via UI

Upon investigation, there seems to be no option available for installing IPAM CAPIProvider via UI, even using Custom provider. The only available options are Add-on, Control Plane, Infrastructure and Bootstrap

Going off the backend validation message it looks like we are missing 'ipam' 'core' and 'runtimeextension'


Added --autotest mode

You can now run the specs continuosly on file change by passing the --autotest flag on startup.
I have also implemented a basic change detection algorithm that runs only the relevant specs.

Ah, a filewatcher! I tried to implement this, but I didn't want to change too much in jasmine-node.
Is it only watching the spec folder or can you specify a source folder aswell?

Currently it watches starting from the parent of the spec folder, which should be the root of the project.

When I merged in it I get this error:
/usr/local/bin/node /Users/misko/work/jasmine-node/lib/jasmine-node/cli.js --coffee --nocolor .
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object # has no method 'load'
at Object.loadHelpersInFolder (/Users/misko/work/jasmine-node/lib/jasmine-node/index.js:42:20)
at Object. (/Users/misko/work/jasmine-node/lib/jasmine-node/cli.js:119:11)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)
Process finished with exit code 1
Looking at the code I am not sure how this could ever worked as the load method is not exposed.
Could you rebase to latest head and make sure that the ./specs.sh . runs all the tests?
Sorry for being a pain

That can't work, as the .sh scripts uses the installed version, and not the "current" version.
However I developed that patch in an old version of node, and I'm checking now that it doesn't run on node 0.6.7.

Sorry, I haven't seen the latest changes, I'll rebase.

Ok, it should work smoothly.

MERGED thanks!


Delete-Activity (ADF) update required in line number 23

In this section, we say that the blob if deleted cannot be recovered. This is only true for data lake scenarios where there is no concept of delete markers or versioning. For Azure blob store with soft delete enabled, the deleted blob can be undeleted and recovered.
We need to change this section and make this more explicit for the reader.

@raunakjhawar : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Could you please help to change the edit to this:   (for Azure Blob storage, you may have chance to restore the data by enabling soft deletion feature on Azure Blob storage)  ?


Using "single" for the total value is unsafe

In the implementation, using a "single" type for adding a lot of values is known as not accurate.
With millions of values, adding new numbers may just be wrong because it exhausts the 32-bit precision of single.
This is why there are algorithms like https://en.wikipedia.org/wiki/Kahan_summation_algorithm
Implementation should better use Int64 values, and work as fixed resolution with temperature *10 64-bit integers.
And it will be faster.
BTW for a few thousand numbers, single is not faster than double, because the CPU L1 cache miss will probably be the bottleneck.

Hey @synopse,
First of all, thanks for hopping on board!! :people_hugging:
Secondly: I think you're commenting on code that @paweld did.
If you feel that this is wrong and you have a better solution, please submit a PR.
Just make sure you don't break cross-IDE and cross-OS compatibility, because I think that @paweld made that decision after battling around with some cross-IDE issues.
But I'm not sure and would prefer that @paweld himself chimed in order for us to come to the bottom of this.
Cheers,
Gus

Note that I will make a PR but for my own version - I won't fix others.
"Single" seems used in all current versions, including baseline
https://github.com/gcarreno/1brc-ObjectPascal/blob/0a427c3726460b42169928f6ba4cae8a52191ac0/baseline/Common/baseline.common.pas#L22
But I will only make a version for FPC Linux x86_64. I will create another Issue about that.

Hey @synopse,
The code on the baseline came from Székely Balázs( aka GetMem ).
I just made sure it compiled and ran, did not do any more in-depth analysis.
The baseline is still a bit in flux since we still need a Delphi version of it and the common files to be cross all compatible.
If you think you can contribute to that, I welcome any PR you wanna present.
Cheers,
Gus

Hi Arnaud,
Thank you for your issue. We will look into it, but indeed with this amount of data, the single type may not be sufficient for temperature totals.
However, as for the baseline version performance, this is a deliberate procedure - the basic version is just to generate the correct (expected) result. It is up to the participants to show how to achieve this as quickly as possible.
Have a nice day.
Best regards,

Hey Arnaud(@synopse),
BTW, both the generator and the baseline are not entries.
They make part of the intent of making it fair for everyone. Or to create the necessary standards that everyone should abide to.
If you feel that the baseline needs a PR, then by all means please do it.
As @paweld mentioned, the baseline is just to produce an official output.
Being efficient has nothing to do with it. :smile: On the contrary, it should actually come dead last :rofl:
But if that single will spoil the correct values, then yes, I do agree it needs changing.
Cheers,
Gus

The baseline is likely to produce consistent but wrong output, due to its use of "single" type as accumulator/total value.
When I will make my own mORMot2 code with Int64, we could check the results.

Hey Arnaux(@synopse),

That is the point: even the baseline is likely to produce consistent but wrong output, due to its use of "single" type as accumulator/total value.

The baseline is still in flux.
And sbalazs just sent me a .patch to clear that out.
Closing this one also.
Cheers,
Gus

The baseline is still in flux.

= is a still a work in progress?

Hey Arnaud(@synopse),

= is still a work in progress?

Correct, very, very WIP :smiley:
Cheers,
Gus

I have finished a working version using mORMot 2 and a custom hash table (the custom hash table is 35% faster than the generic mORMot TDynArrayHashed in our case).
When compared with the current fastest:
ab@dev-ab:~/dev/github/1brc-ObjectPascal/bin$ time ./mormot data.csv 10 >resmot2.txt
real	0m5,328s
user	0m40,755s
sys	0m0,632s

ab@dev-ab:~/dev/github/1brc-ObjectPascal/bin$ time ./sbalazs data.csv 10 >ressb2.txt
real	0m31,133s
user	3m31,080s
sys	0m18,672s

I don't publish it yet, because the output is not the same as with sblazs due to the rouding issue https://github.com/gcarreno/1brc-ObjectPascal/issues/22#issuecomment-2003202007
... and also because I prefer to see what others propose before putting my own proposal which has some unique performance tricks (which I did not see in even in the Java, C or Go versions).


Animated reloads and reload issue fixes

We can quite easily implement animated reloads for all tables and collections with a LCS (Longest Common Sequence) algorithm, for which several implementations already exist. This provides us for an opportunity to make code simpler, and to fix some isssues.
Here is the strategy to follow, in order:

[ ] Completely remove current animated reloads. Replace with animated reloads based on changes delivered by LCS.
[ ] Check whether the behavior is correct everywhere, especially in lists for which reloads can be more frequent (typically the history view). Pagination and item deletion should work perfectly, but this has to be tested as well. Network and Core Data requests should be monitored so that their number does not significantly increase in the process.
[ ] Remove the -[ListRequestViewController hideItems:] method, which will not be used anymore.
[ ] Once everything is working properly:

[ ] Because of a UITableView issue, table views jump when an animated reload is triggered by a refresh control. To solve this issue, the reload must be registered only when the refresh control triggers its event, but the reload itself must only be made once the table stops scrolling (tested and approved). This strategy does not work with UITableViewController, though: We should therefore eliminate its use if any.
[ ] Improve the list -refresh behavior. Currently a refresh cannot be triggered while one is running. This is nice for next page retrieval, but can lead to subtle issues. One of them can currently be seen with the favorite show list, when logging out with this view visible. It is currently not correctly refreshed (it should be emptied, but this currently incorrectly requires a manual view reload), because a first refresh is triggered early (before cleanup of the records), inhibiting a refresh which would afterwards correctly lead to emptying the view. We therefore probably have to change the general refresh behavior so that a refresh cancels a previously running one, while still preserving correct next page retrieval.
[ ] Resume playback progress bars currently flicker when closing the player, most notably from the homepage. After refreshes are correctly implemented, we should check whether this issue was resolved in the process (I doubt this will be the case), and fix it if it wasn't.
[ ] Bonus: It then can make sense to investigate the remaining layout issues we have (e.g. #65), and maybe to improve cell layouts.

Behaviors which might get broken in the process (and require some work):

[ ] Empty view centering after manual pull-to-refresh.
[ ] Ability to delete history entries while a sync is being made.

This issue will be fixed when we will implement the current editable screens using diffable data sources.

Works nicely with our modern technology stack.


GUVNOR-2181: Guided Decision Table Editor: Add support for linked tables

** FOR REVIEW - DO NOT MERGE **
See https://issues.jboss.org/browse/GUVNOR-2181 and referenced BPSMPL.
This is Phase 1, replacing the existing Grid Widget.

Part of an ensemble:
https://github.com/uberfire/uberfire/pull/379
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/pull/212
https://github.com/droolsjbpm/kie-wb-common/pull/368
https://github.com/droolsjbpm/drools-wb/pull/185
https://github.com/droolsjbpm/kie-wb-distributions/pull/293

This needs https://github.com/romartin/lienzo-tests building locally (until @romartin is able to release it)

There seems to be some code duplication - e.g. the ok and cancel commands in the old code or the onDecisionTableSelect*(..) and enableElement(..) in the new bits. Would it be reasonably possible (while keeping readability) to share some of the common code between classes?

@zkrejcov Could you please highlight where in the codebase the issue you mention about code duplication is present. The codebase is quite large and I'd hate to guess where I think you mean (possibly the different Menus..).

There are several instances of swallowed ModelSynchronizer.MoveColumnVetoException (e.g. in GuidedDecisionTablePresenter.deleteRow(..)) - could you please confirm that it is safe to do that?

The Enum*UiColumns (and maybe others too) could probably share some callbacks or methods extracted from the callbacks. A lot of the code seems to be the same or 95% similar.

You should probably update your IDE/projects license header settings... I'm not very sure about the year that should be in these files, but the organization needs to be updated for certain...

@zkrejcov All done... I've made most of the changes in GuidedDecisionTableModellerViewImpl however please note all the screens and operations to define columns will be replaced in "Phase 3" (Phase 1 is the new grid, Phase 2 is the ability to have multiple tables in the same editor and Phase 3 is to replace all the ancillary screens)...

I can highly recommend trying maven pmd plugin - especially the cpd goal. The results for client and backend of gdt modules should be attached.

From a brief look through the rest that github doesn't show anymore...

ActionColumnSynchronizer.update(..) - whatever the result of the check, the method always just returns Collections.emptyList() - you can probably remove the check and just plain return that.
ConditionColumnSynchronizer, line 192 - pattern.getChildColumns().size() == 0 can be replaced by isEmpty(), similarly in ModelSynchronizerImpl, line 386, maybe elsewhere.. but that is just a detail.
CellUtilities.assertDTCellValue(..) might be better named sth like convertDTCellValueType(..) - no assertion is done here and the effect is to convert the type (of legacy dtables).
love the "//This should never happen" comment in Dep..Utilities - nice tempting fate. ;-)
LimitedEntryDropDownManager lines 49-54, could the check also use the PortablePreconditions checks?

Besides my nitpicking about license headers and code duplication, this looks like a solid piece of good work.
It would be nice if the PR was smaller so that github would be showing all of it. :-D If wishes were fishes..

Jenkins please retest this (if you're still listening)

@cristianonicolai @csadilek This is good to go now (with the other related PRs).


hack,test/e2e: Default to the 4.6 operator registry image CI imagestream.

This change doesn't affect much except for providing a sensible default value for running the e2e suite locally and don't need to provide an up-to-date operator manifest bundle image. We can default the operator's registry image that gets tagged into the ocp/4.6 imagestream by CI.

/retest

Okay, looks like these recent e2e failures are due to a recent rebase with the openshift apiserver. Just going to force-merge this change for now as it's purely for test debugging.


Redis startup race condition - Not setting up DB credentials

🐞 Bug Report
Affected Services
Continuation from #2542 - while fix worked for Geneva, there was a suggestion on the part of Tony and Andre needed for Hanoi going forward:
Tony:  Re: [ -s ], isn't it still possible for the the file to be partially written when this check is made? Wouldn't a semaphore file be safer?
Andre: Given the length of the password and the typical I/O buffer, it is unlikely for a partial write to occur.
When Geneva is released, I'm going to rewrite security-secretstore-read to eliminate the password file altogether and set the password directly in Redis.
Is this a regression?
temp solution in Geneva
Description and Minimal Reproduction
see #2542

decided this is a duplicate of https://github.com/edgexfoundry/edgex-go/issues/2636 going to track progress on that issue going forward

@hutchic Did you mean to close this issue (#2636) or a different one?


Some changes to set up deployment with new nuspec.

See #2266, #85

@pre10der89 @boingoing

LGTM, do we want to also generate/publish the other NuGet packages?

I think we should publish at least the .NET-targeted package in addition to the Native package at this time.
The packages for Symbols and individual flavors might be overkill at this time as they don't necessarily unlock any new dev scenarios, but they might be helpful for some as an optimization (low-bandwidth or low-disk environments).
@EdMaurer What do you think?
@boingoing If we do publish multiple packages, I think we should revert to the Wisdom of letting our primary package name be the .NET-targeted package since that's what NuGet users would generally expect. The native package (vc140) could be our secondary feed. In that case, the names and ids of the nuspec files can remain as they are.

@boingoing Do you think distributing ch.exe in our NuGet package actually makes sense? Maybe we should let that simply be a part of the GitHub zip publication. ch.exe doesn't serve any purpose in the dev process and 6 * ch.exe + ch.pdb bloats the extracted contents of the native package by a fair amount (5 MB each = 30 MB), but the package itself (a zip was only reduced by about 5 MB total by removing ch.exe + ch.pdb from each flavor).

@pre10der89 @matthargett NuGet version 3.3.0 complains of the following for the .NET-targeted package:
WARNING: 1 issue(s) found with package 'Microsoft.ChakraCore'.

Issue: Invalid framework folder.
Description: The folder 'netstandard1.0' under 'lib' is not recognized as a valid framework name or a supported culture identifier.
Solution: Rename it to a valid framework name.

Is that expected?

'netstandard' moniker replaced 'dotnet' in NuGet 3.4 RC, which was distributed last year with VS2015 Update 2:
https://docs.microsoft.com/en-us/nuget/schema/target-frameworks
If NuGet 3.3 compatibility is needed by others (we don't need it for our purposes), I guess dotnet5.0 could be used, or portable-win81+wp81 which maps to netstandard1.0 according to the table at the above URL.
Given that we're packing vc140, which would seemingly require VS2015, I'm not sure requiring NuGet 3.4 it too much of a problem? Also, am noticing that several of the vc140 boost NuGet packages mention VS2015.3 in their description.

we only put ch.exe in the new package because it was in the old package. The old package was more of a binary distribution than anything else, since it couldn't be referenced to satisfy project dependencies. We don't need ch.exe for our purposes, and the smaller download size would make for a better initial developer experience when people clone and build the Net46 versions of React Native Windows, CodePush, etc.

@matthargett Thanks for the clarification. We originally set up a feed for preview packages and hacing ch.exe there made sense in that context. Not sure that reasoning holds up anymore as we're not really publishing preview packages, and even if we resume publishing preview packages, they will be for the NuGet dev experience. I think it's fine for us to say if people want to have ch.exe they could build it or pick it up from the GitHub release page.
Even so, for now, not removing ch.exe from the package is a reasonable default action, pending further discussion.
For the record, the sizes are:
Microsoft.ChakraCore.1.4.1.nupkg -- 6.32 MB (unpacked: 15.8 MB)
Microsoft.ChakraCore.vc<IP_ADDRESS>.nupkg -- 98.6 MB (unpacked: 405 MB)
Microsoft.ChakraCore.vc140-reduced.1.4.1.nupkg -- 93.0 MB (unpacked: 376 MB)

@matthargett I was wondering if it was just that my nuget.exe was out of date. There's no particular reason to support older versions.

@matthargett @pre10der89 You can find the preview packages on myget at: https://www.myget.org/feed/chakracore-preview/package/nuget/Microsoft.ChakraCore and https://www.myget.org/feed/chakracore-preview/package/nuget/Microsoft.ChakraCore.vc140

Tested in react-native-windows master and our react-native-code-push branch on Win7/x86, both worked fine. 🎉  I'll test on Win10/x64 tomorrow and see if @pre10der89 or @abodalevsky find any issues as well. Looking good so far, though! 😃


ignore IntelliJ IDEA project definition file

Coverage remained the same at 98.571% when pulling 9ecef491c7a6b9daad5848fdcf255d0dfd88c5d0 on Simek:patch-1 into db6d22530d617931d8ea191547f03d147c02bdd1 on coryhouse:master.

Thanks! 👍


Website Mobile Responsiveness & Some More

Fixes

This update removes all the overflow present in the index.hmtl, examples.html, and games.html pages on both the body and the nav bar.

The example search box now has proper styling with placeholder text, and it's centered on the page.

The website now features a mobile menu that disables page vertical scrolling when the menu is open, and this gets auto enabled when exited via resizing the window or just by exiting the menu  when pressing the x button.

The page now has a go to top button.

All new components have been made into web components, which have been widely supported for more than 3 years now. The reason behind it is ease of use, and encapsulation. These have their css and logic inside them in the ui_manager.js file.

Added a ui_manager.js file where most of the work for the web components has been done. There are no 3rd party libraries added to this update.

I have repurposed the bindings id, which was being misused as a class, which goes against web standards. It's now a proper class.

Ids that were being used as classes have been turned into classes, and their css has been updated to make sure they work the same or better.

-Fixed all a tags in the index.html file that when focused looked a little messed up with an irregular rectangular shape rather than a normal outline.

The font-size doesn't match the rest of the page. That may be an inconsistency to fix. The rest seems to be good.

 The font-size doesn't match the rest of the page. That may be an inconsistency to fix. The rest seems to be good.

thank you, I will fix that right now.

it looks good to me.


Is there any test about the limit of graph size?

Hi there,
I'm wondering if the limit of graph size has been tested, such as the maximal number of nodes and edges in the visualized graph? And the correspondence between the memory overhead/simulation time and the graph size also interests me. For example, how big the graph is that can be processed by the GNNLens2 within 10secs on a machine with 16 CPUs and 64GB memory?

I did not test that.


Theme signature stays on top of other elements

Depending on the height of the content inside the column where the toot's publish field is or depending on the screen resolution/window size, the theme signature stays above other elements.

This happens only when using the advanced interface and prevents the use of a toot's publish box buttons. This issue is specially true when the screen size is something like 1366x768 (a user reported this to me).

Thanks :)
This should be fixed now


Release 1.2.0

PR checklist

[ ] Release 1.2.0
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

I would make this a major release as the parameters changed and usage is not backwards compatible


Build failure: compsize

Steps To Reproduce
Steps to reproduce the behavior:

build compsize

Build log
$ nix log /nix/store/j7v8qgzdwy77zyb1hbd536f1vnaplpfd-compsize-1.5.drv
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/j7v8qgzdwy77zyb1hbd536f1vnaplpfd-compsize-1.5.drv^*'
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/m9h1pvqq543xm7c40x1sf097wkbca0df-source
source root is source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
no configure script, doing nothing
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
build flags: SHELL=/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/bash
gcc -Wall -std=gnu90  -c -o compsize.o compsize.c
In file included from compsize.c:17:
radix-tree.h:51:9: error: unknown type name 'gfp_t'
   51 |         gfp_t                   gfp_mask;
      |         ^~~~~
radix-tree.h:78:24: error: unknown type name 'gfp_t'
   78 | int radix_tree_preload(gfp_t gfp_mask);
      |                        ^~~~~
radix-tree.h: In function 'radix_tree_preload_end':
radix-tree.h:94:9: warning: implicit declaration of function 'preempt_enable' [-Wimplicit-function-declaration]
   94 |         preempt_enable();
      |         ^~~~~~~~~~~~~~
compsize.c: In function 'parse_file_extent_item':
compsize.c:163:10: warning: implicit declaration of function 'IS_ALIGNED' [-Wimplicit-function-declaration]
  163 |     if (!IS_ALIGNED(disk_bytenr, 1 << 12))
      |          ^~~~~~~~~~
compsize.c:167:5: warning: implicit declaration of function 'radix_tree_preload'; did you mean 'radix_tree_preload_end'? [-Wimplicit-function-declaration]
  167 |     radix_tree_preload(GFP_KERNEL);
      |     ^~~~~~~~~~~~~~~~~~
      |     radix_tree_preload_end
compsize.c:167:24: error: 'GFP_KERNEL' undeclared (first use in this function); did you mean 'SI_KERNEL'?
  167 |     radix_tree_preload(GFP_KERNEL);
      |                        ^~~~~~~~~~
      |                        SI_KERNEL
compsize.c:167:24: note: each undeclared identifier is reported only once for each function it appears in
compsize.c: In function 'do_file':
compsize.c:194:13: error: 'errno' undeclared (first use in this function)
  194 |         if (errno == ENOTTY)
      |             ^~~~~
compsize.c:19:1: note: 'errno' is defined in header '<errno.h>'; did you forget to '#include <errno.h>'?
   18 | #include "endianness.h"
  +++ |+#include <errno.h>
   19 |
compsize.c:194:22: error: 'ENOTTY' undeclared (first use in this function); did you mean 'N_TTY'?
  194 |         if (errno == ENOTTY)
      |                      ^~~~~~
      |                      N_TTY
compsize.c: In function 'do_recursive_search':
compsize.c:246:17: error: 'errno' undeclared (first use in this function)
  246 |             if (errno == ELOOP    // symlink
      |                 ^~~~~
compsize.c:246:17: note: 'errno' is defined in header '<errno.h>'; did you forget to '#include <errno.h>'?
compsize.c:246:26: error: 'ELOOP' undeclared (first use in this function)
  246 |             if (errno == ELOOP    // symlink
      |                          ^~~~~
compsize.c:247:26: error: 'ENXIO' undeclared (first use in this function)
  247 |              || errno == ENXIO    // some device nodes
      |                          ^~~~~
compsize.c:248:26: error: 'ENODEV' undeclared (first use in this function); did you mean 'NODEV'?
  248 |              || errno == ENODEV   // /dev/ptmx
      |                          ^~~~~~
      |                          NODEV
compsize.c:249:26: error: 'ENOMEDIUM' undeclared (first use in this function)
  249 |              || errno == ENOMEDIUM// more device nodes
      |                          ^~~~~~~~~
compsize.c:250:26: error: 'ENOENT' undeclared (first use in this function)
  250 |              || errno == ENOENT)  // something just deleted
      |                          ^~~~~~
compsize.c:252:31: error: 'EACCES' undeclared (first use in this function)
  252 |             else if (errno == EACCES)
      |                               ^~~~~~
compsize.c:275:26: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
  275 |             path_size += strlen(path) + NAME_MAX;
      |                          ^~~~~~
compsize.c:19:1: note: include '<string.h>' or provide a declaration of 'strlen'
   18 | #include "endianness.h"
  +++ |+#include <string.h>
   19 |
compsize.c:275:26: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
  275 |             path_size += strlen(path) + NAME_MAX;
      |                          ^~~~~~
compsize.c:275:26: note: include '<string.h>' or provide a declaration of 'strlen'
compsize.c:290:26: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
  290 |                     if (!strcmp(de->d_name, "."))

Additional context
Add any other context about the problem here.
Notify maintainers
@trofi @CrazedProgrammer

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.10.4, NixOS, 24.11 (Vicuna), 24.11.20240814.c3aa7b8`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.5`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/sfycwi72zfjsspidinx56ajaiffpyh17-source`

Add a :+1: reaction to issues you find important.

The reason is update btrfs-progs: 6.10 -> 6.10.1 https://github.com/NixOS/nixpkgs/pull/334951
git revert 18fb00789bea6d59828614989880782311b0245b
makes it build again on current master
Something there breaks it:
https://github.com/kdave/btrfs-progs/compare/v6.10...v6.10.1

Here's a quick workaround:
diff --git a/pkgs/os-specific/linux/compsize/default.nix b/pkgs/os-specific/linux/compsize/default.nix
index 441108b0e54f..8132181511ff 100644
--- a/pkgs/os-specific/linux/compsize/default.nix
+++ b/pkgs/os-specific/linux/compsize/default.nix
@@ -1,5 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, btrfs-progs }:
+{ lib, stdenv, fetchFromGitHub, fetchurl, btrfs-progs }:

+let
+  btrfs-progs' = btrfs-progs.overrideAttrs (old: rec {
+    pname = "btrfs-progs";
+    version = "6.10";
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
+      hash = "sha256-M4KoTj/P4f/eoHphqz9OhmZdOPo18fNFSNXfhnQj4N8=";
+    };
+  });
+
+in
 stdenv.mkDerivation rec {
   pname = "compsize";
   version = "1.5";
@@ -11,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-OX41ChtHX36lVRL7O2gH21Dfw6GPPEClD+yafR/PFm8=";
   };

-  buildInputs = [ btrfs-progs ];
+  buildInputs = [ btrfs-progs' ];

   installFlags = [
     "PREFIX=${placeholder "out"}"

The reason is update btrfs-progs: 6.10 -> 6.10.1 #334951 git revert 18fb00789bea6d59828614989880782311b0245b makes it build again on current master
Something there breaks it<EMAIL_ADDRESS>Seems like quite a few things that compsize used got removed:
#define gfp_t int
#define GFP_KERNEL 0

#include <errno.h>
#include <string.h>

Seems due to this commit: https://github.com/kdave/btrfs-progs/commit/2830e841359e456ab14e48aabaedab8a2276e484

Here's the corresponding compsize upstream bug: https://github.com/kilobyte/compsize/issues/52


on-select-row

how to customize the event on select row .To disable or enable some button etc

Hey @Ghalibilal
I didn't understand which buttons do you want to disable/enable.
Could you please a little more elaborate or give an example.
Cheers,
Ruby.

Closing this issue since there is no reply.


Massive security issue.

Too many to list...
Example:
https://github.com/Nameless9000/TavernAIPwn

Okay, since apparently three is too many to list, here's what someone got from a brief look at the repo:

The error page for TavernAI lists the path of the script causing the error, from which a path to the root dir can be derived
The web server(?????) will GET any path it's given
The delete character request will take any path it's given

My own addendum to #2: When using the /backgrounds route, and possibly others.
Anyway, validating paths (after . and .. resolution) to make sure they're within the root directory seems like a simple solution to some of these.

Planned solution:

Whitelist of ip addresses for server.js functions.
localhost is whitelisted by default.
Ability to disable-enable the whitelist

Security update: https://github.com/TavernAI/TavernAI/commit/0a13b2da5339af33cf602de5d2feef2386608a6d


Update vue.mdx

Update for latest Vue 3 components.
Changelog
Changed

Vue 3 bootsrtap instructions

recheck

I have read the DCO document and I hereby sign the DCO.

recheck