Translation for Default Rooms

Is your feature request related to a problem? Please describe.
The dreame app provides default rooms and custom rooms. The default rooms are translated in the app but not in the integration.
I am happy to provide the translation values and I already looked if it is easy to add. But it looks like rooms are handled differently than other translated attributes.
Describe the solution you'd like

Use translation from the dreame server if available or
provide option to manual translate the values in translation files.

Add any other context or screenshots about the feature request here.

Home Assistant History

App Screenshots

Hello, thanks for the response.
I am not sure if I understand the difference between can be translated and not.
Attributes like status or cleangenius or cleaning_mode area are sensor values, base values are provided from dreame and supported with integration translation. The value from Current Room is a sensor, default values are provided but they are not translated yet. They are hardcoded as fixed values (https://github.com/Tasshack/dreame-vacuum/blob/fe3133384e14b0d9b2da6cca2c794d1507a39f98/custom_components/dreame_vacuum/dreame/types.py#L10)

Can you explain the difference? If you show how to add, I could provide a PR.


Modify MATCH to construct vertices and edges from custom schemas

please assign

ready for assignment

Hi, I am the new Operations Manager Steve from Vancouver Team.


[sanitize_html] Don't call addLinkRel if it's null

The title is fairly self-explanatory!
Fixes https://github.com/google/dart-neats/issues/71

/cc @jonasfj, @isoos


[QUESTION]

can i select an image from mobile, then compress it then show it on the editor ?

Yes, you can use the mediaUploadInterceptor, which will give the path of the picked image. Then you can compress it and insert the compressed base64 data into the editor.
See here for example usage.

Yes, you can use the mediaUploadInterceptor, which will give the path of the picked image. Then you can compress it and insert the compressed base64 data into the editor.
See here for example usage.

OK, Get it, Thanks.


LuraToon: Refactor to use API JSON without scraper

Closes #5739
Steps:

[x] Fix list chapters of manga
[x] Fix list images of chapter
[x] Fix read image (Difficult process, follow below in the comments....)
[x] Fix list latest
[x] Fix request to details manga

Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

I started modifying an extension called LuraToons, which extends from PeachScan's multisrc. However, the owners made many changes, and nowadays the only things that work in the extension are the popular listing and search functionalities. So, I rewrote the chapter and page listing methods. But one of the changes the owners made was to implement a kind of encryption on the images, in addition to compressing them into zip files like Peach already supports. They also added encryption, and I've been struggling to reverse-engineer it, but I don't think I'm close to a satisfactory result yet.

Below is an example of an link to the JS script that handles the decryption. However, the script is obfuscated. I've discovered a few things using the JavaScript debugger in devtools. The first parameter of the function _0x13c517 appears to be an ArrayBuffer of the encrypted file, and the second parameter is a object. The decryption seems to depend on this second object
script: https://luratoons.com/static/assets/cngv-nBW.js

Job finished...

My hero!

good work 👍, some comments:

almost nothing is being used from peachscan multisrc, so remove it from the mulstirc
you may want to move the zip interceptor and related code to a lib, to share between the multisrc and this source (or just copy it for now)
don't serialize everything in the serializable classes, only required fields

Thank you for the feedback! I agree that not much is being used from Peachscan's multisrc extension, but there are still some utility functions that are being used. I tried rewriting the code locally without multisrc, but it ended up looking a bit messy in my opinion.
To be honest, I'm not very familiar with Android development, Kotlin, or Gradle, so I'm not sure how to refactor it in a clean and proper way. I only learned enough to get it running 😅.
If anyone else wants to take over this pull request, please feel free to do so. For now, I'll just use a local build.

I noticed that if I already have some manga saved in my library, only a few of them have their names changed between the main site and the API. Because of this, I had to migrate those specific manga. Should I add an alert for this?


Fix sequence comparison

Fixed gt, lt comparison of sequence. Also, the values of
le and ge are calculated using the not operation of gt and lt
Fixes #1450

However, the current code remains an problem for returning an unsupported operand error for < instead of error for <= in seq_le and seq_ge.
I think that to solve this, we need to implement the code for seq_le and seq_ge respectively.

@coolreader18 @youknowone cc @corona10
Can I get a review?


[1.3.0][Distribution][BUG] k-NN build failed due to failed to apply plugin class 'org.opensearch.gradle.info.GlobalBuildInfoPlugin'

Consolidate compiler generated dependencies of target opensearchknn_common
[ 94%] Built target opensearchknn_common
[ 97%] Building CXX object CMakeFiles/opensearchknn_nmslib.dir/src/org_opensearch_knn_jni_NmslibService.cpp.o
/tmp/tmp2q3ljrid/k-NN/jni/src/org_opensearch_knn_jni_NmslibService.cpp: In function 'jlong Java_org_opensearch_knn_jni_NmslibService_loadIndex(JNIEnv*, jclass, jstring, jobject)':
/tmp/tmp2q3ljrid/k-NN/jni/src/org_opensearch_knn_jni_NmslibService.cpp:59:12: warning: converting to non-pointer type 'long int' from NULL [-Wconversion-null]
     return NULL;
            ^
[100%] Building CXX object CMakeFiles/opensearchknn_nmslib.dir/src/nmslib_wrapper.cpp.o
[100%] Linking CXX shared library release/libopensearchknn_nmslib.so
[100%] Built target opensearchknn_nmslib
+ cd /tmp/tmp2q3ljrid/k-NN
+ ./gradlew assemble --no-daemon --refresh-dependencies -DskipTests=true -Dopensearch.version=1.3.0-SNAPSHOT -Dbuild.snapshot=true
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.3.3/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

FAILURE: Build failed with an exception.

* Where:
Build file '/tmp/tmp2q3ljrid/k-NN/build.gradle' line: 51

* What went wrong:
A problem occurred evaluating root project 'opensearch-knn'.
> Failed to apply plugin class 'org.opensearch.gradle.info.GlobalBuildInfoPlugin'.
   > Could not create plugin of type 'GlobalBuildInfoPlugin'.
      > Could not generate a decorated class for type GlobalBuildInfoPlugin.
         > org/gradle/jvm/toolchain/JavaInstallation

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org/

BUILD FAILED in 9s
2022-03-03 22:44:22 ERROR    Error building k-NN, retry with: ./build.sh manifests/1.3.0/opensearch-1.3.0.yml --component k-NN --snapshot
Traceback (most recent call last):
  File "./src/run_build.py", line 79, in <module>
    sys.exit(main())
  File "./src/run_build.py", line 67, in main
    builder.build(build_recorder)
  File "/var/jenkins/workspace/distribution-build-opensearch/src/build_workflow/builder_from_source.py", line 54, in build
    self.git_repo.execute(build_command)
  File "/var/jenkins/workspace/distribution-build-opensearch/src/git/git_repository.py", line 83, in execute
    subprocess.check_call(command, cwd=cwd, shell=True)
  File "/usr/local/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'bash /tmp/tmp2q3ljrid/k-NN/scripts/build.sh -v 1.3.0 -p linux -a x64 -s true -o builds' returned non-zero exit status 1.

When did this fail? This should be fixed by https://github.com/opensearch-project/opensearch-build/pull/1704 @peterzhuamazon

Got it, it failed for a while but the latest build just show as success.
1224
Mar 3, 2022 10:51 PM UTC
1.3.0/opensearch-1.3.0.yml

Thanks.


MultiGrid misalignment when used with ColumnSizer

I believe I've found a bug in MultiGrid which appears when it is used with ColumnSizer.
Specifically, when the column width is bigger than its minimum value the header can become misaligned with the data.

Interestingly this doesn't happen on first render, and only occurs after you start to scroll vertically. Once you start to scroll vertically a horizontal scroll bar will (incorrectly) appear, which if used breaks the alignment of the fixed header
There is an example of this behaviour here: https://next.plnkr.co/edit/v2N7VVkjOnJava3o?preview
It looks like this used to be an issue for MultiGrid, even when used without ColumnSize, but got fixed, without accounting for ColumnSizer.

Browser
chrome & edge (for sure, maybe others too)

OS
win7 (for sure, maybe others too)

React
15 & 16 (for sure, maybe others too)

React DOM
15 & 16 (for sure, maybe others too)

react-virtualized
9.20.1  (for sure, maybe others too)

The bug is still there. "version": "9.21.0"


Extract common checks to decorator

Opened for discussion.
I think we should check for usage of @app.route('/<data_set:data_set_name>', methods=['POST']) and possibly remove that code path entirely.

I think the only thing that was left using that route was the old admin app and potentially out backdrop smoke tests.


Update apikey security handling

Per OAS documentation - apikey does not require a scheme property, hence this code fails:
 let authScheme = secDefinition.scheme.toLowerCase();
                                            ^
TypeError: Cannot read property 'toLowerCase' of undefined

MR amended with version bump in package.json

@andrzejwp Thank you for this PR!


Consider requiring Antiforgery Validation by default

Current convention is that with any form submitted an Anti XSRF Token ist supposed to be sent along and evaluated at server side.
So, instead of requiring the programmer to add countless Html.AntiForgeryToken() calls and ValidateAntiForgeryToken attributes, wouldn't it be an improvement to automatically send an Anti XSRF Token along with each Html.BeginForm() or Ajax.BeginForm() and to evaluate it with each HttpPost and similar?
A configuration option could be added allowing to set whether this should automatically occur or (as in the current MVC/Web API implementation) manually.

@blowdart

@blowdart Looks like we did this already for the form tag helper. If we turn this one for HTML helpers by default as well then we would have to figure out what the behavior is when you also specify Html.AntiForgeryToken().

I suggested this about a year ago. Backcompat was the reason given to not do it. Putting it in the form is the easy part, however I'm not so sure about checking it by default on controllers. We'd have to have a [DontValidateAntiForgery] attribute instead, and that feels odd to me. Also now don't have separate API controllers it gets even harder, you don't want checking on those, because you shouldn't be using cookies at that point.

In my opinion it's pretty horribad how we have it right now. An inconsistency among the two (FormTagHelper and Html.BeginForm). We should pick one and make it consistent to avoid confusion. I personally would prefer the default opt-in but I agree [DontValidateAntiForgery] feels awkward.

We could change the behavior of [ValidateAntiForgery] to only apply to form posts. Then it's just any other global filter.

Thanks for taking the time.
I'm going to follow this thread silently. Just wanted to add to @rynowak 's comment that I would have guessed the ValidateAntiForgery attribute would be applied only to HttpPost (and similar) requests already.

Following the concepts proposed here, I want to add some input.
I love the idea of making this auto :+1:
instead of [DontValidateAntiForgery], i think [ValidateAntiForgery(false)] it's very aligned with the framework and it looks great!
@Html.AntiForgeryToken() can do nothing (backcompat maybe in a shim) or be removed.
and the actual validation can only be executed on form request with application/x-www-form-urlencoded and multipart/form-data headers. (not sure if this is the correct approach to detect when forgery must be validated) as @rynowak suggested with a global filter.

+1 it should be safe by default. It's just a lot of boiler plate that we need to remember to add to forms/post methods.

We've had some more discussion internally about this since posting about it last week. The one scenario we're concerned about today is API endpoints that don't use antiforgery.
It's a small ask for a browser-based endpoint to do the right thing with antiforgery. Turning this on by default also means turning it on for APIs. We'll need to do the work here aspnet/Antiforgery#17 as well to make this reasonable to API authors. Any concerns about this?

Act now. Ask for forgiveness later.

API endpoints should be using bearer tokens for antixsrf.
As for doing this automatically, comparing to other frameworks: RoR does this automatically with a global config setting.

this might sound a bit daft but what about the following situation:
the problem with making it automatic, is what about when there needs to be external intervention to expand the validation timeout, i.e. a page with videos on it and each time you click a video it checks with the server and then pulls the content from the server, if you made the Anti Forgery Token automatically applied, how would one go about timeout problems after the standard timeout,
i.e. a user stays on the page while doing other stuff for one hour then tries to click the link to popup a video without refreshing the page. This would cause the server to reject the token as its now expired.

@rynowak :
I am surprised that Web API comes into play in regard to XSRF tokens because I am not sure whether MVC and Web API topology can generally be compared in this regard:
While MVC relies on a 1:1 Response-Request cycle, Web API is based on a 0:many cycle. I.e., a POST request can be issued anytime without any preceding request in Web API while in MVC there is always a single XSRF token "challenge" sent, preceding a single, matching POST request.

@david-whitehead

the problem with making it automatic, is what about when there needs to be external intervention to expand the validation timeout

This would only apply to non-idempotent verbs (non-GET/HEAD). If you have this scenario today, and you're doing something non-idempotent on the server, you have an XSRF bug!
If we make this automatic, there will be be an opt-out.

I am surprised that Web API comes into play in regard to XSRF tokens because I am not sure whether MVC and Web API topology can generally be compared in this regard

There is one framework now. We don't have a simple way to distinguish what your expectations are for the usage of your controllers/actions.
In general our recommendation is to not use cookie auth with APIs ever. There's historically been  no barrier to using antiforgery with API endpoints (typically in a hybrid MVC+API SPA), or just ignoring antiforgery and having having XSRF bugs.
Making this behavior automatic will impact anyone who's already doing this, and we need to provide an end-to-end for doing the right thing.

@rynowak what are the current concerns now about it making it auto by default?
I understand that API endpoint should not use XSFR. Isn't safe to only apply XSFR for application/x-www-form-urlencoded and multipart/form-data headers or is too much magic ?

Isn't safe to only apply XSFR for application/x-www-form-urlencoded and multipart/form-data headers or is too much magic ?

Users have existing APIS that accept these content types. Recommended/non-recommended we need to understand the impact on user's sites even if the behavior is an improvement.

@rynowak I believe you said you were going to work on this?

Users have existing APIs that accept these content types.

What about an opt-in setting on MvcOptions, perhaps? New apps (or even VS new->project) can set it?

@Eilon @brockallen the droid you're looking for is
services
    .AddMvc()
    .InitializeTagHelper<FormTagHelper>((helper, _) => helper.Antiforgery = true);

That's great!

Well we want the default to really be on, as opposed to just a template thing. Plus, that's not syntax I'd share with my parents :smile:

So to summarize here:
0). We've added support for antiforgery via header. This is really needed for a first party SPA that uses cookie auth. Sample here: https://github.com/aspnet/Antiforgery/tree/dev/samples/AntiforgerySample
1). We're going to add a 'smart' antiforgery attribute that you can apply as a global filter for sites using cookie/persistent auth. This will be part of the template for MVC: https://github.com/aspnet/Mvc/pull/3784
2). We're going to add an 'opt-out' for antiforgery that you can apply as a filter https://github.com/aspnet/Mvc/pull/3784
3). We're going to create a sample for using conventions to build a mixed site serving browsers, 1st party SPA APIs, and 3rd party APIs. This will demonstrate how to configure different auth policies and antiforgery policies in a cross-cutting way using attributes + conventions
4). We want to change BeginForm and the form TagHelper to do the right thing to include an antiforgery token by default (for some definition of default).
The end result is that if you're building an MVC app, you're doing the right thing with antiforgery by default.
x). Should we add an HtmlHelper/TagHelper for a <meta /> tag with antiforgery?
y). Should we add a filter for an antiforgery-via-cookie (like the sample)

Yay!

@rynowak What is the remaining work that this issue is still tracking?

@danroth27 - changed the title.
The remaining work here is to identify a way that we can validate an antiforgery token when required - by default.

We also need to have a way to opt out of antiforgery validation for specific authentication schemes (like Bearer).

Will reconsider in 2.1.0.


Add basic build script for appveyor

Is this ok to be merged too @mikedennis ?

Yes I think so, I haven't looked at it in a while. I am having problems building QBitNinja though - Seems like it wants a reference to Stratis.Bitcoin but only has reference to NStratis?


add key values pairs when creating releases - [closed]

In GitLab by @tmon546596046 on Oct 28, 2019, 01:54
Merges setvalues -> shanxigov

add rancher questions feature
add key values pairs when creating the helm release.

In GitLab by @wknet123 on Nov 14, 2019, 05:14
The test coverage for backend is 18.3%  37.96%  , check  console log

In GitLab by @wknet123 on Nov 14, 2019, 05:14
closed


ignore UT due to the server commit-id has expired

https://github.com/apache/incubator-hugegraph-toolchain/actions/runs/3337308029/jobs/5523486925


Clean run does not create report file

It would be nice if the reporter always produced a report file and not only if errors occurred.  Currently once I correct a jshint warning my report file is not updated to indicate 0 errors and instead will contain the errors prior to the successful run.

I second that request.
My use case is to feed a jenkins job with jshint reported errors / warning to make graphs and to trigger a failure if too many issues are detected.
The jenkins build configuration expect a jshint.xml file to exist for graphs generation and for error reporting.
However, when there are no issues, no xml file is written, which makes the jenkins job to fail.
It is the case for both the checkstyle and jslint_xml formatters

Great, I'll make that option configurable, defaulting to always produce a file

@chadmastin , @spiroid
From the 0.5.0 version you can set the alwaysReport config option to true and then the reports will be always generated.

Just updated and it works as expected - thank you for the quick turnaround!


notes on listen, after initialize

Added readme notes on I18nJS.listen usage. The current suggestion on how add I18nJS.listen on an initializer leads to empty translations when server starts. If the I18nJS.listen is added in an after_initialize it works fine.

fixes #622

I've found another problem, the listen is evaluating an already initialized version of translations so if there is any change it will not update the files. I've commented the unless condition on init_translations in order for the content be updated properly.
  def self.translations
    ::I18n.backend.instance_eval do
      has_been_initialized_before =
        respond_to?(:initialized?, true) && initialized?
      puts "INIT BEFORE #{has_been_initialized_before.to_s}"
      init_translations #unless has_been_initialized_before <--- init_translations has to run always
      translations
    end
  end

Closed via #631.

@michelson thanks the pr. And sorry for over sighting this for so long.
As for the exporting files only once, I fixed it on 9e8d432aa1375aed34d0085f6db3926434b2ac8e.


feat: added parameters to configure rds database engine version

Please review my PR.

This PR is included in version 1.33.0 :tada:


Missing step: Add permissions to User Managed Identity?

I believe there needs to be documentation added to assign RBAC role (Owner?) to the managed identity created over the scope necessary. Otherwise, it can not be used to manage the resources.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ce02917c-0a8d-6b17-63e5-9b4ba0f671d7
Version Independent ID: 63115261-407b-8620-911e-b7cad76b1707
Content: Set up your environment for Blueprint Operator - Azure Blueprints
Content Source: articles/governance/blueprints/how-to/configure-for-blueprint-operator.md
Service: blueprints
GitHub Login: @DCtheGeek
Microsoft Alias: dacoulte

@bjpohl Thanks for the comment.
Assigning @DCtheGeek for visibility, review and document enhancement consideration if appropriate.

@bjpohl Thanks for the feedback and agreed.  I'll add a step now to cover assigning the new managed identity any needed permissions to support assigning the blueprint assignment at scope.  When the update merges, this issue will automatically be closed.  The publish to live will happen later.  Thanks again!
@MicrosoftDocs/azure-cxp-triage #in-progress


Rework c-api memory model

For routines involving the creation of arrays (e.g. for passing a map as an array of keys and values), we should either:

(a) have the user pass in the allocated array (so they'll need to call another API function to get the size of the array they should allocate). Then the user would be explicitly responsible for freeing the memory
(b) define a calling convention such that it's the user's responsibility to free the memory (can be through an API call) after they're done with it

This should clean up the memory model such that the context doesn't need to managing memory for the c-api

I like (b) a bit better. I think this is what LLVM does for their C api, although I will need to confirm

Makes sense to me


Useless string IsNullOrEmpty checks

Wrong code in several places.
Here's an example:
https://github.com/ONLYOFFICE/CommunityServer/blob/cad514875a881b8fc60c8e02ac0231234ba942a2/common/ASC.Core.Common/Configuration/SmtpSettings.cs#L104

Hi, @Daomania ! Thank you for your comment. We will fix it in the next release.


Allow duplicates to be exported

I think duplicates in Anki are a good thing. For words that have more than one meaning, I have more than one card. Each card has a different example sentence demonstrating the words multiple uses. Also for words that for some reason just don't stick so well in my mind I'll usually add another example sentence for the same word to help it stick.
If issue https://github.com/rsimmons/voracious/issues/15 is implemented and there is a visual warning for duplicates the user could then decide whether or not he/she would like to add the word to his/her Anki deck.
Currently I get around this by placing an arbitrary character after the word and later deleting it Anki's card browser.

I second this, words have more than one meaning.


Integrate DOKS plus managed resources into projects

DigitalOcean Projects allows to logically group resources (such as droplets, volumes, and load balancers). Currently, DOKS clusters and their managed resources are not supported.
This issue is to track support, including automatic association of managed resources (e.g., resources created through Kubernetes such as volumes, load balancers, and snapshots) to the cluster's project.

This is currently being worked on by the DOKS team. We will update the issue as the effort progresses / completes.

This is currently being worked on by the DOKS team. We will update the issue as the effort progresses / completes.


what is the arduino code you are using and at what frequency you are getting data

A1: i did not test on arduino because i do not have one.
A2: default frequency is 100Hz

Can you tell me on which processor you have tested and is there anyway to control its frequency i.e less than 100 hz

and How you interfaced with Jetson nano


Adding Maintenance RP, Private Preview PR https://github.com/Azure/azure-rest-api-specs-pr/pull/482

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Can one of the admins verify this patch?

Please schedule a meeting with arm api review for new RP

@abkmr any progress on ARM review?

@abkmr any progress on ARM review?

Hi Sergey, the Microsoft.Maintenance RP Manifest has already been reviewed in the Private spec repo. See PR https://github.com/Azure/azure-rest-api-specs-pr/pull/482. We have already had API spec review as well with API review board. We are now moving from Private Preview to Public preview and hence need to publish to the public ARM spec repo.

Hi @abkmr could you pls get ARM team members lable the PR as ARMSignedOff, then we can merge it?


last line of output truncated on windows

like https://github.com/twosigma/beaker-notebook/issues/1574
but on the output side

Currently unable to reproduce:

note also the weird line over the insert cell button.  could be my 4k screen since davide does not see it.

@scottdraves what version of chrome are you guys in?

40.0.2214.115m

Unable to reproduce still

Are you zoomed in or anything?

i think this one is related to the 4k monitor, so not very important.

can't repro

:dancer:


hidpp10: parse the profile list

It seems that page 1 consists of a list of 3-byte data. The list is terminated by two bytes of 0xFF.
Each 3 byte data is a description of a profile. The first byte is page number for the profile. I am not sure about the rest but byte 2 is always 0x00 here, and byte 3 is a number that seems unique per profile.
Here is a dump of the list from my G9 with all profiles enabled:
02 00 01
03 00 03
04 00 07
05 00 06
06 00 04
FF FF
When I disable a profile in LGS it is removed from the list in page 1.
Do we want to support enabling/disabling of profiles from libratbag?
Should ratbag-command show info for disabled profiles?

From my G500
02 00 01
ff ...

From floe's G700s
02 00 01
03 00 03
04 00 07
05 00 06
06 00 04
ff ...

How a profile is removed? By replacing the values with ff?

When a profile is disabled it is simply not in the list e.g. with profile 3 disabled:
02 00 01
03 00 03
05 00 06
06 00 04
FF FF

I tried writing the same data on my G500.
Writing to 0x0f with zero parameters (or immediately after writing page 1), does not load the profile from page 2 but the factory default profile, and reading 0x0f gives ff 00 00. But when the mouse is plugged, the profile from page 2 is correctly loaded.
Switching to a profile from a memory page still does not change the output of 0x0f.

I plugged the mouse with
02 00 01
03 00 03
04 00 07
ff ...

in memory on a computer with LGS. LGS actually read this just after the profile (I must have missed it before).
It then rewrite the page with
02 00 01
ff ff ff
04 00 07
ff ...

For @phomes questions:
Do we want to support enabling/disabling of profiles from libratbag?
Probably (in the same way that we should support enabling/disabling resolutions within a profile).
Which means that the ratbag_device returns the max number of supported profiles, but some will be disabled.
Should ratbag-command show info for disabled profiles?
I don't think so (like we do for resolutions: just print a "" and return)

@bentiss and we hope that we can read the max number of profiles from somewhere on the mouse, right?
Since the list in page 1 shows in which pages the profiles are stored I suppose we then need to be keep track of memory use on the mouse. I mean, since they care to keep a list of pages where each profile is stored then that must mean that the locations are not just hardcoded.

Did you check how this data affects the behaviour of the 0x0f command?

@phomes yes, I hope that this value is encoded somewhere in the hardware or is a constant across all devices that have this particular capability.
And yes, we should probably keep track of the profile/page association

took benjamin's patch for this and extended it further into some basic code:
https://github.com/whot/libratbag/tree/wip/hidpp10-profile-directory
this is really just parsing the 3-byte directory tree (benjamin - where did the led_mask bit come from?) and handling it, but it's a start. At least it removes a bunch of odd g500s bits I sprinkled all over the place.

I don't know if Benjamin has another source. But I made a guess (just a guess not tested) about the LEDs from the G700s data in #22 (is there a way to link specific messages?).

good question. The timestamp is the link to a specific message, but I don't know if there's a shortcut for it.
And thanks, I thought that led_mask came from @bentiss, I didn't realise you figured that one out. We don't have any documentation for this yet, so your guess is as good as ours - let's go with until we know otherwise.

Yes, the led_mask credits are going to @cvuchener.
It might also be used as an extra way to identify which profile is which in the UI. Given that you remove the profile from the list, you need to know which page corresponds to which profile not to have the profiles being moved around in the UI.
And thanks both of you (@phomes and @cvuchener) for figuring out the profile directly. There are mentions of it in the HID++ 1.0 doc, but we don't currently have any device-specific documentation that could have helped us understood where the directory is and what it looks like.


Completion function error.

When you try to complete a snippet as your cursor (|) is directly followed by a curly bracket,
user = { name: Henri, lastName: catt|}

vim spits this error:
Error detected while processing function aergia#completion#AergiaComplete:
line    4:
E219: Missing {.
Press ENTER or type command to continue

Culprit (I think):

https://github.com/henricattoire/aergia/blob/4f122aea09fe9acf46e2538c3d28c528c752e3f9/autoload/aergia/completion.vim#L4-L16

In globpath's context, { and }are part of a regex pattern. Just escaping them should do the trick.


Outdated snap package

Netron app and version: netron 7.4.9
OS and browser version: Ubuntu 22.04

Steps to Reproduce:

Install Netron via Snap by running sudo snap install netron.
Launch Netron from the command line using netron.
Observe that the application launches with the same update prompt as described in issue #1164.

electron-userland/electron-builder#7908 @Rychu-Pawel @mmaietta

Duplicate of electron-userland/electron-builder#8423


Display the evaluation stack for nullary operators

This unexpected behavior appeared during the first Quint workshop. In the session below, execution stack is not shown when a nullary operator step is evaluated, in contrast to unary operators inc and dec:
$ quint
Quint REPL 0.11.3
Type ".exit" to exit, or ".help" for more information
>>> var x: int

>>> action inc(i) = x' = x + i

>>> action step = inc(2)

>>> .verbosity=4
.verbosity=4
>>> x' = 0
true

[Frame 0]
q::input() => true

>>> step
true

[Frame 0]
q::input() => true

>>> inc(5)
true

[Frame 0]
q::input() => true
└─ inc(5) => true

>>> x
7

[Frame 0]
q::input() => 7

>>> action dec(i) = all { x - i > 0, x' = x - i }

>>> dec(3)
true

[Frame 0]
q::input() => true
└─ dec(3) => true

>>> dec(10)
false

[Frame 0]
q::input() => false
└─ dec(10) => false

>>>

I think it is a regression too, @bugarela. Just checked it against 0.11.2.
The problem is that the compiler uses an older execution listener:
https://github.com/informalsystems/quint/blob/81f70ad19b5dbf91551988a1cdd91c47f43b48ae/quint/src/runtime/impl/compilerImpl.ts#L244-L246
Shall we include the evaluation listener in the evaluation context?

Yes, sounds about right. @konnov Do you intend to do this or should I? I can do it tomorrow

Yes, sounds about right. @konnov Do you intend to do this or should I? I can do it tomorrow

Let me check, whether I could quickly fix this

In the end, it's a combination of factors. Once I have fixed the behavior introduced by refactoring, another bug surfaced, which was living in the code for much longer.


build: decide per-repo or per-package which versions of Go are supported?

Historically we've only supported the past two released versions of Go.
The other day I removed release-branch.go1.7 from https://build.golang.org/ since only Go 1.8 and Go 1.9 are supported.
But then I saw https://go-review.googlesource.com/c/sys/+/78255 go in, fixing the build for Go 1.7 users.
I can probably understand people wanting x/sys still working back to Go 1.7.
Do we care to support that? Best effort only, or do we want test coverage?
If we want test coverage, we need to decide & document the policy per-repo or per-package and have a way to annotate it so the builders know what to do.
/cc @tklauser @ianlancetaylor @rsc

Regarding https://go-review.googlesource.com/c/sys/+/78255 I noticed it while running the tests on an old OpenBSD 6.0 VM with Go 1.6 from ports so I decided to do a best effort fix there.
A general rule (i.e. official support for last two releases) for all repos/packages would be probably easier to communicate to users rather than a per-package or per-repo policy.
I agree with @bradfitz that people might want to use x/sys a bit farther back than just the last two releases. But then again users of older Go versions for whom something doesn't work will hopefully file an issue which we could fix best effort. But committing to supporting these older version and even have test coverage for them is IMO not worth the effort.

Per https://golang.org/doc/devel/release.html#policy, Go 1.7 is no longer supported. We don't need to run builders and we don't need to make fixes for Go 1.7 users. If they want to keep using an old copy of x/sys, they can vendor it. If they want a new feature, they'll need to maintain and apply patches to their own copy.


scripts: use go1.8.3 and build docker image with cmd/zetcd

Building using $REPO would build an archive that doesn't run
in the docker image.

lgtm

Super awesome! Can you update the readme with the link to the image when its published?


Add package filter to build

Stack:

#508
#506
#502
#500
#490
#489 ⬅
#465

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #490


WebGL2: queries

Part of WebGL2 to add.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/beginQuery

Even though BabylonJS does not use queries, the existence of using WebGL2 is conditional on the success call of gl.deleteQuery()
Looking around, it looks like this would need to be added to the WebGL2RenderingContext object in webgl.cc:
  // prototype
  Nan::SetMethod(proto, "createQuery", glCallWrap<CeateQuery>);
  Nan::SetMethod(proto, "beginQuery", glCallWrap<BeginQuery>);
  Nan::SetMethod(proto, "endQuery", glCallWrap<EndQuery>);
  Nan::SetMethod(proto, "deleteQuery", glCallWrap<DeleteQuery>);

with implementations:
// reference used https://www.khronos.org/registry/OpenGL-Refpages/es3.0/
NAN_METHOD(WebGL2RenderingContext::CreateQuery) { // adapted from CreateBuffer
  GLuint queryId;
  glGenQueries(1, &queryId);

  Local<Object> queryObject = Nan::New<Object>();
  queryObject->Set(JS_STR("id"), JS_INT(queryId));
  info.GetReturnValue().Set(queryObject);
}

NAN_METHOD(WebGL2RenderingContext::BeginQuery) { // adapted from BindBuffer
  GLenum target = info[0]->Int32Value();
  GLuint query = info[1]->IsObject() ? info[1]->ToObject()->Get(JS_STR("id"))->Uint32Value() : 0;

  glBeginQuery(target, query);
}

NAN_METHOD(WebGL2RenderingContext::EndQuery) {
  GLenum target = info[0]->Int32Value();
  glEndQuery(target);
}

NAN_METHOD(WebGL2RenderingContext::DeleteQuery) { // adapted from DeleteBuffer
  GLuint query = info[0]->IsObject() ? info[0]->ToObject()->Get(JS_STR("id"))->Uint32Value() : 0;

  glDeleteQueries(1, &query);
}

I also see that a glbindinit.h, not called by webgl.cc needs to have entries like:
	_gl->Set(v8::String::NewFromUtf8(isolate, "createQuery"), v8::FunctionTemplate::New(isolate, __createQuery));
	_gl->Set(v8::String::NewFromUtf8(isolate, "beginQuery"), v8::FunctionTemplate::New(isolate, __beginQuery));
	_gl->Set(v8::String::NewFromUtf8(isolate, "endQuery"), v8::FunctionTemplate::New(isolate, __endQuery));
	_gl->Set(v8::String::NewFromUtf8(isolate, "deleteQuery"), v8::FunctionTemplate::New(isolate, __deleteQuery));

I am not even sure how to compile this, npm update?  If this is useful, I can also provide the same for samplers & other WebGL2 issues.

Also looking further down in the WebGL2 standard, I see 3 methods not listed above.  I had done them, but removed them.  I edited first comment adding GetQuery, GetQueryParameter, & IsQuery

Well, I usually keep on going without waiting when I ask a question.  I figured out you had a build script.  I fixed all my errors.
I do not know that this code worked beyond, if (!gl.deleteQuery) equates to true.  I can now run any Babylon.JS 4.0 scene.  I get WebGL2 context, and it is working.  Should I PR this?

@Palmer-JC Yes, please open a PR!
From an initial glance the above looks like you found all the right places. I'd love to test it out on my end and review the code in context.

Done for today, tomorrow.  Also, this depends on the WebGL2 fix pr

Closed by https://github.com/webmixedreality/exokit/pull/821


type(refactor): Exception in lifecycle will print stack trace

Short description of what this resolves:
Now its very hard to tell what is the error and where it is coming from because the _lifecycle method doesn't print the exception stacktrace.
Changes proposed in this pull request:
-Just added console.log
Ionic Version: 1.x / 2.x
2

You are right. Looks like a better solution.

I am not sure this is a good solution. The point of having a try/catch is to isolate NavController from the user's code.
If the exception is rethrow, it could lead NavController to a inconsistent state.

@manucorporat Then what will be the right way to see the stack trace when there is exception in the lifecycle methods?

@manucorporat While I understand where you are coming from, the _lifecycle method is executing user code, for example, if I write:
ionViewWillEnter() {
    throw new Error("you will never catch me");
}

If I understand that code correctly, this error will be catched by that try/catch, which is not the intended behaviour imo.
Funny story - When I tested rollbar for the first time with my app, I threw an error from the ionViewWillEnter, or another event - can't really remember - and I just didn't understand why it didn't work.. Moved to a different method, and it did. I think now I know why, my error was catched by something outside of my ErrorHandler's control

I totally agree with you @AmitMY but rethrowing the exception is not an option.
We actually have interesting options, for example, we could inject the abstract class ErrorHandler (that references an instance of IonicErrorHandler).
This way we could show nice the error output in screen without actually breaking NavController.

@manucorporat The way I see it, because the NavController is an angular service, if you rethrow the error, the global handler would catch it.
If that is not the case, then sure, get the ErrorHandler's instance somehow, and use the handleError method..

that's not the problem. the problem is that lifecycle events are dispatched while a transition is ocurring, throwing an exception would interrupt the normal flow of a transition leaving internal variables in an inconsistent state.

@AmitMY @royipressburger fixed here: https://github.com/driftyco/ionic/commit/95c06a53cc753de0067ae33a2a0fe43bec9121a8


#UseThePlatform

Polymer violates the #UseThePlatform principles.
Please read the following sentence in the About the Polymer Project page:
Over time, the stacks we’ve built on top of the platform have pushed web development further and further from the simplicity of view-source and shift-refresh, to a place where every project begins with an overwhelming sea of choices.
With Polymer 2.0 #UseThePlatform was reached. Now, in Polymer 3.0 Javascript modules were used in the import statements, to that we are forced to use a transpiler, e.g. polymer-cli (polymer serve...), Babbel or Webpack.
Proposed solution: Run the Polymer code through polymer build with minify turned off and check the result back in again. This will remove modules and replace them by relative imports + extension.
Description
Polymer 3.0 cannot be used without transpiling the code.
Steps to Reproduce

Use the code of any of your Polymer 3.0 projects
Open a Terminal or Command Shell and change the current directory to your project
npm install http-server --save-dev
npx http-server -p 8080
open http://<IP_ADDRESS>:8080 in your browser

Expected Results
Your website shows as expected.
Actual Results
Nothing is displayed. The console log in the Developer Tools windows shows the following error message:

Uncaught TypeError: Failed to resolve module specifier "@polymer/polymer/polymer-element". Relative references must start with either "/", "./", or "../".

Browsers Affected
all
Versions

Polymer: v3.1.0.

How do you propose to handle paths in npm/bower dependencies? Following your logic, the paths within component libraries will need to go exactly to where their dependencies are. But once installed, the paths to their dependencies changed as they are now siblings to their dependencies in a bower_components or node_modules folder.
In Polymer 2, polymer serve did a transform of paths to handle this scenario. Not so #usetheplatform then either.

Back when we made this choice, we wrote a blogpost about our reasoning: https://www.polymer-project.org/blog/2018-02-26-3.0-preview-paths-and-names.html Please see the "Moving the platform forward" section, which should contain the answer to your question.
As extra links, we have a experimental tool that does what you described: https://github.com/Polymerlabs/empathy/tree/initial-implementation
Also, we are actively involved with the standards proposal: https://github.com/domenic/import-maps


feat(syswall): Adding syswall capability to wazero

Today, when users use the time package in wapc, an incorrect timestamp is returned.
This PR provides the option to use Syswall.

Hi @ritesh089 and thanks for another PR!
waPC was created before WASI really existed. I'm thinking access to time and rand should not be an option but instead the default. Things like FS access is more sensitive and would need special (but that is beside the point). Why not use this for the wazero config?
		WithRandSource(rand.Reader).
		WithSysNanosleep().
		WithSysNanotime().
		WithSysWalltime()

I agree . Updated the PR . Please let me know if I need to make any additional changes on this.

@ritesh089 released your recent PRs as v0.6.2. Enjoy!
https://github.com/wapc/wapc-go/releases/tag/v0.6.2


Can only set Cookies for the current domain

my request
{
  'url' => string(80) "http://<IP_ADDRESS>:4444/wd/hub/session/22efd150-fc0b-11e5-bd8f-235d4dbe7530/cookie"
  'content_type' =>string(30) "application/json;charset=UTF-8"
  'http_code' => int(500)
  'header_size' => int(123)
  'request_size' =>  int(272)
  'filetime' =>  int(-1)
  'ssl_verify_result' =>  int(0)
  'redirect_count' =>  int(0)
  'total_time' =>  double(0.116094)
  'namelookup_time' =>  double(2.3E-5)
  'connect_time' =>  double(2.3E-5)
  'pretransfer_time' =>  double(2.4E-5)
  'size_upload' =>  double(81)
  'size_download' =>  double(6531)
  'speed_download' =>  double(56256)
  'speed_upload' =>  double(697)
  'download_content_length' =>  double(6531)
  'upload_content_length' =>  double(81)
  'starttransfer_time' =>  double(0.116078)
  'redirect_time' =>  double(0)
  'redirect_url' =>  string(0) ""
  'primary_ip' =>  string(9) "<IP_ADDRESS>"
  'certinfo' =>  array(0) {
  }
  'primary_port' =>  int(4444)
  'local_ip' =>  string(9) "<IP_ADDRESS>"
  'local_port' =>  int(35511)
}

response
{
  "sessionId": "22efd150-fc0b-11e5-bd8f-235d4dbe7530",
  "status": 24,
  "value": {
    "message": "{\"errorMessage\":\"Can only set Cookies for the current domain\",\"request\":{\"headers\":{\"Accept\":\"application/json\",\"Content-Length\":\"81\",\"Content-Type\":\"application/json;charset=UTF-8\",\"Host\":\"<IP_ADDRESS>:4444\"},\"httpVersion\":\"1.1\",\"method\":\"POST\",\"post\":\"{\\\"cookie\\\":{\\\"name\\\":\\\"X_REQUESTED_WITH\\\",\\\"value\\\":\\\"Codeception\\\",\\\"domain\\\":\\\"localhost\\\"}}\",\"url\":\"/cookie\",\"urlParsed\":{\"anchor\":\"\",\"query\":\"\",\"file\":\"cookie\",\"directory\":\"/\",\"path\":\"/cookie\",\"relative\":\"/cookie\",\"port\":\"\",\"host\":\"\",\"password\":\"\",\"user\":\"\",\"userInfo\":\"\",\"authority\":\"\",\"protocol\":\"\",\"source\":\"/cookie\",\"queryKey\":{},\"chunks\":[\"cookie\"]},\"urlOriginal\":\"/session/22efd150-fc0b-11e5-bd8f-235d4dbe7530/cookie\"}}",
    "screen": "iVBORw0K..."
  }
}

what i do wrong?

have you solved your problem?p

no,
i set cookie on server side

After many trial and error, I finally know how to reproduce this.
if your phantomjs get www.domain.com and immidiately set cookie, everything is ok.
but if it cost too much time after your last get www.domain.com, phantomjs throw this exception

@gouchaoer Sorry but that explanation is illegible.
It seems to answer the question but I can't understand what you're saying

@mudkippzs  For the URL "a.domain.com/path":

Setting a cookie without specifying the domain fails
Setting a cookie using this domain fails:  "a.domain.com"
But setting a cookie using this domain succeeds:  ".domain.com"

I get "Can only set Cookies for the current domain" on only some hosts when the domain is not specified in the cookie (others succeed; no idea of the pattern), and "Unable to set Cookie" in the second case on those same ones.  Only the third way of specifying the cookie's domain seems to work consistently.
In my case, I was also able to successfully set it using ".a.domain.com".


Can't shim 'cf.exe': File doesn't exist.

Running "scoop install cloudfoundry-cli"
Installing 'cloudfoundry-cli' (7.0.1) [64bit]
Loading dl.7z from cache.
Checking hash of dl.7z ... ok.
Extracting dl.7z ... done.
Linking E:\Users\AAAAA\scoop\apps\cloudfoundry-cli\current => E:\Users\AAAAA\scoop\apps\cloudfoundry-cli\7.0.1
Creating shim for 'cf'.
Can't shim 'cf.exe': File doesn't exist.

Fixed in lukesampson/scoop-extras#4353


Creation of a new project fails on Windows with a non-English setup

Describe the bug
When the dotnet CLI tool is localized to another language than English, the "New Project" command fail with the following exception:
[2021-08-23 04:12:12.563] [exthost] [error] Error: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at FsAutoComplete.DotnetNewTemplate.parseTemplateOutput@46(String x) in D:\a\ionide-vscode-fsharp\ionide-vscode-fsharp\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete.Core\DotnetNewTemplate.fs:line 47
   at FsAutoComplete.DotnetNewTemplate.installedTemplates() in D:\a\ionide-vscode-fsharp\ionide-vscode-fsharp\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete.Core\DotnetNewTemplate.fs:line 66
   at <StartupCode$FsAutoComplete-Core>.$Commands.DotnetNewList@436.Invoke(Unit unitVar) in D:\a\ionide-vscode-fsharp\ionide-vscode-fsharp\paket-files\github.com\fsharp\FsAutoComplete\src\FsAutoComplete.Core\Commands.fs:line 436
   at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\workspace\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 386
   at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\workspace\_work\1\s\src\fsharp\FSharp.Core\async.fs:line 104
	at c:\Users\Vivien\.vscode\extensions\ionide.ionide-fsharp-5.7.1\fsharp.js:2:159705
	at c:\Users\Vivien\.vscode\extensions\ionide.ionide-fsharp-5.7.1\fsharp.js:2:159999
	at Immediate.<anonymous> (c:\Users\Vivien\.vscode\extensions\ionide.ionide-fsharp-5.7.1\fsharp.js:2:160362)
	at processImmediate (internal/timers.js:461:21) fsharp.NewProject

Steps to reproduce

Set the display language in Windows to a language other than English (e.g. French) and logout
Install .NET 5
Open in VSCode/Ionide a F# solution created with the dotnet CLI tool
Launch the F#: New Project command

Machine info

OS: Windows 10 21H1
.NET SDK version: 5.0.400
Ionide version: 5.7.1

How to work around it
To list the available templates, FsAutoComplete parses directly the output of dotnet new --list -lang F# and searches for english words.
Setting the DOTNET_CLI_UI_LANGUAGE environment variable to en-us forces the dotnet tool to print its output in english (source).

I agree completely with your assessment, nice digging! Would you be interested in contributing a fix to FSAC?

Sure!

Great! You'd want to be looking at this function I think, and make sure to hard-code this environment variable in the process start info there.


chore: bdd-spring-1580721451 to 0.0.1

chore: Promote bdd-spring-1580721451 to version 0.0.1

[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


Change the project name

As discussed in #22, objectjs is already used on npm
Any suggestion?

Ben suggested "Klassified", and I like it.

ok for me.


docker: fix dockerfile warnings

The following warnings were emitted when running make docker-test:
 2 warnings found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 11)
 - JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals (line 12)

This change fixes both of these 2 trivial warnings.
I added the bash -i option just in case some of the tests/tools care about whether the shell is an interactive shell or not.
Even though the tests passed successfully without that flag, I thought I'd add it just in case. It only added 0.5s to the total test time (64.8s -> 65.3s) so it's probably good to keep. Please let me know if you'd want me to remove it.

Actually timed it again, and now the tests take 63.2s, so the change is in the noise and probably doesn't affect timing.

Thanks!


Added Terminal Menu

Terminal Menu added with a rank of 90.

removed 'Close all terminals' command/command palette item due to Running sidebar item to shutdown terminal

Nicely done!


Don't fire panmove if drag started somewhere else

Fixing a bug. When there are multiple views each with its own controller, panning outside of the current viewport would cause the controller inside the current viewport to fire "panmove", which would throw an error. Adding checks here so panmove doesn't get fired.
fixes #2779

Change List

 modules/core/src/controllers/controller.js

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

Coverage decreased (-0.02%) to 57.01% when pulling d170c6c56418d520c5c7faf0632b95706094314f on zhihua-chen:patch-1 into df74327f60e2e98ff594e4a447b55f7ed4fc00c3 on uber:master.

Coverage decreased (-0.02%) to 57.01% when pulling d170c6c56418d520c5c7faf0632b95706094314f on zhihua-chen:patch-1 into df74327f60e2e98ff594e4a447b55f7ed4fc00c3 on uber:master.


Ceph OSD Map Trimming Warning

Report on ceph_report .osdmap_manifest.pinned_maps list too long
jq '.osdmap_manifest.pinned_maps | length'
$ cat report-0.txt |jq '.osdmap_manifest.pinned_maps | length'
Seems possibly 5000 is 'bad' and 500 is 'normal' from https://docs.ceph.com/en/latest/dev/mon-osdmap-prune/
Can be related to this bug:
https://tracker.ceph.com/issues/44184
Doesn't exist on luminous so needs to gracefully degrade if data is not there (plus sometimes its not valid json if its run on an osd node)

@lathiat can you tell me where that information would be found in a sosreport?

You can get it from ceph report within a sosreport.
As an example:
ceph report | jq '.osdmap_manifest.pinned_maps | length'


[e-Terminology] html output no references to tilde terms

When using e-terminology, informat=text/html and outformat=text/html results in html that only notes if a word is detected as a term, but no reference to the actual tilde terms, shouldn't these references be included? The references are included in, e.g., outformat=text/n3.
POSTing http://api-dev.freme-project.eu/current/e-terminology/tilde?informat=text%2Fhtml&outformat=text%2Fhtml&source-lang=en&target-lang=en&mode=annotation with body
Paris is a city in France.
 returns
Paris is a city in France.

This is the same for mode=annotation as for mode=full

@borriellom can you comment on this?

@borriellom @jnehring @bjdmeest hi all any news on this topic?

Sorry for the late reply.
At the moment the term is represented in the HTML document by using the ITS Terminology category.
I'm not an expert, but I don't think we can refer the actual Tilde term. What we can do is to use the termInfoRef attribute that can contain an IRI referring to the resource providing information about the term. You can find more on this in the ITS 2.0 Specification.
I hope this answers your question.

@borriellom can you implement this?

This is example of NIF turtle containing term and annotation:
@prefix : <https://term.tilde.com/terms/>.

      ...

<https://services.tilde.com/document/1#char=0,5> nif:anchorOf "Paris"@en;
   nif:annotationUnit _:autos6790;
   nif:beginIndex "0"^^xsd:nonNegativeInteger;
   nif:endIndex "5"^^xsd:nonNegativeInteger;
   nif:referenceContext <https://services.tilde.com/document/1>;
   a nif:RFC5147String;
   itsrdf:term "yes";
   itsrdf:termInfoRef :357963.

   ...

And into HTML it goes like this:
Paris

I wondering, what happens, when the term has multiple term references? How it can be included in HTML markup?
If someone wants to get any term info, it must query that IRI.
If there is a need to include full or partial term info into the HTML file, it could be done using < script > tag with id:

@bjdmeest, the output that is embedded in the HTML markup will always be partial. The script tag sounds like a good solution. That would require a workflow like:

call e-terminology with HTML roundtripping to generate attributes like
its-term-info-ref="https://term.tilde.com/terms/357963
call e-terminology with the same HTML content, but this time with json-ld output. The output will contain URIs (or abbreviated forms) like
https://term.tilde.com/terms/357963
which you can use in javascript processing to e.g. visualize all term information.
not nice, but I don't see a way to store all term information in HTML "inline".

@fsasaki yes, that sounds like a good workflow to me :). Indeed, not everything can be stored inside the HTML, but a reference to the term URI would already be great :)

@bjdmeest did you use this workflow? How did it work out? Can we close this issue?

@jnehring Sorry for the late reply: current HTML roundtripping does not include the its-term-info-ref attributes, so I was not able to test this workflow yet


Updated AppConfigConfigurationSource to include the latest config version

Proposed solution for #105
Types of changes

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

Checklist

[x] My code follows the code style of this project
[x] My change requires a change to the documentation
[x] I have updated the documentation accordingly
[x] I have read the README document
[x] I have added tests to cover my changes
[x] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

@ashishdhingra @normj what do you think ?

Thanks for the PR but with the work done in PR https://github.com/aws/aws-dotnet-extensions-configuration/pull/103 the version number is no longer available because that PR switches to the newer AWSSDK.AppConfigData API. I'm going to close this PR because I don't see a way forward using the  AWSSDK.AppConfigData API.


Slack integration does not populate channels in dropdown

We've setup the Looker integration with Slack and it works for scheduling deliveries to individual users but not for slack channels. The setup is using the permissions outlined here: link

@billytianlan I believe you need to invite the app to any channels you want to send stuff to first

AFAIK this is a known Looker issue and should be fixed on recent Looker Versions. You may need to request a Looker instance upgrade to a newer version


Unusable with a large ammount of items

Describe the bug
Hi,
vue-draggable is unusable with a large amount of items
To Reproduce
Steps to reproduce the behavior:

Go to https://vivify-ideas.github.io/vue-draggable/example/#working-with-reactive-data
Add 5000 to 20 000 items in the list(s)
Run the example
Window will freeze for a good 30-60 seconds, then dragging an item takes 2-5 seconds.

Expected behavior
Usable draggable lists
Desktop (please complete the following information):

OS: Windows 10
Browser chrome
Version latest

Hi @sadortun,
Thanks for the feedback. It's something I'm working on.
Basically with new version of the library reactivity mode is default and we will probably introduce new group events (added, removed, reordered).
In the meantime you can look at beta example made for this use case.

Released v2.0.0 🎉


Tests: Don't check remote_write_requests on spokes

Previously the test "Should have acm_remote_write_requests_total metrics with correct labels/value" looked for the metric for both the hub cluster and any spokes. However, per my understanding the spokes isn't supposed to expose this metric, hence the test would always fail if any managed clusters were added to the test setup.

/test unit
/test sonarcloud
/test e2e-kind

/test test-unit


container-crontab stops working for a stack when it is renamed

Rancher versions:
rancher/server: 1.6.14
rancher/agent: 1.2.9
Infrastructure Stack versions:
healthcheck: v0.3.3-1
ipsec: 0.2.2
network-services: v0.2.8
scheduler: v0.8.3
kubernetes (if applicable):
container-crontab: v0.3.0
Docker version: (docker version,docker info preferred)
17.03.1-ce
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

# uname -r
4.4.0-108-generic

Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
IBM Cloud
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
External DB and LB
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:

Create a new environment and add hosts to it.
Deploy the container-crontab infrastructure stack.
Deploy a user stack (my-app) that contains a service with the cron.schedule label (.e.g: cron.schedule: "@hourly").
Rename the user stack (my-app-renamed).

Results:
Up until step 3, everything works as expected (i.e.: the service that has the cron.schedule label will be started every hour).
From step 4 onwards, the same service will no longer start every hour, and the container-crontab logs will repeatedly (every 5s) print the following error message.
time="2018-02-13T14:49:00Z" level=error msg="Error 404 accessing /stacks/my-app path"
time="2018-02-13T14:49:05Z" level=error msg="Error 404 accessing /stacks/my-app path"

I believe this problem is caused by the fact that container-crontab relies on container labels to find stack names, and those don't change when the stack name changes.

Tested with 1.6-development master using container-crontab version 0.5.0

Deploy the container-crontab infrastructure stack.
Deploy a user stack teststack that contains a service with the cron.schedule label (0 */1 * * * *) and cron.action=restart
Rename the user stack (teststack-new)
The containers of the service restarted every minute as expected.


Is there functionality which can show timescale in this plagin?

I'm trying to create a timescale. But I can't figure out where to start.
Is it possible to do with existing functionality? If not, can you give me a hint where to start?

Hi @antony-develop,
it would be very interesting to develop a control like this, to have some alternatives to replace the default one.
You could start extending the class L.Control.TimeDimension, and change the method _createSliderTime.
Your new slider (or timescale) has to implement some methods like setValue(timeIndex)  (move the slider to a position) and call timedimension to change the time when the slider changes (see _sliderTimeValueChanged).
Do you know how to create the timeslider?
You might use libraries as timeline


Improved duration modeling with relative note duration prediction

Inspired by https://arxiv.org/abs/2110.08813
From their abstract:

Finally, to improve the singing rhythm, we modify the duration predictor to specifically predict the phoneme to note duration ratio, helped with singing note normalization.

I think this is a neat idea. I am going to try it when I have time.

I haven't got relative duration modeling work yet, but here are other experimental results on duration modeling that may be interesting:
Dataset: Ritsu (100/5/5 songs for train/dev/eval)

Findings:

VariancePredictor (with an extra MDN layer) worked better than the normal MDN. Note that adding an extra layer can benefit from #80.
Increasing number of Gaussians further improved the performance

Also, not can be seen in the figure though, I found adding dropout layers (which were not until now) for the MDN did improve the dev loss/RMSE. Without dropout, the normal MDN tends to overfit. I put the configs for the record below:
1: MDN
stream_sizes: [1]
has_dynamic_features: [false]
stream_weights: [1]

netG:
  _target_: nnsvs.model.MDN
  in_dim: 337
  out_dim: 1
  hidden_dim: 256
  num_layers: 3
  num_gaussians: 1

(NOTE: I hardcoded nn.Dropout(0.5) in the source code)
2: VariancePredictor (with an extra MDN layer)
stream_sizes: [1]
has_dynamic_features: [false]
stream_weights: [1]

netG:
  _target_: nnsvs.model.VariancePredictor
  in_dim: 337
  out_dim: 1
  hidden_dim: 256
  num_layers: 5
  kernel_size: 5
  dropout: 0.5
  use_mdn: true
  num_gaussians: 1

3: VariancePredictor with increased gaussian
stream_sizes: [1]
has_dynamic_features: [false]
stream_weights: [1]

netG:
  _target_: nnsvs.model.VariancePredictor
  in_dim: 337
  out_dim: 1
  hidden_dim: 256
  num_layers: 5
  kernel_size: 5
  dropout: 0.5
  use_mdn: true
  num_gaussians: 4


Bug: is possible login into SQL server engine with MFA authentication

Chat2DB Version
Latest
Describe the bug
I want to know if is possible login into SQL server engine with authentication MFA?

Anyone?


Onnx model on GPU

Hello!
I used your code for the HAT-GAN model and further finetuned the model on my dataset. I converted the resulting pth model into onnx format. I tried to convert both with my own script and with the chaiNNer. But in both cases, when using the onnx model on the GPU, some layers are counted on the CPU and this causes a slowdown. I believe the problem is in the layers
self.residual_group = AttenBlocks(...)
It seems to me that they are counted on the CPU and not on the GPU, but I don’t understand why.
Please tell me, maybe you know what the problem might be and how to rewrite the code so that it can all be used on the GPU. And maybe you or someone else has also encountered this problem

Hello! I used your code for the HAT-GAN model and further finetuned the model on my dataset. I converted the resulting pth model into onnx format. I tried to convert both with my own script and with the chaiNNer. But in both cases, when using the onnx model on the GPU, some layers are counted on the CPU and this causes a slowdown. I believe the problem is in the layers
self.residual_group = AttenBlocks(...)
It seems to me that they are counted on the CPU and not on the GPU, but I don’t understand why. Please tell me, maybe you know what the problem might be and how to rewrite the code so that it can all be used on the GPU. And maybe you or someone else has also encountered this problem

Hi, I recently faced a problem when turning the .pth of HAT model into the format of onnx. Do you solve this problem?


Archiving nodejs-id (node's i18n process has changed)

Dear nodejs-id team,
Thank you for being part of the Node.js community. 🙏
This repository doesn't seem to have been very active recently, and so it is scheduled to be archived on 01-14-22.
Meanwhile, we'd love to have you come over and be a part of the i18n WG at: https://github.com/nodejs/i18n#contributing
Please feel free to reach out to us there, or to me directly if you'd like to understand how to get involved with node's current localization efforts.
All the best,
–Ben (Node.js i18n Lead)

Duplicate, closing.


People are so entitled. The source is right there, stop being lazy and continue the project yourself.

The author obviously has more important things going on in his life right now. Pathetic RIP posts will get you nowhere.
Strop being lazy and continue the project yourself.

Where exactly is the source code? This repo is just the wiki and built releases. The nitty gritty is not open sourced.

Where exactly is the source code? This repo is just the wiki and built releases. The nitty gritty is not open sourced.

i think some one said it was in the tekken 7 fps patcher  (im not a coder or anything so idk but heres the link https://github.com/KulaGGin/Tekken-7-FPS-Patcher)

Communication is important with any project, even if it's just communicating with the people who use your thing. Hell, ESPECIALLY if that's the case.
If the devs has things going on in his life, that's fine. But it would be great if he would communicate that. It would be even better if he could branch this off or invite more devs so that others can help out, if he's unable or unwilling to work on it for whatever reason. It's the radio silence for multiple patches now that has people concerned.

Communication is important with any project, even if it's just communicating with the people who use your thing. Hell, ESPECIALLY if that's the case.
If the dev has things going on in his life, that's fine. But it would be great if he would communicate that. It would be even better if he could branch this off or invite more devs so that others can help out, if he's unable or unwilling to work on it for whatever reason. It's the radio silence for multiple patches now that has people concerned.

He owes us nothing. This is a little project he's obviously doing in his free time for no cost.
I was wrong in my assumption that the source code is there. Turns out only the case for T7. That being said, nothing should be stopping anyone else from creating a similar mod/tweak. But, it's obvious at this point that laziness and expecting others to do everything is what stops people from doing so.

Hmm.... Then what stops you from continuing the project?
If you have a good reason than your laziness, then what makes you judge rashly that other people don't have the same reason with you?

I would literally do that if I wasn't bad at programming

Hmm.... Then what stops you from continuing the project?
If you have a good reason than your laziness, then what makes you judge rashly that other people don't have the same reason with you?

Nothing, that's why I have done my own stripped down version for the current T8 patch. It's essentially identical to T7 code. Only with each new patch, hex values need to be changed.

Could you please upload to a public repo @brad86m

Hmm.... Then what stops you from continuing the project?
If you have a good reason than your laziness, then what makes you judge rashly that other people don't have the same reason with you?

Nothing, that's why I have done my own stripped down version for the current T8 patch. It's essentially identical to T7 code. Only with each new patch, hex values need to be changed.

if thats the case are you willing to share what you have done? or at least create a guide on how to do it our selves?  im not a coder and i dont know how to. im just a tekken enjoyer , in my specific case its not about laziness its just a skill diff.

Hmm.... Then what stops you from continuing the project?
If you have a good reason than your laziness, then what makes you judge rashly that other people don't have the same reason with you?

Nothing, that's why I have done my own stripped down version for the current T8 patch. It's essentially identical to T7 code. Only with each new patch, hex values need to be changed.

If you were trying to make your own version, you would have find the source code. Meanwhile, until just three days ago, you've no idea about that the source code of Overlay for T8 is not released. I wonder why.
Just a question. Not a doubt.


Forman-Ricci Curvature Lifting (Graph to Hypergraph)

This is a novel lifting that applies Forman-Ricci curvature. Curvature is a geometric property to describe the local shape of an object. In the graph, an edge with positive curvature represents an edge within a cluster, while a negative curvature edge tents to be a bridge within clusters.  Forman-Ricci curvature was found to be especially useful for network analysis since its intuitive notion allows for efficient computation that scales to large networks sizes. Network representations of relational data $G = {V (G), E(G)}$ form regular, 1-dimensional cell complexes, in which case the following curvature function can be defined [2]:
${\rm Ric_F}(e) = \omega (e) \left( \frac{\omega (v_1)}{\omega (e)} +  \frac{\omega (v_2)}{\omega (e)}  - \sum_{\substack{e_{v_1}\ \sim\ e \ \ e_{v_2}\ \sim\ e}} \left[\frac{\omega (v_1)}{\sqrt{\omega (e) \omega (e_{v_1})}} + \frac{\omega (v_2)}{\sqrt{\omega (e) \omega (e_{v_2})}} \right] \right),.$
The function is defined on each edge $e = (v_1, v_2) \in E(G)$ of the network, connecting vertices $v_1, v_2 \in V (G)$; $\omega$ denotes the weights of edges and vertices. Our approach is applicable to both weighted and unweighted networks. In case of unweighted networks all weights in the above equation reduce to 1, i.e. $\omega (e) = \omega (v_1) = \omega (v_2) = 1$.
Our approach is straightforward: (1) calculate the Forman-Ricci curvature over the edges of a graph, (2) from the given distribution of curvature weights, define a quantile based threshold, (3) prune the curvature graph using this threshold (4) add remaining coarse graph geometry as hyperedge(s).
This way, depending on the given quantile threshold, either structure preserving coarse geometry backbone structures or clusterings can be defined as hyperedges to lift the graph into a hypergraph.
Team PerelynAI
(Max Schattauer, Liliya Imasheva, Dominik Filipiak, Michael Banf)

Codecov Report
Attention: Patch coverage is 93.24324% with 5 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@497947b). Learn more about missing BASE report.

Files
Patch %
Lines

...graph2hypergraph/forman_ricci_curvature_lifting.py
91.80%
5 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #33   +/-   ##
=======================================
  Coverage        ?   67.88%
=======================================
  Files           ?       17
  Lines           ?      548
  Branches        ?        0
=======================================
  Hits            ?      372
  Misses          ?      176
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Hello @mbanf ! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at<EMAIL_ADDRESS>so I can share access to the voting form. In your email, please include:
• your first and last name (as well as any other team members)
• the title of the method you implemented
• the input domain of the method you implemented
• the output domain of the method you implemented
• your pull request number (#33)
Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified.


Fix docs build

Overview
The docs pipeline hasn't been running since the branch name change, so we're hitting a build failure on a type that was added after the name change.
Changes

Fixes: https://dev.azure.com/aipmr/MixedRealityToolkit-Unity-CI/_build/results?buildId=18071&view=logs&j=275f1d19-1bd8-5591-b06b-07d489ea915a&t=5fd232ee-0bcd-5c4f-9e6b-7e96853085e6

/azp run

Closing for now


feat(container): allowPrivilegeEscalation property  (#1144)

Backport
This will backport the following commits from k8s-24/main to k8s-22/main:

feat(container): allowPrivilegeEscalation property  (#1144)

Questions ?
Please refer to the Backport tool documentation

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1156

Questions ?
Please refer to the Backport tool documentation


Do not update past_key_values in place

Fixes the forward pass in MPTModel to update not past_key_values in place and instead use a new list, presents. 🎁 Naming is inspired by gpt2.
This addresses the following error:
 RuntimeError: attn_bias (shape: torch.Size([1, 4, 1, 2])) is expected to broadcast to shape: torch.Size([1, 4, 1, 3]).

which occurs during multi-gpu generation for mpt models when one rank hits EOS before the others.

@irenedea is this ready to merge?


Default to signature v4 for unknown regions

For regions/endpoints not specified in the endpoints.xml file, please default to v4 signature.
Use Case: When EU (Frankfurt) region was introduced, attempting to use the eu-central-1 endpoint using an old version of the SDK required code changes and/or "AWS.S3.UseSignatureVersion4" setting in appSettings to force v4 signature which causes problems of their own.

Don't forget the possibility to set the signature version to use. This is important for other services supporting the S3 interface, e.g. Ceph Object Store. Currently, the AmazonS3Uri() constructor makes some assumptions about the uri that causes AmazonS3KmsHandler() to set SigV4 = true for all but the Offical Amazon S3 servers.

Sigv4 is now the default.


Upgrade to bevy 0.14

Issue
This upgrades Bevy to 0.14.
Changes
Most changes relate to color APIs, app.world() and app.world_mut(). Other changes include:

Returning AppExit from example main functions
Removing the test code that removes EventUpdateSignal, which no longer exists
Set ShouldUpdateEvents::Always on EventRegistry for playback tests and updated test assertions in FrameCount-related tests not to expect double buffering.

Questions / TODOs
This last bit is potentially controversial but I didn't want to submit a PR with an incomplete solution even if I wasn't entirely confident in the more complete one.
Without this last change (feel free to try the commit, it's 432c5a7), there are issues with the input-playback.rs tests using PlaybackStrategy::FrameCount. Specifically, the Event buffers in these tests are not flushing each update unless ShouldUpdateEvents::Always is set on the EventRegistry resource. Then, if ShouldUpdateEvents::Always is set, the buffer flushes at the end of the update call, so the test code that follows app.update() sees an empty "front" buffer (to accept input in the next update call) and the events of the last update in the "back" buffer. This makes sense (that is the "last frame" now), but does imply that something needs to change.
To provide some concrete example behaviors, this creates issues in the frame_range_once and frame_range_loop tests, which specifically check for double-buffering behavior. Without ShouldUpdateEvents::Always, event counts simply accumulate, but with it included, the tests still fail because they expect double-buffered event counts. Additionally, the comment at tests/input_playback.rs#87 is now misleading: that input_events variable originally has both events in the events_a buffer, and if we set ShouldUpdateEvents::Always, it is the same but for the events_b buffer. This is not representative of double-buffering.
This is also true if we read the input events during playback_strategy_frame and other tests. The one test that does not have this behavior is repeated_playback which sets a TimeUpdateStrategy::ManualDuration and probably triggers FixedUpdate, which would set ShouldUpdateEvents::Ready and execute a flush.
It didn't seem as appropriate to wrangle FixedUpdate or manually trigger event flushes, nor to make assertions inside Update or PostUpdate somehow so that we could observe the double-buffering, which is why I took the approach of not expecting double-buffered events in these tests.
Seems like Events have gone through a few changes in the past few versions and I'm not an expert on all them, so please let me know if there is a preferable approach!

ah, actually, I am wrong -- event updates should be flushed in First, not Last. I went back to double check because I was confused by that!
have to edit this comment with the link to source in a sec
sorry, I'm out now but I'll try again / fix this PR later tonight

Looks like everything's good now!


Implement + unit test explore_clustering

Hi Aditya et. al,
Please help to review my PR with changes below:

Implement and write unit tests for explore_clustering
Implement and write unit tests for explore_KMeans_clustering
Implement and write unit tests for explore_DBSCAN_clustering
Create eda_playround.ipynb to give an example of how we use the functions for EDA tasks on a dataset

I have run all the tests locally, they all passed.
Notes:

I'm using menus.csv  as the test dataset, there are numeric, categorical and text columns, should be fine to utilize all of our EDA functions
There are issues with testing matplotlib plots, I have to use matplotlib.use("Agg") to disable opening plot windows in the test file, it causes some texts not generated for the plot objects, hence I can only do some simple tests for these plots. There are some other ideas for testing this kind of plot: https://stackoverflow.com/questions/27948126/how-can-i-write-unit-tests-against-code-that-uses-matplotlib, which I find quite complex. If you have better ideas on how to test them, please let me know.

Thanks.

Hi @adibns ,
After some discussions with Tiff, Peter (TA), and Varada, I have updated the unit tests for verifying plots.
The tests passed and the EDA notebook renders fine.
Sorry that it will take you some time to review my commits again.
Thank you for your help.
Best,
Mai


Support idmap mounts for rootfs

What is the problem you're trying to solve
We added support for user namespaces in k8s pods with PR: https://github.com/containerd/containerd/pull/7679/commits. The initial implementation, as was discussed in a containerd community meeting, used just a chown of the rootfs so it can work in all kernels, have CI work fine, etc.
This implementation has several drawbacks:

There is a HUGE storage overhead: every pod that is created in a node consumes the size of each container image used in the pod. This is not the case without user namespaces, as the base images are reused across pods with overlayfs. But with user namespaces, we need to chown the files so the user inside the user namespace can read them. As every pod has non-overlapping mappings, each pod that is allocated can consume a lot of space.
The startup latency of pods is affected too, as a chown operation is slow and needs to be done every time a pod is schedules on a node

Describe the solution you'd like
Linux 5.19 added support for idmap mounts on overlayfs. This allows us to remove both drawbacks: doing a bind mount of the rootfs with the ID translation we want, we: a) avoid the chown, so there is no storage overhead; b) it only takes a few milliseconds, there is no increased startup latency.
There is a PR to do this, but it didn't have activity in the recent past: https://github.com/containerd/containerd/pull/5890
btrfs also supports idmap mounts, so the btfs snapshotter could also have this improvement ideally.
Additional context
Kubernetes >= 1.27 requires idmap mounts to use user namespaces (for volumes), so I would expect that lot of users running pods with user namespaces have kernel support for idmap mounts on overlayfs.

Closed, solved with #5890


CUrl POST

CUrl: no need for -H "Content-Type: application/json";
CUrl: -d format should be -d 'data=%s'

Full command sample:
curl -m 2 -X POST -d 'data={"errno":0}' 'http://<IP_ADDRESS>/iomc3/dmngr.php?k=sync&z=a1b2c3d4e5f6&f=kv'

Fixed by Qige since 2017.11.15


Issue #42 - Option to set the NONE effect on keypad, mouse and mousepad

Tested and verified.

Code looks good, there's some excessive whitespace (newlines) in places that need removing. I need to add StyleCop to the CI process :P


[R]: CSV parser got out of sync with chunker

Describe the bug, including details regarding any error messages, version, and platform.
Hello,
Unfortunately the example involves a large dataset and, according to my tests, it appears when the number of read lines goes above 1.6 million.
The data can be downloaded as a compressed file from (nothing dangerous in the link).
https://e.pcloud.link/publink/show?code=XZqHIeZokLxWCpx940hw3y45fsKqJPAVK0X
Using a script I have had for quite some time, I want to open the tsv (tab separated file) I get when I decompress the file and then save it as a parquet file without holding it (entirely) in memory.
library(arrow)
#>
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#>
#>     timestamp

data <- open_dataset("export.tsv",
  format = "tsv",
  skip_rows = 1,
  schema = schema(
    AID_MEASURE_ID = string(),
    DATE_CREATED = string(),
    DATE_GRANTED = string(),
    AA_PUBLISHED_DATE = string(),
    SERVER_REF = string(),
    AM_TITLE = string(),
    AM_TITLE_EN = string(),
    STATUS = string(),
    AM_PROC_TYPE_CD = string(),
    COFINANCE = string(),
    OBJECTIVE = string(),
    OTHER_OBJECTIVE_EN = string(),
    AID_INSTRUMENT = string(),
    OTHER_AID_INSTRUMENT_EN = string(),
    BENEFICIARY_NAME = string(),
    BENEFICIARY_NAME_ENGLISH = string(),
    BENEFICIARY_NATIONAL_ID = string(),
    BENEFICIARY_NAT_ID_TYPE_SD = string(),
    BENEFICIARY_TYPE_SD = string(),
    COUNTRY_SD = string(),
    REGION_SD = string(),
    SECTOR_SD = string(),
    GRANTED_AMOUNT_FROM_EUR = double(),
    NOMINAL_AMOUNT_EUR_FROM = double(),
    GRANT_RANGE = string(),
    GRANTED_AMOUNT_RANGE_DESC=string(),
    GRANTING_AUTHORITY_NAME = string(),
    GRANTING_AUTHORITY_NAME_EN = string(),
    NUTS_CD = string(),
    GRANTING_AUTHORITY_COUNTRY = string()
  )
  )

write_dataset(
  data,
  format = "parquet",
  path = ".",
  max_rows_per_file = 1e7
)
#> Error: Invalid: CSV parser got out of sync with chunker

sessionInfo()
#> R version 4.3.2 (2023-10-31)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Debian GNU/Linux 12 (bookworm)
#>
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.11.0
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.0
#>
#> locale:
#>  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C
#>  [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8
#>  [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8
#>  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: Europe/Brussels
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base
#>
#> other attached packages:
#> [1] arrow_<IP_ADDRESS>
#>
#> loaded via a namespace (and not attached):
#>  [1] vctrs_0.6.4       cli_3.6.1         knitr_1.45        rlang_1.1.2
#>  [5] xfun_0.41         purrr_1.0.2       styler_1.10.2     generics_0.1.3
#>  [9] assertthat_0.2.1  glue_1.6.2        bit_4.0.5         htmltools_0.5.7
#> [13] fansi_1.0.5       rmarkdown_2.25    R.cache_0.16.0    tibble_3.2.1
#> [17] evaluate_0.23     fastmap_1.1.1     yaml_2.3.7        lifecycle_1.0.4
#> [21] compiler_4.3.2    dplyr_1.1.3       fs_1.6.3          pkgconfig_2.0.3
#> [25] R.oo_1.25.0       R.utils_2.12.2    digest_0.6.33     R6_2.5.1
#> [29] utf8_1.2.4        reprex_2.0.2      tidyselect_1.2.0  pillar_1.9.0
#> [33] magrittr_2.0.3    R.methodsS3_1.8.2 tools_4.3.2       withr_2.5.2
#> [37] bit64_4.0.5

Created on 2024-01-30 with reprex v2.0.2
Any idea of what the issue may be? Thanks!
Component(s)
R

Thanks for repoting this, @larry77!
Can you confirm which version of the R package you're using?  And have you used this code+data with an earlier version and it worked, or is this the first time you're running this?

Hello!
As per reprex, I use arrow <IP_ADDRESS>. All I can say is that I have used an earlier version of R arrow on a slightly shorter dataset (same structure) and it worked. The present version also works on the shorter dataset. However,  the present data set is not pathological: I can read it with read_csv from readr and it works. It seems the problem arose once the dataset grew above 1.6 million lines.

@pitrou I took a look at the C++ code that raises this error, but couldn't quite figure out what had happened here - do you know what it might be?

Hmm, I can reproduce using PyArrow, I'll try to see if I can further diagnose this.
Note, however, that this data file will need to set newlines_in_values, because some cell values span multiple lines.

Ok, the error message is weird, but it is really a consequence of having newlines in values.

I'll put up a PR to improve the error message.

Note that, once you enable the newlines_in_values option, reading the CSV file should be successful. For example with PyArrow:
        AID_MEASURE_ID DATE_CREATED DATE_GRANTED  ...                         GRANTING_AUTHORITY_NAME_EN NUTS_CD GRANTING_AUTHORITY_COUNTRY
0             SA.42315     16/09/16     30/08/16  ...                     Ministry of Industry and Trade                            Czechia
1             SA.42315     16/09/16     26/08/16  ...                     Ministry of Industry and Trade                            Czechia
2             SA.42328     19/09/16     16/08/16  ...  Ministry of Industry and Trade, Department of ...                            Czechia
3             SA.41602     21/09/16     01/07/16  ...                                              VLAIO                            Belgium
4             SA.41602     26/09/16     15/07/16  ...                                                                 CCI for Munich and Upper Bavaria     DE2                    Germany
1677782      SA.100743     24/01/24     15/03/23  ...                   CCI for Munich and Upper Bavaria     DE2                    Germany
1677783      SA.100743     24/01/24     15/03/23  ...                   CCI for Munich and Upper Bavaria     DE2                    Germany
1677784      SA.100743     24/01/24     15/03/23  ...                   CCI for Munich and Upper Bavaria     DE2                    Germany
1677785      SA.100743     24/01/24     15/03/23  ...                   CCI for Munich and Upper Bavaria     DE2                    Germany

[1677786 rows x 30 columns]

Hey thanks for this awesome package. Any news on this error?


Submodule support

Fixes https://github.com/input-output-hk/foliage/issues/88 by using the idea of https://github.com/input-output-hk/foliage/issues/80.

:fallen_leaf: Adds a test fixture which uses this remote github repository as source: https://github.com/cardano-scaling/foliage-test-with-submodule

:fallen_leaf: Changes PrepareSource action to checkout a working copy into _cache/git/ if needed, fetches and prepares individual package directories in _cache/<package>/<version>/ for GitHubSource

Ping @andreabedini and @michaelpj as you created the related issues and I can't assign you as reviewers.

@andreabedini I would need your feedback on how we should structure this test differently / run it differently as it is obviously not a "pure test" which can run on the Hydra CI.

I think this potentially saves us a lot of time downloading tarballs, also, since we can just clone a repository once instead of downloading a tarball for every package version ever released from that repository.
100% agree about the concurrency issue. We run foliage with lots of concurrency usually, which is very helpful, we need to cope with the git repo being stateful. Here's a suggestion:

Have a rule to produce a clone. It probably has to always rerun to update the clone?
Have a rule to produce source-at-a-commit. I don't know if there's a slick way to do this, but maybe we could just use git worktree?

That way there is only ever one rule that touches the main repository, and it's safe to run it many times. We can run all the "checkout the source for a commit" in parallel, I think? and then after that we're safe since the sources are all independent.

Another one is performance, we end up fetching the whole history while we only need a single commit.

Just to be clear: I think this is actually a feature. foliage's use of repositories is much closer to "a few repositories, used many times" than "many repositories, used once" so actually downloading the whole repository may well make things much faster, as we can just checkout the various commits we need instead of re-downloading something each time.

I am not sure whether it is safe to use liftIO newResourceIO

FWIW the definition of newResource is exactly that, so I think it's probably safe.

Here's a suggestion:
* Have a rule to produce a clone. It probably has to always rerun to update the clone?

* Have a rule to produce source-at-a-commit. I don't know if there's a slick way to do this, but maybe we could just use `git worktree`?

That way there is only ever one rule that touches the main repository, and it's safe to run it many times. We can run all the "checkout the source for a commit" in parallel, I think? and then after that we're safe since the sources are all independent.

I  had the same idea but only knew about git archive to produce tarballs for specific commits (which do not contain the submodules). I'll have a look at git worktree and see if that makes things better.

This works for me now.
@michaelpj The git worktree commands work nicely to easily prepare a separate working copy on which we can run git submodule update. In the end I need to use git worktree prune to make sure the the worktree information in the main git repository stays clean.
@andreabedini I am not very familiar with how shake rules work. It seems though that, if called like this, the rule is re-executed even if the directory exists. Hence the call to doesDirectoryExist and git fetch to make sure we have latest information. I switched to using the "untracked" version of this command which should be in-line to what is documented.

@ch1bo Thank you for working on this. I am been reworking the way Foliage is structured to make better use of shake (which I feel I only just understood, finally :joy:).
I will take care of rebasing your PR on top of my rework.

@andreabedini I am not very familiar with how shake rules work. It seems though that, if called like this, the rule is re-executed even if the directory exists. Hence the call to doesDirectoryExist and git fetch to make sure we have latest information. I switched to using the "untracked" version of this command which should be in-line to what is documented.

The run Action is re-executed every time the rule is invoked, but with the extra information on whether its dependencies have changed. The thing is that doesDirectoryExist triggers a built-in rule; which the GitClone rule will depend upon. This means that GitClone is changing the output of another rule, which is ... not a good thing.
E.g.
First run:
1. `doesDirectoryExist` is invoked, directory does not exist, it flags `RunDependenciesChanged` and returns false.

2. `GitClone` is called with `RunDependenciesChanged` and it creates the directory.

Second run:
1. `doesDirectoryExist` is invoked, directory now does exist, it flags `RunDependenciesChanged` and returns true.

2. `GitClone` is called with `RunDependenciesChanged` and it re-creates the directory.

Whether or not things ever stabilise depends on the details (e.g. from the code it looks like a third invocation of doesDirectoryExist would say that nothing changed).
Shake's linting feature checks that build outputs (i.e. rule results) do not change during the build. It would have caught this I think.

I think I understood and this is the case when using the shake version of doesDirectoryExist. However, as documented on shake's version of doesFileExist, one should use the normal version from directory if needed.

I can't see a problem with the current use of directory exists and fetching if already present. As you request a change, I would like to now.. what exactly do you think I should change?

I meant using the shake store to decide if to re-run the fetch but that's ok if we don't do it now. Do you know why the CI is failing?

@andreabedini What do you want to do with the CI failures here? (It's obviously an impure test)

@andreabedini What do you want to do with the CI failures here? (It's obviously an impure test)

@ch1bo Ideally we should be able to have a submodule pointing to a local repository but we would need to support general git repositories first. I think the most pragmatic option is to run the tests with nix run. I just made changes to the flake so that you can do
- run: nix run .#foliage:test:foliage-test-suite

but foliage has to be added to the PATH.


Question: Where to find the schema file for ETS ?

On this web page (Extended Type System (ETS)) the quoted links are broken :

For more information about ETS and how Windows PowerShell uses objects, see Windows PowerShell Object Concepts [ps] and Windows PowerShell Extended Type System (ETS) [ps].

And this web page is incomplete.
No details on the IsHidden attribut  :
   <ScriptProperty IsHidden='true'>

No example on :
   <TypeConverter>

Or about the specific name 'PropertySerializationSet' into a propertySet :
          <PropertySet>
            <Name>PropertySerializationSet</Name>
            <ReferencedProperties>
             ...

This issue was moved to PowerShell/PowerShell-Docs#1208


add unofficial notice to readme

🤔 Not Existing Feature Request?

[X] Yes, I'm sure, this is a new requested feature!

🤔 Not an Idea or Suggestion?

[X] Yes, I'm sure, this is not idea or suggestion!

📋 Request Details
Hey guys, Gather founder here! Love what you're doing here :)
Would you mind adding a note on the webpage and README that you're not affiliated with Gather please? Just because a few people are getting confused and asking us questions about gathertown.js haha
📜 Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Hey @npfoss, thanks for the notif I'll update it asap.

hey, @npfoss done! Let me know if there is anything else I can help with. 🤝

thanks!