Add  memory accounting for multiphase execution

Summary of the changes / Why this improves CrateDB
Lookup-Joins can produce large intermediate results as part of the multi-phase execution which can cause to run the node out-of-memory. This adds memory accounting to prevent this.
Follow-up for https://github.com/crate/crate/pull/15664
Checklist

[x] Added an entry in the latest docs/appendices/release-notes/<x.y.0>.rst for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in the latest docs/appendices/release-notes/<x.y.0>.rst
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

I think we need a port to 5.7 and a change entry since OutOfMemory is a bug in general?
Even if only new change exposed it, there can be another scenarios causing it.

@mfussenegger  Performance-wise there is no difference but allocation is less with https://github.com/crate/crate/pull/15971
System/JVM Metrics (durations in ms, byte-values in MB)
    |    YOUNG GC            |       OLD GC           |      HEAP         |     ALLOC
    |  cnt      avg      max |  cnt      avg      max |  initial     used |     rate      total
 V1 |  225    23.91    87.70 |   72   836.08   948.46 |     4295     3011 |  1148.04     106979
 V2 |  203    24.03    35.43 |   67   892.65   686.47 |     4295     3450 |   975.83      99780

Is it worth also trying out the BlockBasedRamAccounting ?

On the spec/in_subquery.toml there's a ~30% perf  regression for me comparing latest-nightly with this version, so I'd say yes.

Is it worth also trying out the BlockBasedRamAccounting ?

On the spec/in_subquery.toml there's a ~30% perf regression for me comparing latest-nightly with this version, so I'd say yes.

Ok, thanks!

The BlockBasedRamAccounting makes a clear difference. I will continue in this direction.

With ram-accounting:
Q: select * from articles where id not in (select id from colors where coolness > 0) limit 10000
C: 1
| Version |         Mean ±    Stdev |        Min |     Median |         Q3 |        Max |
|   V1    |      260.805 ±   45.921 |    245.117 |    252.032 |    255.920 |    635.753 |
|   V2    |      367.274 ±   34.944 |    322.625 |    358.262 |    364.039 |    581.570 |
├---------┴-------------------------┴------------┴------------┴------------┴------------┘
|               +  33.90%                           +  34.81%
There is a 100.00% probability that the observed difference is not random, and the best estimate of that difference is 33.90%
The test has statistical significance

With block-ram-accounting;
Q: select * from articles where id not in (select id from colors where coolness > 0) limit 10000
C: 1
| Version |         Mean ±    Stdev |        Min |     Median |         Q3 |        Max |
|   V1    |      127.809 ±   39.882 |    119.867 |    121.695 |    122.614 |    449.163 |
|   V2    |      115.855 ±   39.757 |    107.544 |    110.058 |    110.408 |    432.368 |
├---------┴-------------------------┴------------┴------------┴------------┴------------┘
|               -   9.81%                           -  10.04%
There is a 99.71% probability that the observed difference is not random, and the best estimate of that difference is 9.81%
The test has statistical significance


Consider making snapshot ids inheritable

Right now, we have to rewrite manifests to update entries' snapshot ids while appending manifests to a table. We should consider using the approach we planned for sequence numbers to make snapshot ids inheritable. That way, we won't have to rewrite manifests.

Hi @aokolnychyi,
One question about inheriting the snpahostId, If the new manifests inherit the snapshot id, does that means the time travel feature broken since one snaphost may has different dataset at different time?

@chenjunjiedada, sorry, I missed your comment.
I think data files should optionally inherit the snapshot id and we still want to keep a way to explicitly annotate files with snapshot ids in manifests. For example, it is safe to inherit the snapshot id while appending files but we still want to annotate different files with their respective snapshot ids while compacting manifests, for example.

I am actually thinking to rename this issue into something more generic. Let me see if we can have a common way to inherit some metadata.

@aokolnychyi, Thanks for your explanation.
I think I didn't understand the use case you mentioned.  I thought a new manifest should always have a new snapshot ID whatever entries it takes.  While you were considering the checkpoint or compacting thing so that the manifest should contain the same snapshot as its original manifest. Do I understand correctly now?


format about dataset

Great work! I have some question about Dataset.
In UserContent.py,

In the function about load_session, As I understand it, sessions are built by reading the user's history of clicks, What do pos and neg stand for?  What is the list after split?
=====================================
In addition, in preprocessing.py

multi clicks were split, but I cant understand what happend about pos and neg.
Can you give me an example of understanding?
Thanks!

Thanks for the reply.


React router

What does this PR do?
This PR is raised to implement the following features: 👍 :

[x] Add Navbar and Links to them.
[x] Add react-routes-dom.
[x] Add BrowserRouter.
[x] Add Routes and Route to the components.
[x] Handle events in a React app.
[x] Fetch quotes from API
[x] The application runs in the browser without errors
[x] No linter errors
[x] Use Gitflow

Description of the task to be completed ↓↓

Change content of the page when a link in clicked in the navbar.

How should it be tested
Clone the repository
git clone https://github.com/SamTush/math-magicians.git

Navigate to the folder
cd math-magicians

Checkout the branch
git checkout feature/react-router

How should it be run
Copy the APIkey sent in the PR request in the dashboard and Paste it in ./src/components/api-ninjas.js line 2.
Run application in browser
run start

Thanks for reviewing my PR 😊

Hi @SamTush,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is invalid because some of the relevant headers are missing in our README file. For example; prerequisites, install, contributing etc
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Thank you for reviewing my PR 👍🏾. Have a wonderful day 😎


Remove the solution architecture info from contrib guide

Remove the solution architecture from the contrib guide and instead link over to the solution arch guide at https://github.com/HTBox/allReady/wiki/Solution-architecture

dup of #1296


Update pvforecast to 2.7.1

Please update my adapter ioBroker.pvforecast to version 2.7.1.
This pull request was created by https://www.iobroker.dev c0726ff.

fixes https://github.com/iobroker-community-adapters/ioBroker.pvforecast/issues/102

Automated adapter checker
ioBroker.pvforecast

:thumbsup: No errors found
Add comment "RE-CHECK!" to start check anew


Multi Language Support?

Is there already a solution out there? Or if not, any plan to support it?
For template, implement a I18n.t(key) function is easy, but data from json or markdown file need a way to stored and used. I think it need to be built into the core, so that plugins can follow the convention and support it.

@GutenYe did you solve this somehow? I'm going to start with a localized website and wanted to know how did you set your project.

Closing but feel free to re-open with a suggestion, or description of the core issue, or a pull request with required functionality for multi-language support.

Finally I've migrated to Metalsmith the website I had in mind when I was asking about this issue… and since it was multi-language I've extracted the plugins for your pleasure. ;-)
https://github.com/doup/metalsmith-i18n
https://github.com/doup/metalsmith-multi-language
Ping @gutenye @RobLoach

@doup That're great plugins and will certainly fit my needs, thank you :+1:

@doup Well done! Great to see this come into place. Where have you been using it?

@RobLoach check this: http://www.grupreflexioautonomia.org and here the code: https://github.com/grautonomia/web

Thanks @doup ! :+1:


Crash because of the foreground service did not start in time

Media3 Version
1.0.0-beta01
Devices that reproduce the issue
Google Pixel 6, Android 13
Samsung Galaxy A32 5G, Android 12
Samsung Galaxy A13 5G, Android 12
Xiaomi POCO X3 Pro, Android 12
Samsung Galaxy A12, Android 11
Samsung Galaxy A10s, Android 11
Devices that do not reproduce the issue
Can't reproduce manually, got those stats from Crashlytics. Not sure how we can deal with this crash, do you have any idea why this crash may happen?
Reproducible in the demo app?
Not tested
Reproduction steps
We extended our playback service by your MediaSessionService, the crash happened approximately 70% in the background (stats in Crashlytics), we can't manage to reproduce it in any way.
Expected result

Actual result
There are several types of exception grouped by the Android OS, but the reason looks exactly the same
Android 11
Fatal Exception: android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{bc3065 u0 com.bandlab.bandlab/com.bandlab.media.player.notification.MediaPlaybackService}
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2269)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:246)
       at android.app.ActivityThread.main(ActivityThread.java:8653)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Android 12
Fatal Exception: android.app.ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{782cd47 u0 com.bandlab.bandlab/com.bandlab.media.player.notification.MediaPlaybackService}
       at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:2147)
       at android.app.ActivityThread.access$2800(ActivityThread.java:310)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2376)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8669)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Android 13
Fatal Exception: android.app.RemoteServiceException$ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{2c98e95 u0 com.bandlab.bandlab/com.bandlab.media.player.notification.MediaPlaybackService}
       at android.app.ActivityThread.generateForegroundServiceDidNotStartInTimeException(ActivityThread.java:2013)
       at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:1984)
       at android.app.ActivityThread.-$$Nest$mthrowRemoteServiceException()
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2249)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7929)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Media
Nothing particular, just normal audio streaming
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

I have the same issue in my app (at least I can see it in crashlytics).
But in my case, the issue is a bit stranger: It only happens at Samsung Devices and only with Android 12. The other things are identical (we can not reproduce it manually and it happens around 70% in the background).
Also, the crashlog is (almost) identical (Android 12):
Fatal Exception: android.app.ForegroundServiceDidNotStartInTimeException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{4e97eb7 u0 ***}
       at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:2147)
       at android.app.ActivityThread.access$2900(ActivityThread.java:310)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2376)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8669)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Some context:
This error indicates that Context.startForegroundService() was called but Service.startForeground() was not called soon enough. The Android docs say that the second should be called within

an amount of time comparable to the ANR interval

so let's say that's 5 seconds. In beta01, Context.startForegroundService() is called when the library posts notifications itself and specifically in two cases:

When the user  taps on the play button of the notification. The play button's PendingIntent is built with PendingIntent.getForegroundService()
When playback starts as a result of that. The library will call Context.startForegroundService() and immediately call Service.startForeground(). Notice that Context.startForegroundService() is called again here, because playback may have started from a BT headset button and not from the notification.

If you don't let the library post notifications, e.g. you override MediaSessionService.onUpdateNotification(), then the above will not be triggered, in which case it's a matter of how your app is handling notifications and the service lifecycle. @kevinguitar shared in #111 that they use the library notifications, but I'm mentioning this for @kvn-stgl.
If the library is posting notifications, then my investigation starting point would be if the user tapped play on the notification (1)  but for some reason the player did not start playback within 5 seconds, so that the control flow reaches (2) after 5 seconds or never. This could happen if the app's main thread was busy executing other code for 5 seconds between tapping the play icon and starting playback. Or, the app has logic such that even when the play button is pressed on the notification, playback does not start, in which case (2) does not happen.
Is there a case that anything of the above is happening in your app?

Hi @christosts, thanks for your explanation.
We don't override the the MediaSessionService.onUpdateNotification method in our implementation. Here you can look at our implementation to get a bit more information about it: https://gist.github.com/kvn-stgl/ca019f18b9b8eab556b53b0d48c01641
I don't think there is a valid way in our app where the playback doesn't start within 5 seconds (except the internet connection is down and the exoplayer can not load the next media item from the web but I think this shouldn't be a problem here).
But I looked at the crashlog again and the crash is always direct at the beginning. So the app starts and 5 seconds later it will crash. So maybe there is some ANR at our app start which prevents foreground service. I will look a bit deeper into it.

I have the same problem, it crash 10 times in a row, about ten seconds apart, the Crashlytics tell me they are all in the background. This information may be helpful.

I spotted a bug that occurs after the player has finished playback. The notification still shows a pause button (which does nothing) and the MediaSessionService remains in the foreground.
I don't think this is the root cause for the exceptions you are seeing reported, but I'm going to link the commit to this issue anyway since I spotted it while investigating this issue. Thank you for reports and for helping us.

We have the same issue on WearOS, all Android 11:
Galaxy Watch5 Pro
Galaxy Watch4 Classic
Galaxy Watch4

Is this related https://github.com/androidx/media/issues/167?

Is this related #167?

Yes. I am going to close this issue, as #167 provided a fix, more on this comment. The fix will be included in the next release, if you see the issue persisting, please report here or at #167.


layout token unkown

I'm trying to use the model for the layout modeling task but it seems the layout token as in the paper are unknown
for example this:
tokenizer.decode(tokenizer.convert_tokens_to_ids(tokenizer.tokenize('<layout_0>')))
gives:
'<unk>layout_0>'
I load the tokenizer the same way as the example notebook with the 300k steps checkpoint

They are actually <loc_1> <loc_2> etc


Improve cache storage behavior

Currently, squisher dumps cached files directly into %LOCALAPPDATA% on Windows, due to using set_file_name instead of push on the path returned by https://doc.rust-lang.org/std/env/fn.temp_dir.html.
This PR makes squisher use a subdirectory inside the system temp folder for its temporary files.


More issues with field names with dots in them

Certain ill-mannered programs (I'm looking at you, docker-registry) emit JSON-formatted log entries, but use dot-delimited nesting in the key names, which breaks with ES 2.x.  Since the JSON emitted by these programs isn't necessarily intended to be consumed by logstash, it's not necessarily their fault that they're producing logstash-incompatible JSON, but is instead logspout-logstash's responsibility to transmute the error-producing JSON into something that logstash will understand.
I can think of two options:

Replace all dots in keys with underscores (quick, dirty, and within my extremely limited Go skills to implement); or
Translate dot-encoded keys into a nested structure (far superior, but there's no way known I can implement that all by myself).

Would a PR to implement option 1 be merged, or should I wait for someone with better Go chops to implement 2?

Hey, sorry for not responding sooner. Is this still an issue for you? Which solution would you prefer as a fix in that case?

Yes, it's still an issue.  Option 2 would be a better outcome, by far, because it maintains structure, but someone else would have to implement it because I've got near-zero Go skills.  I could do a PR for option 1, though, if nobody else has the time to code something better.


Make /healthz available to http without redirect

load balancers (ELB) need the ability to access /healthz without redirect. Currently, health check traffic from ELB does not include X-Forwarded-Proto which results in automatic redirect, causing issues.
options include:

move healthz to its own router to prevent auto-redirect middleware
enable healthz from a different port
add /rpc/healthz which is not subject to redirect

fixed in master, scheduled for 1.2 release


Tables configuration_entries and user_users not filled

When running ldp (with ldp update -D /var/lib/ldp), the tables configuration_entries and user_users are not filled.
Also, the log does not mention the table (excerpt only shows for user):
...
Updated table: user_addresstypes [0.1702]
Updated table: user_departments [0.1291]
Updated table: user_groups [0.1577]
Updated table: user_proxiesfor [0.1253]
Completed full update [84.9915]
...

I am using Folio Honeysuckle and ldp release 1.1.11 with postgres. I set up ldp according to the guide.
A look into the source code reveals that both tables are the only ones where anonimization seems to take place; see schema.cpp with table.anonymize = true.
So I guess it has to do with anonymization.  Am I missing some configuration?

Could you confirm if anonymize is set in ldpconf.json?  See:
https://github.com/library-data-platform/ldp/blob/1.1-release/doc/Admin_Guide.md#7-data-privacy

anonymize wasn't set as it is documented as optional and defaults to true, as I want.
Adding "anonymize": true does not change anything, adding "anonymize": false, however, populates configuration_entries and user_users! But without anonymization...

The reporting community in FOLIO have a group that look at data privacy and GDPR, and they recommended anonymizing the entire user_users table and many fields in other tables ( https://github.com/library-data-platform/ldp/blob/1.1-release/src/anonymize.cpp ).  LDP implements their recommendation.  In 1.1, this is not configurable, but I think it will be in the future.

Does this mean, that currently the whole user_users table is just left out when anonymization is turned on? This is what effectively happens with my installation.

Yes, that is basically right.


Bit manipulation doesn't work with floats.

We probably need to add a function in the fuzzy_mult_loop to multiply the original number by a certain magnitude of 10 that makes it into a whole number, then divide it by that same magnitude at the end

Since we have sigfigs we could use those to figure out how many times to multiply by 10 to get a shiftable integer result.

Ooh, good catch! I'll implement it


feat: Display api error rate for mt_bench and mt_bench_branch

Given the serving api can return errors for generation and judgment requests, we need to show the error rate in case it's significant enough to have an effect on the results
Checklist:

[*] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

Corresponding eval change: https://github.com/instructlab/eval/pull/49
This change will need to merge first


Incompatibility with PacificEngine.OW_CommonResources

What Happened?
PacificEngine's CheatsMod depends on the above-mentioned mod, which means that it is impossible to use in worlds made using New Horizons (this happened to me with The Vision mod, specifically).
What was supposed to happen?
I didn't expect an incompatibility here.
Platform
None
Mods
The problem occurs when you try to install and enable the following mods:

hearth1an.TheVision
PacificEngine.CheatsMod

Logs
Not applicable.

This incompatibility first appeared in #105, then expanded in #498. There isn't any reviews/conversations/notes on why they are incompatible.

Common Resources re-implements a lot of orbital physics and other mechanics from the base game, making it extremely difficult / outright impossible to work with in NH. Even though cheats mod itself doesn't redefine these CR does as other PacificEngine mods like randomizer need it to. We'd recommend using Cheat and Debug Menu as an alternative to CR as that doesn't mess with core parts of the game's code.

Alright, thank you!


How to keep ffmpeg always transing？

My project always needs  transing hls , so i want to know how to do .I can't fand the key of this.

thanks a lot ~

thanks

Hi @zaozhao ,
Absolutely fair point, documentation was missing the env variable you need to turn off the clean up functionality (so inactivity is not a problem anymore).
You have to set RTSP_STREAM_CLEANUP_ENABLED to false
I added the variable to the configuration document
Thanks for opening the issue!


New version: TheBrowserCompany.Arc version <IP_ADDRESS>737

Created by 🥟 Dumplings in workflow run #8054.

Log
Updated: <IP_ADDRESS>077 → <IP_ADDRESS>737
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978334972
2024-09-13 07:27:47.774 [CORE] Deployment operation #2: Windows cannot install package TheBrowserCompany.Arc_<IP_ADDRESS>737_x64__ttt1ap7aakyb4 because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.33728.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are: {Microsoft.VCLibs.140.00.UWPDesktop_14.0.29231.0_x86__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.30035.0_x64__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.30704.0_x64__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.33321.0_x64__8wekyb3d8bbwe}
2024-09-13 07:27:47.774 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(161)\WindowsPackageManager.dll!00007FFFC77E3F75: (caller: 00007FFFC773A720) Exception(2) tid(158) 80073CF3 Package failed updates, dependency or conflict validation.
2024-09-13 07:27:47.934 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFFC77E2D2F: (caller: 00007FFFC77E432C) Exception(3) tid(158) 80073CF1 Package was not found.
2024-09-13 07:27:47.934 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(126)\WindowsPackageManager.dll!00007FFFC7958931: (caller: 00007FFFC77E5853) LogHr(2) tid(158) 80073CF1 Package was not found.
Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFFC77E2D2F: (caller: 00007FFFC77E432C) Exception(3) tid(158) 80073CF1 Package was not found.
2024-09-13 07:27:47.996 [CLI ] MSIX installer failed:<PHONE_NUMBER>

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
Automated error analysis suggests<PHONE_NUMBER> may mean Error Installing Dependency - Windows cannot install this package because it depends on a framework (version) that could not be found.
(Automated response - build 895.)

https://github.com/microsoft/winget-pkgs/issues/161022

Sorry to have been holding out on this package.

Installation failed with exit code -1978334972
2024-09-13 07:27:47.774 [CORE] Deployment operation https://github.com/microsoft/winget-pkgs/pull/2: Windows cannot install package TheBrowserCompany.Arc_<IP_ADDRESS>737_x64__ttt1ap7aakyb4 because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.33728.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are: {Microsoft.VCLibs.140.00.UWPDesktop_14.0.29231.0_x86__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.30035.0_x64__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.30704.0_x64__8wekyb3d8bbwe Microsoft.VCLibs.140.00.UWPDesktop_14.0.33321.0_x64__8wekyb3d8bbwe}

It appears that this error occurs far enough in the pipeline to be manually completed. This is a pipeline issue, not unlike the Scope requirement. This package installs normaly in a Windows 10 VM:


Append to Context/User

Use case:

get a user id when the request is initially parsed (eg. from an Authorization header), and call scope.set_user({'http-username': 'bob'})
later during request processing, get some more user information (say, email), and do scope.set_user({'email': 'test@example.com'}). Lets assume the request/headers aren't available at that point to re-retrieve http-username.
the later call replaces existing data in the scope (ie: the event ends up with only {'email'<EMAIL_ADDRESS>same applies to other context sections (via scope.set_context('section', {'some': 'value'}))

AFAICT there isn't even a way to get the current user/contexts out again in order to manually merge them except via internals (scope._user/scope._contexts['a_section']). The framework integrations all seem to append to the user data, but that seems to happen much later in the processing.
Would it be worth exposing getter properties/methods, add scope.merge_*() methods (which call dict.update()), add merge=True|False parameters to set_user() & set_context(), or something else equivalent?

Would it be worth exposing getter properties/methods, add scope.merge_*() methods (which call dict.update()), add merge=True|False parameters to set_user() & set_context(), or something else equivalent?

@sl0thentr0py I can potentially do a PR for this, but need some direction on which option is preferred

Hi @rcoup, user facing API changes need to be discussed internally first. A lot of folks are on vacation right now. I'll try to get back to you with more info next week.


i18n(zh-cn): Update build-forms-api.mdx

Description (required)
Update build-forms-api.mdx
Related issues & labels (optional)

#9240
Suggested label: i18n

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

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

Tracked Files

File
Note

zh-cn/recipes/build-forms-api.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

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


Release 1.0.0

Merge release 1.0.0 into master.

Hey @eriksf,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: cb36d1c0-c2a5-11e8-b71d-3ff06cd543fd

Coverage remained the same at 44.424% when pulling 2f278bbdd48654bb5a902e85f09fc1d82ca38fa3 on release/1.0.0 into 4e2bd3d8a8d0fab2240f966411393ee62d9760c4 on master.


Sql injection

Is there a library to sanitize user input? Or does kemalyst-model handle that already?

The db drivers handle that with parameters being passed.  When you save a kemalyst model, it will generate the correct insert or update statement and pass the values as parameters, so you should be safe.


Release to PyPI

There were a few changes to the project since the last release in PyPI (feb-2023) is it possible to release a new version?

Yes sure, Thanks for remainder, Wil do this week

@Kalebu

https://pypi.org/project/heyoo/0.0.9/


[RFE] Benchmark-operator should manage the lifecycle of Cerberus

Is your feature request related to a problem? Please describe.
No, it's an enhancement request.
Describe the solution you'd like
Cerberus - https://github.com/cloud-bulldozer/cerberus is a standalone tool as and benchmark-operator today can query Cerberus provided the url over which it exposes the go/no-go signal: https://github.com/cloud-bulldozer/benchmark-operator#cerberus-integration. We need to add support to the benchmark-operator to manage the lifecycle of the Cerberus - start it before the benchmark, query it during the benchmark and stop it at the end of the benchmark run. We need to capture the report and the Cerberus database containing the metrics/failures or query for the duration of the benchmark for the json with the metrics and store them long term to refer in case we want to investigate. The Cerberus pod restarts in case of issues with the node in which it has been scheduled can be handled by using a persistent volume attached to it, this way the database can still keep track of the failures occurred before/after the restart.
Additional context
This will eliminate the need to manage Cerberus externally and help with Performance/Scalability integration in other areas like origin-ci, release-ci etc. to determine pass/fail in addition to PerfScale CI.

I think this would be best done by adding Cerberus templates in the Helm Chart and surfacing up values to control Cerberus (i.e. cerberus.enabled). It would also make it trivial to configure the operator to hit the right cerberus URL as we could have it point to the cerberus service automatically.
i.e.
apiVersion: v1
kind: Service
  metadata:
    name: {{ include "benchmark-operator.fullname" . }}-cerberus

benchmark-operator deployment
env:
- name: CERBERUS_URL
  value: http://{{ include "benchmark-operator.fullname" . }}-cerberus.{{ .Release.Namespace }}.svc.cluster.local

Isn't part of the point of Cerberus is to monitor the cluster from outside the cluster? If we bring it into ripsaw it would be in-cluster. Not saying its good/bad/other but a thought none-the-less.

I see benefits of both but I think it's ultimately fine either way.
If we bring it in cluster it's easier to orchestrate as part of ripsaw's chart (imo adding this feature should require us to look at and refactor how we deploy ripsaw but we should do that now regardless) and could be easier to do more complex checks within the cluster itself.
If we leave it outside of the cluster I think it'd make the most sense to host one centralized Cerberus instance in our infra cluster that we use for all of our checks. I'm not sure if Cerberus can handle multiple clusters atm but I think either path is better than our current orchestration.
Essentially I'm fine as long as it's not part of the ansible playbook :P

@whitleykeith well tbf there is a cerberus role atm. It takes a cerberus url to poll for cluster health and can stop a benchmark

@chaitanyaenr we always prevented benchmark-operator to deploy additional infrastructure to perform a benchmark. I think your idea makes sense, however I'm not sure if benchmark-operator is the right place to perform this operation. I think a set of common tasks for all benchmarks in e2e-benchmarking could fit better.

@dry923 That role makes sense I'm mainly talking about how we install cerberus in the install playbook. I also wouldn't want the install logic to be in the ansible part of ripsaw though.

Isn't part of the point of Cerberus is to monitor the cluster from outside the cluster? If we bring it into ripsaw it would be in-cluster. Not saying its good/bad/other but a thought none-the-less.

I thought that was the point of Cerberus too. While Cerberus is not an Operator, we have been wanting to avoid benchmark-operator managing the lifecycle of anything but workloads.
My initial reaction is -2 here. If we are looking for something to deal with the lifecycle of Cerberus, could look into a Cerberus Operator?

Isn't part of the point of Cerberus is to monitor the cluster from outside the cluster? If we bring it into ripsaw it would be in-cluster. Not saying its good/bad/other but a thought none-the-less.

I thought that was the point of Cerberus too. While Cerberus is not an Operator, we have been wanting to avoid benchmark-operator managing the lifecycle of anything but workloads.
My initial reaction is -2 here. If we are looking for something to deal with the lifecycle of Cerberus, could look into a Cerberus Operator?

I tend to agree with this, although I don't know if Cerberus is complex enough to warrant an operator at this point. We could look at making a Cerberus Helm Chart/Manifest Directory within it's repo to make it easier to install/configure.

@chaitanyaenr any other thoughts from your side on this?

Thanks for the feedback. Preventing additional infrastructure to perform a benchmark like @rsevilla87 makes perfect sense. @whitleykeith like we discussed offline, centralized version of the Cerberus might not work given that Cerberus doesn't support monitoring multiple clusters. +1 for driving the cerberus through e2e-benchmarking given that benchmark-operator can query the signal and act on it. As for the cerberus install, I see pros/cons for managing it through e2e-benchmarking vs scale-ci-deploy, will open an issue in e2e-benchmarking to drive the discussion. Thanks again.


Trivial improvements to README

Fix ndcg definition and fix some typos.

Nice shot @tballison! Thank you very much for entering this


refactor(map): use closure style operator

This refactors map to not use a class for the Operator definition. The result is an improvement in performance in Turbofan (tested in Node v 8.6.0) and a slight reduction in output size.
master
                                         |                     RxJS 4.1.0 |              RxJS 5.5.0-beta.5 |          factor |      % improved
---------------------------------------------------------------------------------------------------------------------------------------------------
                         map - immediate |                49,724 (±5.69%) |               291,789 (±3.86%) |           5.87x |          486.8%
                                     map |                26,662 (±0.99%) |               280,664 (±0.69%) |          10.53x |          952.7%

this branch
                                         |                     RxJS 4.1.0 |              RxJS 5.5.0-beta.5 |          factor |      % improved
---------------------------------------------------------------------------------------------------------------------------------------------------
                         map - immediate |                63,424 (±0.92%) |               462,842 (±1.03%) |           7.30x |          629.8%
                                     map |                27,536 (±0.92%) |               273,656 (±1.56%) |           9.94x |          893.8%

The notable part here is the 462k ops/sec vs the 291k ops/sec.
This PR was done more as an experiment to see what the perf impact was of both moving to closures for operator definitions and Turbofan. map seemed like a simple enough guinea pig.

Why is there a relatively large difference in the ops/sec for map - immediate in RxJS 4.1.0 between the two runs?

49,724 for master; and
63,424 for this branch

@cartant I'm not sure... but you'll notice that the accuracy of the Rx4 tests varies a bit more. I ran the tests several times, and the Rx 5 stuff was very consistent.

off topic thought, but maybe we need switch perf tests compare against 5 to 5 now (latest rel, or master vs. PR) instead of 4 to 5?

Coverage decreased (-0.0007%) to 97.466% when pulling b4248a045677a5b884f96beef4e3b55c19154e26 on benlesh:refactor_map into 4dc73e40cd7f944713b726854819f77c723ea30e on ReactiveX:master.

@kwonoj it might make things easier... however, it might result in bad perf tests because parts of the second one to be run could get optimized. as it'll be almost hte same thing. I ran into that once even testing against v4. The order in which the tests were run affected the perf in a few one-off cases.

Yup, perf is concern for taking those so asked out.

@kwonoj any idea why Appveyor is dying on this one? The error in Node 8 doesn't make any sense.

Coverage decreased (-0.06%) to 97.411% when pulling d99e2ea885a65c39ea5d527bf27acd6e4dc7930f on benlesh:refactor_map into 4dc73e40cd7f944713b726854819f77c723ea30e on ReactiveX:master.

Coverage decreased (-0.0007%) to 97.411% when pulling ee1c5e5394cee4dea74ba86e3024d1e8bd883f82 on benlesh:refactor_map into e159578eda80a96bb68b83418f503428cc23aa7f on ReactiveX:master.

@benlesh it should be good now.

This change was an experiment, and is mostly irrelevant, closing.


Can and should we support categorical dimensions?

Notably, categoricals have no notion of neighborhood.
I don't know what is typically done in this case, but it seems to me that we have three primary options:

include a cartesian product of all categorical dimensions for each non-categorical point,
use the current best categorical combination and randomly mutate it at trial points,
run a separate pattern search for each combination of categoricals (and it would be nice if these could re-use shared calculations).

How important is this case?  Should we expend the effort to come up with a solution?  If you want this for your problem, please chime in!

I think our best option is to allow categoricals to be explored and optimized outside of our main search function, which will require cooperative multitasking (#15).  In other words, categorical dimensions will be fixed for a given call to search.
Initially, we should make it easy to search over all combinations of categoricals.  Brute force is naive, but common.  Additionally, we should support more sophisticated approaches, including:

use another optimization algorithm to optimize categoricals (for example, model-assisted optimization or Bayesian optimization),
multi-armed bandit approaches (for example, this begins by optimizing many combinations using a minimum amount of compute resources for each, then it continually allocates compute resources to combinations that are expected to give the greatest reward).


Areas not picking up raycast

Godot version:
3.1.stable.official x11.64x
OS/device including version:
Linux, Manjaro KDE
Issue description:
I'm casting a ray at an Area (3D) using intersect_ray(...). Expecting the intersect_ray(...) to return a result, but it returns an empty object {}.
Meanwhile, casting a ray at Rigidbody works.
Steps to reproduce:
Scene tree:

Spatial

Area

CollisionShape

Enable "Input Ray Pickable" on the Area
Set the shape on CollisionShape to BoxShape (also tested with SphereShape)
Cast ray at the Area using intersect_ray (see demo project)

Minimal reproduction project:
This project demonstrates raycast against an Area and a Rigidbody. I'm casting a ray from the root-Spatial (0, 0, 0) to (10, 0, 0)
AreaRaycast.zip

You forgot to pass collide_with_areas = true to intersect_ray(). It can be done like this:
var result = space_state.intersect_ray(Vector3(0, 0, 0), Vector3(10, 0, 0),
    [], 0x7FFFFFFF, true, true)

Closing, since the documentation states that the last argument is false by default, and thus the observed behavior is expected.

Thanks, but now it seems the Area is pickable even when "Input Ray Pickable" is false.
AreaRaycast.zip

Well, I doubt that ray you are casting is an "Input ray"...
Anyway, if you want to have areas which can't be hit with a ray, why not use Collision Layers and Masks?

Input Rays come from the engine and are the "last step" in default input processing if nobody else consumed an input, see also https://docs.godotengine.org/en/3.1/tutorials/inputs/inputevent.html
Casting your own rays bypasses that completely because your rays aren't part of the input system :)

Just ran into a similar issue in Godot 3.2.3. "Input ray pickable" is described as "If true, the CollisionShape's objects will respond to RayCasts".
Nothing, nada, about this not applying to your own rays.

I'm seeing this issue in 3.3.2. I have an area with a box collision shape. Casting a ray at the area with
var space_state = get_world().get_direct_space_state()
var result = space_state.intersect_ray(Vector3(2.5,10,0.5), Vector3(2.5,-10,0.5),[],true,true)
Returns no results. If I change the parent object to a Staticbody and assign the collision shape to it, I get collision data.
Happy to open a new issue if this one can't be reopened.


Can't omit the file path altogether

For certain messages, it's not interesting where they originate from (file:line). One example would be startup messages:
logger.info("We're up and running");  // the filepath:line is not interesting

Fortunately, though this is undocumented, .addTransform also receives the file:line as an object. I've tried adding a transform to suppress the line, but if it returns the empty string, the file:line is still output:
import logger from 'bristol';
logger.addTarget('console').withFormatter('human');

logger.addTransform(e => e.file && e.line ? '' : e);

logger.info('Started!');  // [2018-07-12 16:19:36] INFO: Started (file:///...:6)

Returning a whitespace is better, though because the file:path object is the first passed on to transform functions, this will lead to an extra whitespace in the middle of your output:
logger.addTransform(e => e.file && e.line ? ' ' : e);

logger.info('Note double space');  // [2018-07-12 16:28:35] INFO:   Note double space

Used bristol in a new project and ran into this again. Any progress?

@MarkHerhold: does Palin supports hiding the source of the message for individual log calls, rather than for all of them?

@dandv It does not - just all of them.
However, I would like to point out that if you specify your project's root folder option with palin, the paths become very short which may be sufficient for you.


No response after injection

Csgo nothing happens after I inject using the injector

which injector are u using ?

btw u should use this one #1862

It also cannot be used

why it cant be used ?
i used it an hour ago

Nothing happens after I inject
Let me try again

download the latest source
build it as told on the injector page
rename ur osiris.dll to cheat.dll
place it in the folder that contains the release(built from source)
run the csgoinjection.exe as admin

I can use it, thank you

Doesn't work, it says ...
"cannot find processIDinjection failed!"


Have issue when calling FirebaseAuth.instance

Having this issue right now, any update?

@mhdshuhaib1704
When opening an issue, please use the new issue template and fill out requested details so we'll have enough details to analyze this issue.
Closing for now due to lack of any details to make it actionable.

me too

I found the solution go check this link: https://flutterhq.com/questions-and-answers/1513/flutter-compile-error-on-firebase-auth-a-non-null-value-must-be-returned-since-the-return-type-never-doesnt-allow-null.
I upgrade the Flutter and dart to latest version , in end , i get a good result.


Keywords in Initialization files are not found

According to the docs it is possible to define keywords in init files. But somehow this doesnt work in my case. Here is a simple example to reproduce the issue:
content of file 'test.robot':
*** Test Cases ***
My Test
    Sleep   1s
    Should Be Equal  1  1

and '__init__.robot' in the same directory:
*** Settings ***
Documentation    Example suite
Test Teardown      Do Something    ${MESSAGE}

*** Variables ***
${MESSAGE}       Hello, world!

*** Keywords ***
Do Something
    [Arguments]    ${args}
    Log     ${args}

When I'm now running robot ./ in that directory, the test case failes with a message, that no keyword with name 'Do Something' could be found.
robot --version outputs: Robot Framework 3.0.4 (Python 2.7.12 on linux2)
Did I miss something or is this a bug?

If your directory is named, for example testdir and you step back with cd .. and then run the test with robot testdir, will it work?

This is somewhat confusing situation caused by these two points:

As the documentation explicitly states, variables and keywords created or imported in initialization files are not available in the lower level test suites.
Test Setup/Teardown are supported and work as default values for setup/teardown for tests in this suite.

The confusing part is that the keyword used as setup/teardown must be available in the test case file where the test is created and, as noted above, keywords created in initialization files are not available there. The keyword thus must be created in the test case file itself or imported to it from a library or a resource file.
I don't think changing the functionality is worth the effort, especially because suddenly making keywords/variables defined in initialization files available in lower level suites would be backwards incompatible change. The docs should be updated, though, to mention that defined test setup/teardown must be available in the test case file. How does that sound for you?

@pekkaklarck ok this makes sense. Moving the keyword to a resource file was the solution that i used in the end. Which is fine since it works and is not such a big deal in the end.
But it still was very confusing (a coworker of mine spend some time on the same issue aswell).
So yes, updating the docs should to be an approriate solution for this problem.

OK, let's clarify the docs.


Support for real checkboxes instead of icons

Hi,
I need support for real checkbox instead of icons. Icons doesn't satisfy me, because I need possibility set 'indeterminate' state. In older version I do that with some hacks (not changeing real library), but now private functions of treeview are hidden, so I have to stay with older version or hack library.

I'm sorry but adding actual check boxes is not in my vision, or roadmap.  The glyphicons are in-keeping with the fact that it's a bootstrap treeview, they also scale well which you do not get with html check boxes.
I might add the indeterminate state using glyphicons but that would be as far as I go.


CMD+K shortcut leaks into main editor window

I frequently use cmd+k to clear the terminal window and flush the scrollback buffer. This works fine in doing that, but unfortunately the shortcut leaks into the main atom editor window - and is used as a precursor key for opening a new pane (to open a new pane in Atom editor you can use the shortcut  cmd+k,  followed by ←, ↑, →, or ↓)
Steps to reproduce

Press cmd+k in terminal-plus pane
Return to my editor pane
Press one of the cursor keys, (←, ↑, →, or ↓)

Expected
I expect my caret to move, and no panes to be opened.
Actual
Atom opens a a new pane (see gif below)

One work-around is to disable the default cmd+k+direction keybindings by editing your keymap.cson. Here's how to do so. I ended up remapping the split-copy command to shift+cmd+k+direction since I actually use it sometimes.
Here's my updated keymap.cson:
'body':
  'shift-cmd-k down': 'pane:split-down-and-copy-active-item'
  'shift-cmd-k left': 'pane:split-left-and-copy-active-item'
  'shift-cmd-k right': 'pane:split-right-and-copy-active-item'
  'shift-cmd-k up': 'pane:split-up-and-copy-active-item'
  'cmd-k down': 'native!'
  'cmd-k right': 'native!'
  'cmd-k left': 'native!'
  'cmd-k up': 'native!'

For search-ability purposes, this issue has to do with arrow keys splitting panes.

FWIW, you can type clear into the terminal, although that will move the current line to the top of the window. It won’t completely clear it the way ⌘K does.


Typos on the home page

You can reach and follow us on the following following networks.

And "Location"

...and there isonly one village on the island that dates...

Fixed in 93d056554548c0a4b3f112eb0ec6089d843acc21.


French keyboard support

Hi Will,
May I suggest you some little addons for french keyboard support in Lesson5?
I've also made some little changes to your .gitignore file in order to exclude all CMake-generated files i.e. CMakeFiles/ CMakeCache.txt and so on.
Thanks for your tutorial. It'd been of great help for me.
Regards. :smiley_cat:

Cool, looks good! I typically make and build in a separate build/ directory but adding the CMake generated files to ignore is fine as well. French keyboard support is very nice, I'm not familiar with any layouts besides the American English layout.

Enjoy. :wink:


Each node has weight property

Why does each node have weight property, whereas each edge must have it?
If I have a node that has two children with different weights, which one of weights should I use?

This implementation of a graph is meant to mimic a grid map and does not explicitly declare edges. They are implicit in the nodes who have neighbors. Nodes have a type so that some can be "path" nodes.
Path nodes can be thought of as edges and their weights matter. If I am going from A to B to C (B is a path node, A and B are not), the "distance" is the weight of path node B.


added map widget to data-explorer

Purpose

Added a map widget to the data-explorer to visualize gathered geo data.
Approach

Added the map widget in accordance to the established structure.

Hi Patrick,
thanks for providing a map visualization for the data explorer.
This is a very helpful feature.


subprocess.py can't find the specific file

Did anybody have the problem with makeOctfile, After I run octfile = demo.makeOct(demo.getfilelist()), then it showed the error can't find file. Even if I have changed the Shell=True.
Traceback (most recent call last):
File "C:\Users.conda\envs\pySMARTS_example\lib\site-packages\IPython\core\interactiveshell.py", line 3460, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 5, in
octfile = demo.makeOct(filelist)
File "C:\Users\Desktop\bifacial_radiance\bifacial_radiance\main.py", line 1895, in makeOct
_,err = _popen(filelist, None, f)
File "C:\Users\Desktop\bifacial_radiance\bifacial_radiance\main.py", line 100, in _popen
p = Popen(cmd, bufsize=-1, stdin=PIPE, stdout=data_out, stderr=PIPE, shell=shell) #shell=True required for Linux? quick fix, but may be security concern
File "C:\Users.conda\envs\pySMARTS_example\lib\subprocess.py", line 858, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users.conda\envs\pySMARTS_example\lib\subprocess.py", line 1327, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] System cannot find the specific file。

This is almost certainly because the RADIANCE executables are not set up on your PATH directory.  Please follow the install instructions here, and particularly pay attention to setting up the PATH and RAYPATH environment variables.


"preview_lines" setting

Add a line in AddToFile.sublime-settings called preview_lines to specify how many lines to preview

success


RDK-43388: RDKShell changes for factory-hal gerrit migration

Reason for change: Changing as per factory hal api
Test Procedure: get ethernet mac testing
Risks: Create None
Signed-off-by: Rahamataunnisa shaik<EMAIL_ADDRESS>

Closing older PRs. Pls bring it to latest sprint/main branches if required.


Module 4 Afenya David Kweku

WS2_M4E1_Template.docx

Well done, Afenya. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


add getYjsDoc

Closes #73

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 6 (33.33%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 83.424%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/core/src/index.ts
2
6
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
551

Relevant Lines:
639

💛  - Coveralls


patch: Replace resin-lint with @balena/lint

Replace resin-lint
Update linting specific packages
Resolving old and new errors detected by linters

Signed-off-by: Vipul Gupta (@vipulgupta2048) <EMAIL_ADDRESS>

Check #535


[BUG] Framerate limiter always maintains 60 FPS for higher FPS targets

Describe the bug
On Windows, when enabling the frame limit at application.c:645, it will limit the framerate to approximately 60 FPS even when target_frame_seconds is smaller than 1.0f / 60. For example, when setting target_frame_seconds to 1.0f / 144, printing out 1.0f / delta, which should give the framerate (inverse of period), it will still yield approximately 60 FPS. Interestingly this does not occur for target_frame_seconds greather than 1.0f / 60 (i.e. 1.0f / 30), although the yielded FPS seems to be rather unstable. To be honest I'm having trouble figuring out exactly why this is occurring. The clock logic at least seems correct to me. I wonder if it's due to a technical detail with the Windows Sleep function.
To Reproduce
Steps to reproduce the behavior:

In application.c, switch limit_frames on line 645 to true.
Change target_frame_seconds to a different value (i.e. 1.0f / 144).
Log the frequency each frame (1.0f / delta).
Build and run the program and observe the logged frequency.

Expected behavior
When changing target_frame_seconds to 1.0f / X, then the FPS should attempt to maintain 'X' FPS while the limiter is enabled.
Desktop (please complete the following information):

OS: Windows

Found a solution to this, it is related to the default accuracy of the windows Sleep function. This accuracy is normally tied to the interrupt ticks (64 per second), but can be adjusted manually with timeBeginPeriod(). Will create a PR that demonstrates the fix.


[WIP] DimesionData: Generic pagination, anti-affinity rules, create firewall expansion

Code is there.
Need to add tests and docs
Reaching out to check out how pagination will work and see if we have any issues with it.

changes look good. once tests are supporting I will test and merge.

Excellent changes, great to see some improvement in the tests as well. We'll need this in a few weeks when the 2.2 API comes out. Only 1 small change about docstring then we're good to merge

thanks LGTM


Dark mode

It would be nice to have our apps dark mode compatible. For this to happen we need all UI components to have a Dark Mode version. We can use the useColorScheme hook from expo to check which userInterfaceStyle the app is using.

This package is getting phased out, and we do not plan to make any improvements unless they are critical for the remaining apps. Closing this issue


Manage API Management via az client?

Is it possible to create / update / delete API Management via the az client?

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

ID: 63549934-727b-06e9-9905-399791899d14
Version Independent ID: d1dd5d59-5943-092e-2d77-0c8cf911873f
Content: Create an Azure API Management instance using PowerShell
Content Source: articles/api-management/powershell-create-service-instance.md
Service: api-management
GitHub Login: @vladvino
Microsoft Alias: apimpm

Hi @robertlagrant Thanks for reaching out. We will review and update as appropriate.

@robertlagrant Just checking if you have gone through this and see if it helps.
az apim create
az apim update
az apim delete

@robertlagrant Just following up to check if my previous comment helps.


opentelemetry-tracing - document how to use it with NodeSDK

Problem
As far as I understand there are two ways of configuring OpenTelemetry in JavaScript (source):

using @opentelemetry/sdk-trace-node
using @opentelemetry/sdk-node

Most beginners will be more familiar with @opentelemetry/sdk-node as OpenTelemetry's JavaScript getting started guide uses it.
Currently Prisma documentation on enabling OpenTelemetry tracing describes only how to make use of the first approach. Showing how to make it work with new NodeSDK({ /* ... */ }) would make it easier to enable tracing in Prisma.
Suggested solution
Expand the documentation page to also mention how to use it with @opentelemetry/sdk-node.
Additional context
I got really confused when trying to enable tracing in Prisma following the documentation mentioned above after having configured basic instrumentation based on OpenTelemetry's JavaScript getting started guide (also mentioned above).

@mjarosie (I did not try this code, but that should be the idea for Honeycomb here)
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'
import { NodeSDK } from '@opentelemetry/sdk-node'
import { PrismaInstrumentation } from '@prisma/instrumentation'

const traceExporter = new OTLPTraceExporter({
  url: `https://api.honeycomb.io/v1/traces`,
  headers: {
    'x-honeycomb-team': "HONEYCOMB_API_KEY",
  },
})

const sdk = new NodeSDK({
  serviceName: "my-service-name",
  traceExporter,
  instrumentations: [
    new PrismaInstrumentation(),
  ],
})

sdk.start()

process.on(`SIGTERM`, () => {
  sdk.shutdown().finally(() => process.exit(0))
})

Yes, got it working with a very similar setup 👍 Something similar should probably end up in the documentation (either with traceExporter as you've shown or also with spanProcessor, but not sure if that wouldn't complicate the example too much).


DLS samples not working

Using latest release, but also tested locally in latest bits.
Both DLS samples below fail: (also tested locally)
https://microsoft.github.io/BotFramework-WebChat/01.d.getting-started-es5-direct-line-speech/
https://microsoft.github.io/BotFramework-WebChat/06.i.direct-line-speech/
Error:

Can you check using the latest bits? I think the CDN is pointing to v4.5.3.

I did?

Nevermind....

This bug will be fixed once the CDN is reverted to 4.7.1

4.7.1 has been redeployed to CDN and I confirmed these samples as working again.


copy-my-requirements

New method copy_brief on DataAPIClient
Tests
Version bump
add venvs to pep8 ignore

Looks good 👍


Add a blog of quick recap of China Kubernetes Contributor Summit

The Kubernetes Contributor Summit in Shanghai is successfully completed. Add a blog here to attract more contributors to join and share.
cc @mrbobbytables @pacoxu

This looks good except for one minor issue.  Once you get the image link fixed, it should be ready to merge.

Thanks! Yeah, getting the image stuff sorted out with Hugo can be a bit annoying -_-
/approve

/lgtm


[CDSToolkit] - Newly generated toolkit packs (IS and APIM) contains the dropins jar from the earlier release

Description:
When performing a new minor release, the newly generated solution zips of IS and APIM toolkits contains the dropins jars of earlier release version. These needs to be removed before copying the new jars to the dropins folder.
Suggested Labels:
CDS Toolkit
Suggested Assignees:
Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:

Update the release version and build the zips with -P solution.

Related Issues:

Verified as fixed


Eric model tuning

Enhanced the ARIMA Model.

Added accuracy test under main in model.py. To avoid low result of python coverage test, I'll comment them out. [The metrics printed out are useful when you write your resume!]
Adjusted parameters (p,d,q) from (10,2,10) to (11,2,10) to enhance performance on MSE.
Working on more datasets, seeking to find a robust way to determine parameters

i like the accuracy tests youve added its a great idea
would it be possible to move the accuracy test into a Model method?
i could be wrong but i thought we shouldnt have any logic inside name == main

I don't plan to merge this branch to main branch any more hahahaha. Just showing the code here so that people know where the metrics come from. Only the result matters, and I'll just add the screenshot in the slide (if it looks good).


add ocornut's new ImGui Memory editor

...has some nice improvements:
https://gist.github.com/ocornut/0673e37e54aff644298b
https://twitter.com/ocornut/status/894242704317530112

fixed in commit fefb2e452003f7691b4371e3ddd9d6f2b479658e


Can't generate from GitHub commit

Trying to install from a GitHub commit with generate hashes but it's not working (see #700)
Environment Versions

OS Type: Debian Bullseye
Python version: 3.9.10
pip version: 21.2.4
pip-tools version: 6.4.0

Steps to replicate

Add a URL for a GitHub commit to .in file (like https://github.com/jazzband/django-push-notifications/archive/6fde7302d7e85008b600a56b394a9f8841970e55.tar.gz#egg=django-push-notifications)
Run pip-compile --generate-hashes
Observe error output

      LookupError: setuptools-scm was unable to detect version for /tmp/pip-resolver-lk4h1q2s/django-push-notifications.

      Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

      For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

Expected result
Installs from a specific commit
Actual result
Gives above error
Other things I tried
I tried following the above advice with using git+https but then I get a warning about not being able to generate hashes (basically, these two errors are pointing at each other as the solution):
# WARNING: pip install will require the following package to be hashed.
# Consider using a hashable URL like https://github.com/jazzband/pip-tools/archive/SOMECOMMIT.zip
django-push-notifications @ git+https://github.com/jazzband/django-push-notifications@6fde730

This is indeed annoying. FWIW, not all packages will have that metadata problem, basically I think if they don't use setuptools-scm it will work with the archive form.
See also #994 and especially pypa/pip#6469.


Improve package version detection using jq and grep

Fetch version information with jq with fallback to grep.
Gracefully exit from the section if no version information is found on package.json.

Fix #439

The fact that grep solution looks for nested versions is the actual bug, that's why I was saying that there's no place for grep approach in this section.
Here's the full package.json from the picture you shared, this section must have retrieved only parent version: https://github.com/NativeScript/sample-Groceries/blob/master/package.json

@salmanulfarzy I believe using grep as the only fallback is silly, as there are plenty of other ways of getting the version in a correct way (i.e.: parsing JSON) that will work for most people, if not everyone.
I discussed alternatives and my opinion on this topic in #439.

why I was saying that there's no place for grep approach in this section.

using grep as the only fallback is silly, as there are plenty of other ways of getting the version in a correct way (i.e.: parsing JSON) that will work for most people,

Suggestion by @Darkhogg to use python and node as fall backs sounds good. Dropping that in favor of current methods.
Left notes on Options and Troubleshooting page regarding potential performance issues.

this section must have retrieved only parent version: https://github.com/NativeScript/sample-Groceries/blob/master/package.json

New changes works on this file.

I'm thinking about moving this section out of the Spaceship and distribute as an optional third-party section.

@denysdovhan What's spaceship's API to add in third-party modules? I filed #318 a while back because I felt support was lacking--but let me know if things have changed since then.

Commits are mess in this now, Will merge after fixing that :smile:


adw-gtk3

Project description
This theme is the default theme from libadwaita ported to GTK-3.
Metadata

homepage URL: https://github.com/lassekongo83/adw-gtk3
source URL: https://github.com/lassekongo83/adw-gtk3
license: gpl2+
platforms: inux

Looks like there's already an issue: https://github.com/NixOS/nixpkgs/issues/162432


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement Setting GUI

A requested feature by many inside the staff.
This implementation removes the base SimpleSettingRegistry from the Setting library and moves it down into this plugin inside BukkitSettingRegistry in order to include Bukkit API specific objects.
The registry now holds a map of settings being paired with an ItemStack to give it an icon when using a GUI. This means that when registering a setting you also have to pass in an ItemStack. I designed it this way to keep the abstraction of the Setting class and interface in the library, otherwise it would have somehow had to been pulled down into this plugin and re factored to allow for ItemStack object to be present from the Bukkit API.
I also designed it so that the SettingsMenuBuilder used all static methods, this is so a new instance of  the menu class isn't unnecessarily made  each time a player opens the inventory.
I've also packed an ItemStack builder into the plugin to make it easy when manipulating and adding icons for the GUI.
Finally I'll explain how the menu building process works.
The first thing to note is that the menu will only display settings of type Toggleable due to this being the only thing a player can edit within a GUI.
The GUI also has the option of a border using a specified item, used by default, this works by mapping the inventory using vector i and j  notation, or coordinates if you prefer, however i and j are used for rows and columns inside the code, as that's how I've liked to think about them. It then calculates if it specified slot should be a border slot through the general formula of the arithmetic sequence of numbers (U_n_ = a +(n - 1)d)).
An image of the GUI

The original output of the command has been moved to /settings list [page]
I'll make a PR for the Settings repo changes in the morning if this is accepted .
Thanks

@jedediah I have made changes to the way Listeners and events are handled, as well as some other tidy ups.
All Listeners are put into a map inside ListenerRegistry with a key of the Inventory it belongs to, each key can hold a set of Listeners as each Setting has its own click handler. An improvisation was made so that for each inventory the border only has one Listener.
With this registry I can keep track of all Listeners that are registered on the server easily. This means that if for some reason the inventory was made but the GUI was never opened/closed it can be identified easily in there. I have set it up so that every minute the server cleans this map. it checks for inventories that are not being used - denoted by having no viewers - and if one if found it is removed and unregistered.
I have also optimised the Clickable class to make it cleaner. In addition I have removed the option to not have a border


Add support for TypedDict

It would be nice to have something like TypedDictField around TypedDict structure.

I'll like to make a contribution here.

Hello @jairajsahgal ,
feel free to offer a PR. If you have any questions feel free to ask. It would be nice if you create a draft pull request with description of your solution proposal.

Hello @Sibyx ,
I will be working with @jairajsahgal  on the implementation of this feature.
Regards,

Hi @Sibyx If this issue is still not resolved, can you assign it to me?

@smitrami-123 sure, will you resolve it? It's open for a few years but everybody just wanted to assign it without any results. So I can assign it if you create a Draft PR so we can talk about implementation issues.


Use VRTS for gridded hydraulics importing

Currently if there's multiple tifs in a gridded data import, we'll just grab the first one and use that. It would be better to load a vrt with GDAL to read all of them at once. Will need to update RAS Libraries to accomplish this due to a bug. the code to do this is already in the project, commented out.

No new studies should ever be using this, as they should be using RAS data. Do we know of anyone who actually wants this feature? Wondering if it's fine as is. Most datasets I've ever seen have been single tif per profile.

closing as stale. I'm uninterested in this until someone requests it.


building crate w/C library using custom, dynamically linked clang fails

Problem
Building a Rust crate containing a C library using a custom, dynamically-linked clang specified via the CC environment variable fails on macOS with a "symbol not found" error, apparently because the system loads libLLVM.dylib from the Rustup-installed toolchain rather than the custom installation:

cargo:warning=dyld: lazy symbol binding failed: Symbol not found: __ZN4llvm9DIBuilder17createCompileUnitEjPNS_6DIFileENS_9StringRefEbS3_jS3_NS_13DICompileUnit17DebugEmissionKindEybbb
cargo:warning=  Referenced from: /Users/myk/rust-c-library-testcase/clang/bin/clang-7
cargo:warning=  Expected in: /Users/myk/.rustup/toolchains/stable-x86_64-apple-darwin/lib/libLLVM.dylib

Steps

Clone testcase repo:
git clone https://github.com/mykmelez/rust-c-library-testcase.git && cd rust-c-library-testcase
Install custom, dynamically-linked clang:
curl -O https://taskcluster-artifacts.net/I36Um3guQMyU-HWz_tnG0Q/0/public/build/clang.tar.xz && tar xf clang.tar.xz
Build crate with custom clang:
CC=clang/bin/clang cargo build

Notes
Output of cargo version: cargo 1.33.0 (f099fe94b 2019-02-12)
This appears to have regressed between Rust nightly build 2019-01-06 and 2019-01-07 (68fe5182c...b92552d55):

> cargo clean && CC=clang/bin/clang cargo +nightly-2019-01-06 build
Compiling cc v1.0.31
Compiling rust-c-library-testcase v0.1.0 (/Users/myk/rust-c-library-testcase)
Finished dev [unoptimized + debuginfo] target(s) in 1.93s
> cargo clean && CC=clang/bin/clang cargo +nightly-2019-01-07 build
Compiling cc v1.0.31
Compiling rust-c-library-testcase v0.1.0 (/Users/myk/rust-c-library-testcase)
error: failed to run custom build command for rust-c-library-testcase v0.1.0 (/Users/myk/rust-c-library-testcase)
process didn't exit successfully: /Users/myk/rust-c-library-testcase/target/debug/build/rust-c-library-testcase-166e0d070d05f6f9/build-script-build (exit code: 101)

See https://bugzilla.mozilla.org/show_bug.cgi?id=1536486 for an example of the issue in a project that uses a custom, dynamically-linked clang when building for Android targets.

It's a long shot, but I'm curious, have you tried the latest nightly?  There was a similar issue (https://github.com/rust-lang/rust/issues/59034#event-2208295373) that was fixed a couple days ago (https://github.com/rust-lang/rust/pull/59173).

It's a long shot, but I'm curious, have you tried the latest nightly? There was a similar issue (rust-lang/rust#59034 (comment)) that was fixed a couple days ago (rust-lang/rust#59173).

Thanks for the tip! I updated to the latest nightly and can still reproduce the issue there:

> rustup update
…
stable-x86_64-apple-darwin unchanged - rustc 1.33.0 (2aa4c46cf 2019-02-28)
beta-x86_64-apple-darwin updated - rustc 1.34.0-beta.3 (7473869a6 2019-03-16)
nightly-x86_64-apple-darwin updated - rustc 1.35.0-nightly (0f88167f8 2019-03-18)
> CC=clang/bin/clang cargo +nightly build
Compiling cc v1.0.31
Compiling rust-c-library-testcase v0.1.0 (/Users/myk/rust-c-library-testcase)
error: failed to run custom build command for rust-c-library-testcase v0.1.0 (/Users/myk/rust-c-library-testcase)
process didn't exit successfully: /Users/myk/rust-c-library-testcase/target/debug/build/rust-c-library-testcase-4d3b681e42b21f8a/>build-script-build (exit code: 101)

2019-01-06 only has one copy of libLLVM.dylib, while 2019-01-07 has two:

> find ~/.rustup/toolchains/nightly-2019-01-0[67]-x86_64-apple-darwin -name libLLVM.dylib
/Users/myk/.rustup/toolchains/nightly-2019-01-06-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libLLVM.dylib
/Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libLLVM.dylib
/Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/libLLVM.dylib

The two are identical (and not hard or soft links):

> diff /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libLLVM.dylib /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/libLLVM.dylib
> ls -lad /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libLLVM.dylib /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/libLLVM.dylib
-rw-r--r--  1 myk  staff  58531716 Mar 19 14:04 /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/libLLVM.dylib
-rw-r--r--  1 myk  staff  58531716 Mar 19 14:04 /Users/myk/.rustup/toolchains/nightly-2019-01-07-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libLLVM.dylib

Yeah, see https://github.com/rust-lang/rust/issues/55737. Apparently the LLVM doesn't append the provided suffix on OSX.


Export in CSV Broken - Concrete v9

Hi,
After updating to concrete 9.1 and Community Store <IP_ADDRESS>, I get the following when trying to export Sales in CSV :
Unresolvable dependency resolving [Parameter #0 [  $filename ]] in class Concrete\Package\CommunityStore\Src\CommunityStore\Report\CsvReportExporter
Is there something I could do to fix it ?
Everything else is working flawlessly !
Thank you !

Try this single line fix here:
https://github.com/concrete5-community-store/community_store/commit/515621c525e3648f4756bc182783334e1b293455#diff-27f6a052b5a4242d43fa32a5c5d7769f2b08410ffb029426cbd618d63c517953L126
(just change build to make)

And it works!
Thank you so much for your help!


Error when fetching user from cookie token after some time

Hi guys, after some time the user is logged in I get the following error:
I'm using multiple AD connections, could it be related to that?

Thanks in advance

It looks like you're using the bind_user_to_model config option? Are you utilizing the right connection in your adldap_auth.php file? Also can you post your adldap.php config file (with your username/password omitted of course)?

Hi @stevebauman, yes I'm using bind_user_to_model option.
I use that option to fetch user image and other info.
But I'm using multiple AD to login like so:
            $connections = config('adldap.connections');
            foreach ($connections as $connection_name => $connection) {
                \Config::set('adldap_auth.connection', $connection_name);
                \Log::info('Login Attempt '.$request->input('username') .' in '.$connection_name);
                if (Auth::attempt($request->only('username', 'password'), true)) {
                    $this->processLogin();
                    return redirect('/');
                }
            }

adldap.php
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Connections
    |--------------------------------------------------------------------------
    |
    | This array stores the connections that are added to Adldap. You can add
    | as many connections as you like.
    |
    | The key is the name of the connection you wish to use and the value is
    | an array of configuration settings.
    |
    */

    'connections' => [

        'default' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['srvadp06.adp.pt'],
                'port' => 389,
                'base_dn' => 'DC=ADP,DC=PT',
                'admin_account_suffix' => '',
                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ],

        ],
        'epal' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['SRVADPEPALCHILD.epal.adp.pt'],
                'port' => 389,
                'base_dn' => 'DC=EPAL,DC=ADP,DC=PT',
                'admin_account_suffix' =><EMAIL_ADDRESS>                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ]
        ],
        'adcl' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['SRVADPADCLCHILD.adcl.adp.pt'],
                'port' => 389,
                'base_dn' => 'DC=ADCL,DC=ADP,DC=PT',
                'admin_account_suffix' =><EMAIL_ADDRESS>                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ]
        ],
        'dsa' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['<IP_ADDRESS>'],
                'port' => 389,
                'base_dn' => 'DC=ASA,DC=LOCAL',
                'admin_account_suffix' => '',
                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ]
        ],
        'adra' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['<IP_ADDRESS>'],
                'port' => 389,
                'base_dn' => 'DC=ADRASA,DC=LOCAL',
                'admin_account_suffix' => '',
                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ]
        ],
        'agda' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['<IP_ADDRESS>'],
                'port' => 389,
                'base_dn' => 'DC=AGDA,DC=LOCAL',
                'admin_account_suffix' => '',
                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ]
        ],
        'adnorte' => [

            'auto_connect' => true,
            'connection' => Adldap\Connections\Ldap::class,
            'schema' => Adldap\Schemas\ActiveDirectory::class,
            'connection_settings' => [

                'account_prefix' => '',
                'account_suffix' =><EMAIL_ADDRESS>                'domain_controllers' => ['SRVADPADNCHILD.adnorte.adp.pt'],
                'port' => 389,
                'base_dn' => 'DC=ADNORTE,DC=ADP,DC=PT',
                'admin_account_suffix' =><EMAIL_ADDRESS>                'admin_username' => ------------,
                'admin_password' => ------------,
                'follow_referrals' => false,
                'use_ssl' => false,
                'use_tls' => false,

            ],

        ],
    ]

];

adldap_auth.php
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Connection
    |--------------------------------------------------------------------------
    |
    | The connection to use for authentication.
    |
    | You must specify connections in your `config/adldap.php` configuration file.
    |
    | This must be a string.
    |
    */

    'connection' => env('ADLDAP_CONNECTION', 'default'),

    /*
    |--------------------------------------------------------------------------
    | Username Attribute
    |--------------------------------------------------------------------------
    |
    | The username attribute is an array of the html input name and the LDAP
    | attribute to discover the user by. The reason for this is to hide
    | the attribute that you're using to login users.
    |
    | For example, if your input name is `username` and you'd like users
    | to login by their `samaccountname` attribute, then keep the
    | configuration below. However, if you'd like to login users
    | by their emails, then change `samaccountname` to `mail`.
    | and `username` to `email`.
    |
    | This must be an array with a key - value pair.
    |
    */

    'username_attribute' => ['username' => 'samaccountname'],

    /*
    |--------------------------------------------------------------------------
    | Limitation Filter
    |--------------------------------------------------------------------------
    |
    | The limitation filter allows you to enter a raw filter to only allow
    | specific users / groups / ous to authenticate.
    |
    | This should be a standard LDAP filter.
    |
    */

    'limitation_filter' => env('ADLDAP_LIMITATION_FILTER', ''),

    /*
    |--------------------------------------------------------------------------
    | Login Fallback
    |--------------------------------------------------------------------------
    |
    | The login fallback option allows you to login as a user located on the
    | local database if active directory authentication fails.
    |
    | Set this to true if you would like to enable it.
    |
    | This option must be true or false.
    |
    */

    'login_fallback' => env('ADLDAP_LOGIN_FALLBACK', false),

    /*
    |--------------------------------------------------------------------------
    | Password Key
    |--------------------------------------------------------------------------
    |
    | The password key is the name of the input array key located inside
    | the user input array given to the auth driver.
    |
    | Change this if you change your password fields input name.
    |
    | This option must be a string.
    |
    */

    'password_key' => env('ADLDAP_PASSWORD_KEY', 'password'),

    /*
    |--------------------------------------------------------------------------
    | Password Sync
    |--------------------------------------------------------------------------
    |
    | The password sync option allows you to automatically synchronize
    | users AD passwords to your local database. These passwords are
    | hashed natively by laravel.
    |
    | Enabling this option would also allow users to login to their
    | accounts using the password last used when an AD connection
    | was present.
    |
    | If this option is disabled, the local user account is applied
    | a random 16 character hashed password, and will lose access
    | to this account upon loss of AD connectivity.
    |
    | This option must be true or false.
    |
    */

    'password_sync' => env('ADLDAP_PASSWORD_SYNC', true),

    /*
    |--------------------------------------------------------------------------
    | Login Attribute
    |--------------------------------------------------------------------------
    |
    | The login attribute is the name of the active directory user property
    | that you use to log users in. For example, if your company uses
    | email, then insert `mail`.
    |
    | This option must be a string.
    |
    */

    'login_attribute' => env('ADLDAP_LOGIN_ATTRIBUTE', 'samaccountname'),

    /*
    |--------------------------------------------------------------------------
    | Bind User to Model
    |--------------------------------------------------------------------------
    |
    | The bind user to model option allows you to access the Adldap user model
    | instance on your laravel database model to be able run operations
    | or retrieve extra attributes on the Adldap user model instance.
    |
    | If this option is true, you must insert the trait:
    |
    |   `Adldap\Laravel\Traits\AdldapUserModelTrait`
    |
    | Onto your User model configured in `config/auth.php`.
    |
    | Then use `Auth::user()->adldapUser` to access.
    |
    | This option must be true or false.
    |
    */

    'bind_user_to_model' => env('ADLDAP_BIND_USER_TO_MODEL', true),

    /*
    |--------------------------------------------------------------------------
    | Sync Attributes
    |--------------------------------------------------------------------------
    |
    | Attributes specified here will be added / replaced on the user model
    | upon login, automatically synchronizing and keeping the attributes
    | up to date.
    |
    | The array key represents the Laravel model key, and the value
    | represents the Active Directory attribute to set it to.
    |
    | The users email is already synchronized and does not need to be
    | added to this array.
    |
    */

    'sync_attributes' => [

        'name' => 'cn',
        'email' => 'mail',
        'dn' => 'dn',
        'company' => 'company'
    ],

    /*
    |--------------------------------------------------------------------------
    | Select Attributes
    |--------------------------------------------------------------------------
    |
    | Attributes to select upon the user on authentication and binding.
    |
    | If no attributes are given inside the array, all attributes on the
    | user are selected.
    |
    | ** Note ** : Keep in mind you must include attributes that you would
    | like to synchronize, as well as your login attribute.
    |
    */

    'select_attributes' => [

        //

    ],

];

Can you try the new release v2.0.16? This is likely related to issue #135.

Yes this probably will fix it. I've changed the source in the vendor folder in that exact place to check if the model is null and worked. Thanks ;)
I'm going to update , and if after a couple of days no one reports any errors, I'll close the issue.
Thanks @stevebauman  ;)

Perfect, thanks for the quick response!


Expose streaming for operations with potentially large data

When reading from blob, response includes the full data as bytes, instead of stream of bytes. It can easily lead to spike in RAM usage for reading large blobs. Reqwest and hyper allows us to stream bytes from the response.
Is there any reason for this? or is this already in road map?

Thanks! This is indeed supported at the lowest level of the SDKs but is not being exposed for use by end users.
As an example, the get_blob operation returns a GetBlobResponse which has a field data which is just a Bytes collection. This is created by running the stream we get back from the transport layer eagerly through a collect_pinned_stream function which collects the stream into a Bytes collection.
We could expose the stream directly to the user, but I think this would be a bad idea in its current form. The stream is of type Pin<Box<dyn Stream<Item = crate::Result<Bytes>> + Send + Sync>> which is pretty unwieldy to use. I think we'll want to consider creating a wrapper type that allows both streaming and collecting into a Bytes collection.

Same for put_block_blob as well, right? Any data, regardless of size, will need to be read entirely into memory. The other cloud providers have this covered so I am surprised that this SDK does not.


Improve loading time by building via Parcel

[x] All compiled assets are included (atom packages are git tags and hence the built files need to be a part of the source control)

This reduces the loading time of atom-typescript (when no activation hook enabled) from 245ms to 145ms. This means the JavaScript code is loaded 100ms faster! 🚀

made on top of #1559

I've pulled the relevant parts and released as v14.0.0.


hello page layout

add new appliances section
change scss to split horizontally the three sections

Initial layout skeleton:

Add new use cases section, it's in light theme since we are in the middle to solve a bug for the themes styling:


feature:  add  hotkey to toggle auto-complete

Did you check the docs?

[X] I have read all the LazyVim docs

Is your feature request related to a problem? Please describe.
Sometimes, when writing a simple text. The auto-complete function just let you type in low speed. As I know, to disable it maybe
 :lua require('cmp').setup.buffer { enabled = false }

Describe the solution you'd like
if possible, set a toggle hotkey. if impossible, maybe a enable and disable key.
Describe alternatives you've considered
no other idea.
Additional context
No response

This is just a personal preference in my opinion and should be left up to the user to implement such a feature if he likes. If the maintainer decides that such a feature would be beneficial, he can of course include it in the base Lazyvim configuration. Since the maintainer will be absent until the end of month, until then you could use the following code in your lua/config/keymaps.lua
local Util = require("lazy.core.util")
local cmp_enabled = require("cmp.config").get().enabled
local cmp_toggle = function()
  cmp_enabled = not cmp_enabled
  if cmp_enabled then
    require("cmp").setup.buffer({ enabled = cmp_enabled })
    Util.info("cmp enabled", { title = "cmp" })
  else
    -- cmp_enabled = not cmp_enabled
    require("cmp").setup.buffer({ enabled = cmp_enabled })
    Util.warn("cmp disabled", { title = "cmp" })
  end
end

vim.keymap.set("n", "<leader>cp", cmp_toggle, { desc = "Toggle cmp" })

Could you check if this does what you want?

Thanks your script, it works.  But it is too hard for a newbie to write out this function.  If it can provides in lazy.nvim by default will be better.  And also appear the hotkey in the "keymap" document.

I'm a newbie myself. I know very basic Lua. I just try to read code from plugins while studying by myself. This snippet I wrote was heavily inspired by https://github.com/LazyVim/LazyVim/blob/566049aa4a26a86219dd1ad1624f9a1bf18831b6/lua/lazyvim/plugins/lsp/format.lua#L12-L24
So if you try you can do it yourself as well. It's just a matter of what you want to do and it will definitely take some time. Again, I personally believe this is more of a personal preference as far as this keymap is concerned. If you would like, you can close this issue as this is not a Lazyvim bug but rather a user configuration request and probably belongs better in the Discussions. Or you might as well leave it open until the maintainer comes back and gives a definitive answer about your request if this is something that should be in the default Lazyvim configuration. Best regards.


Error in ru.po

Both lines 29 & 71 have incorrectly got  "%d"
In order to sucessfully make version 2.4.3 this must be changed to  "%s"
It then compiles fine.

Thanks! That should be fixed now.


[EAK-460] Bump npm dependencies for site and linting

Bump docs/website dependencies
Update 11ty to the 2.. version
Bump ui.apps eslint

I have read the CLA Document and I hereby sign the CLA


how to force sfizz to build with mingw, rather than Visual Studio

See log fragment, below. CMake is correctly seeing that Msoft Visual Studio is installed on my dev computer. It there a way to force it to see mingw? I'm running from inside the msys2 shell, which provides cmake, gcc, and all the other goodies usually used to build open source code.
Microsoft (R) Build Engine version 16.8.3+39993bd9d for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 1/30/2021 1:38:59 PM.
Project "C:\hacking\dep\sfizz\build\CMakeFiles\3.19.2\CompilerIdCXX\CompilerIdCXX.vcxproj" on node 1 (default targets).
PrepareForBuild:

IIRC from the MSYS2 shell you need to use the related CMake generator option:
cmake -G"MSYS Makefiles"

IIRC from the MSYS2 shell you need to use the related CMake generator option:
cmake -G"MSYS Makefiles"

tx!

tx!


Longevity job is getting error "Storage error: Hummock error: ReadCurrentEpoch error Cannot read when cluster is under recovery"

Describe the bug
Recent longevity is getting error "Storage error: Hummock error: ReadCurrentEpoch error Cannot read when cluster is under recovery" while executing "select * from  LIMIT 1" query.
Job Details:
https://buildkite.com/risingwave-test/longevity-test/builds/359#01863c49-2ff3-4ded-8e38-821bd2136889
Step/timeline:

17:08 UTC: created materialized view q22,q101,q102 with 'STREAMING_PARALLELISM=3'.

18:38 UTC: Able to fetch the records from materialized view.

3)19:08 UTC: now we are unable to fetch the data from materialized view and getting "Storage error: Hummock error: ReadCurrentEpoch error Cannot read when cluster is under recovery" error.
But, There was not a single pod crash.

To Reproduce
No response
Expected behavior
No response
Additional context
No response

This error is expected when there are queries running in VISIBILITY_MODE=all (by default) during recovery because CN's in-memory states will be clear on recovery, which will result in incorrect result in some cases for VISIBILITY_MODE=all queries (See https://github.com/risingwavelabs/risingwave/pull/7188#issuecomment-1376718485)
We can retry the batch query after recovery is done.

@hzxa21 As this error came with the default setting, what should be done to avoid such errors?

As this error came with the default setting, what should be done to avoid such errors?

This is expected after some node crashes and the cluster is recovering itself. But why node failed during the longevity test? @sumittal

This error itself is expected as explained by Patrick.
The problem in this test is exactly same as rwc-3-longevity-20230208-170541: the cluster is never able to succeed recovery because:

The meta node is restarted without any error log at 2023-02-10T18:43 UTC
All worker node cannot reach the new meta node, thus is treated as expired nodes and removed from cluster by the new meta node 5min later (heartbeat).

Two meta node co-exist? Their log duration overlaps.

I'm taking a day off for something  today. @shanicky would you please help to TAL. 🙏

maybe related?:

#7753
https://risingwave-labs.slack.com/archives/C0340PNL68P/p1675850610976089?thread_ts=1675841825.247139&cid=C0340PNL68P

See https://github.com/risingwavelabs/risingwave/issues/7841#issuecomment-1426954710